module MultiPortFifo_in4_out4(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  output  io_enq_1_ready,
  input   io_enq_1_valid,
  output  io_enq_2_ready,
  input   io_enq_2_valid,
  output  io_enq_3_ready,
  input   io_enq_3_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_deq_1_ready,
  output  io_deq_1_valid,
  input   io_deq_2_ready,
  output  io_deq_2_valid,
  input   io_deq_3_ready,
  output  io_deq_3_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_2; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_3; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_4; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_5; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_6; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_7; // @[MultiPortFifo.scala 58:30]
  reg [2:0] rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg [2:0] wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [3:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = 3'h1 == _io_enq_0_ready_T[2:0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_2 = 3'h2 == _io_enq_0_ready_T[2:0] ? buf_valid_2 : _GEN_1; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_3 = 3'h3 == _io_enq_0_ready_T[2:0] ? buf_valid_3 : _GEN_2; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_4 = 3'h4 == _io_enq_0_ready_T[2:0] ? buf_valid_4 : _GEN_3; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_5 = 3'h5 == _io_enq_0_ready_T[2:0] ? buf_valid_5 : _GEN_4; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_6 = 3'h6 == _io_enq_0_ready_T[2:0] ? buf_valid_6 : _GEN_5; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_7 = 3'h7 == _io_enq_0_ready_T[2:0] ? buf_valid_7 : _GEN_6; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] _io_enq_1_ready_T_1 = wr_ptr + 3'h1; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_9 = 3'h1 == _io_enq_1_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_10 = 3'h2 == _io_enq_1_ready_T_1 ? buf_valid_2 : _GEN_9; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_11 = 3'h3 == _io_enq_1_ready_T_1 ? buf_valid_3 : _GEN_10; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_12 = 3'h4 == _io_enq_1_ready_T_1 ? buf_valid_4 : _GEN_11; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_13 = 3'h5 == _io_enq_1_ready_T_1 ? buf_valid_5 : _GEN_12; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_14 = 3'h6 == _io_enq_1_ready_T_1 ? buf_valid_6 : _GEN_13; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_15 = 3'h7 == _io_enq_1_ready_T_1 ? buf_valid_7 : _GEN_14; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] _io_enq_2_ready_T_1 = wr_ptr + 3'h2; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_17 = 3'h1 == _io_enq_2_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_18 = 3'h2 == _io_enq_2_ready_T_1 ? buf_valid_2 : _GEN_17; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_19 = 3'h3 == _io_enq_2_ready_T_1 ? buf_valid_3 : _GEN_18; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_20 = 3'h4 == _io_enq_2_ready_T_1 ? buf_valid_4 : _GEN_19; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_21 = 3'h5 == _io_enq_2_ready_T_1 ? buf_valid_5 : _GEN_20; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_22 = 3'h6 == _io_enq_2_ready_T_1 ? buf_valid_6 : _GEN_21; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_23 = 3'h7 == _io_enq_2_ready_T_1 ? buf_valid_7 : _GEN_22; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] _io_enq_3_ready_T_1 = wr_ptr + 3'h3; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_25 = 3'h1 == _io_enq_3_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_26 = 3'h2 == _io_enq_3_ready_T_1 ? buf_valid_2 : _GEN_25; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_27 = 3'h3 == _io_enq_3_ready_T_1 ? buf_valid_3 : _GEN_26; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_28 = 3'h4 == _io_enq_3_ready_T_1 ? buf_valid_4 : _GEN_27; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_29 = 3'h5 == _io_enq_3_ready_T_1 ? buf_valid_5 : _GEN_28; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_30 = 3'h6 == _io_enq_3_ready_T_1 ? buf_valid_6 : _GEN_29; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_31 = 3'h7 == _io_enq_3_ready_T_1 ? buf_valid_7 : _GEN_30; // @[MultiPortFifo.scala 64:{94,94}]
  wire [3:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _GEN_33 = 3'h1 == _io_deq_0_valid_T[2:0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_34 = 3'h2 == _io_deq_0_valid_T[2:0] ? buf_valid_2 : _GEN_33; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_35 = 3'h3 == _io_deq_0_valid_T[2:0] ? buf_valid_3 : _GEN_34; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_36 = 3'h4 == _io_deq_0_valid_T[2:0] ? buf_valid_4 : _GEN_35; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_37 = 3'h5 == _io_deq_0_valid_T[2:0] ? buf_valid_5 : _GEN_36; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_38 = 3'h6 == _io_deq_0_valid_T[2:0] ? buf_valid_6 : _GEN_37; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] _io_deq_1_valid_T_1 = rd_ptr + 3'h1; // @[MultiPortFifo.scala 65:78]
  wire  _GEN_41 = 3'h1 == _io_deq_1_valid_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_42 = 3'h2 == _io_deq_1_valid_T_1 ? buf_valid_2 : _GEN_41; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_43 = 3'h3 == _io_deq_1_valid_T_1 ? buf_valid_3 : _GEN_42; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_44 = 3'h4 == _io_deq_1_valid_T_1 ? buf_valid_4 : _GEN_43; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_45 = 3'h5 == _io_deq_1_valid_T_1 ? buf_valid_5 : _GEN_44; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_46 = 3'h6 == _io_deq_1_valid_T_1 ? buf_valid_6 : _GEN_45; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] _io_deq_2_valid_T_1 = rd_ptr + 3'h2; // @[MultiPortFifo.scala 65:78]
  wire  _GEN_49 = 3'h1 == _io_deq_2_valid_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_50 = 3'h2 == _io_deq_2_valid_T_1 ? buf_valid_2 : _GEN_49; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_51 = 3'h3 == _io_deq_2_valid_T_1 ? buf_valid_3 : _GEN_50; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_52 = 3'h4 == _io_deq_2_valid_T_1 ? buf_valid_4 : _GEN_51; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_53 = 3'h5 == _io_deq_2_valid_T_1 ? buf_valid_5 : _GEN_52; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_54 = 3'h6 == _io_deq_2_valid_T_1 ? buf_valid_6 : _GEN_53; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] _io_deq_3_valid_T_1 = rd_ptr + 3'h3; // @[MultiPortFifo.scala 65:78]
  wire  _GEN_57 = 3'h1 == _io_deq_3_valid_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_58 = 3'h2 == _io_deq_3_valid_T_1 ? buf_valid_2 : _GEN_57; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_59 = 3'h3 == _io_deq_3_valid_T_1 ? buf_valid_3 : _GEN_58; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_60 = 3'h4 == _io_deq_3_valid_T_1 ? buf_valid_4 : _GEN_59; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_61 = 3'h5 == _io_deq_3_valid_T_1 ? buf_valid_5 : _GEN_60; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_62 = 3'h6 == _io_deq_3_valid_T_1 ? buf_valid_6 : _GEN_61; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_96 = 3'h0 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_97 = 3'h1 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_98 = 3'h2 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_99 = 3'h3 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_100 = 3'h4 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_101 = 3'h5 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_102 = 3'h6 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_103 = 3'h7 == _io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_72 = _T ? 3'h0 == _io_enq_0_ready_T[2:0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_73 = _T ? 3'h1 == _io_enq_0_ready_T[2:0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_74 = _T ? 3'h2 == _io_enq_0_ready_T[2:0] | buf_valid_2 : buf_valid_2; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_75 = _T ? 3'h3 == _io_enq_0_ready_T[2:0] | buf_valid_3 : buf_valid_3; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_76 = _T ? 3'h4 == _io_enq_0_ready_T[2:0] | buf_valid_4 : buf_valid_4; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_77 = _T ? 3'h5 == _io_enq_0_ready_T[2:0] | buf_valid_5 : buf_valid_5; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_78 = _T ? 3'h6 == _io_enq_0_ready_T[2:0] | buf_valid_6 : buf_valid_6; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_79 = _T ? 3'h7 == _io_enq_0_ready_T[2:0] | buf_valid_7 : buf_valid_7; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_80 = 3'h0 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_72; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_81 = 3'h1 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_73; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_82 = 3'h2 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_74; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_83 = 3'h3 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_75; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_84 = 3'h4 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_76; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_85 = 3'h5 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_77; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_86 = 3'h6 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_78; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_87 = 3'h7 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_79; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_88 = _T_1 ? _GEN_80 : _GEN_72; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_89 = _T_1 ? _GEN_81 : _GEN_73; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_90 = _T_1 ? _GEN_82 : _GEN_74; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_91 = _T_1 ? _GEN_83 : _GEN_75; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_92 = _T_1 ? _GEN_84 : _GEN_76; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_93 = _T_1 ? _GEN_85 : _GEN_77; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_94 = _T_1 ? _GEN_86 : _GEN_78; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_95 = _T_1 ? _GEN_87 : _GEN_79; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_184 = _T ? _GEN_96 | _GEN_88 : _GEN_88; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_185 = _T ? _GEN_97 | _GEN_89 : _GEN_89; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_186 = _T ? _GEN_98 | _GEN_90 : _GEN_90; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_187 = _T ? _GEN_99 | _GEN_91 : _GEN_91; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_188 = _T ? _GEN_100 | _GEN_92 : _GEN_92; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_189 = _T ? _GEN_101 | _GEN_93 : _GEN_93; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_190 = _T ? _GEN_102 | _GEN_94 : _GEN_94; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_191 = _T ? _GEN_103 | _GEN_95 : _GEN_95; // @[MultiPortFifo.scala 97:34]
  wire  _T_3 = io_deq_1_ready & io_deq_1_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_192 = 3'h0 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_184; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_193 = 3'h1 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_185; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_194 = 3'h2 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_186; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_195 = 3'h3 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_187; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_196 = 3'h4 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_188; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_197 = 3'h5 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_189; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_198 = 3'h6 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_190; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_199 = 3'h7 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_191; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_200 = _T_3 ? _GEN_192 : _GEN_184; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_201 = _T_3 ? _GEN_193 : _GEN_185; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_202 = _T_3 ? _GEN_194 : _GEN_186; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_203 = _T_3 ? _GEN_195 : _GEN_187; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_204 = _T_3 ? _GEN_196 : _GEN_188; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_205 = _T_3 ? _GEN_197 : _GEN_189; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_206 = _T_3 ? _GEN_198 : _GEN_190; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_207 = _T_3 ? _GEN_199 : _GEN_191; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_296 = _T ? _GEN_96 | _GEN_200 : _GEN_200; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_297 = _T ? _GEN_97 | _GEN_201 : _GEN_201; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_298 = _T ? _GEN_98 | _GEN_202 : _GEN_202; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_299 = _T ? _GEN_99 | _GEN_203 : _GEN_203; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_300 = _T ? _GEN_100 | _GEN_204 : _GEN_204; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_301 = _T ? _GEN_101 | _GEN_205 : _GEN_205; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_302 = _T ? _GEN_102 | _GEN_206 : _GEN_206; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_303 = _T ? _GEN_103 | _GEN_207 : _GEN_207; // @[MultiPortFifo.scala 97:34]
  wire  _T_5 = io_deq_2_ready & io_deq_2_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_304 = 3'h0 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_296; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_305 = 3'h1 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_297; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_306 = 3'h2 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_298; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_307 = 3'h3 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_299; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_308 = 3'h4 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_300; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_309 = 3'h5 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_301; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_310 = 3'h6 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_302; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_311 = 3'h7 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_303; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_312 = _T_5 ? _GEN_304 : _GEN_296; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_313 = _T_5 ? _GEN_305 : _GEN_297; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_314 = _T_5 ? _GEN_306 : _GEN_298; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_315 = _T_5 ? _GEN_307 : _GEN_299; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_316 = _T_5 ? _GEN_308 : _GEN_300; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_317 = _T_5 ? _GEN_309 : _GEN_301; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_318 = _T_5 ? _GEN_310 : _GEN_302; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_319 = _T_5 ? _GEN_311 : _GEN_303; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_408 = _T ? _GEN_96 | _GEN_312 : _GEN_312; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_409 = _T ? _GEN_97 | _GEN_313 : _GEN_313; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_410 = _T ? _GEN_98 | _GEN_314 : _GEN_314; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_411 = _T ? _GEN_99 | _GEN_315 : _GEN_315; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_412 = _T ? _GEN_100 | _GEN_316 : _GEN_316; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_413 = _T ? _GEN_101 | _GEN_317 : _GEN_317; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_414 = _T ? _GEN_102 | _GEN_318 : _GEN_318; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_415 = _T ? _GEN_103 | _GEN_319 : _GEN_319; // @[MultiPortFifo.scala 97:34]
  wire  _T_7 = io_deq_3_ready & io_deq_3_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_416 = 3'h0 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_408; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_417 = 3'h1 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_409; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_418 = 3'h2 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_410; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_419 = 3'h3 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_411; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_420 = 3'h4 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_412; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_421 = 3'h5 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_413; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_422 = 3'h6 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_414; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_423 = 3'h7 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_415; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_424 = _T_7 ? _GEN_416 : _GEN_408; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_425 = _T_7 ? _GEN_417 : _GEN_409; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_426 = _T_7 ? _GEN_418 : _GEN_410; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_427 = _T_7 ? _GEN_419 : _GEN_411; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_428 = _T_7 ? _GEN_420 : _GEN_412; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_429 = _T_7 ? _GEN_421 : _GEN_413; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_430 = _T_7 ? _GEN_422 : _GEN_414; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_431 = _T_7 ? _GEN_423 : _GEN_415; // @[MultiPortFifo.scala 98:34]
  wire  _T_8 = io_enq_1_ready & io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_520 = _T_8 ? 3'h0 == _io_enq_1_ready_T_1 | _GEN_424 : _GEN_424; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_521 = _T_8 ? 3'h1 == _io_enq_1_ready_T_1 | _GEN_425 : _GEN_425; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_522 = _T_8 ? 3'h2 == _io_enq_1_ready_T_1 | _GEN_426 : _GEN_426; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_523 = _T_8 ? 3'h3 == _io_enq_1_ready_T_1 | _GEN_427 : _GEN_427; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_524 = _T_8 ? 3'h4 == _io_enq_1_ready_T_1 | _GEN_428 : _GEN_428; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_525 = _T_8 ? 3'h5 == _io_enq_1_ready_T_1 | _GEN_429 : _GEN_429; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_526 = _T_8 ? 3'h6 == _io_enq_1_ready_T_1 | _GEN_430 : _GEN_430; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_527 = _T_8 ? 3'h7 == _io_enq_1_ready_T_1 | _GEN_431 : _GEN_431; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_528 = 3'h0 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_520; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_529 = 3'h1 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_521; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_530 = 3'h2 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_522; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_531 = 3'h3 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_523; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_532 = 3'h4 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_524; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_533 = 3'h5 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_525; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_534 = 3'h6 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_526; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_535 = 3'h7 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_527; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_536 = _T_1 ? _GEN_528 : _GEN_520; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_537 = _T_1 ? _GEN_529 : _GEN_521; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_538 = _T_1 ? _GEN_530 : _GEN_522; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_539 = _T_1 ? _GEN_531 : _GEN_523; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_540 = _T_1 ? _GEN_532 : _GEN_524; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_541 = _T_1 ? _GEN_533 : _GEN_525; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_542 = _T_1 ? _GEN_534 : _GEN_526; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_543 = _T_1 ? _GEN_535 : _GEN_527; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_632 = _T_8 ? 3'h0 == _io_enq_1_ready_T_1 | _GEN_536 : _GEN_536; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_633 = _T_8 ? 3'h1 == _io_enq_1_ready_T_1 | _GEN_537 : _GEN_537; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_634 = _T_8 ? 3'h2 == _io_enq_1_ready_T_1 | _GEN_538 : _GEN_538; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_635 = _T_8 ? 3'h3 == _io_enq_1_ready_T_1 | _GEN_539 : _GEN_539; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_636 = _T_8 ? 3'h4 == _io_enq_1_ready_T_1 | _GEN_540 : _GEN_540; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_637 = _T_8 ? 3'h5 == _io_enq_1_ready_T_1 | _GEN_541 : _GEN_541; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_638 = _T_8 ? 3'h6 == _io_enq_1_ready_T_1 | _GEN_542 : _GEN_542; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_639 = _T_8 ? 3'h7 == _io_enq_1_ready_T_1 | _GEN_543 : _GEN_543; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_640 = 3'h0 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_632; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_641 = 3'h1 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_633; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_642 = 3'h2 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_634; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_643 = 3'h3 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_635; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_644 = 3'h4 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_636; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_645 = 3'h5 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_637; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_646 = 3'h6 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_638; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_647 = 3'h7 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_639; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_648 = _T_3 ? _GEN_640 : _GEN_632; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_649 = _T_3 ? _GEN_641 : _GEN_633; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_650 = _T_3 ? _GEN_642 : _GEN_634; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_651 = _T_3 ? _GEN_643 : _GEN_635; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_652 = _T_3 ? _GEN_644 : _GEN_636; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_653 = _T_3 ? _GEN_645 : _GEN_637; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_654 = _T_3 ? _GEN_646 : _GEN_638; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_655 = _T_3 ? _GEN_647 : _GEN_639; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_744 = _T_8 ? 3'h0 == _io_enq_1_ready_T_1 | _GEN_648 : _GEN_648; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_745 = _T_8 ? 3'h1 == _io_enq_1_ready_T_1 | _GEN_649 : _GEN_649; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_746 = _T_8 ? 3'h2 == _io_enq_1_ready_T_1 | _GEN_650 : _GEN_650; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_747 = _T_8 ? 3'h3 == _io_enq_1_ready_T_1 | _GEN_651 : _GEN_651; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_748 = _T_8 ? 3'h4 == _io_enq_1_ready_T_1 | _GEN_652 : _GEN_652; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_749 = _T_8 ? 3'h5 == _io_enq_1_ready_T_1 | _GEN_653 : _GEN_653; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_750 = _T_8 ? 3'h6 == _io_enq_1_ready_T_1 | _GEN_654 : _GEN_654; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_751 = _T_8 ? 3'h7 == _io_enq_1_ready_T_1 | _GEN_655 : _GEN_655; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_752 = 3'h0 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_744; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_753 = 3'h1 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_745; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_754 = 3'h2 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_746; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_755 = 3'h3 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_747; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_756 = 3'h4 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_748; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_757 = 3'h5 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_749; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_758 = 3'h6 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_750; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_759 = 3'h7 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_751; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_760 = _T_5 ? _GEN_752 : _GEN_744; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_761 = _T_5 ? _GEN_753 : _GEN_745; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_762 = _T_5 ? _GEN_754 : _GEN_746; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_763 = _T_5 ? _GEN_755 : _GEN_747; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_764 = _T_5 ? _GEN_756 : _GEN_748; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_765 = _T_5 ? _GEN_757 : _GEN_749; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_766 = _T_5 ? _GEN_758 : _GEN_750; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_767 = _T_5 ? _GEN_759 : _GEN_751; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_856 = _T_8 ? 3'h0 == _io_enq_1_ready_T_1 | _GEN_760 : _GEN_760; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_857 = _T_8 ? 3'h1 == _io_enq_1_ready_T_1 | _GEN_761 : _GEN_761; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_858 = _T_8 ? 3'h2 == _io_enq_1_ready_T_1 | _GEN_762 : _GEN_762; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_859 = _T_8 ? 3'h3 == _io_enq_1_ready_T_1 | _GEN_763 : _GEN_763; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_860 = _T_8 ? 3'h4 == _io_enq_1_ready_T_1 | _GEN_764 : _GEN_764; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_861 = _T_8 ? 3'h5 == _io_enq_1_ready_T_1 | _GEN_765 : _GEN_765; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_862 = _T_8 ? 3'h6 == _io_enq_1_ready_T_1 | _GEN_766 : _GEN_766; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_863 = _T_8 ? 3'h7 == _io_enq_1_ready_T_1 | _GEN_767 : _GEN_767; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_864 = 3'h0 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_856; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_865 = 3'h1 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_857; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_866 = 3'h2 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_858; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_867 = 3'h3 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_859; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_868 = 3'h4 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_860; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_869 = 3'h5 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_861; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_870 = 3'h6 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_862; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_871 = 3'h7 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_863; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_872 = _T_7 ? _GEN_864 : _GEN_856; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_873 = _T_7 ? _GEN_865 : _GEN_857; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_874 = _T_7 ? _GEN_866 : _GEN_858; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_875 = _T_7 ? _GEN_867 : _GEN_859; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_876 = _T_7 ? _GEN_868 : _GEN_860; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_877 = _T_7 ? _GEN_869 : _GEN_861; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_878 = _T_7 ? _GEN_870 : _GEN_862; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_879 = _T_7 ? _GEN_871 : _GEN_863; // @[MultiPortFifo.scala 98:34]
  wire  _T_16 = io_enq_2_ready & io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_968 = _T_16 ? 3'h0 == _io_enq_2_ready_T_1 | _GEN_872 : _GEN_872; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_969 = _T_16 ? 3'h1 == _io_enq_2_ready_T_1 | _GEN_873 : _GEN_873; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_970 = _T_16 ? 3'h2 == _io_enq_2_ready_T_1 | _GEN_874 : _GEN_874; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_971 = _T_16 ? 3'h3 == _io_enq_2_ready_T_1 | _GEN_875 : _GEN_875; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_972 = _T_16 ? 3'h4 == _io_enq_2_ready_T_1 | _GEN_876 : _GEN_876; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_973 = _T_16 ? 3'h5 == _io_enq_2_ready_T_1 | _GEN_877 : _GEN_877; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_974 = _T_16 ? 3'h6 == _io_enq_2_ready_T_1 | _GEN_878 : _GEN_878; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_975 = _T_16 ? 3'h7 == _io_enq_2_ready_T_1 | _GEN_879 : _GEN_879; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_976 = 3'h0 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_968; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_977 = 3'h1 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_969; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_978 = 3'h2 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_970; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_979 = 3'h3 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_971; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_980 = 3'h4 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_972; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_981 = 3'h5 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_973; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_982 = 3'h6 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_974; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_983 = 3'h7 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_975; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_984 = _T_1 ? _GEN_976 : _GEN_968; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_985 = _T_1 ? _GEN_977 : _GEN_969; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_986 = _T_1 ? _GEN_978 : _GEN_970; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_987 = _T_1 ? _GEN_979 : _GEN_971; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_988 = _T_1 ? _GEN_980 : _GEN_972; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_989 = _T_1 ? _GEN_981 : _GEN_973; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_990 = _T_1 ? _GEN_982 : _GEN_974; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_991 = _T_1 ? _GEN_983 : _GEN_975; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1080 = _T_16 ? 3'h0 == _io_enq_2_ready_T_1 | _GEN_984 : _GEN_984; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1081 = _T_16 ? 3'h1 == _io_enq_2_ready_T_1 | _GEN_985 : _GEN_985; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1082 = _T_16 ? 3'h2 == _io_enq_2_ready_T_1 | _GEN_986 : _GEN_986; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1083 = _T_16 ? 3'h3 == _io_enq_2_ready_T_1 | _GEN_987 : _GEN_987; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1084 = _T_16 ? 3'h4 == _io_enq_2_ready_T_1 | _GEN_988 : _GEN_988; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1085 = _T_16 ? 3'h5 == _io_enq_2_ready_T_1 | _GEN_989 : _GEN_989; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1086 = _T_16 ? 3'h6 == _io_enq_2_ready_T_1 | _GEN_990 : _GEN_990; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1087 = _T_16 ? 3'h7 == _io_enq_2_ready_T_1 | _GEN_991 : _GEN_991; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1088 = 3'h0 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1080; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1089 = 3'h1 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1081; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1090 = 3'h2 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1082; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1091 = 3'h3 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1083; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1092 = 3'h4 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1084; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1093 = 3'h5 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1085; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1094 = 3'h6 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1086; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1095 = 3'h7 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1087; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1096 = _T_3 ? _GEN_1088 : _GEN_1080; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1097 = _T_3 ? _GEN_1089 : _GEN_1081; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1098 = _T_3 ? _GEN_1090 : _GEN_1082; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1099 = _T_3 ? _GEN_1091 : _GEN_1083; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1100 = _T_3 ? _GEN_1092 : _GEN_1084; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1101 = _T_3 ? _GEN_1093 : _GEN_1085; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1102 = _T_3 ? _GEN_1094 : _GEN_1086; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1103 = _T_3 ? _GEN_1095 : _GEN_1087; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1192 = _T_16 ? 3'h0 == _io_enq_2_ready_T_1 | _GEN_1096 : _GEN_1096; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1193 = _T_16 ? 3'h1 == _io_enq_2_ready_T_1 | _GEN_1097 : _GEN_1097; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1194 = _T_16 ? 3'h2 == _io_enq_2_ready_T_1 | _GEN_1098 : _GEN_1098; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1195 = _T_16 ? 3'h3 == _io_enq_2_ready_T_1 | _GEN_1099 : _GEN_1099; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1196 = _T_16 ? 3'h4 == _io_enq_2_ready_T_1 | _GEN_1100 : _GEN_1100; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1197 = _T_16 ? 3'h5 == _io_enq_2_ready_T_1 | _GEN_1101 : _GEN_1101; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1198 = _T_16 ? 3'h6 == _io_enq_2_ready_T_1 | _GEN_1102 : _GEN_1102; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1199 = _T_16 ? 3'h7 == _io_enq_2_ready_T_1 | _GEN_1103 : _GEN_1103; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1200 = 3'h0 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1192; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1201 = 3'h1 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1193; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1202 = 3'h2 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1194; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1203 = 3'h3 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1195; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1204 = 3'h4 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1196; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1205 = 3'h5 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1197; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1206 = 3'h6 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1198; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1207 = 3'h7 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1199; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1208 = _T_5 ? _GEN_1200 : _GEN_1192; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1209 = _T_5 ? _GEN_1201 : _GEN_1193; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1210 = _T_5 ? _GEN_1202 : _GEN_1194; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1211 = _T_5 ? _GEN_1203 : _GEN_1195; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1212 = _T_5 ? _GEN_1204 : _GEN_1196; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1213 = _T_5 ? _GEN_1205 : _GEN_1197; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1214 = _T_5 ? _GEN_1206 : _GEN_1198; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1215 = _T_5 ? _GEN_1207 : _GEN_1199; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1304 = _T_16 ? 3'h0 == _io_enq_2_ready_T_1 | _GEN_1208 : _GEN_1208; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1305 = _T_16 ? 3'h1 == _io_enq_2_ready_T_1 | _GEN_1209 : _GEN_1209; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1306 = _T_16 ? 3'h2 == _io_enq_2_ready_T_1 | _GEN_1210 : _GEN_1210; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1307 = _T_16 ? 3'h3 == _io_enq_2_ready_T_1 | _GEN_1211 : _GEN_1211; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1308 = _T_16 ? 3'h4 == _io_enq_2_ready_T_1 | _GEN_1212 : _GEN_1212; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1309 = _T_16 ? 3'h5 == _io_enq_2_ready_T_1 | _GEN_1213 : _GEN_1213; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1310 = _T_16 ? 3'h6 == _io_enq_2_ready_T_1 | _GEN_1214 : _GEN_1214; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1311 = _T_16 ? 3'h7 == _io_enq_2_ready_T_1 | _GEN_1215 : _GEN_1215; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1312 = 3'h0 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1304; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1313 = 3'h1 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1305; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1314 = 3'h2 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1306; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1315 = 3'h3 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1307; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1316 = 3'h4 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1308; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1317 = 3'h5 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1309; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1318 = 3'h6 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1310; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1319 = 3'h7 == _io_deq_3_valid_T_1 ? 1'h0 : _GEN_1311; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1320 = _T_7 ? _GEN_1312 : _GEN_1304; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1321 = _T_7 ? _GEN_1313 : _GEN_1305; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1322 = _T_7 ? _GEN_1314 : _GEN_1306; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1323 = _T_7 ? _GEN_1315 : _GEN_1307; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1324 = _T_7 ? _GEN_1316 : _GEN_1308; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1325 = _T_7 ? _GEN_1317 : _GEN_1309; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1326 = _T_7 ? _GEN_1318 : _GEN_1310; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1327 = _T_7 ? _GEN_1319 : _GEN_1311; // @[MultiPortFifo.scala 98:34]
  wire  _T_24 = io_enq_3_ready & io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_1416 = _T_24 ? 3'h0 == _io_enq_3_ready_T_1 | _GEN_1320 : _GEN_1320; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1417 = _T_24 ? 3'h1 == _io_enq_3_ready_T_1 | _GEN_1321 : _GEN_1321; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1418 = _T_24 ? 3'h2 == _io_enq_3_ready_T_1 | _GEN_1322 : _GEN_1322; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1419 = _T_24 ? 3'h3 == _io_enq_3_ready_T_1 | _GEN_1323 : _GEN_1323; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1420 = _T_24 ? 3'h4 == _io_enq_3_ready_T_1 | _GEN_1324 : _GEN_1324; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1421 = _T_24 ? 3'h5 == _io_enq_3_ready_T_1 | _GEN_1325 : _GEN_1325; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1422 = _T_24 ? 3'h6 == _io_enq_3_ready_T_1 | _GEN_1326 : _GEN_1326; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1423 = _T_24 ? 3'h7 == _io_enq_3_ready_T_1 | _GEN_1327 : _GEN_1327; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1424 = 3'h0 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1416; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1425 = 3'h1 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1417; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1426 = 3'h2 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1418; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1427 = 3'h3 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1419; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1428 = 3'h4 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1420; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1429 = 3'h5 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1421; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1430 = 3'h6 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1422; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1431 = 3'h7 == _io_deq_0_valid_T[2:0] ? 1'h0 : _GEN_1423; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1432 = _T_1 ? _GEN_1424 : _GEN_1416; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1433 = _T_1 ? _GEN_1425 : _GEN_1417; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1434 = _T_1 ? _GEN_1426 : _GEN_1418; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1435 = _T_1 ? _GEN_1427 : _GEN_1419; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1436 = _T_1 ? _GEN_1428 : _GEN_1420; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1437 = _T_1 ? _GEN_1429 : _GEN_1421; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1438 = _T_1 ? _GEN_1430 : _GEN_1422; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1439 = _T_1 ? _GEN_1431 : _GEN_1423; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1528 = _T_24 ? 3'h0 == _io_enq_3_ready_T_1 | _GEN_1432 : _GEN_1432; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1529 = _T_24 ? 3'h1 == _io_enq_3_ready_T_1 | _GEN_1433 : _GEN_1433; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1530 = _T_24 ? 3'h2 == _io_enq_3_ready_T_1 | _GEN_1434 : _GEN_1434; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1531 = _T_24 ? 3'h3 == _io_enq_3_ready_T_1 | _GEN_1435 : _GEN_1435; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1532 = _T_24 ? 3'h4 == _io_enq_3_ready_T_1 | _GEN_1436 : _GEN_1436; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1533 = _T_24 ? 3'h5 == _io_enq_3_ready_T_1 | _GEN_1437 : _GEN_1437; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1534 = _T_24 ? 3'h6 == _io_enq_3_ready_T_1 | _GEN_1438 : _GEN_1438; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1535 = _T_24 ? 3'h7 == _io_enq_3_ready_T_1 | _GEN_1439 : _GEN_1439; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1536 = 3'h0 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1528; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1537 = 3'h1 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1529; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1538 = 3'h2 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1530; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1539 = 3'h3 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1531; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1540 = 3'h4 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1532; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1541 = 3'h5 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1533; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1542 = 3'h6 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1534; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1543 = 3'h7 == _io_deq_1_valid_T_1 ? 1'h0 : _GEN_1535; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1544 = _T_3 ? _GEN_1536 : _GEN_1528; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1545 = _T_3 ? _GEN_1537 : _GEN_1529; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1546 = _T_3 ? _GEN_1538 : _GEN_1530; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1547 = _T_3 ? _GEN_1539 : _GEN_1531; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1548 = _T_3 ? _GEN_1540 : _GEN_1532; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1549 = _T_3 ? _GEN_1541 : _GEN_1533; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1550 = _T_3 ? _GEN_1542 : _GEN_1534; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1551 = _T_3 ? _GEN_1543 : _GEN_1535; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1640 = _T_24 ? 3'h0 == _io_enq_3_ready_T_1 | _GEN_1544 : _GEN_1544; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1641 = _T_24 ? 3'h1 == _io_enq_3_ready_T_1 | _GEN_1545 : _GEN_1545; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1642 = _T_24 ? 3'h2 == _io_enq_3_ready_T_1 | _GEN_1546 : _GEN_1546; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1643 = _T_24 ? 3'h3 == _io_enq_3_ready_T_1 | _GEN_1547 : _GEN_1547; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1644 = _T_24 ? 3'h4 == _io_enq_3_ready_T_1 | _GEN_1548 : _GEN_1548; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1645 = _T_24 ? 3'h5 == _io_enq_3_ready_T_1 | _GEN_1549 : _GEN_1549; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1646 = _T_24 ? 3'h6 == _io_enq_3_ready_T_1 | _GEN_1550 : _GEN_1550; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1647 = _T_24 ? 3'h7 == _io_enq_3_ready_T_1 | _GEN_1551 : _GEN_1551; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1648 = 3'h0 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1640; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1649 = 3'h1 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1641; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1650 = 3'h2 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1642; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1651 = 3'h3 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1643; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1652 = 3'h4 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1644; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1653 = 3'h5 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1645; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1654 = 3'h6 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1646; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1655 = 3'h7 == _io_deq_2_valid_T_1 ? 1'h0 : _GEN_1647; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_1656 = _T_5 ? _GEN_1648 : _GEN_1640; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1657 = _T_5 ? _GEN_1649 : _GEN_1641; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1658 = _T_5 ? _GEN_1650 : _GEN_1642; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1659 = _T_5 ? _GEN_1651 : _GEN_1643; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1660 = _T_5 ? _GEN_1652 : _GEN_1644; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1661 = _T_5 ? _GEN_1653 : _GEN_1645; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1662 = _T_5 ? _GEN_1654 : _GEN_1646; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1663 = _T_5 ? _GEN_1655 : _GEN_1647; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_1752 = _T_24 ? 3'h0 == _io_enq_3_ready_T_1 | _GEN_1656 : _GEN_1656; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1753 = _T_24 ? 3'h1 == _io_enq_3_ready_T_1 | _GEN_1657 : _GEN_1657; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1754 = _T_24 ? 3'h2 == _io_enq_3_ready_T_1 | _GEN_1658 : _GEN_1658; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1755 = _T_24 ? 3'h3 == _io_enq_3_ready_T_1 | _GEN_1659 : _GEN_1659; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1756 = _T_24 ? 3'h4 == _io_enq_3_ready_T_1 | _GEN_1660 : _GEN_1660; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1757 = _T_24 ? 3'h5 == _io_enq_3_ready_T_1 | _GEN_1661 : _GEN_1661; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1758 = _T_24 ? 3'h6 == _io_enq_3_ready_T_1 | _GEN_1662 : _GEN_1662; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_1759 = _T_24 ? 3'h7 == _io_enq_3_ready_T_1 | _GEN_1663 : _GEN_1663; // @[MultiPortFifo.scala 97:34]
  wire [1:0] _rd_ptr_T_1 = _T_3 ? 2'h2 : {{1'd0}, _T_1}; // @[Mux.scala 101:16]
  wire [1:0] _rd_ptr_T_2 = _T_5 ? 2'h3 : _rd_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] _rd_ptr_T_3 = _T_7 ? 3'h4 : {{1'd0}, _rd_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] _rd_ptr_T_5 = rd_ptr + _rd_ptr_T_3; // @[MultiPortFifo.scala 106:26]
  wire [1:0] _wr_ptr_T_1 = _T_8 ? 2'h2 : {{1'd0}, _T}; // @[Mux.scala 101:16]
  wire [1:0] _wr_ptr_T_2 = _T_16 ? 2'h3 : _wr_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] _wr_ptr_T_3 = _T_24 ? 3'h4 : {{1'd0}, _wr_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] _wr_ptr_T_5 = wr_ptr + _wr_ptr_T_3; // @[MultiPortFifo.scala 107:26]
  wire  _T_39 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_7; // @[MultiPortFifo.scala 64:94]
  assign io_enq_1_ready = ~_GEN_15; // @[MultiPortFifo.scala 64:94]
  assign io_enq_2_ready = ~_GEN_23; // @[MultiPortFifo.scala 64:94]
  assign io_enq_3_ready = ~_GEN_31; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = 3'h7 == _io_deq_0_valid_T[2:0] ? buf_valid_7 : _GEN_38; // @[MultiPortFifo.scala 65:{94,94}]
  assign io_deq_1_valid = 3'h7 == _io_deq_1_valid_T_1 ? buf_valid_7 : _GEN_46; // @[MultiPortFifo.scala 65:{94,94}]
  assign io_deq_2_valid = 3'h7 == _io_deq_2_valid_T_1 ? buf_valid_7 : _GEN_54; // @[MultiPortFifo.scala 65:{94,94}]
  assign io_deq_3_valid = 3'h7 == _io_deq_3_valid_T_1 ? buf_valid_7 : _GEN_62; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h0 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_1752;
      end
    end else begin
      buf_valid_0 <= _GEN_1752;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h1 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_1753;
      end
    end else begin
      buf_valid_1 <= _GEN_1753;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h2 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_2 <= _GEN_1754;
      end
    end else begin
      buf_valid_2 <= _GEN_1754;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h3 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_3 <= _GEN_1755;
      end
    end else begin
      buf_valid_3 <= _GEN_1755;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h4 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_4 <= _GEN_1756;
      end
    end else begin
      buf_valid_4 <= _GEN_1756;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h5 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_5 <= _GEN_1757;
      end
    end else begin
      buf_valid_5 <= _GEN_1757;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h6 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_6 <= _GEN_1758;
      end
    end else begin
      buf_valid_6 <= _GEN_1758;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h7 == _io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_7 <= _GEN_1759;
      end
    end else begin
      buf_valid_7 <= _GEN_1759;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 3'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 3'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= _rd_ptr_T_5; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 3'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 3'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= _wr_ptr_T_5; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_1_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_1_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_1_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_1_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_2_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_2_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_3_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_3_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_1_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_1_valid & ~io_deq_0_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_1_valid & ~io_deq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_1_valid & ~io_deq_1_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_2_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_2_valid & ~io_deq_0_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_2_valid & ~io_deq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_2_valid & ~io_deq_1_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_2_valid & ~io_deq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_2_valid & ~io_deq_2_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_3_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_3_valid & ~io_deq_0_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_3_valid & ~io_deq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_3_valid & ~io_deq_1_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_3_valid & ~io_deq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_3_valid & ~io_deq_2_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39 & ~(~(io_deq_3_valid & ~io_deq_3_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_3_valid & ~io_deq_3_valid)) & _T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_8 & _T_39 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_8 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_16 & _T_39 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_16 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_16 & _T_39 & ~_T_8) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_8 & (_T_16 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_24 & _T_39 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_24 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_24 & _T_39 & ~_T_8) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_8 & (_T_24 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_24 & _T_39 & ~_T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_16 & (_T_24 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_3 & _T_39 & ~_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1 & (_T_3 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_5 & _T_39 & ~_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1 & (_T_5 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_5 & _T_39 & ~_T_3) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_3 & (_T_5 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_7 & _T_39 & ~_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1 & (_T_7 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_7 & _T_39 & ~_T_3) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_3 & (_T_7 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_7 & _T_39 & ~_T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_5 & (_T_7 & _T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  buf_valid_2 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  buf_valid_3 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  buf_valid_4 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  buf_valid_5 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  buf_valid_6 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  buf_valid_7 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  rd_ptr = _RAND_8[2:0];
  _RAND_9 = {1{`RANDOM}};
  wr_ptr = _RAND_9[2:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TagRAM(
  input         clock,
  input  [1:0]  io_addrr,
  input  [1:0]  io_addrw,
  input  [25:0] io_dataw,
  output [25:0] io_datar,
  input         io_enw,
  input         io_enr
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  reg [25:0] tagMem [0:3]; // @[CacheRAM.scala 152:27]
  wire  tagMem_io_datar_MPORT_en; // @[CacheRAM.scala 152:27]
  wire [1:0] tagMem_io_datar_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire [25:0] tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [25:0] tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [1:0] tagMem_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire  tagMem_MPORT_mask; // @[CacheRAM.scala 152:27]
  wire  tagMem_MPORT_en; // @[CacheRAM.scala 152:27]
  reg  tagMem_io_datar_MPORT_en_pipe_0;
  reg [1:0] tagMem_io_datar_MPORT_addr_pipe_0;
  assign tagMem_io_datar_MPORT_en = tagMem_io_datar_MPORT_en_pipe_0;
  assign tagMem_io_datar_MPORT_addr = tagMem_io_datar_MPORT_addr_pipe_0;
  assign tagMem_io_datar_MPORT_data = tagMem[tagMem_io_datar_MPORT_addr]; // @[CacheRAM.scala 152:27]
  assign tagMem_MPORT_data = io_dataw;
  assign tagMem_MPORT_addr = io_addrw;
  assign tagMem_MPORT_mask = 1'h1;
  assign tagMem_MPORT_en = io_enw;
  assign io_datar = tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 164:18 165:14]
  always @(posedge clock) begin
    if (tagMem_MPORT_en & tagMem_MPORT_mask) begin
      tagMem[tagMem_MPORT_addr] <= tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
    end
    tagMem_io_datar_MPORT_en_pipe_0 <= io_enr;
    if (io_enr) begin
      tagMem_io_datar_MPORT_addr_pipe_0 <= io_addrr;
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    tagMem[initvar] = _RAND_0[25:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  tagMem_io_datar_MPORT_en_pipe_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  tagMem_io_datar_MPORT_addr_pipe_0 = _RAND_2[1:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MaxPeriodFibonacciLFSR(
  input   clock,
  input   reset,
  input   io_increment,
  output  io_out_0,
  output  io_out_1,
  output  io_out_2,
  output  io_out_3,
  output  io_out_4,
  output  io_out_5,
  output  io_out_6,
  output  io_out_7,
  output  io_out_8,
  output  io_out_9,
  output  io_out_10,
  output  io_out_11,
  output  io_out_12,
  output  io_out_13,
  output  io_out_14,
  output  io_out_15
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
`endif // RANDOMIZE_REG_INIT
  reg  state_0; // @[PRNG.scala 55:49]
  reg  state_1; // @[PRNG.scala 55:49]
  reg  state_2; // @[PRNG.scala 55:49]
  reg  state_3; // @[PRNG.scala 55:49]
  reg  state_4; // @[PRNG.scala 55:49]
  reg  state_5; // @[PRNG.scala 55:49]
  reg  state_6; // @[PRNG.scala 55:49]
  reg  state_7; // @[PRNG.scala 55:49]
  reg  state_8; // @[PRNG.scala 55:49]
  reg  state_9; // @[PRNG.scala 55:49]
  reg  state_10; // @[PRNG.scala 55:49]
  reg  state_11; // @[PRNG.scala 55:49]
  reg  state_12; // @[PRNG.scala 55:49]
  reg  state_13; // @[PRNG.scala 55:49]
  reg  state_14; // @[PRNG.scala 55:49]
  reg  state_15; // @[PRNG.scala 55:49]
  wire  _T_2 = state_15 ^ state_13 ^ state_12 ^ state_10; // @[LFSR.scala 15:41]
  wire  _GEN_0 = io_increment ? _T_2 : state_0; // @[PRNG.scala 69:22 70:11 55:49]
  assign io_out_0 = state_0; // @[PRNG.scala 78:10]
  assign io_out_1 = state_1; // @[PRNG.scala 78:10]
  assign io_out_2 = state_2; // @[PRNG.scala 78:10]
  assign io_out_3 = state_3; // @[PRNG.scala 78:10]
  assign io_out_4 = state_4; // @[PRNG.scala 78:10]
  assign io_out_5 = state_5; // @[PRNG.scala 78:10]
  assign io_out_6 = state_6; // @[PRNG.scala 78:10]
  assign io_out_7 = state_7; // @[PRNG.scala 78:10]
  assign io_out_8 = state_8; // @[PRNG.scala 78:10]
  assign io_out_9 = state_9; // @[PRNG.scala 78:10]
  assign io_out_10 = state_10; // @[PRNG.scala 78:10]
  assign io_out_11 = state_11; // @[PRNG.scala 78:10]
  assign io_out_12 = state_12; // @[PRNG.scala 78:10]
  assign io_out_13 = state_13; // @[PRNG.scala 78:10]
  assign io_out_14 = state_14; // @[PRNG.scala 78:10]
  assign io_out_15 = state_15; // @[PRNG.scala 78:10]
  always @(posedge clock) begin
    state_0 <= reset | _GEN_0; // @[PRNG.scala 55:{49,49}]
    if (reset) begin // @[PRNG.scala 55:49]
      state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_1 <= state_0; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_2 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_2 <= state_1; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_3 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_3 <= state_2; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_4 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_4 <= state_3; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_5 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_5 <= state_4; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_6 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_6 <= state_5; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_7 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_7 <= state_6; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_8 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_8 <= state_7; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_9 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_9 <= state_8; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_10 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_10 <= state_9; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_11 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_11 <= state_10; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_12 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_12 <= state_11; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_13 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_13 <= state_12; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_14 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_14 <= state_13; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_15 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_15 <= state_14; // @[PRNG.scala 70:11]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  state_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  state_2 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  state_3 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  state_4 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  state_5 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  state_6 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  state_7 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  state_8 = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  state_9 = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  state_10 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  state_11 = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  state_12 = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  state_13 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  state_14 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  state_15 = _RAND_15[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module IF2(
  input         clock,
  input         reset,
  input         io_if2_req_bits_isActive_0,
  input         io_if2_req_bits_isActive_1,
  input         io_if2_req_bits_isActive_2,
  input         io_if2_req_bits_isActive_3,
  input         io_if2_resp_0_ready,
  input         io_if2_resp_1_ready,
  input         io_if2_resp_2_ready,
  input         io_if2_resp_3_ready,
  input         io_mmu_if_valid,
  input  [63:0] io_mmu_if_bits_paddr,
  input         io_mmu_if_bits_is_paging_fault,
  input         io_mmu_if_bits_is_access_fault,
  input         io_icache_get_ready,
  output        io_icache_get_valid,
  output        io_icache_access_ready,
  input         io_icache_access_valid,
  input  [2:0]  io_icache_access_bits_opcode,
  input  [2:0]  io_icache_access_bits_size,
  input         io_flush,
  input         io_ifence
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [63:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
`endif // RANDOMIZE_REG_INIT
  wire  ibuf_clock; // @[IF2.scala 73:20]
  wire  ibuf_reset; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_0_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_0_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_1_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_1_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_2_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_2_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_3_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_enq_3_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_0_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_0_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_1_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_1_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_2_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_2_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_3_ready; // @[IF2.scala 73:20]
  wire  ibuf_io_deq_3_valid; // @[IF2.scala 73:20]
  wire  ibuf_io_flush; // @[IF2.scala 73:20]
  wire  tagRAM_0_clock; // @[IF2.scala 183:54]
  wire [1:0] tagRAM_0_io_addrr; // @[IF2.scala 183:54]
  wire [1:0] tagRAM_0_io_addrw; // @[IF2.scala 183:54]
  wire [25:0] tagRAM_0_io_dataw; // @[IF2.scala 183:54]
  wire [25:0] tagRAM_0_io_datar; // @[IF2.scala 183:54]
  wire  tagRAM_0_io_enw; // @[IF2.scala 183:54]
  wire  tagRAM_0_io_enr; // @[IF2.scala 183:54]
  wire  tagRAM_1_clock; // @[IF2.scala 183:54]
  wire [1:0] tagRAM_1_io_addrr; // @[IF2.scala 183:54]
  wire [1:0] tagRAM_1_io_addrw; // @[IF2.scala 183:54]
  wire [25:0] tagRAM_1_io_dataw; // @[IF2.scala 183:54]
  wire [25:0] tagRAM_1_io_datar; // @[IF2.scala 183:54]
  wire  tagRAM_1_io_enw; // @[IF2.scala 183:54]
  wire  tagRAM_1_io_enr; // @[IF2.scala 183:54]
  wire  rpl_sel_rpl_prng_clock; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_reset; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_increment; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_0; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_1; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_2; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_3; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_4; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_5; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_6; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_7; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_8; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_9; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_10; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_11; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_12; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_13; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_14; // @[PRNG.scala 91:22]
  wire  rpl_sel_rpl_prng_io_out_15; // @[PRNG.scala 91:22]
  wire  _T = io_icache_access_ready & io_icache_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _beats1_decode_T_1 = 11'hf << io_icache_access_bits_size; // @[package.scala 234:77]
  wire [3:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beats1_decode = _beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = io_icache_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  beats1 = beats1_opdata & beats1_decode; // @[Edges.scala 220:14]
  reg  counter; // @[Edges.scala 228:27]
  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
  wire  first = ~counter; // @[Edges.scala 230:25]
  wire  last = counter | ~beats1; // @[Edges.scala 231:37]
  wire  is_trans_done = last & _T; // @[Edges.scala 232:22]
  reg  kill_trans; // @[IF2.scala 71:27]
  wire [1:0] cl_sel = io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 79:36]
  wire [25:0] tag_sel = io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  reg  is_valid_3_1; // @[IF2.scala 180:25]
  reg  is_valid_2_1; // @[IF2.scala 180:25]
  reg  is_valid_1_1; // @[IF2.scala 180:25]
  reg  is_valid_0_1; // @[IF2.scala 180:25]
  wire  _GEN_8 = 2'h1 == cl_sel ? is_valid_1_1 : is_valid_0_1; // @[IF2.scala 189:{42,42}]
  wire  _GEN_9 = 2'h2 == cl_sel ? is_valid_2_1 : _GEN_8; // @[IF2.scala 189:{42,42}]
  wire  _GEN_10 = 2'h3 == cl_sel ? is_valid_3_1 : _GEN_9; // @[IF2.scala 189:{42,42}]
  wire  res_1 = tagRAM_1_io_datar == tag_sel & _GEN_10; // @[IF2.scala 189:42]
  reg  is_valid_3_0; // @[IF2.scala 180:25]
  reg  is_valid_2_0; // @[IF2.scala 180:25]
  reg  is_valid_1_0; // @[IF2.scala 180:25]
  reg  is_valid_0_0; // @[IF2.scala 180:25]
  wire  _GEN_4 = 2'h1 == cl_sel ? is_valid_1_0 : is_valid_0_0; // @[IF2.scala 189:{42,42}]
  wire  _GEN_5 = 2'h2 == cl_sel ? is_valid_2_0 : _GEN_4; // @[IF2.scala 189:{42,42}]
  wire  _GEN_6 = 2'h3 == cl_sel ? is_valid_3_0 : _GEN_5; // @[IF2.scala 189:{42,42}]
  wire  res_0 = tagRAM_0_io_datar == tag_sel & _GEN_6; // @[IF2.scala 189:42]
  wire [1:0] _is_hit_T = {res_1,res_0}; // @[IF2.scala 86:26]
  wire  is_hit = |_is_hit_T; // @[IF2.scala 86:33]
  wire  hit_sel = _is_hit_T[1]; // @[CircuitMath.scala 28:8]
  reg [3:0] icache_state_qout; // @[IF2.scala 98:34]
  reg  fault_lock; // @[IF2.scala 100:27]
  wire  is_access_fault = io_mmu_if_valid & io_mmu_if_bits_is_access_fault; // @[IF2.scala 117:38]
  wire  is_paging_fault = io_mmu_if_valid & io_mmu_if_bits_is_paging_fault; // @[IF2.scala 118:38]
  wire  _T_1 = io_mmu_if_bits_is_access_fault | io_mmu_if_bits_is_paging_fault; // @[MMU.scala 77:34]
  wire  _T_3 = ~io_flush; // @[IF2.scala 121:58]
  wire  _T_5 = ibuf_io_enq_0_ready & ibuf_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_1 = io_mmu_if_valid & _T_1 & ~io_flush & _T_5 | fault_lock; // @[IF2.scala 121:105 100:27 121:92]
  wire  _T_10 = ~reset; // @[IF2.scala 123:9]
  wire  _icache_state_dnxt_T = icache_state_qout == 4'h0; // @[IF2.scala 133:26]
  wire  _icache_state_dnxt_T_7 = ~fault_lock; // @[IF2.scala 134:102]
  wire  _icache_state_dnxt_T_8 = io_mmu_if_valid & ~_T_1 & _T_3 & ibuf_io_enq_3_ready & ~fault_lock; // @[IF2.scala 134:100]
  wire  _icache_state_dnxt_T_10 = icache_state_qout == 4'h1; // @[IF2.scala 135:26]
  wire  _icache_state_dnxt_T_11 = io_icache_get_ready & io_icache_get_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _icache_state_dnxt_T_12 = _icache_state_dnxt_T_11 ? 2'h2 : 2'h1; // @[IF2.scala 138:26]
  wire [1:0] _icache_state_dnxt_T_13 = is_hit ? 2'h0 : _icache_state_dnxt_T_12; // @[IF2.scala 137:14]
  wire [1:0] _icache_state_dnxt_T_14 = io_flush ? 2'h0 : _icache_state_dnxt_T_13; // @[IF2.scala 136:12]
  wire  _icache_state_dnxt_T_15 = icache_state_qout == 4'h2; // @[IF2.scala 139:26]
  wire [1:0] _icache_state_dnxt_T_16 = is_trans_done ? 2'h0 : 2'h2; // @[IF2.scala 140:14]
  wire  _icache_state_dnxt_T_17 = _icache_state_dnxt_T & _icache_state_dnxt_T_8; // @[Mux.scala 27:73]
  wire [1:0] _icache_state_dnxt_T_18 = _icache_state_dnxt_T_10 ? _icache_state_dnxt_T_14 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _icache_state_dnxt_T_19 = _icache_state_dnxt_T_15 ? _icache_state_dnxt_T_16 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_35 = {{1'd0}, _icache_state_dnxt_T_17}; // @[Mux.scala 27:73]
  wire [1:0] _icache_state_dnxt_T_20 = _GEN_35 | _icache_state_dnxt_T_18; // @[Mux.scala 27:73]
  wire [1:0] _icache_state_dnxt_T_21 = _icache_state_dnxt_T_20 | _icache_state_dnxt_T_19; // @[Mux.scala 27:73]
  wire [1:0] _T_13 = res_0 + res_1; // @[Bitwise.scala 51:90]
  wire  _is_emptyBlock_exist_r_T = ~_GEN_6; // @[IF2.scala 199:56]
  wire  is_emptyBlock_exist_r = ~_GEN_6 | ~_GEN_10; // @[IF2.scala 199:56]
  wire  cb_em = _is_emptyBlock_exist_r_T ? 1'h0 : 1'h1; // @[IF2.scala 201:42]
  wire [7:0] rpl_sel_rpl_lo = {rpl_sel_rpl_prng_io_out_7,rpl_sel_rpl_prng_io_out_6,rpl_sel_rpl_prng_io_out_5,
    rpl_sel_rpl_prng_io_out_4,rpl_sel_rpl_prng_io_out_3,rpl_sel_rpl_prng_io_out_2,rpl_sel_rpl_prng_io_out_1,
    rpl_sel_rpl_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire [15:0] rpl_sel_rpl = {rpl_sel_rpl_prng_io_out_15,rpl_sel_rpl_prng_io_out_14,rpl_sel_rpl_prng_io_out_13,
    rpl_sel_rpl_prng_io_out_12,rpl_sel_rpl_prng_io_out_11,rpl_sel_rpl_prng_io_out_10,rpl_sel_rpl_prng_io_out_9,
    rpl_sel_rpl_prng_io_out_8,rpl_sel_rpl_lo}; // @[PRNG.scala 95:17]
  wire [15:0] _rpl_sel_res_T = is_emptyBlock_exist_r ? {{15'd0}, cb_em} : rpl_sel_rpl; // @[IF2.scala 228:17]
  wire  rpl_sel_res = _rpl_sel_res_T[0]; // @[IF2.scala 218:21 228:11]
  wire  _cb_sel_T_1 = is_hit ? hit_sel : rpl_sel_res; // @[IF2.scala 209:43]
  wire  cb_sel = _icache_state_dnxt_T_10 & _cb_sel_T_1 | _icache_state_dnxt_T_15 & rpl_sel_res; // @[Mux.scala 27:73]
  wire [3:0] icache_state_dnxt = {{2'd0}, _icache_state_dnxt_T_21}; // @[IF2.scala 131:21 97:31]
  wire  _tagRAM_0_io_enw_T_1 = icache_state_dnxt == 4'h0; // @[IF2.scala 245:73]
  wire  _tagRAM_0_io_enw_T_2 = _icache_state_dnxt_T_15 & icache_state_dnxt == 4'h0; // @[IF2.scala 245:53]
  wire  _tagRAM_0_io_enw_T_3 = ~cb_sel; // @[IF2.scala 245:92]
  wire  _tagRAM_0_io_enw_T_5 = ~kill_trans; // @[IF2.scala 245:103]
  wire  _GEN_11 = 2'h0 == cl_sel & _tagRAM_0_io_enw_T_3 | is_valid_0_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_12 = 2'h0 == cl_sel & cb_sel | is_valid_0_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_13 = 2'h1 == cl_sel & _tagRAM_0_io_enw_T_3 | is_valid_1_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_14 = 2'h1 == cl_sel & cb_sel | is_valid_1_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_15 = 2'h2 == cl_sel & _tagRAM_0_io_enw_T_3 | is_valid_2_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_16 = 2'h2 == cl_sel & cb_sel | is_valid_2_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_17 = 2'h3 == cl_sel & _tagRAM_0_io_enw_T_3 | is_valid_3_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  _GEN_18 = 2'h3 == cl_sel & cb_sel | is_valid_3_1; // @[IF2.scala 180:25 266:{30,30}]
  reg [63:0] REG; // @[IF2.scala 300:21]
  reg  REG_1; // @[IF2.scala 300:108]
  reg  REG_2; // @[IF2.scala 300:131]
  wire  _ibuf_io_enq_0_valid_T_1 = _tagRAM_0_io_enw_T_5 & io_mmu_if_valid; // @[IF2.scala 361:18]
  wire  _ibuf_io_enq_0_valid_T_2 = icache_state_qout != 4'h0; // @[IF2.scala 361:56]
  wire  _ibuf_io_enq_0_valid_T_6 = _tagRAM_0_io_enw_T_5 & io_mmu_if_valid & icache_state_qout != 4'h0 &
    _tagRAM_0_io_enw_T_1 & ibuf_io_enq_3_ready; // @[IF2.scala 361:92]
  wire  _ibuf_io_enq_0_valid_T_16 = _ibuf_io_enq_0_valid_T_1 & _T_1 & _icache_state_dnxt_T_7; // @[IF2.scala 362:62]
  wire  _GEN_44 = _tagRAM_0_io_enw_T_1 | _icache_state_dnxt_T ? 1'h0 : kill_trans; // @[IF2.scala 373:72 374:16 71:27]
  wire  _GEN_45 = io_flush & _ibuf_io_enq_0_valid_T_2 | _GEN_44; // @[IF2.scala 371:48 372:16]
  wire  _GEN_58 = _icache_state_dnxt_T_10 & _T_10; // @[IF2.scala 193:13]
  MultiPortFifo_in4_out4 ibuf ( // @[IF2.scala 73:20]
    .clock(ibuf_clock),
    .reset(ibuf_reset),
    .io_enq_0_ready(ibuf_io_enq_0_ready),
    .io_enq_0_valid(ibuf_io_enq_0_valid),
    .io_enq_1_ready(ibuf_io_enq_1_ready),
    .io_enq_1_valid(ibuf_io_enq_1_valid),
    .io_enq_2_ready(ibuf_io_enq_2_ready),
    .io_enq_2_valid(ibuf_io_enq_2_valid),
    .io_enq_3_ready(ibuf_io_enq_3_ready),
    .io_enq_3_valid(ibuf_io_enq_3_valid),
    .io_deq_0_ready(ibuf_io_deq_0_ready),
    .io_deq_0_valid(ibuf_io_deq_0_valid),
    .io_deq_1_ready(ibuf_io_deq_1_ready),
    .io_deq_1_valid(ibuf_io_deq_1_valid),
    .io_deq_2_ready(ibuf_io_deq_2_ready),
    .io_deq_2_valid(ibuf_io_deq_2_valid),
    .io_deq_3_ready(ibuf_io_deq_3_ready),
    .io_deq_3_valid(ibuf_io_deq_3_valid),
    .io_flush(ibuf_io_flush)
  );
  TagRAM tagRAM_0 ( // @[IF2.scala 183:54]
    .clock(tagRAM_0_clock),
    .io_addrr(tagRAM_0_io_addrr),
    .io_addrw(tagRAM_0_io_addrw),
    .io_dataw(tagRAM_0_io_dataw),
    .io_datar(tagRAM_0_io_datar),
    .io_enw(tagRAM_0_io_enw),
    .io_enr(tagRAM_0_io_enr)
  );
  TagRAM tagRAM_1 ( // @[IF2.scala 183:54]
    .clock(tagRAM_1_clock),
    .io_addrr(tagRAM_1_io_addrr),
    .io_addrw(tagRAM_1_io_addrw),
    .io_dataw(tagRAM_1_io_dataw),
    .io_datar(tagRAM_1_io_datar),
    .io_enw(tagRAM_1_io_enw),
    .io_enr(tagRAM_1_io_enr)
  );
  MaxPeriodFibonacciLFSR rpl_sel_rpl_prng ( // @[PRNG.scala 91:22]
    .clock(rpl_sel_rpl_prng_clock),
    .reset(rpl_sel_rpl_prng_reset),
    .io_increment(rpl_sel_rpl_prng_io_increment),
    .io_out_0(rpl_sel_rpl_prng_io_out_0),
    .io_out_1(rpl_sel_rpl_prng_io_out_1),
    .io_out_2(rpl_sel_rpl_prng_io_out_2),
    .io_out_3(rpl_sel_rpl_prng_io_out_3),
    .io_out_4(rpl_sel_rpl_prng_io_out_4),
    .io_out_5(rpl_sel_rpl_prng_io_out_5),
    .io_out_6(rpl_sel_rpl_prng_io_out_6),
    .io_out_7(rpl_sel_rpl_prng_io_out_7),
    .io_out_8(rpl_sel_rpl_prng_io_out_8),
    .io_out_9(rpl_sel_rpl_prng_io_out_9),
    .io_out_10(rpl_sel_rpl_prng_io_out_10),
    .io_out_11(rpl_sel_rpl_prng_io_out_11),
    .io_out_12(rpl_sel_rpl_prng_io_out_12),
    .io_out_13(rpl_sel_rpl_prng_io_out_13),
    .io_out_14(rpl_sel_rpl_prng_io_out_14),
    .io_out_15(rpl_sel_rpl_prng_io_out_15)
  );
  assign io_icache_get_valid = _icache_state_dnxt_T_10 & ~is_hit & _T_3; // @[IF2.scala 282:62]
  assign io_icache_access_ready = 1'h1; // @[IF2.scala 290:26]
  assign ibuf_clock = clock;
  assign ibuf_reset = reset;
  assign ibuf_io_enq_0_valid = _tagRAM_0_io_enw_T_5 & io_mmu_if_valid & icache_state_qout != 4'h0 & _tagRAM_0_io_enw_T_1
     & ibuf_io_enq_3_ready & io_if2_req_bits_isActive_0 | _ibuf_io_enq_0_valid_T_16; // @[IF2.scala 361:222]
  assign ibuf_io_enq_1_valid = _ibuf_io_enq_0_valid_T_6 & io_mmu_if_bits_paddr[2:1] <= 2'h2 & io_if2_req_bits_isActive_1
    ; // @[IF2.scala 365:217]
  assign ibuf_io_enq_2_valid = _ibuf_io_enq_0_valid_T_6 & io_mmu_if_bits_paddr[2:1] <= 2'h1 & io_if2_req_bits_isActive_2
    ; // @[IF2.scala 365:217]
  assign ibuf_io_enq_3_valid = _ibuf_io_enq_0_valid_T_6 & io_mmu_if_bits_paddr[2:1] <= 2'h0 & io_if2_req_bits_isActive_3
    ; // @[IF2.scala 365:217]
  assign ibuf_io_deq_0_ready = io_if2_resp_0_ready; // @[IF2.scala 75:15]
  assign ibuf_io_deq_1_ready = io_if2_resp_1_ready; // @[IF2.scala 75:15]
  assign ibuf_io_deq_2_ready = io_if2_resp_2_ready; // @[IF2.scala 75:15]
  assign ibuf_io_deq_3_ready = io_if2_resp_3_ready; // @[IF2.scala 75:15]
  assign ibuf_io_flush = io_flush; // @[IF2.scala 74:17]
  assign tagRAM_0_clock = clock;
  assign tagRAM_0_io_addrr = io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 238:47]
  assign tagRAM_0_io_addrw = io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 239:47]
  assign tagRAM_0_io_dataw = io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  assign tagRAM_0_io_enw = _icache_state_dnxt_T_15 & icache_state_dnxt == 4'h0 & ~cb_sel & ~kill_trans & _T_3; // @[IF2.scala 245:115]
  assign tagRAM_0_io_enr = _icache_state_dnxt_T | _icache_state_dnxt_T_10; // @[IF2.scala 242:52]
  assign tagRAM_1_clock = clock;
  assign tagRAM_1_io_addrr = io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 238:47]
  assign tagRAM_1_io_addrw = io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 239:47]
  assign tagRAM_1_io_dataw = io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  assign tagRAM_1_io_enw = _icache_state_dnxt_T_15 & icache_state_dnxt == 4'h0 & cb_sel & ~kill_trans & _T_3; // @[IF2.scala 245:115]
  assign tagRAM_1_io_enr = _icache_state_dnxt_T | _icache_state_dnxt_T_10; // @[IF2.scala 242:52]
  assign rpl_sel_rpl_prng_clock = clock;
  assign rpl_sel_rpl_prng_reset = reset;
  assign rpl_sel_rpl_prng_io_increment = icache_state_qout != 4'h2; // @[IF2.scala 225:37]
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        counter <= beats1;
      end else begin
        counter <= counter1;
      end
    end
    if (reset) begin // @[IF2.scala 71:27]
      kill_trans <= 1'h0; // @[IF2.scala 71:27]
    end else begin
      kill_trans <= _GEN_45;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_3_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_3_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_3_1 <= _GEN_18;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_2_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_2_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_2_1 <= _GEN_16;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_1_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_1_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_1_1 <= _GEN_14;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_0_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_0_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_0_1 <= _GEN_12;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_3_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_3_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_3_0 <= _GEN_17;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_2_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_2_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_2_0 <= _GEN_15;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_1_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_1_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_1_0 <= _GEN_13;
    end
    if (reset) begin // @[IF2.scala 180:25]
      is_valid_0_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (io_ifence) begin // @[IF2.scala 270:23]
      is_valid_0_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (_tagRAM_0_io_enw_T_2 & _tagRAM_0_io_enw_T_5 & _T_3) begin // @[IF2.scala 265:91]
      is_valid_0_0 <= _GEN_11;
    end
    if (reset) begin // @[IF2.scala 98:34]
      icache_state_qout <= 4'h0; // @[IF2.scala 98:34]
    end else begin
      icache_state_qout <= icache_state_dnxt; // @[IF2.scala 98:34]
    end
    if (reset) begin // @[IF2.scala 100:27]
      fault_lock <= 1'h0; // @[IF2.scala 100:27]
    end else if (io_flush) begin // @[IF2.scala 120:20]
      fault_lock <= 1'h0; // @[IF2.scala 120:33]
    end else begin
      fault_lock <= _GEN_1;
    end
    REG <= io_mmu_if_bits_paddr; // @[IF2.scala 300:21]
    REG_1 <= kill_trans; // @[IF2.scala 300:108]
    REG_2 <= io_flush; // @[IF2.scala 300:131]
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(is_access_fault & is_paging_fault))) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:123 assert( ~(is_access_fault & is_paging_fault) )\n"
            ); // @[IF2.scala 123:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(is_access_fault & is_paging_fault)) & ~reset) begin
          $fatal; // @[IF2.scala 123:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_icache_state_dnxt_T_10 & _T_10 & ~(_T_13 <= 2'h1)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:193 assert(PopCount(res) <= 1.U)\n"); // @[IF2.scala 193:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_13 <= 2'h1) & (_icache_state_dnxt_T_10 & _T_10)) begin
          $fatal; // @[IF2.scala 193:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & ~(~(tagRAM_0_io_datar == tagRAM_1_io_datar & _GEN_6 & _GEN_10))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at icache, multi-tag are equal!\n    at IF2.scala:258 assert( ~( tagRAM(i).io.datar === tagRAM(j).io.datar & is_valid(cl_sel)(i) & is_valid(cl_sel)(j) ), \"Assert Failed at icache, multi-tag are equal!\" )\n"
            ); // @[IF2.scala 258:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(tagRAM_0_io_datar == tagRAM_1_io_datar & _GEN_6 & _GEN_10)) & (_icache_state_dnxt_T_10 & _T_10)) begin
          $fatal; // @[IF2.scala 258:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_10 & ~(~(REG != io_mmu_if_bits_paddr & _icache_state_dnxt_T_15 & ~REG_1 & ~REG_2))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, req paddr cannot change without flush.\n    at IF2.scala:300 assert( ~((RegNext(io.mmu_if.bits.paddr) =/= io.mmu_if.bits.paddr) & icache_state_qout === 2.U & ~RegNext(kill_trans) & ~RegNext(io.flush)), \"Assert Failed, req paddr cannot change without flush.\" )\n"
            ); // @[IF2.scala 300:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(REG != io_mmu_if_bits_paddr & _icache_state_dnxt_T_15 & ~REG_1 & ~REG_2)) & _T_10) begin
          $fatal; // @[IF2.scala 300:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_ifence & _T_10 & _T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:377 when( io.ifence ) { assert(io.flush) }\n"); // @[IF2.scala 377:29]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~io_flush & (io_ifence & _T_10)) begin
          $fatal; // @[IF2.scala 377:29]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  kill_trans = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  is_valid_3_1 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  is_valid_2_1 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  is_valid_1_1 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  is_valid_0_1 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  is_valid_3_0 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  is_valid_2_0 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  is_valid_1_0 = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  is_valid_0_0 = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  icache_state_qout = _RAND_10[3:0];
  _RAND_11 = {1{`RANDOM}};
  fault_lock = _RAND_11[0:0];
  _RAND_12 = {2{`RANDOM}};
  REG = _RAND_12[63:0];
  _RAND_13 = {1{`RANDOM}};
  REG_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  REG_2 = _RAND_14[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module RePort(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  output  io_enq_1_ready,
  input   io_enq_1_valid,
  output  io_enq_2_ready,
  input   io_enq_2_valid,
  output  io_enq_3_ready,
  input   io_enq_3_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_deq_1_ready,
  output  io_deq_1_valid,
  input   io_deq_2_ready,
  output  io_deq_2_valid,
  input   io_deq_3_ready,
  output  io_deq_3_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_enq_1_ready & io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_2 = io_enq_2_ready & io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  _T_3 = io_enq_3_ready & io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _T_4 = _T + _T_1; // @[Bitwise.scala 51:90]
  wire [1:0] _T_6 = _T_2 + _T_3; // @[Bitwise.scala 51:90]
  wire [2:0] _T_8 = _T_4 + _T_6; // @[Bitwise.scala 51:90]
  wire  _T_10 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_11 = io_deq_1_ready & io_deq_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_12 = io_deq_2_ready & io_deq_2_valid; // @[Decoupled.scala 52:35]
  wire  _T_13 = io_deq_3_ready & io_deq_3_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _T_14 = _T_10 + _T_11; // @[Bitwise.scala 51:90]
  wire [1:0] _T_16 = _T_12 + _T_13; // @[Bitwise.scala 51:90]
  wire [2:0] _T_18 = _T_14 + _T_16; // @[Bitwise.scala 51:90]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_enq_1_ready = io_deq_1_ready; // @[RePort.scala 80:91]
  assign io_enq_2_ready = io_deq_2_ready; // @[RePort.scala 80:91]
  assign io_enq_3_ready = io_deq_3_ready; // @[RePort.scala 80:91]
  assign io_deq_0_valid = _T_8 > 3'h0; // @[RePort.scala 79:81]
  assign io_deq_1_valid = _T_8 > 3'h1; // @[RePort.scala 79:81]
  assign io_deq_2_valid = _T_8 > 3'h2; // @[RePort.scala 79:81]
  assign io_deq_3_valid = _T_8 > 3'h3; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T_8 == _T_18)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_8 == _T_18) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_9 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_9 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module BTB(
  input   clock,
  input   reset,
  output  io_req_ready,
  input   io_req_valid,
  input   io_resp_ready,
  output  io_resp_valid,
  output  io_isReady
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  wire  bypassFifo_clock; // @[BTB.scala 41:26]
  wire  bypassFifo_reset; // @[BTB.scala 41:26]
  wire  bypassFifo_io_enq_ready; // @[BTB.scala 41:26]
  wire  bypassFifo_io_enq_valid; // @[BTB.scala 41:26]
  wire  bypassFifo_io_deq_ready; // @[BTB.scala 41:26]
  wire  bypassFifo_io_deq_valid; // @[BTB.scala 41:26]
  reg  por_reset; // @[BTB.scala 46:28]
  reg [1:0] reset_cl; // @[Counter.scala 61:40]
  wire  wrap_wrap = reset_cl == 2'h3; // @[Counter.scala 73:24]
  wire [1:0] _wrap_value_T_1 = reset_cl + 2'h1; // @[Counter.scala 77:24]
  wire  reset_end = por_reset & wrap_wrap; // @[Counter.scala 136:24 137:12]
  wire  _GEN_4 = reset_end ? 1'h0 : por_reset; // @[BTB.scala 48:23 46:28 48:35]
  reg  bypassFifo_io_enq_valid_REG; // @[BTB.scala 74:37]
  Queue bypassFifo ( // @[BTB.scala 41:26]
    .clock(bypassFifo_clock),
    .reset(bypassFifo_reset),
    .io_enq_ready(bypassFifo_io_enq_ready),
    .io_enq_valid(bypassFifo_io_enq_valid),
    .io_deq_ready(bypassFifo_io_deq_ready),
    .io_deq_valid(bypassFifo_io_deq_valid)
  );
  assign io_req_ready = bypassFifo_io_enq_ready; // @[BTB.scala 75:16]
  assign io_resp_valid = bypassFifo_io_deq_valid; // @[BTB.scala 77:17]
  assign io_isReady = ~por_reset; // @[BTB.scala 49:19]
  assign bypassFifo_clock = clock;
  assign bypassFifo_reset = reset;
  assign bypassFifo_io_enq_valid = bypassFifo_io_enq_valid_REG; // @[BTB.scala 74:27]
  assign bypassFifo_io_deq_ready = io_resp_ready; // @[BTB.scala 78:27]
  always @(posedge clock) begin
    por_reset <= reset | _GEN_4; // @[BTB.scala 46:{28,28}]
    if (reset) begin // @[Counter.scala 61:40]
      reset_cl <= 2'h0; // @[Counter.scala 61:40]
    end else if (por_reset) begin // @[Counter.scala 136:24]
      reset_cl <= _wrap_value_T_1; // @[Counter.scala 77:15]
    end
    bypassFifo_io_enq_valid_REG <= io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  por_reset = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  reset_cl = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  bypassFifo_io_enq_valid_REG = _RAND_2[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_1(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_10 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_10 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module BIM(
  input   clock,
  input   reset,
  output  io_req_ready,
  input   io_req_valid,
  input   io_resp_ready,
  output  io_resp_valid,
  output  io_isReady
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  wire  bypassFifo_clock; // @[BIM.scala 87:26]
  wire  bypassFifo_reset; // @[BIM.scala 87:26]
  wire  bypassFifo_io_enq_ready; // @[BIM.scala 87:26]
  wire  bypassFifo_io_enq_valid; // @[BIM.scala 87:26]
  wire  bypassFifo_io_deq_ready; // @[BIM.scala 87:26]
  wire  bypassFifo_io_deq_valid; // @[BIM.scala 87:26]
  reg  por_reset; // @[BIM.scala 37:26]
  reg [2:0] reset_cl; // @[Counter.scala 61:40]
  wire  wrap_wrap = reset_cl == 3'h7; // @[Counter.scala 73:24]
  wire [2:0] _wrap_value_T_1 = reset_cl + 3'h1; // @[Counter.scala 77:24]
  wire  reset_end = por_reset & wrap_wrap; // @[Counter.scala 136:24 137:12]
  wire  _GEN_4 = reset_end ? 1'h0 : por_reset; // @[BIM.scala 39:21 37:26 39:33]
  reg  bypassFifo_io_enq_valid_REG; // @[BIM.scala 89:37]
  Queue_1 bypassFifo ( // @[BIM.scala 87:26]
    .clock(bypassFifo_clock),
    .reset(bypassFifo_reset),
    .io_enq_ready(bypassFifo_io_enq_ready),
    .io_enq_valid(bypassFifo_io_enq_valid),
    .io_deq_ready(bypassFifo_io_deq_ready),
    .io_deq_valid(bypassFifo_io_deq_valid)
  );
  assign io_req_ready = bypassFifo_io_enq_ready; // @[BIM.scala 89:161]
  assign io_resp_valid = bypassFifo_io_deq_valid; // @[BIM.scala 90:17]
  assign io_isReady = ~por_reset; // @[BIM.scala 40:17]
  assign bypassFifo_clock = clock;
  assign bypassFifo_reset = reset;
  assign bypassFifo_io_enq_valid = bypassFifo_io_enq_valid_REG; // @[BIM.scala 89:27]
  assign bypassFifo_io_deq_ready = io_resp_ready; // @[BIM.scala 90:167]
  always @(posedge clock) begin
    por_reset <= reset | _GEN_4; // @[BIM.scala 37:{26,26}]
    if (reset) begin // @[Counter.scala 61:40]
      reset_cl <= 3'h0; // @[Counter.scala 61:40]
    end else if (por_reset) begin // @[Counter.scala 136:24]
      reset_cl <= _wrap_value_T_1; // @[Counter.scala 77:15]
    end
    bypassFifo_io_enq_valid_REG <= io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  por_reset = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  reset_cl = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  bypassFifo_io_enq_valid_REG = _RAND_2[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MultiPortFifo_in1_out1(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= rd_ptr + _T_1; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= wr_ptr + _T; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module RePort_1(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_deq_0_valid = _T > 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _T_1) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ZipPort(
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  output  io_enq_1_ready,
  input   io_enq_1_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  assign io_enq_0_ready = ~io_enq_0_valid & io_enq_1_valid ? 1'h0 : io_deq_0_ready; // @[RePort.scala 235:64 242:23]
  assign io_enq_1_ready = ~io_enq_0_valid & io_enq_1_valid & io_deq_0_ready; // @[RePort.scala 235:64 243:23]
  assign io_deq_0_valid = ~io_enq_0_valid & io_enq_1_valid | io_enq_0_valid; // @[RePort.scala 235:64 236:23]
endmodule
module MultiPortFifo_in1_out1_1(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
  wire  fifo_clock; // @[MultiPortFifo.scala 124:24]
  wire  fifo_reset; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_enq_0_ready; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_enq_0_valid; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_deq_0_ready; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_deq_0_valid; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_flush; // @[MultiPortFifo.scala 124:24]
  wire  rePortIn_clock; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_reset; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_enq_0_valid; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_deq_0_ready; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 125:28]
  wire  zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_0_valid; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_1_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_1_valid; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_deq_0_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 126:27]
  wire  _T = zipPort_io_enq_1_ready & zipPort_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_8 = ~reset; // @[MultiPortFifo.scala 161:13]
  MultiPortFifo_in1_out1 fifo ( // @[MultiPortFifo.scala 124:24]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_enq_0_ready(fifo_io_enq_0_ready),
    .io_enq_0_valid(fifo_io_enq_0_valid),
    .io_deq_0_ready(fifo_io_deq_0_ready),
    .io_deq_0_valid(fifo_io_deq_0_valid),
    .io_flush(fifo_io_flush)
  );
  RePort_1 rePortIn ( // @[MultiPortFifo.scala 125:28]
    .clock(rePortIn_clock),
    .reset(rePortIn_reset),
    .io_enq_0_ready(rePortIn_io_enq_0_ready),
    .io_enq_0_valid(rePortIn_io_enq_0_valid),
    .io_deq_0_ready(rePortIn_io_deq_0_ready),
    .io_deq_0_valid(rePortIn_io_deq_0_valid)
  );
  ZipPort zipPort ( // @[MultiPortFifo.scala 126:27]
    .io_enq_0_ready(zipPort_io_enq_0_ready),
    .io_enq_0_valid(zipPort_io_enq_0_valid),
    .io_enq_1_ready(zipPort_io_enq_1_ready),
    .io_enq_1_valid(zipPort_io_enq_1_valid),
    .io_deq_0_ready(zipPort_io_deq_0_ready),
    .io_deq_0_valid(zipPort_io_deq_0_valid)
  );
  assign io_enq_0_ready = rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 128:23]
  assign io_deq_0_valid = zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 142:27]
  assign fifo_clock = clock;
  assign fifo_reset = reset;
  assign fifo_io_enq_0_valid = rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 129:23]
  assign fifo_io_deq_0_ready = zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 132:27]
  assign fifo_io_flush = io_flush; // @[MultiPortFifo.scala 148:21]
  assign rePortIn_clock = clock;
  assign rePortIn_reset = reset;
  assign rePortIn_io_enq_0_valid = _T ? 1'h0 : io_enq_0_valid; // @[MultiPortFifo.scala 128:23 151:44 152:36]
  assign rePortIn_io_deq_0_ready = fifo_io_enq_0_ready; // @[MultiPortFifo.scala 129:23]
  assign zipPort_io_enq_0_valid = fifo_io_deq_0_valid; // @[MultiPortFifo.scala 132:27]
  assign zipPort_io_enq_1_valid = io_enq_0_valid; // @[MultiPortFifo.scala 136:33]
  assign zipPort_io_deq_0_ready = io_deq_0_ready; // @[MultiPortFifo.scala 142:27]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_8 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MultiPortFifo_in1_out1_2(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= rd_ptr + _T_1; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= wr_ptr + _T; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module RePort_2(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_deq_0_valid = _T > 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _T_1) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ZipPort_1(
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  output  io_enq_1_ready,
  input   io_enq_1_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  assign io_enq_0_ready = ~io_enq_0_valid & io_enq_1_valid ? 1'h0 : io_deq_0_ready; // @[RePort.scala 235:64 242:23]
  assign io_enq_1_ready = ~io_enq_0_valid & io_enq_1_valid & io_deq_0_ready; // @[RePort.scala 235:64 243:23]
  assign io_deq_0_valid = ~io_enq_0_valid & io_enq_1_valid | io_enq_0_valid; // @[RePort.scala 235:64 236:23]
endmodule
module MultiPortFifo_in1_out1_3(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
  wire  fifo_clock; // @[MultiPortFifo.scala 124:24]
  wire  fifo_reset; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_enq_0_ready; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_enq_0_valid; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_deq_0_ready; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_deq_0_valid; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_flush; // @[MultiPortFifo.scala 124:24]
  wire  rePortIn_clock; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_reset; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_enq_0_valid; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_deq_0_ready; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 125:28]
  wire  zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_0_valid; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_1_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_enq_1_valid; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_deq_0_ready; // @[MultiPortFifo.scala 126:27]
  wire  zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 126:27]
  wire  _T = zipPort_io_enq_1_ready & zipPort_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_8 = ~reset; // @[MultiPortFifo.scala 161:13]
  MultiPortFifo_in1_out1_2 fifo ( // @[MultiPortFifo.scala 124:24]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_enq_0_ready(fifo_io_enq_0_ready),
    .io_enq_0_valid(fifo_io_enq_0_valid),
    .io_deq_0_ready(fifo_io_deq_0_ready),
    .io_deq_0_valid(fifo_io_deq_0_valid),
    .io_flush(fifo_io_flush)
  );
  RePort_2 rePortIn ( // @[MultiPortFifo.scala 125:28]
    .clock(rePortIn_clock),
    .reset(rePortIn_reset),
    .io_enq_0_ready(rePortIn_io_enq_0_ready),
    .io_enq_0_valid(rePortIn_io_enq_0_valid),
    .io_deq_0_ready(rePortIn_io_deq_0_ready),
    .io_deq_0_valid(rePortIn_io_deq_0_valid)
  );
  ZipPort_1 zipPort ( // @[MultiPortFifo.scala 126:27]
    .io_enq_0_ready(zipPort_io_enq_0_ready),
    .io_enq_0_valid(zipPort_io_enq_0_valid),
    .io_enq_1_ready(zipPort_io_enq_1_ready),
    .io_enq_1_valid(zipPort_io_enq_1_valid),
    .io_deq_0_ready(zipPort_io_deq_0_ready),
    .io_deq_0_valid(zipPort_io_deq_0_valid)
  );
  assign io_enq_0_ready = rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 128:23]
  assign io_deq_0_valid = zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 142:27]
  assign fifo_clock = clock;
  assign fifo_reset = reset;
  assign fifo_io_enq_0_valid = rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 129:23]
  assign fifo_io_deq_0_ready = zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 132:27]
  assign fifo_io_flush = io_flush; // @[MultiPortFifo.scala 148:21]
  assign rePortIn_clock = clock;
  assign rePortIn_reset = reset;
  assign rePortIn_io_enq_0_valid = _T ? 1'h0 : io_enq_0_valid; // @[MultiPortFifo.scala 128:23 151:44 152:36]
  assign rePortIn_io_deq_0_ready = fifo_io_enq_0_ready; // @[MultiPortFifo.scala 129:23]
  assign zipPort_io_enq_0_valid = fifo_io_deq_0_valid; // @[MultiPortFifo.scala 132:27]
  assign zipPort_io_enq_1_valid = io_enq_0_valid; // @[MultiPortFifo.scala 136:33]
  assign zipPort_io_deq_0_ready = io_deq_0_ready; // @[MultiPortFifo.scala 142:27]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_8 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MultiPortFifo_in1_out1_4(
  input   clock,
  input   reset,
  output  io_deq_0_valid
);
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_deq_0_valid = 1'h0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RePort_3(
  input   clock,
  input   reset,
  output  io_deq_0_valid
);
  assign io_deq_0_valid = 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_deq_0_valid)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_deq_0_valid) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MultiPortFifo_in1_out1_5(
  input   clock,
  input   reset,
  output  io_deq_0_valid
);
  wire  fifo_clock; // @[MultiPortFifo.scala 124:24]
  wire  fifo_reset; // @[MultiPortFifo.scala 124:24]
  wire  fifo_io_deq_0_valid; // @[MultiPortFifo.scala 124:24]
  wire  rePortIn_clock; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_reset; // @[MultiPortFifo.scala 125:28]
  wire  rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 125:28]
  wire  _T_8 = ~reset; // @[MultiPortFifo.scala 161:13]
  MultiPortFifo_in1_out1_4 fifo ( // @[MultiPortFifo.scala 124:24]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_deq_0_valid(fifo_io_deq_0_valid)
  );
  RePort_3 rePortIn ( // @[MultiPortFifo.scala 125:28]
    .clock(rePortIn_clock),
    .reset(rePortIn_reset),
    .io_deq_0_valid(rePortIn_io_deq_0_valid)
  );
  assign io_deq_0_valid = 1'h0; // @[MultiPortFifo.scala 142:27]
  assign fifo_clock = clock;
  assign fifo_reset = reset;
  assign rePortIn_clock = clock;
  assign rePortIn_reset = reset;
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_8 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MultiPortFifo_in4_out1(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  output  io_enq_1_ready,
  input   io_enq_1_valid,
  output  io_enq_2_ready,
  input   io_enq_2_valid,
  output  io_enq_3_ready,
  input   io_enq_3_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_2; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_3; // @[MultiPortFifo.scala 58:30]
  reg [1:0] rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg [1:0] wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [2:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = 2'h1 == _io_enq_0_ready_T[1:0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_2 = 2'h2 == _io_enq_0_ready_T[1:0] ? buf_valid_2 : _GEN_1; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_3 = 2'h3 == _io_enq_0_ready_T[1:0] ? buf_valid_3 : _GEN_2; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_enq_1_ready_T_1 = wr_ptr + 2'h1; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_5 = 2'h1 == _io_enq_1_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_6 = 2'h2 == _io_enq_1_ready_T_1 ? buf_valid_2 : _GEN_5; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_7 = 2'h3 == _io_enq_1_ready_T_1 ? buf_valid_3 : _GEN_6; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_enq_2_ready_T_1 = wr_ptr + 2'h2; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_9 = 2'h1 == _io_enq_2_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_10 = 2'h2 == _io_enq_2_ready_T_1 ? buf_valid_2 : _GEN_9; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_11 = 2'h3 == _io_enq_2_ready_T_1 ? buf_valid_3 : _GEN_10; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_enq_3_ready_T_1 = wr_ptr + 2'h3; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_13 = 2'h1 == _io_enq_3_ready_T_1 ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_14 = 2'h2 == _io_enq_3_ready_T_1 ? buf_valid_2 : _GEN_13; // @[MultiPortFifo.scala 64:{94,94}]
  wire  _GEN_15 = 2'h3 == _io_enq_3_ready_T_1 ? buf_valid_3 : _GEN_14; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _GEN_17 = 2'h1 == _io_deq_0_valid_T[1:0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _GEN_18 = 2'h2 == _io_deq_0_valid_T[1:0] ? buf_valid_2 : _GEN_17; // @[MultiPortFifo.scala 65:{94,94}]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_24 = _T ? 2'h0 == _io_enq_0_ready_T[1:0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_25 = _T ? 2'h1 == _io_enq_0_ready_T[1:0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_26 = _T ? 2'h2 == _io_enq_0_ready_T[1:0] | buf_valid_2 : buf_valid_2; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_27 = _T ? 2'h3 == _io_enq_0_ready_T[1:0] | buf_valid_3 : buf_valid_3; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_28 = 2'h0 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_24; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_29 = 2'h1 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_25; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_30 = 2'h2 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_26; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_31 = 2'h3 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_27; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_32 = _T_1 ? _GEN_28 : _GEN_24; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_33 = _T_1 ? _GEN_29 : _GEN_25; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_34 = _T_1 ? _GEN_30 : _GEN_26; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_35 = _T_1 ? _GEN_31 : _GEN_27; // @[MultiPortFifo.scala 98:34]
  wire  _T_2 = io_enq_1_ready & io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_160 = _T_2 ? 2'h0 == _io_enq_1_ready_T_1 | _GEN_32 : _GEN_32; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_161 = _T_2 ? 2'h1 == _io_enq_1_ready_T_1 | _GEN_33 : _GEN_33; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_162 = _T_2 ? 2'h2 == _io_enq_1_ready_T_1 | _GEN_34 : _GEN_34; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_163 = _T_2 ? 2'h3 == _io_enq_1_ready_T_1 | _GEN_35 : _GEN_35; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_164 = 2'h0 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_160; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_165 = 2'h1 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_161; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_166 = 2'h2 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_162; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_167 = 2'h3 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_163; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_168 = _T_1 ? _GEN_164 : _GEN_160; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_169 = _T_1 ? _GEN_165 : _GEN_161; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_170 = _T_1 ? _GEN_166 : _GEN_162; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_171 = _T_1 ? _GEN_167 : _GEN_163; // @[MultiPortFifo.scala 98:34]
  wire  _T_4 = io_enq_2_ready & io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_296 = _T_4 ? 2'h0 == _io_enq_2_ready_T_1 | _GEN_168 : _GEN_168; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_297 = _T_4 ? 2'h1 == _io_enq_2_ready_T_1 | _GEN_169 : _GEN_169; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_298 = _T_4 ? 2'h2 == _io_enq_2_ready_T_1 | _GEN_170 : _GEN_170; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_299 = _T_4 ? 2'h3 == _io_enq_2_ready_T_1 | _GEN_171 : _GEN_171; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_300 = 2'h0 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_296; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_301 = 2'h1 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_297; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_302 = 2'h2 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_298; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_303 = 2'h3 == _io_deq_0_valid_T[1:0] ? 1'h0 : _GEN_299; // @[MultiPortFifo.scala 98:{57,57}]
  wire  _GEN_304 = _T_1 ? _GEN_300 : _GEN_296; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_305 = _T_1 ? _GEN_301 : _GEN_297; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_306 = _T_1 ? _GEN_302 : _GEN_298; // @[MultiPortFifo.scala 98:34]
  wire  _GEN_307 = _T_1 ? _GEN_303 : _GEN_299; // @[MultiPortFifo.scala 98:34]
  wire  _T_6 = io_enq_3_ready & io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_432 = _T_6 ? 2'h0 == _io_enq_3_ready_T_1 | _GEN_304 : _GEN_304; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_433 = _T_6 ? 2'h1 == _io_enq_3_ready_T_1 | _GEN_305 : _GEN_305; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_434 = _T_6 ? 2'h2 == _io_enq_3_ready_T_1 | _GEN_306 : _GEN_306; // @[MultiPortFifo.scala 97:34]
  wire  _GEN_435 = _T_6 ? 2'h3 == _io_enq_3_ready_T_1 | _GEN_307 : _GEN_307; // @[MultiPortFifo.scala 97:34]
  wire [1:0] _GEN_52 = {{1'd0}, _T_1}; // @[MultiPortFifo.scala 106:26]
  wire [1:0] _rd_ptr_T_2 = rd_ptr + _GEN_52; // @[MultiPortFifo.scala 106:26]
  wire [1:0] _wr_ptr_T_1 = _T_2 ? 2'h2 : {{1'd0}, _T}; // @[Mux.scala 101:16]
  wire [1:0] _wr_ptr_T_2 = _T_4 ? 2'h3 : _wr_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] _wr_ptr_T_3 = _T_6 ? 3'h4 : {{1'd0}, _wr_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] _wr_ptr_T_5 = _io_enq_0_ready_T + _wr_ptr_T_3; // @[MultiPortFifo.scala 107:26]
  wire [2:0] _GEN_569 = io_flush ? 3'h0 : _wr_ptr_T_5; // @[MultiPortFifo.scala 107:16 87:23 90:16]
  wire  _T_15 = ~reset; // @[MultiPortFifo.scala 161:13]
  wire [2:0] _GEN_54 = reset ? 3'h0 : _GEN_569; // @[MultiPortFifo.scala 61:{27,27}]
  assign io_enq_0_ready = ~_GEN_3; // @[MultiPortFifo.scala 64:94]
  assign io_enq_1_ready = ~_GEN_7; // @[MultiPortFifo.scala 64:94]
  assign io_enq_2_ready = ~_GEN_11; // @[MultiPortFifo.scala 64:94]
  assign io_enq_3_ready = ~_GEN_15; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = 2'h3 == _io_deq_0_valid_T[1:0] ? buf_valid_3 : _GEN_18; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h0 == _io_deq_0_valid_T[1:0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_432;
      end
    end else begin
      buf_valid_0 <= _GEN_432;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h1 == _io_deq_0_valid_T[1:0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_433;
      end
    end else begin
      buf_valid_1 <= _GEN_433;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h2 == _io_deq_0_valid_T[1:0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_2 <= _GEN_434;
      end
    end else begin
      buf_valid_2 <= _GEN_434;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h3 == _io_deq_0_valid_T[1:0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_3 <= _GEN_435;
      end
    end else begin
      buf_valid_3 <= _GEN_435;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 2'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 2'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= _rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    wr_ptr <= _GEN_54[1:0]; // @[MultiPortFifo.scala 61:{27,27}]
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_1_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_1_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_1_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_1_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_2_valid & ~io_enq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_2_valid & ~io_enq_2_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_1_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_1_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_2_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_2_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_3_valid & ~io_enq_3_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_3_valid & ~io_enq_3_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_15 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_15) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & _T_15 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_2 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & _T_15 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_4 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & _T_15 & ~_T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_2 & (_T_4 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & _T_15 & ~_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T & (_T_6 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & _T_15 & ~_T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_2 & (_T_6 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & _T_15 & ~_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_4 & (_T_6 & _T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  buf_valid_2 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  buf_valid_3 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  rd_ptr = _RAND_4[1:0];
  _RAND_5 = {1{`RANDOM}};
  wr_ptr = _RAND_5[1:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module IF3(
  input         clock,
  input         reset,
  output        io_if3_req_0_ready,
  input         io_if3_req_0_valid,
  input  [15:0] io_if3_req_0_bits_instr,
  input         io_if3_req_0_bits_isRedirect,
  output        io_if3_req_1_ready,
  input         io_if3_req_1_valid,
  input  [15:0] io_if3_req_1_bits_instr,
  input         io_if3_req_1_bits_isFault,
  input         io_if3_req_1_bits_isRedirect,
  output        io_if3_req_2_ready,
  input         io_if3_req_2_valid,
  input  [15:0] io_if3_req_2_bits_instr,
  input         io_if3_req_2_bits_isFault,
  input         io_if3_req_2_bits_isRedirect,
  output        io_if3_req_3_ready,
  input         io_if3_req_3_valid,
  input  [15:0] io_if3_req_3_bits_instr,
  input         io_if3_req_3_bits_isFault,
  input         io_if3_req_3_bits_isRedirect,
  input         io_if3_resp_0_ready,
  input         io_btbResp_0_ready,
  input         io_bimResp_0_ready,
  input         io_if4Redirect_valid,
  input         io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  wire  combPDT_clock; // @[IF3.scala 52:23]
  wire  combPDT_reset; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_0_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_0_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_1_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_1_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_2_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_2_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_3_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_enq_3_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_0_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_0_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_1_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_1_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_2_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_2_valid; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_3_ready; // @[IF3.scala 52:23]
  wire  combPDT_io_deq_3_valid; // @[IF3.scala 52:23]
  wire  btb_clock; // @[IF3.scala 56:19]
  wire  btb_reset; // @[IF3.scala 56:19]
  wire  btb_io_req_ready; // @[IF3.scala 56:19]
  wire  btb_io_req_valid; // @[IF3.scala 56:19]
  wire  btb_io_resp_ready; // @[IF3.scala 56:19]
  wire  btb_io_resp_valid; // @[IF3.scala 56:19]
  wire  btb_io_isReady; // @[IF3.scala 56:19]
  wire  bim_clock; // @[IF3.scala 57:19]
  wire  bim_reset; // @[IF3.scala 57:19]
  wire  bim_io_req_ready; // @[IF3.scala 57:19]
  wire  bim_io_req_valid; // @[IF3.scala 57:19]
  wire  bim_io_resp_ready; // @[IF3.scala 57:19]
  wire  bim_io_resp_valid; // @[IF3.scala 57:19]
  wire  bim_io_isReady; // @[IF3.scala 57:19]
  wire  btbFifo_clock; // @[IF3.scala 60:24]
  wire  btbFifo_reset; // @[IF3.scala 60:24]
  wire  btbFifo_io_enq_0_ready; // @[IF3.scala 60:24]
  wire  btbFifo_io_enq_0_valid; // @[IF3.scala 60:24]
  wire  btbFifo_io_deq_0_ready; // @[IF3.scala 60:24]
  wire  btbFifo_io_deq_0_valid; // @[IF3.scala 60:24]
  wire  btbFifo_io_flush; // @[IF3.scala 60:24]
  wire  bimFifo_clock; // @[IF3.scala 61:24]
  wire  bimFifo_reset; // @[IF3.scala 61:24]
  wire  bimFifo_io_enq_0_ready; // @[IF3.scala 61:24]
  wire  bimFifo_io_enq_0_valid; // @[IF3.scala 61:24]
  wire  bimFifo_io_deq_0_ready; // @[IF3.scala 61:24]
  wire  bimFifo_io_deq_0_valid; // @[IF3.scala 61:24]
  wire  bimFifo_io_flush; // @[IF3.scala 61:24]
  wire  tageFifo_clock; // @[IF3.scala 62:24]
  wire  tageFifo_reset; // @[IF3.scala 62:24]
  wire  tageFifo_io_deq_0_valid; // @[IF3.scala 62:24]
  wire  if3_resp_fifo_clock; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_reset; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_0_ready; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_0_valid; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_1_ready; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_1_valid; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_2_ready; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_2_valid; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_3_ready; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_enq_3_valid; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_deq_0_ready; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_deq_0_valid; // @[IF3.scala 67:29]
  wire  if3_resp_fifo_io_flush; // @[IF3.scala 67:29]
  reg  pipeLineLock; // @[IF3.scala 54:29]
  wire  predictor_ready = btb_io_isReady & bim_io_isReady; // @[IF3.scala 65:40]
  wire  is_instr32_0 = io_if3_req_0_bits_instr[1:0] == 2'h3; // @[IF3.scala 81:54]
  wire  is_instr32_1 = io_if3_req_1_bits_instr[1:0] == 2'h3; // @[IF3.scala 81:54]
  wire  is_instr32_2 = io_if3_req_2_bits_instr[1:0] == 2'h3; // @[IF3.scala 81:54]
  wire  is_instr32_3 = io_if3_req_3_bits_instr[1:0] == 2'h3; // @[IF3.scala 81:54]
  wire  isPassThrough_1 = is_instr32_0 | io_if3_req_0_bits_isRedirect; // @[IF3.scala 86:51]
  wire  _T_3 = ~isPassThrough_1; // @[IF3.scala 86:30]
  wire  isPassThrough_2 = is_instr32_1 & ~isPassThrough_1 | io_if3_req_1_bits_isRedirect; // @[IF3.scala 86:51]
  wire  _T_6 = ~isPassThrough_2; // @[IF3.scala 86:30]
  wire  _T_8 = is_instr32_2 & ~isPassThrough_2 | io_if3_req_2_bits_isRedirect; // @[IF3.scala 86:51]
  wire  isPassThrough_3 = is_instr32_3 | _T_8; // @[IF3.scala 89:27 90:24]
  wire [15:0] _reAlignPreDecode_0_info16_is_jalr_T = io_if3_req_1_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  reAlignPreDecode_0_info16_is_jalr = 16'h8002 == _reAlignPreDecode_0_info16_is_jalr_T & io_if3_req_1_bits_instr[
    11:7] != 5'h0; // @[IF3.scala 345:66]
  wire [15:0] _reAlignPreDecode_0_info16_is_branch_T = io_if3_req_1_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  reAlignPreDecode_0_info16_is_branch = 16'hc001 == _reAlignPreDecode_0_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [31:0] _reAlignPreDecode_0_T = {io_if3_req_1_bits_instr,io_if3_req_0_bits_instr}; // @[Cat.scala 33:92]
  wire  reAlignPreDecode_0_info32_is_jalr = _reAlignPreDecode_0_T[6:0] == 7'h67; // @[IF3.scala 371:39]
  wire  reAlignPreDecode_0_info32_is_branch = _reAlignPreDecode_0_T[6:0] == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] _reAlignPreDecode_0_info32_is_fencei_T = _reAlignPreDecode_0_T & 32'h707f; // @[IF3.scala 375:35]
  wire  reAlignPreDecode_0_info32_is_fencei = 32'h100f == _reAlignPreDecode_0_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] _reAlignPreDecode_0_info32_is_sfencevma_T = _reAlignPreDecode_0_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  reAlignPreDecode_0_info32_is_sfencevma = 32'h12000073 == _reAlignPreDecode_0_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  _reAlignPreDecode_0_T_1_is_jalr = io_if3_req_1_bits_isFault ? reAlignPreDecode_0_info16_is_jalr :
    reAlignPreDecode_0_info32_is_jalr; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_0_T_1_is_branch = io_if3_req_1_bits_isFault ? reAlignPreDecode_0_info16_is_branch :
    reAlignPreDecode_0_info32_is_branch; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_0_T_1_is_fencei = io_if3_req_1_bits_isFault ? 1'h0 : reAlignPreDecode_0_info32_is_fencei; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_0_T_1_is_sfencevma = io_if3_req_1_bits_isFault ? 1'h0 : reAlignPreDecode_0_info32_is_sfencevma
    ; // @[IF3.scala 107:37]
  wire  _reAlign_0_valid_T = io_if3_req_0_ready & io_if3_req_0_valid; // @[Decoupled.scala 52:35]
  wire  _reAlign_0_valid_T_1 = io_if3_req_1_ready & io_if3_req_1_valid; // @[Decoupled.scala 52:35]
  wire  _reAlign_0_valid_T_4 = ~pipeLineLock; // @[IF3.scala 112:100]
  wire  _reAlign_0_valid_T_5 = _reAlign_0_valid_T & _reAlign_0_valid_T_1 & predictor_ready & ~pipeLineLock; // @[IF3.scala 112:98]
  wire [15:0] _reAlignPreDecode_0_info16_is_branch_T_2 = io_if3_req_0_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  reAlignPreDecode_0_info16_1_is_branch = 16'hc001 == _reAlignPreDecode_0_info16_is_branch_T_2; // @[IF3.scala 346:34]
  wire  reAlignPreDecode_0_is_branch = is_instr32_0 ? _reAlignPreDecode_0_T_1_is_branch :
    reAlignPreDecode_0_info16_1_is_branch; // @[IF3.scala 102:31 107:31 138:31]
  wire [15:0] _reAlignPreDecode_0_info16_is_jalr_T_5 = io_if3_req_0_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  reAlignPreDecode_0_info16_1_is_jalr = 16'h8002 == _reAlignPreDecode_0_info16_is_jalr_T_5 &
    io_if3_req_0_bits_instr[11:7] != 5'h0; // @[IF3.scala 345:66]
  wire  reAlignPreDecode_0_is_jalr = is_instr32_0 ? _reAlignPreDecode_0_T_1_is_jalr :
    reAlignPreDecode_0_info16_1_is_jalr; // @[IF3.scala 102:31 107:31 138:31]
  wire  _reAlign_0_ready_T = combPDT_io_enq_0_ready & btb_io_req_ready; // @[IF3.scala 202:53]
  wire  _GEN_332 = reAlignPreDecode_0_is_jalr ? _reAlign_0_ready_T : combPDT_io_enq_0_ready; // @[IF3.scala 179:11 196:27]
  wire  _reAlign_0_ready_T_1 = combPDT_io_enq_0_ready & bim_io_req_ready; // @[IF3.scala 213:53]
  wire  reAlign_0_ready = reAlignPreDecode_0_is_branch ? _reAlign_0_ready_T_1 : _GEN_332; // @[IF3.scala 207:27]
  wire  _io_if3_req_0_ready_T_2 = reAlign_0_ready & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  _io_if3_req_0_ready_T_3 = reAlign_0_ready & predictor_ready & _reAlign_0_valid_T_4 & io_if3_req_1_valid; // @[IF3.scala 113:89]
  wire  _T_15 = ~reset; // @[IF3.scala 132:17]
  wire  _reAlign_0_valid_T_21 = _reAlign_0_valid_T & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  reAlignPreDecode_0_is_fencei = is_instr32_0 & _reAlignPreDecode_0_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlignPreDecode_0_is_sfencevma = is_instr32_0 & _reAlignPreDecode_0_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlign_0_valid = is_instr32_0 ? _reAlign_0_valid_T_5 : _reAlign_0_valid_T_21; // @[IF3.scala 102:31]
  wire  _GEN_34 = is_instr32_0 & _io_if3_req_0_ready_T_2; // @[IF3.scala 102:31]
  wire [15:0] _reAlignPreDecode_1_info16_is_jalr_T = io_if3_req_2_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  reAlignPreDecode_1_info16_is_jalr = 16'h8002 == _reAlignPreDecode_1_info16_is_jalr_T & io_if3_req_2_bits_instr[
    11:7] != 5'h0; // @[IF3.scala 345:66]
  wire [15:0] _reAlignPreDecode_1_info16_is_branch_T = io_if3_req_2_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  reAlignPreDecode_1_info16_is_branch = 16'hc001 == _reAlignPreDecode_1_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [31:0] _reAlignPreDecode_1_T = {io_if3_req_2_bits_instr,io_if3_req_1_bits_instr}; // @[Cat.scala 33:92]
  wire  reAlignPreDecode_1_info32_is_jalr = _reAlignPreDecode_1_T[6:0] == 7'h67; // @[IF3.scala 371:39]
  wire  reAlignPreDecode_1_info32_is_branch = _reAlignPreDecode_1_T[6:0] == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] _reAlignPreDecode_1_info32_is_fencei_T = _reAlignPreDecode_1_T & 32'h707f; // @[IF3.scala 375:35]
  wire  reAlignPreDecode_1_info32_is_fencei = 32'h100f == _reAlignPreDecode_1_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] _reAlignPreDecode_1_info32_is_sfencevma_T = _reAlignPreDecode_1_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  reAlignPreDecode_1_info32_is_sfencevma = 32'h12000073 == _reAlignPreDecode_1_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  _reAlignPreDecode_1_T_1_is_jalr = io_if3_req_2_bits_isFault ? reAlignPreDecode_1_info16_is_jalr :
    reAlignPreDecode_1_info32_is_jalr; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_1_T_1_is_branch = io_if3_req_2_bits_isFault ? reAlignPreDecode_1_info16_is_branch :
    reAlignPreDecode_1_info32_is_branch; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_1_T_1_is_fencei = io_if3_req_2_bits_isFault ? 1'h0 : reAlignPreDecode_1_info32_is_fencei; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_1_T_1_is_sfencevma = io_if3_req_2_bits_isFault ? 1'h0 : reAlignPreDecode_1_info32_is_sfencevma
    ; // @[IF3.scala 107:37]
  wire  _reAlign_1_valid_T_1 = io_if3_req_2_ready & io_if3_req_2_valid; // @[Decoupled.scala 52:35]
  wire  _reAlign_1_valid_T_5 = _reAlign_0_valid_T_1 & _reAlign_1_valid_T_1 & predictor_ready & ~pipeLineLock; // @[IF3.scala 112:98]
  wire  is_lock_pipe_0 = reAlignPreDecode_0_is_fencei | reAlignPreDecode_0_is_sfencevma; // @[frontend.scala 100:32]
  wire  _GEN_74 = is_instr32_1 ? _reAlignPreDecode_1_T_1_is_branch : reAlignPreDecode_0_info16_is_branch; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlignPreDecode_1_is_branch = _T_3 & _GEN_74; // @[IF3.scala 101:33 97:25]
  wire  _GEN_73 = is_instr32_1 ? _reAlignPreDecode_1_T_1_is_jalr : reAlignPreDecode_0_info16_is_jalr; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlignPreDecode_1_is_jalr = _T_3 & _GEN_73; // @[IF3.scala 101:33 97:25]
  wire  _GEN_268 = reAlignPreDecode_0_is_jalr ? combPDT_io_enq_1_ready : combPDT_io_enq_1_ready & btb_io_req_ready; // @[IF3.scala 197:100 179:11 202:26]
  wire  _GEN_271 = reAlignPreDecode_1_is_jalr ? _GEN_268 : combPDT_io_enq_1_ready; // @[IF3.scala 179:11 196:27]
  wire  _GEN_274 = reAlignPreDecode_0_is_branch ? _GEN_271 : combPDT_io_enq_1_ready & bim_io_req_ready; // @[IF3.scala 208:103 213:26]
  wire  _GEN_277 = reAlignPreDecode_1_is_branch ? _GEN_274 : _GEN_271; // @[IF3.scala 207:27]
  wire  _GEN_291 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_277; // @[IF3.scala 242:100 245:28]
  wire  _GEN_297 = reAlignPreDecode_1_is_jalr ? _GEN_291 : _GEN_277; // @[IF3.scala 241:27]
  wire  _GEN_303 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_297; // @[IF3.scala 252:103 255:28]
  wire  _GEN_309 = reAlignPreDecode_1_is_branch ? _GEN_303 : _GEN_297; // @[IF3.scala 251:27]
  wire  _GEN_326 = ~reAlign_0_ready ? 1'h0 : _GEN_309; // @[IF3.scala 271:44 272:26]
  wire  reAlign_1_ready = is_lock_pipe_0 ? 1'h0 : _GEN_326; // @[IF3.scala 234:29 237:26]
  wire  _io_if3_req_1_ready_T_11 = reAlign_1_ready & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  _io_if3_req_1_ready_T_12 = reAlign_1_ready & predictor_ready & _reAlign_0_valid_T_4 & io_if3_req_2_valid; // @[IF3.scala 113:89]
  wire  _reAlign_1_valid_T_21 = _reAlign_0_valid_T_1 & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  _GEN_78 = is_instr32_1 & _reAlignPreDecode_1_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  _GEN_79 = is_instr32_1 & _reAlignPreDecode_1_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  _GEN_82 = is_instr32_1 ? _reAlign_1_valid_T_5 : _reAlign_1_valid_T_21; // @[IF3.scala 102:31]
  wire  _GEN_83 = is_instr32_1 ? _io_if3_req_1_ready_T_12 : _io_if3_req_1_ready_T_11; // @[IF3.scala 102:31]
  wire  _GEN_84 = is_instr32_1 & _io_if3_req_1_ready_T_11; // @[IF3.scala 102:31]
  wire  reAlignPreDecode_1_is_fencei = _T_3 & _GEN_78; // @[IF3.scala 101:33 97:25]
  wire  reAlignPreDecode_1_is_sfencevma = _T_3 & _GEN_79; // @[IF3.scala 101:33 97:25]
  wire  _GEN_100 = _T_3 & _GEN_82; // @[IF3.scala 101:33 95:22]
  wire [15:0] _reAlignPreDecode_2_info16_is_jalr_T = io_if3_req_3_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  reAlignPreDecode_2_info16_is_jalr = 16'h8002 == _reAlignPreDecode_2_info16_is_jalr_T & io_if3_req_3_bits_instr[
    11:7] != 5'h0; // @[IF3.scala 345:66]
  wire [15:0] _reAlignPreDecode_2_info16_is_branch_T = io_if3_req_3_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  reAlignPreDecode_2_info16_is_branch = 16'hc001 == _reAlignPreDecode_2_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [31:0] _reAlignPreDecode_2_T = {io_if3_req_3_bits_instr,io_if3_req_2_bits_instr}; // @[Cat.scala 33:92]
  wire  reAlignPreDecode_2_info32_is_jalr = _reAlignPreDecode_2_T[6:0] == 7'h67; // @[IF3.scala 371:39]
  wire  reAlignPreDecode_2_info32_is_branch = _reAlignPreDecode_2_T[6:0] == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] _reAlignPreDecode_2_info32_is_fencei_T = _reAlignPreDecode_2_T & 32'h707f; // @[IF3.scala 375:35]
  wire  reAlignPreDecode_2_info32_is_fencei = 32'h100f == _reAlignPreDecode_2_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] _reAlignPreDecode_2_info32_is_sfencevma_T = _reAlignPreDecode_2_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  reAlignPreDecode_2_info32_is_sfencevma = 32'h12000073 == _reAlignPreDecode_2_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  _reAlignPreDecode_2_T_1_is_jalr = io_if3_req_3_bits_isFault ? reAlignPreDecode_2_info16_is_jalr :
    reAlignPreDecode_2_info32_is_jalr; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_2_T_1_is_branch = io_if3_req_3_bits_isFault ? reAlignPreDecode_2_info16_is_branch :
    reAlignPreDecode_2_info32_is_branch; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_2_T_1_is_fencei = io_if3_req_3_bits_isFault ? 1'h0 : reAlignPreDecode_2_info32_is_fencei; // @[IF3.scala 107:37]
  wire  _reAlignPreDecode_2_T_1_is_sfencevma = io_if3_req_3_bits_isFault ? 1'h0 : reAlignPreDecode_2_info32_is_sfencevma
    ; // @[IF3.scala 107:37]
  wire  _reAlign_2_valid_T_1 = io_if3_req_3_ready & io_if3_req_3_valid; // @[Decoupled.scala 52:35]
  wire  _reAlign_2_valid_T_5 = _reAlign_1_valid_T_1 & _reAlign_2_valid_T_1 & predictor_ready & ~pipeLineLock; // @[IF3.scala 112:98]
  wire  is_lock_pipe_1 = reAlignPreDecode_1_is_fencei | reAlignPreDecode_1_is_sfencevma; // @[frontend.scala 100:32]
  wire  _GEN_121 = is_instr32_2 ? _reAlignPreDecode_2_T_1_is_branch : reAlignPreDecode_1_info16_is_branch; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlignPreDecode_2_is_branch = _T_6 & _GEN_121; // @[IF3.scala 101:33 97:25]
  wire  _T_98 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch; // @[IF3.scala 252:94]
  wire  _GEN_120 = is_instr32_2 ? _reAlignPreDecode_2_T_1_is_jalr : reAlignPreDecode_1_info16_is_jalr; // @[IF3.scala 102:31 107:31 138:31]
  wire  reAlignPreDecode_2_is_jalr = _T_6 & _GEN_120; // @[IF3.scala 101:33 97:25]
  wire  _T_97 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr; // @[IF3.scala 242:92]
  wire  _GEN_220 = _T_97 ? combPDT_io_enq_2_ready : combPDT_io_enq_2_ready & btb_io_req_ready; // @[IF3.scala 197:100 179:11 202:26]
  wire  _GEN_223 = reAlignPreDecode_2_is_jalr ? _GEN_220 : combPDT_io_enq_2_ready; // @[IF3.scala 179:11 196:27]
  wire  _GEN_226 = _T_98 ? _GEN_223 : combPDT_io_enq_2_ready & bim_io_req_ready; // @[IF3.scala 208:103 213:26]
  wire  _GEN_229 = reAlignPreDecode_2_is_branch ? _GEN_226 : _GEN_223; // @[IF3.scala 207:27]
  wire  _GEN_241 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr ? 1'h0 : _GEN_229; // @[IF3.scala 242:100 245:28]
  wire  _GEN_245 = reAlignPreDecode_2_is_jalr ? _GEN_241 : _GEN_229; // @[IF3.scala 241:27]
  wire  _GEN_249 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch ? 1'h0 : _GEN_245; // @[IF3.scala 252:103 255:28]
  wire  _GEN_253 = reAlignPreDecode_2_is_branch ? _GEN_249 : _GEN_245; // @[IF3.scala 251:27]
  wire  _GEN_264 = ~reAlign_0_ready ? 1'h0 : _GEN_253; // @[IF3.scala 271:44 272:26]
  wire  _GEN_265 = ~reAlign_1_ready ? 1'h0 : _GEN_264; // @[IF3.scala 271:44 272:26]
  wire  _GEN_287 = is_lock_pipe_1 ? 1'h0 : _GEN_265; // @[IF3.scala 234:29 237:26]
  wire  _GEN_293 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_287; // @[IF3.scala 242:100 245:28]
  wire  _GEN_299 = reAlignPreDecode_1_is_jalr ? _GEN_293 : _GEN_287; // @[IF3.scala 241:27]
  wire  _GEN_305 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_299; // @[IF3.scala 252:103 255:28]
  wire  _GEN_311 = reAlignPreDecode_1_is_branch ? _GEN_305 : _GEN_299; // @[IF3.scala 251:27]
  wire  reAlign_2_ready = is_lock_pipe_0 ? 1'h0 : _GEN_311; // @[IF3.scala 234:29 237:26]
  wire  _io_if3_req_2_ready_T_14 = reAlign_2_ready & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  _io_if3_req_2_ready_T_15 = reAlign_2_ready & predictor_ready & _reAlign_0_valid_T_4 & io_if3_req_3_valid; // @[IF3.scala 113:89]
  wire  _reAlign_2_valid_T_15 = _reAlign_1_valid_T_1 & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  _GEN_125 = is_instr32_2 & _reAlignPreDecode_2_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  _GEN_126 = is_instr32_2 & _reAlignPreDecode_2_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  _GEN_129 = is_instr32_2 ? _reAlign_2_valid_T_5 : _reAlign_2_valid_T_15; // @[IF3.scala 102:31]
  wire  _GEN_130 = is_instr32_2 ? _io_if3_req_2_ready_T_15 : _io_if3_req_2_ready_T_14; // @[IF3.scala 102:31]
  wire  _GEN_131 = is_instr32_2 & _io_if3_req_2_ready_T_14; // @[IF3.scala 102:31]
  wire  reAlignPreDecode_2_is_fencei = _T_6 & _GEN_125; // @[IF3.scala 101:33 97:25]
  wire  reAlignPreDecode_2_is_sfencevma = _T_6 & _GEN_126; // @[IF3.scala 101:33 97:25]
  wire  _GEN_146 = _T_6 & _GEN_129; // @[IF3.scala 101:33 95:22]
  wire  _GEN_148 = _T_6 & _GEN_131; // @[IF3.scala 101:33]
  wire  _reAlign_3_valid_T_3 = _reAlign_2_valid_T_1 & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  is_lock_pipe_2 = reAlignPreDecode_2_is_fencei | reAlignPreDecode_2_is_sfencevma; // @[frontend.scala 100:32]
  wire  _GEN_157 = is_instr32_3 ? 1'h0 : reAlignPreDecode_2_info16_is_branch; // @[IF3.scala 102:31 97:25 138:31]
  wire  reAlignPreDecode_3_is_branch = ~isPassThrough_3 & _GEN_157; // @[IF3.scala 101:33 97:25]
  wire  _T_88 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch | reAlignPreDecode_2_is_branch; // @[IF3.scala 252:94]
  wire  _GEN_156 = is_instr32_3 ? 1'h0 : reAlignPreDecode_2_info16_is_jalr; // @[IF3.scala 102:31 97:25 138:31]
  wire  reAlignPreDecode_3_is_jalr = ~isPassThrough_3 & _GEN_156; // @[IF3.scala 101:33 97:25]
  wire  _T_86 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr | reAlignPreDecode_2_is_jalr; // @[IF3.scala 242:92]
  wire  _GEN_185 = _T_86 ? combPDT_io_enq_3_ready : combPDT_io_enq_3_ready & btb_io_req_ready; // @[IF3.scala 197:100 179:11 202:26]
  wire  _GEN_188 = reAlignPreDecode_3_is_jalr ? _GEN_185 : combPDT_io_enq_3_ready; // @[IF3.scala 179:11 196:27]
  wire  _GEN_191 = _T_88 ? _GEN_188 : combPDT_io_enq_3_ready & bim_io_req_ready; // @[IF3.scala 208:103 213:26]
  wire  _GEN_194 = reAlignPreDecode_3_is_branch ? _GEN_191 : _GEN_188; // @[IF3.scala 207:27]
  wire  _GEN_204 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr | reAlignPreDecode_2_is_jalr ? 1'h0 :
    _GEN_194; // @[IF3.scala 242:100 245:28]
  wire  _GEN_206 = reAlignPreDecode_3_is_jalr ? _GEN_204 : _GEN_194; // @[IF3.scala 241:27]
  wire  _GEN_208 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch | reAlignPreDecode_2_is_branch ? 1'h0 :
    _GEN_206; // @[IF3.scala 252:103 255:28]
  wire  _GEN_210 = reAlignPreDecode_3_is_branch ? _GEN_208 : _GEN_206; // @[IF3.scala 251:27]
  wire  _GEN_215 = ~reAlign_0_ready ? 1'h0 : _GEN_210; // @[IF3.scala 271:44 272:26]
  wire  _GEN_216 = ~reAlign_1_ready ? 1'h0 : _GEN_215; // @[IF3.scala 271:44 272:26]
  wire  _GEN_217 = ~reAlign_2_ready ? 1'h0 : _GEN_216; // @[IF3.scala 271:44 272:26]
  wire  _GEN_239 = is_lock_pipe_2 ? 1'h0 : _GEN_217; // @[IF3.scala 234:29 237:26]
  wire  _GEN_243 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr ? 1'h0 : _GEN_239; // @[IF3.scala 242:100 245:28]
  wire  _GEN_247 = reAlignPreDecode_2_is_jalr ? _GEN_243 : _GEN_239; // @[IF3.scala 241:27]
  wire  _GEN_251 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch ? 1'h0 : _GEN_247; // @[IF3.scala 252:103 255:28]
  wire  _GEN_255 = reAlignPreDecode_2_is_branch ? _GEN_251 : _GEN_247; // @[IF3.scala 251:27]
  wire  _GEN_289 = is_lock_pipe_1 ? 1'h0 : _GEN_255; // @[IF3.scala 234:29 237:26]
  wire  _GEN_295 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_289; // @[IF3.scala 242:100 245:28]
  wire  _GEN_301 = reAlignPreDecode_1_is_jalr ? _GEN_295 : _GEN_289; // @[IF3.scala 241:27]
  wire  _GEN_307 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_301; // @[IF3.scala 252:103 255:28]
  wire  _GEN_313 = reAlignPreDecode_1_is_branch ? _GEN_307 : _GEN_301; // @[IF3.scala 251:27]
  wire  reAlign_3_ready = is_lock_pipe_0 ? 1'h0 : _GEN_313; // @[IF3.scala 234:29 237:26]
  wire  _io_if3_req_3_ready_T_11 = reAlign_3_ready & predictor_ready & _reAlign_0_valid_T_4; // @[IF3.scala 144:73]
  wire  _GEN_165 = is_instr32_3 ? 1'h0 : _reAlign_3_valid_T_3; // @[IF3.scala 102:31 95:22]
  wire  _GEN_166 = is_instr32_3 ? _GEN_148 : _io_if3_req_3_ready_T_11; // @[IF3.scala 102:31]
  wire  _GEN_181 = ~isPassThrough_3 & _GEN_165; // @[IF3.scala 101:33 95:22]
  wire  _btb_io_req_valid_T = io_flush | io_if4Redirect_valid; // @[IF3.scala 200:59]
  wire  _GEN_203 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr | reAlignPreDecode_2_is_jalr ? 1'h0 :
    _GEN_181; // @[IF3.scala 242:100 244:28]
  wire  _GEN_205 = reAlignPreDecode_3_is_jalr ? _GEN_203 : _GEN_181; // @[IF3.scala 241:27]
  wire  _GEN_207 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch | reAlignPreDecode_2_is_branch ? 1'h0 :
    _GEN_205; // @[IF3.scala 252:103 254:28]
  wire  _GEN_209 = reAlignPreDecode_3_is_branch ? _GEN_207 : _GEN_205; // @[IF3.scala 251:27]
  wire  _GEN_238 = is_lock_pipe_2 ? 1'h0 : _GEN_209; // @[IF3.scala 234:29 236:26]
  wire  _GEN_242 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr ? 1'h0 : _GEN_238; // @[IF3.scala 242:100 244:28]
  wire  _GEN_246 = reAlignPreDecode_2_is_jalr ? _GEN_242 : _GEN_238; // @[IF3.scala 241:27]
  wire  _GEN_250 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch ? 1'h0 : _GEN_246; // @[IF3.scala 252:103 254:28]
  wire  _GEN_254 = reAlignPreDecode_2_is_branch ? _GEN_250 : _GEN_246; // @[IF3.scala 251:27]
  wire  _GEN_288 = is_lock_pipe_1 ? 1'h0 : _GEN_254; // @[IF3.scala 234:29 236:26]
  wire  _GEN_294 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_288; // @[IF3.scala 242:100 244:28]
  wire  _GEN_300 = reAlignPreDecode_1_is_jalr ? _GEN_294 : _GEN_288; // @[IF3.scala 241:27]
  wire  _GEN_306 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_300; // @[IF3.scala 252:103 254:28]
  wire  _GEN_312 = reAlignPreDecode_1_is_branch ? _GEN_306 : _GEN_300; // @[IF3.scala 251:27]
  wire  reAlign_3_valid = is_lock_pipe_0 ? 1'h0 : _GEN_312; // @[IF3.scala 234:29 236:26]
  wire  _btb_io_req_valid_T_2 = reAlign_3_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 200:46]
  wire  _GEN_183 = _T_86 ? 1'h0 : reAlign_3_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 197:100 185:20 200:26]
  wire  _GEN_186 = reAlignPreDecode_3_is_jalr & _GEN_183; // @[IF3.scala 185:20 196:27]
  wire  _GEN_189 = _T_88 ? 1'h0 : _btb_io_req_valid_T_2; // @[IF3.scala 208:103 186:20 211:26]
  wire  _GEN_192 = reAlignPreDecode_3_is_branch & _GEN_189; // @[IF3.scala 186:20 207:27]
  wire  _GEN_240 = reAlignPreDecode_0_is_jalr | reAlignPreDecode_1_is_jalr ? 1'h0 : _GEN_146; // @[IF3.scala 242:100 244:28]
  wire  _GEN_244 = reAlignPreDecode_2_is_jalr ? _GEN_240 : _GEN_146; // @[IF3.scala 241:27]
  wire  _GEN_248 = reAlignPreDecode_0_is_branch | reAlignPreDecode_1_is_branch ? 1'h0 : _GEN_244; // @[IF3.scala 252:103 254:28]
  wire  _GEN_252 = reAlignPreDecode_2_is_branch ? _GEN_248 : _GEN_244; // @[IF3.scala 251:27]
  wire  _GEN_286 = is_lock_pipe_1 ? 1'h0 : _GEN_252; // @[IF3.scala 234:29 236:26]
  wire  _GEN_292 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_286; // @[IF3.scala 242:100 244:28]
  wire  _GEN_298 = reAlignPreDecode_1_is_jalr ? _GEN_292 : _GEN_286; // @[IF3.scala 241:27]
  wire  _GEN_304 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_298; // @[IF3.scala 252:103 254:28]
  wire  _GEN_310 = reAlignPreDecode_1_is_branch ? _GEN_304 : _GEN_298; // @[IF3.scala 251:27]
  wire  reAlign_2_valid = is_lock_pipe_0 ? 1'h0 : _GEN_310; // @[IF3.scala 234:29 236:26]
  wire  _btb_io_req_valid_T_5 = reAlign_2_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 200:46]
  wire  _GEN_218 = _T_97 ? _GEN_186 : reAlign_2_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 197:100 200:26]
  wire  _GEN_221 = reAlignPreDecode_2_is_jalr ? _GEN_218 : _GEN_186; // @[IF3.scala 196:27]
  wire  _GEN_224 = _T_98 ? _GEN_192 : _btb_io_req_valid_T_5; // @[IF3.scala 208:103 211:26]
  wire  _GEN_227 = reAlignPreDecode_2_is_branch ? _GEN_224 : _GEN_192; // @[IF3.scala 207:27]
  wire  _GEN_290 = reAlignPreDecode_0_is_jalr ? 1'h0 : _GEN_100; // @[IF3.scala 242:100 244:28]
  wire  _GEN_296 = reAlignPreDecode_1_is_jalr ? _GEN_290 : _GEN_100; // @[IF3.scala 241:27]
  wire  _GEN_302 = reAlignPreDecode_0_is_branch ? 1'h0 : _GEN_296; // @[IF3.scala 252:103 254:28]
  wire  _GEN_308 = reAlignPreDecode_1_is_branch ? _GEN_302 : _GEN_296; // @[IF3.scala 251:27]
  wire  reAlign_1_valid = is_lock_pipe_0 ? 1'h0 : _GEN_308; // @[IF3.scala 234:29 236:26]
  wire  _btb_io_req_valid_T_8 = reAlign_1_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 200:46]
  wire  _GEN_266 = reAlignPreDecode_0_is_jalr ? _GEN_221 : reAlign_1_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 197:100 200:26]
  wire  _GEN_269 = reAlignPreDecode_1_is_jalr ? _GEN_266 : _GEN_221; // @[IF3.scala 196:27]
  wire  _GEN_272 = reAlignPreDecode_0_is_branch ? _GEN_227 : _btb_io_req_valid_T_8; // @[IF3.scala 208:103 211:26]
  wire  _GEN_275 = reAlignPreDecode_1_is_branch ? _GEN_272 : _GEN_227; // @[IF3.scala 207:27]
  wire  _btb_io_req_valid_T_11 = reAlign_0_valid & ~(io_flush | io_if4Redirect_valid); // @[IF3.scala 200:46]
  wire  _T_105 = reAlign_0_ready & reAlign_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_108 = reAlign_1_ready & reAlign_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_111 = reAlign_2_ready & reAlign_2_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_401 = is_lock_pipe_0 & _T_105 | is_lock_pipe_1 & _T_108 | is_lock_pipe_2 & _T_111 | pipeLineLock; // @[IF3.scala 329:{113,128} 54:29]
  RePort combPDT ( // @[IF3.scala 52:23]
    .clock(combPDT_clock),
    .reset(combPDT_reset),
    .io_enq_0_ready(combPDT_io_enq_0_ready),
    .io_enq_0_valid(combPDT_io_enq_0_valid),
    .io_enq_1_ready(combPDT_io_enq_1_ready),
    .io_enq_1_valid(combPDT_io_enq_1_valid),
    .io_enq_2_ready(combPDT_io_enq_2_ready),
    .io_enq_2_valid(combPDT_io_enq_2_valid),
    .io_enq_3_ready(combPDT_io_enq_3_ready),
    .io_enq_3_valid(combPDT_io_enq_3_valid),
    .io_deq_0_ready(combPDT_io_deq_0_ready),
    .io_deq_0_valid(combPDT_io_deq_0_valid),
    .io_deq_1_ready(combPDT_io_deq_1_ready),
    .io_deq_1_valid(combPDT_io_deq_1_valid),
    .io_deq_2_ready(combPDT_io_deq_2_ready),
    .io_deq_2_valid(combPDT_io_deq_2_valid),
    .io_deq_3_ready(combPDT_io_deq_3_ready),
    .io_deq_3_valid(combPDT_io_deq_3_valid)
  );
  BTB btb ( // @[IF3.scala 56:19]
    .clock(btb_clock),
    .reset(btb_reset),
    .io_req_ready(btb_io_req_ready),
    .io_req_valid(btb_io_req_valid),
    .io_resp_ready(btb_io_resp_ready),
    .io_resp_valid(btb_io_resp_valid),
    .io_isReady(btb_io_isReady)
  );
  BIM bim ( // @[IF3.scala 57:19]
    .clock(bim_clock),
    .reset(bim_reset),
    .io_req_ready(bim_io_req_ready),
    .io_req_valid(bim_io_req_valid),
    .io_resp_ready(bim_io_resp_ready),
    .io_resp_valid(bim_io_resp_valid),
    .io_isReady(bim_io_isReady)
  );
  MultiPortFifo_in1_out1_1 btbFifo ( // @[IF3.scala 60:24]
    .clock(btbFifo_clock),
    .reset(btbFifo_reset),
    .io_enq_0_ready(btbFifo_io_enq_0_ready),
    .io_enq_0_valid(btbFifo_io_enq_0_valid),
    .io_deq_0_ready(btbFifo_io_deq_0_ready),
    .io_deq_0_valid(btbFifo_io_deq_0_valid),
    .io_flush(btbFifo_io_flush)
  );
  MultiPortFifo_in1_out1_3 bimFifo ( // @[IF3.scala 61:24]
    .clock(bimFifo_clock),
    .reset(bimFifo_reset),
    .io_enq_0_ready(bimFifo_io_enq_0_ready),
    .io_enq_0_valid(bimFifo_io_enq_0_valid),
    .io_deq_0_ready(bimFifo_io_deq_0_ready),
    .io_deq_0_valid(bimFifo_io_deq_0_valid),
    .io_flush(bimFifo_io_flush)
  );
  MultiPortFifo_in1_out1_5 tageFifo ( // @[IF3.scala 62:24]
    .clock(tageFifo_clock),
    .reset(tageFifo_reset),
    .io_deq_0_valid(tageFifo_io_deq_0_valid)
  );
  MultiPortFifo_in4_out1 if3_resp_fifo ( // @[IF3.scala 67:29]
    .clock(if3_resp_fifo_clock),
    .reset(if3_resp_fifo_reset),
    .io_enq_0_ready(if3_resp_fifo_io_enq_0_ready),
    .io_enq_0_valid(if3_resp_fifo_io_enq_0_valid),
    .io_enq_1_ready(if3_resp_fifo_io_enq_1_ready),
    .io_enq_1_valid(if3_resp_fifo_io_enq_1_valid),
    .io_enq_2_ready(if3_resp_fifo_io_enq_2_ready),
    .io_enq_2_valid(if3_resp_fifo_io_enq_2_valid),
    .io_enq_3_ready(if3_resp_fifo_io_enq_3_ready),
    .io_enq_3_valid(if3_resp_fifo_io_enq_3_valid),
    .io_deq_0_ready(if3_resp_fifo_io_deq_0_ready),
    .io_deq_0_valid(if3_resp_fifo_io_deq_0_valid),
    .io_flush(if3_resp_fifo_io_flush)
  );
  assign io_if3_req_0_ready = is_instr32_0 ? _io_if3_req_0_ready_T_3 : _io_if3_req_0_ready_T_2; // @[IF3.scala 102:31]
  assign io_if3_req_1_ready = _T_3 ? _GEN_83 : _GEN_34; // @[IF3.scala 101:33]
  assign io_if3_req_2_ready = _T_6 ? _GEN_130 : _T_3 & _GEN_84; // @[IF3.scala 101:33]
  assign io_if3_req_3_ready = ~isPassThrough_3 ? _GEN_166 : _T_6 & _GEN_131; // @[IF3.scala 101:33]
  assign combPDT_clock = clock;
  assign combPDT_reset = reset;
  assign combPDT_io_enq_0_valid = is_instr32_0 ? _reAlign_0_valid_T_5 : _reAlign_0_valid_T_21; // @[IF3.scala 102:31]
  assign combPDT_io_enq_1_valid = is_lock_pipe_0 ? 1'h0 : _GEN_308; // @[IF3.scala 234:29 236:26]
  assign combPDT_io_enq_2_valid = is_lock_pipe_0 ? 1'h0 : _GEN_310; // @[IF3.scala 234:29 236:26]
  assign combPDT_io_enq_3_valid = is_lock_pipe_0 ? 1'h0 : _GEN_312; // @[IF3.scala 234:29 236:26]
  assign combPDT_io_deq_0_ready = if3_resp_fifo_io_enq_0_ready; // @[IF3.scala 70:24]
  assign combPDT_io_deq_1_ready = if3_resp_fifo_io_enq_1_ready; // @[IF3.scala 70:24]
  assign combPDT_io_deq_2_ready = if3_resp_fifo_io_enq_2_ready; // @[IF3.scala 70:24]
  assign combPDT_io_deq_3_ready = if3_resp_fifo_io_enq_3_ready; // @[IF3.scala 70:24]
  assign btb_clock = clock;
  assign btb_reset = reset;
  assign btb_io_req_valid = reAlignPreDecode_0_is_jalr ? _btb_io_req_valid_T_11 : _GEN_269; // @[IF3.scala 196:27]
  assign btb_io_resp_ready = btbFifo_io_enq_0_ready; // @[IF3.scala 393:22]
  assign bim_clock = clock;
  assign bim_reset = reset;
  assign bim_io_req_valid = reAlignPreDecode_0_is_branch ? _btb_io_req_valid_T_11 : _GEN_275; // @[IF3.scala 207:27]
  assign bim_io_resp_ready = bimFifo_io_enq_0_ready; // @[IF3.scala 394:22]
  assign btbFifo_clock = clock;
  assign btbFifo_reset = reset;
  assign btbFifo_io_enq_0_valid = btb_io_resp_valid; // @[IF3.scala 393:22]
  assign btbFifo_io_deq_0_ready = io_btbResp_0_ready; // @[IF3.scala 397:19]
  assign btbFifo_io_flush = io_flush | io_if4Redirect_valid; // @[IF3.scala 401:33]
  assign bimFifo_clock = clock;
  assign bimFifo_reset = reset;
  assign bimFifo_io_enq_0_valid = bim_io_resp_valid; // @[IF3.scala 394:22]
  assign bimFifo_io_deq_0_ready = io_bimResp_0_ready; // @[IF3.scala 398:19]
  assign bimFifo_io_flush = io_flush | io_if4Redirect_valid; // @[IF3.scala 402:33]
  assign tageFifo_clock = clock;
  assign tageFifo_reset = reset;
  assign if3_resp_fifo_clock = clock;
  assign if3_resp_fifo_reset = reset;
  assign if3_resp_fifo_io_enq_0_valid = combPDT_io_deq_0_valid; // @[IF3.scala 70:24]
  assign if3_resp_fifo_io_enq_1_valid = combPDT_io_deq_1_valid; // @[IF3.scala 70:24]
  assign if3_resp_fifo_io_enq_2_valid = combPDT_io_deq_2_valid; // @[IF3.scala 70:24]
  assign if3_resp_fifo_io_enq_3_valid = combPDT_io_deq_3_valid; // @[IF3.scala 70:24]
  assign if3_resp_fifo_io_deq_0_ready = io_if3_resp_0_ready; // @[IF3.scala 71:15]
  assign if3_resp_fifo_io_flush = io_if4Redirect_valid | io_flush; // @[IF3.scala 69:49]
  always @(posedge clock) begin
    if (reset) begin // @[IF3.scala 54:29]
      pipeLineLock <= 1'h0; // @[IF3.scala 54:29]
    end else if (_btb_io_req_valid_T) begin // @[IF3.scala 328:42]
      pipeLineLock <= 1'h0; // @[IF3.scala 328:57]
    end else begin
      pipeLineLock <= _GEN_401;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (is_instr32_0 & ~reset & ~(_reAlign_0_valid_T == _reAlign_0_valid_T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_reAlign_0_valid_T == _reAlign_0_valid_T_1) & (is_instr32_0 & ~reset)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_reAlign_0_valid_T & io_if3_req_0_bits_isRedirect & _T_15 & ~_reAlign_0_valid_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_reAlign_0_valid_T_1 & (_reAlign_0_valid_T & io_if3_req_0_bits_isRedirect & _T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_if3_req_0_valid & io_if3_req_0_bits_isRedirect & _T_15 & ~(~(io_if3_req_1_valid &
          io_if3_req_1_bits_isRedirect))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_if3_req_1_valid & io_if3_req_1_bits_isRedirect)) & (io_if3_req_0_valid & io_if3_req_0_bits_isRedirect
           & _T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_3 & is_instr32_1 & ~reset & ~(_reAlign_0_valid_T_1 == _reAlign_1_valid_T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_reAlign_0_valid_T_1 == _reAlign_1_valid_T_1) & (_T_3 & is_instr32_1 & ~reset)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_reAlign_0_valid_T_1 & io_if3_req_1_bits_isRedirect & _T_15 & ~_reAlign_1_valid_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_reAlign_1_valid_T_1 & (_reAlign_0_valid_T_1 & io_if3_req_1_bits_isRedirect & _T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_if3_req_1_valid & io_if3_req_1_bits_isRedirect & _T_15 & ~(~(io_if3_req_2_valid &
          io_if3_req_2_bits_isRedirect))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_if3_req_2_valid & io_if3_req_2_bits_isRedirect)) & (io_if3_req_1_valid & io_if3_req_1_bits_isRedirect
           & _T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & is_instr32_2 & ~reset & ~(_reAlign_1_valid_T_1 == _reAlign_2_valid_T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_reAlign_1_valid_T_1 == _reAlign_2_valid_T_1) & (_T_6 & is_instr32_2 & ~reset)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_reAlign_1_valid_T_1 & io_if3_req_2_bits_isRedirect & _T_15 & ~_reAlign_2_valid_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_reAlign_2_valid_T_1 & (_reAlign_1_valid_T_1 & io_if3_req_2_bits_isRedirect & _T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_if3_req_2_valid & io_if3_req_2_bits_isRedirect & _T_15 & ~(~(io_if3_req_3_valid &
          io_if3_req_3_bits_isRedirect))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_if3_req_3_valid & io_if3_req_3_bits_isRedirect)) & (io_if3_req_2_valid & io_if3_req_2_bits_isRedirect
           & _T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_reAlign_2_valid_T_1 & _T_15 & ~(~io_if3_req_3_bits_isRedirect)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, never Redirect at last-entry!\n    at IF3.scala:163 when( io.if3_req(i).fire ) { assert( ~io.if3_req(i).bits.isRedirect, \"Assert Failed at IF3, never Redirect at last-entry!\" ) }\n"
            ); // @[IF3.scala 163:42]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_if3_req_3_bits_isRedirect) & (_reAlign_2_valid_T_1 & _T_15)) begin
          $fatal; // @[IF3.scala 163:42]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  pipeLineLock = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module RAS(
  input         clock,
  input         reset,
  input         io_enq_valid,
  input  [38:0] io_enq_bits_target,
  input         io_deq_ready,
  output        io_deq_valid,
  output [38:0] io_deq_bits_target,
  input         io_flush
);
`ifdef RANDOMIZE_MEM_INIT
  reg [63:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [63:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg [38:0] buf_target [0:3]; // @[RAS.scala 43:18]
  wire  buf_target_io_deq_bits_MPORT_en; // @[RAS.scala 43:18]
  wire [1:0] buf_target_io_deq_bits_MPORT_addr; // @[RAS.scala 43:18]
  wire [38:0] buf_target_io_deq_bits_MPORT_data; // @[RAS.scala 43:18]
  wire [38:0] buf_target_MPORT_data; // @[RAS.scala 43:18]
  wire [1:0] buf_target_MPORT_addr; // @[RAS.scala 43:18]
  wire  buf_target_MPORT_mask; // @[RAS.scala 43:18]
  wire  buf_target_MPORT_en; // @[RAS.scala 43:18]
  reg [2:0] btm_ptr; // @[RAS.scala 44:26]
  reg [2:0] top_ptr; // @[RAS.scala 45:26]
  wire  is_empty = btm_ptr == top_ptr; // @[RAS.scala 50:29]
  wire  is_full = btm_ptr[1:0] == top_ptr[1:0] & btm_ptr[2] != top_ptr[2]; // @[RAS.scala 51:61]
  wire [2:0] _btm_ptr_T_1 = btm_ptr + 3'h1; // @[RAS.scala 66:30]
  wire [2:0] _top_ptr_T_1 = top_ptr + 3'h1; // @[RAS.scala 68:28]
  wire  _T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire [2:0] _top_ptr_T_3 = top_ptr - 3'h1; // @[RAS.scala 71:28]
  reg [38:0] io_deq_bits_REG_target; // @[RAS.scala 76:29]
  assign buf_target_io_deq_bits_MPORT_en = 1'h1;
  assign buf_target_io_deq_bits_MPORT_addr = top_ptr[1:0] - 2'h1;
  assign buf_target_io_deq_bits_MPORT_data = buf_target[buf_target_io_deq_bits_MPORT_addr]; // @[RAS.scala 43:18]
  assign buf_target_MPORT_data = io_enq_bits_target;
  assign buf_target_MPORT_addr = top_ptr[1:0];
  assign buf_target_MPORT_mask = 1'h1;
  assign buf_target_MPORT_en = io_enq_valid;
  assign io_deq_valid = ~is_empty; // @[RAS.scala 75:22]
  assign io_deq_bits_target = io_deq_bits_REG_target; // @[RAS.scala 76:19]
  always @(posedge clock) begin
    if (buf_target_MPORT_en & buf_target_MPORT_mask) begin
      buf_target[buf_target_MPORT_addr] <= buf_target_MPORT_data; // @[RAS.scala 43:18]
    end
    if (reset) begin // @[RAS.scala 44:26]
      btm_ptr <= 3'h0; // @[RAS.scala 44:26]
    end else if (io_flush) begin // @[RAS.scala 59:20]
      btm_ptr <= 3'h0; // @[RAS.scala 60:15]
    end else if (io_enq_valid) begin // @[RAS.scala 64:27]
      if (is_full) begin // @[RAS.scala 65:23]
        btm_ptr <= _btm_ptr_T_1; // @[RAS.scala 66:19]
      end
    end
    if (reset) begin // @[RAS.scala 45:26]
      top_ptr <= 3'h0; // @[RAS.scala 45:26]
    end else if (io_flush) begin // @[RAS.scala 59:20]
      top_ptr <= 3'h0; // @[RAS.scala 61:15]
    end else if (_T) begin // @[RAS.scala 70:27]
      top_ptr <= _top_ptr_T_3; // @[RAS.scala 71:17]
    end else if (io_enq_valid) begin // @[RAS.scala 64:27]
      top_ptr <= _top_ptr_T_1; // @[RAS.scala 68:17]
    end
    io_deq_bits_REG_target <= buf_target_io_deq_bits_MPORT_data; // @[RAS.scala 76:29]
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {2{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    buf_target[initvar] = _RAND_0[38:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  btm_ptr = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  top_ptr = _RAND_2[2:0];
  _RAND_3 = {2{`RANDOM}};
  io_deq_bits_REG_target = _RAND_3[38:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MultiPortFifo_in1_out1_6(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= rd_ptr + _T_1; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= wr_ptr + _T; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MultiPortFifo_in1_out1_7(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= rd_ptr + _T_1; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= wr_ptr + _T; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MultiPortFifo_in1_out1_8(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      rd_ptr <= rd_ptr + _T_1; // @[MultiPortFifo.scala 106:16]
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (io_flush) begin // @[MultiPortFifo.scala 87:23]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      wr_ptr <= wr_ptr + _T; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module RePort_4(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_deq_0_valid = _T > 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _T_1) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RePort_5(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_deq_0_valid = _T > 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _T_1) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ReDirect_1(
  input   io_enq_0_valid,
  input   io_enq_0_bits_bim_p,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  output  io_deq_0_bits_bim_p,
  input   io_mapper_0
);
  assign io_deq_0_valid = io_mapper_0 & io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign io_deq_0_bits_bim_p = io_mapper_0 & io_enq_0_bits_bim_p; // @[RePort.scala 160:21 180:{28,40}]
endmodule
module ReDirect_2(
  input         io_enq_0_valid,
  input  [38:0] io_enq_0_bits_target,
  input         io_deq_0_ready,
  output        io_deq_0_valid,
  output [38:0] io_deq_0_bits_target,
  input         io_mapper_0
);
  assign io_deq_0_valid = io_mapper_0 & io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign io_deq_0_bits_target = io_mapper_0 ? io_enq_0_bits_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
endmodule
module IF4(
  input         clock,
  input         reset,
  output        io_if4_req_0_ready,
  input         io_if4_req_0_valid,
  input         io_if4_req_0_bits_isRVC,
  input  [31:0] io_if4_req_0_bits_instr,
  input  [38:0] io_if4_req_0_bits_pc,
  input         io_if4_req_0_bits_isRedirect,
  input  [38:0] io_if4_req_0_bits_target,
  input         io_btbResp_0_valid,
  input  [38:0] io_btbResp_0_bits_target,
  input         io_bimResp_0_valid,
  input         io_bimResp_0_bits_bim_p,
  input         io_if4_resp_0_ready,
  input         io_bftq_ready,
  input         io_jftq_ready,
  input         io_flush
);
  wire  ras_clock; // @[IF4.scala 49:19]
  wire  ras_reset; // @[IF4.scala 49:19]
  wire  ras_io_enq_valid; // @[IF4.scala 49:19]
  wire [38:0] ras_io_enq_bits_target; // @[IF4.scala 49:19]
  wire  ras_io_deq_ready; // @[IF4.scala 49:19]
  wire  ras_io_deq_valid; // @[IF4.scala 49:19]
  wire [38:0] ras_io_deq_bits_target; // @[IF4.scala 49:19]
  wire  ras_io_flush; // @[IF4.scala 49:19]
  wire  instr_fifo_clock; // @[IF4.scala 50:26]
  wire  instr_fifo_reset; // @[IF4.scala 50:26]
  wire  instr_fifo_io_enq_0_ready; // @[IF4.scala 50:26]
  wire  instr_fifo_io_enq_0_valid; // @[IF4.scala 50:26]
  wire  instr_fifo_io_deq_0_ready; // @[IF4.scala 50:26]
  wire  instr_fifo_io_deq_0_valid; // @[IF4.scala 50:26]
  wire  instr_fifo_io_flush; // @[IF4.scala 50:26]
  wire  bftq_clock; // @[IF4.scala 51:20]
  wire  bftq_reset; // @[IF4.scala 51:20]
  wire  bftq_io_enq_0_ready; // @[IF4.scala 51:20]
  wire  bftq_io_enq_0_valid; // @[IF4.scala 51:20]
  wire  bftq_io_deq_0_ready; // @[IF4.scala 51:20]
  wire  bftq_io_deq_0_valid; // @[IF4.scala 51:20]
  wire  bftq_io_flush; // @[IF4.scala 51:20]
  wire  jftq_clock; // @[IF4.scala 52:20]
  wire  jftq_reset; // @[IF4.scala 52:20]
  wire  jftq_io_enq_0_ready; // @[IF4.scala 52:20]
  wire  jftq_io_enq_0_valid; // @[IF4.scala 52:20]
  wire  jftq_io_deq_0_ready; // @[IF4.scala 52:20]
  wire  jftq_io_deq_0_valid; // @[IF4.scala 52:20]
  wire  jftq_io_flush; // @[IF4.scala 52:20]
  wire  bRePort_clock; // @[IF4.scala 55:23]
  wire  bRePort_reset; // @[IF4.scala 55:23]
  wire  bRePort_io_enq_0_ready; // @[IF4.scala 55:23]
  wire  bRePort_io_enq_0_valid; // @[IF4.scala 55:23]
  wire  bRePort_io_deq_0_ready; // @[IF4.scala 55:23]
  wire  bRePort_io_deq_0_valid; // @[IF4.scala 55:23]
  wire  jRePort_clock; // @[IF4.scala 56:23]
  wire  jRePort_reset; // @[IF4.scala 56:23]
  wire  jRePort_io_enq_0_ready; // @[IF4.scala 56:23]
  wire  jRePort_io_enq_0_valid; // @[IF4.scala 56:23]
  wire  jRePort_io_deq_0_ready; // @[IF4.scala 56:23]
  wire  jRePort_io_deq_0_valid; // @[IF4.scala 56:23]
  wire  bimRedirect_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire  bimRedirect_mdl_io_enq_0_bits_bim_p; // @[RePort.scala 188:21]
  wire  bimRedirect_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  bimRedirect_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire  bimRedirect_mdl_io_deq_0_bits_bim_p; // @[RePort.scala 188:21]
  wire  bimRedirect_mdl_io_mapper_0; // @[RePort.scala 188:21]
  wire  btbRedirect_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire [38:0] btbRedirect_mdl_io_enq_0_bits_target; // @[RePort.scala 188:21]
  wire  btbRedirect_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  btbRedirect_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire [38:0] btbRedirect_mdl_io_deq_0_bits_target; // @[RePort.scala 188:21]
  wire  btbRedirect_mdl_io_mapper_0; // @[RePort.scala 188:21]
  wire [15:0] _preDecodeAgn_info16_is_jal_T = io_if4_req_0_bits_instr[15:0] & 16'he003; // @[IF3.scala 344:34]
  wire  preDecodeAgn_info16_is_jal = 16'ha001 == _preDecodeAgn_info16_is_jal_T; // @[IF3.scala 344:34]
  wire [15:0] _preDecodeAgn_info16_is_jalr_T = io_if4_req_0_bits_instr[15:0] & 16'he07f; // @[IF3.scala 345:34]
  wire  _preDecodeAgn_info16_is_jalr_T_3 = io_if4_req_0_bits_instr[11:7] != 5'h0; // @[IF3.scala 345:82]
  wire  preDecodeAgn_info16_is_jalr = 16'h8002 == _preDecodeAgn_info16_is_jalr_T & io_if4_req_0_bits_instr[11:7] != 5'h0
    ; // @[IF3.scala 345:66]
  wire [15:0] _preDecodeAgn_info16_is_branch_T = io_if4_req_0_bits_instr[15:0] & 16'hc003; // @[IF3.scala 346:34]
  wire  preDecodeAgn_info16_is_branch = 16'hc001 == _preDecodeAgn_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [15:0] _preDecodeAgn_info16_is_call_T = io_if4_req_0_bits_instr[15:0] & 16'hf07f; // @[IF3.scala 347:34]
  wire  preDecodeAgn_info16_is_call = 16'h9002 == _preDecodeAgn_info16_is_call_T & _preDecodeAgn_info16_is_jalr_T_3; // @[IF3.scala 347:66]
  wire [15:0] _preDecodeAgn_info16_is_return_T = io_if4_req_0_bits_instr[15:0] & 16'hfdff; // @[IF3.scala 348:34]
  wire  preDecodeAgn_info16_is_return = 16'h8082 == _preDecodeAgn_info16_is_return_T; // @[IF3.scala 348:34]
  wire [51:0] _preDecodeAgn_info16_imm_T_2 = io_if4_req_0_bits_instr[12] ? 52'hfffffffffffff : 52'h0; // @[Bitwise.scala 77:12]
  wire [63:0] _preDecodeAgn_info16_imm_T_11 = {_preDecodeAgn_info16_imm_T_2,io_if4_req_0_bits_instr[12],
    io_if4_req_0_bits_instr[8],io_if4_req_0_bits_instr[10:9],io_if4_req_0_bits_instr[6],io_if4_req_0_bits_instr[7],
    io_if4_req_0_bits_instr[2],io_if4_req_0_bits_instr[11],io_if4_req_0_bits_instr[5:3],1'h0}; // @[Cat.scala 33:92]
  wire [54:0] _preDecodeAgn_info16_imm_T_14 = io_if4_req_0_bits_instr[12] ? 55'h7fffffffffffff : 55'h0; // @[Bitwise.scala 77:12]
  wire [63:0] _preDecodeAgn_info16_imm_T_20 = {_preDecodeAgn_info16_imm_T_14,io_if4_req_0_bits_instr[12],
    io_if4_req_0_bits_instr[6:5],io_if4_req_0_bits_instr[2],io_if4_req_0_bits_instr[11:10],io_if4_req_0_bits_instr[4:3],1'h0
    }; // @[Cat.scala 33:92]
  wire [63:0] _preDecodeAgn_info16_imm_T_21 = preDecodeAgn_info16_is_jal ? _preDecodeAgn_info16_imm_T_11 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _preDecodeAgn_info16_imm_T_23 = preDecodeAgn_info16_is_branch ? _preDecodeAgn_info16_imm_T_20 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] preDecodeAgn_info16_imm = _preDecodeAgn_info16_imm_T_21 | _preDecodeAgn_info16_imm_T_23; // @[Mux.scala 27:73]
  wire  preDecodeAgn_info32_is_jal = io_if4_req_0_bits_instr[6:0] == 7'h6f; // @[IF3.scala 370:39]
  wire  preDecodeAgn_info32_is_jalr = io_if4_req_0_bits_instr[6:0] == 7'h67; // @[IF3.scala 371:39]
  wire  preDecodeAgn_info32_is_branch = io_if4_req_0_bits_instr[6:0] == 7'h63; // @[IF3.scala 372:39]
  wire [4:0] _preDecodeAgn_info32_is_call_T_2 = io_if4_req_0_bits_instr[11:7] & 5'h1b; // @[IF3.scala 373:78]
  wire  preDecodeAgn_info32_is_call = (preDecodeAgn_info32_is_jal | preDecodeAgn_info32_is_jalr) & 5'h1 ==
    _preDecodeAgn_info32_is_call_T_2; // @[IF3.scala 373:60]
  wire [4:0] _preDecodeAgn_info32_is_return_T_1 = io_if4_req_0_bits_instr[19:15] & 5'h1b; // @[IF3.scala 374:59]
  wire  preDecodeAgn_info32_is_return = preDecodeAgn_info32_is_jalr & 5'h1 == _preDecodeAgn_info32_is_return_T_1 &
    io_if4_req_0_bits_instr[19:15] != io_if4_req_0_bits_instr[11:7]; // @[IF3.scala 374:82]
  wire [43:0] _preDecodeAgn_info32_imm_T_2 = io_if4_req_0_bits_instr[31] ? 44'hfffffffffff : 44'h0; // @[Bitwise.scala 77:12]
  wire [63:0] _preDecodeAgn_info32_imm_T_6 = {_preDecodeAgn_info32_imm_T_2,io_if4_req_0_bits_instr[19:12],
    io_if4_req_0_bits_instr[20],io_if4_req_0_bits_instr[30:21],1'h0}; // @[Cat.scala 33:92]
  wire [51:0] _preDecodeAgn_info32_imm_T_9 = io_if4_req_0_bits_instr[31] ? 52'hfffffffffffff : 52'h0; // @[Bitwise.scala 77:12]
  wire [63:0] _preDecodeAgn_info32_imm_T_11 = {_preDecodeAgn_info32_imm_T_9,io_if4_req_0_bits_instr[31:20]}; // @[Cat.scala 33:92]
  wire [63:0] _preDecodeAgn_info32_imm_T_18 = {_preDecodeAgn_info32_imm_T_9,io_if4_req_0_bits_instr[7],
    io_if4_req_0_bits_instr[30:25],io_if4_req_0_bits_instr[11:8],1'h0}; // @[Cat.scala 33:92]
  wire [63:0] _preDecodeAgn_info32_imm_T_19 = preDecodeAgn_info32_is_jal ? _preDecodeAgn_info32_imm_T_6 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _preDecodeAgn_info32_imm_T_20 = preDecodeAgn_info32_is_jalr ? _preDecodeAgn_info32_imm_T_11 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _preDecodeAgn_info32_imm_T_21 = preDecodeAgn_info32_is_branch ? _preDecodeAgn_info32_imm_T_18 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _preDecodeAgn_info32_imm_T_22 = _preDecodeAgn_info32_imm_T_19 | _preDecodeAgn_info32_imm_T_20; // @[Mux.scala 27:73]
  wire [63:0] preDecodeAgn_info32_imm = _preDecodeAgn_info32_imm_T_22 | _preDecodeAgn_info32_imm_T_21; // @[Mux.scala 27:73]
  wire  preDecodeAgn_0_is_jal = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_jal : preDecodeAgn_info32_is_jal; // @[IF4.scala 58:46]
  wire  preDecodeAgn_0_is_jalr = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_jalr : preDecodeAgn_info32_is_jalr; // @[IF4.scala 58:46]
  wire  preDecodeAgn_0_is_branch = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_branch :
    preDecodeAgn_info32_is_branch; // @[IF4.scala 58:46]
  wire  preDecodeAgn_0_is_call = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_call : preDecodeAgn_info32_is_call; // @[IF4.scala 58:46]
  wire  preDecodeAgn_0_is_return = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_return :
    preDecodeAgn_info32_is_return; // @[IF4.scala 58:46]
  wire [63:0] preDecodeAgn_0_imm = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_imm : preDecodeAgn_info32_imm; // @[IF4.scala 58:46]
  wire  _tage_decode_T_3 = ~reset; // @[TAGE.scala 262:13]
  wire  _isRedirect_0_T = preDecodeAgn_0_is_branch & bimRedirect_mdl_io_deq_0_bits_bim_p; // @[IF4.scala 123:19]
  wire  _isRedirect_0_T_1 = preDecodeAgn_0_is_branch & bimRedirect_mdl_io_deq_0_bits_bim_p | preDecodeAgn_0_is_jal; // @[IF4.scala 123:35]
  wire  isRedirect_0 = _isRedirect_0_T_1 | preDecodeAgn_0_is_jalr; // @[IF4.scala 124:15]
  wire [38:0] _jalr_pc_T_1 = preDecodeAgn_0_is_return & ras_io_deq_valid ? ras_io_deq_bits_target :
    btbRedirect_mdl_io_deq_0_bits_target; // @[IF4.scala 129:18]
  wire [24:0] _jalr_pc_v64_T_2 = _jalr_pc_T_1[38] ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] jalr_pc_0 = {_jalr_pc_v64_T_2,_jalr_pc_T_1}; // @[Cat.scala 33:92]
  wire  _ras_io_deq_ready_T = io_if4_req_0_ready & io_if4_req_0_valid; // @[Decoupled.scala 52:35]
  wire [2:0] _ras_io_enq_bits_target_T = io_if4_req_0_bits_isRVC ? 3'h2 : 3'h4; // @[IF4.scala 139:32]
  wire [38:0] _GEN_21 = {{36'd0}, _ras_io_enq_bits_target_T}; // @[IF4.scala 139:27]
  wire [38:0] _ras_io_enq_bits_target_T_2 = io_if4_req_0_bits_pc + _GEN_21; // @[IF4.scala 139:27]
  wire [63:0] _GEN_22 = {{25'd0}, io_if4_req_0_bits_pc}; // @[IF4.scala 146:47]
  wire [63:0] _redirectTarget_0_T_2 = _GEN_22 + preDecodeAgn_0_imm; // @[IF4.scala 146:47]
  wire [63:0] _redirectTarget_0_T_5 = _isRedirect_0_T ? _redirectTarget_0_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _redirectTarget_0_T_6 = preDecodeAgn_0_is_jal ? _redirectTarget_0_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _redirectTarget_0_T_7 = preDecodeAgn_0_is_jalr ? jalr_pc_0 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _redirectTarget_0_T_8 = _redirectTarget_0_T_5 | _redirectTarget_0_T_6; // @[Mux.scala 27:73]
  wire [63:0] redirectTarget_0 = _redirectTarget_0_T_8 | _redirectTarget_0_T_7; // @[Mux.scala 27:73]
  RAS ras ( // @[IF4.scala 49:19]
    .clock(ras_clock),
    .reset(ras_reset),
    .io_enq_valid(ras_io_enq_valid),
    .io_enq_bits_target(ras_io_enq_bits_target),
    .io_deq_ready(ras_io_deq_ready),
    .io_deq_valid(ras_io_deq_valid),
    .io_deq_bits_target(ras_io_deq_bits_target),
    .io_flush(ras_io_flush)
  );
  MultiPortFifo_in1_out1_6 instr_fifo ( // @[IF4.scala 50:26]
    .clock(instr_fifo_clock),
    .reset(instr_fifo_reset),
    .io_enq_0_ready(instr_fifo_io_enq_0_ready),
    .io_enq_0_valid(instr_fifo_io_enq_0_valid),
    .io_deq_0_ready(instr_fifo_io_deq_0_ready),
    .io_deq_0_valid(instr_fifo_io_deq_0_valid),
    .io_flush(instr_fifo_io_flush)
  );
  MultiPortFifo_in1_out1_7 bftq ( // @[IF4.scala 51:20]
    .clock(bftq_clock),
    .reset(bftq_reset),
    .io_enq_0_ready(bftq_io_enq_0_ready),
    .io_enq_0_valid(bftq_io_enq_0_valid),
    .io_deq_0_ready(bftq_io_deq_0_ready),
    .io_deq_0_valid(bftq_io_deq_0_valid),
    .io_flush(bftq_io_flush)
  );
  MultiPortFifo_in1_out1_8 jftq ( // @[IF4.scala 52:20]
    .clock(jftq_clock),
    .reset(jftq_reset),
    .io_enq_0_ready(jftq_io_enq_0_ready),
    .io_enq_0_valid(jftq_io_enq_0_valid),
    .io_deq_0_ready(jftq_io_deq_0_ready),
    .io_deq_0_valid(jftq_io_deq_0_valid),
    .io_flush(jftq_io_flush)
  );
  RePort_4 bRePort ( // @[IF4.scala 55:23]
    .clock(bRePort_clock),
    .reset(bRePort_reset),
    .io_enq_0_ready(bRePort_io_enq_0_ready),
    .io_enq_0_valid(bRePort_io_enq_0_valid),
    .io_deq_0_ready(bRePort_io_deq_0_ready),
    .io_deq_0_valid(bRePort_io_deq_0_valid)
  );
  RePort_5 jRePort ( // @[IF4.scala 56:23]
    .clock(jRePort_clock),
    .reset(jRePort_reset),
    .io_enq_0_ready(jRePort_io_enq_0_ready),
    .io_enq_0_valid(jRePort_io_enq_0_valid),
    .io_deq_0_ready(jRePort_io_deq_0_ready),
    .io_deq_0_valid(jRePort_io_deq_0_valid)
  );
  ReDirect_1 bimRedirect_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_valid(bimRedirect_mdl_io_enq_0_valid),
    .io_enq_0_bits_bim_p(bimRedirect_mdl_io_enq_0_bits_bim_p),
    .io_deq_0_ready(bimRedirect_mdl_io_deq_0_ready),
    .io_deq_0_valid(bimRedirect_mdl_io_deq_0_valid),
    .io_deq_0_bits_bim_p(bimRedirect_mdl_io_deq_0_bits_bim_p),
    .io_mapper_0(bimRedirect_mdl_io_mapper_0)
  );
  ReDirect_2 btbRedirect_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_valid(btbRedirect_mdl_io_enq_0_valid),
    .io_enq_0_bits_target(btbRedirect_mdl_io_enq_0_bits_target),
    .io_deq_0_ready(btbRedirect_mdl_io_deq_0_ready),
    .io_deq_0_valid(btbRedirect_mdl_io_deq_0_valid),
    .io_deq_0_bits_target(btbRedirect_mdl_io_deq_0_bits_target),
    .io_mapper_0(btbRedirect_mdl_io_mapper_0)
  );
  assign io_if4_req_0_ready = bRePort_io_enq_0_ready & jRePort_io_enq_0_ready & instr_fifo_io_enq_0_ready; // @[IF4.scala 254:76]
  assign ras_clock = clock;
  assign ras_reset = reset;
  assign ras_io_enq_valid = preDecodeAgn_0_is_call & _ras_io_deq_ready_T; // @[IF4.scala 135:16]
  assign ras_io_enq_bits_target = preDecodeAgn_0_is_call ? _ras_io_enq_bits_target_T_2 : 39'h0; // @[Mux.scala 101:16]
  assign ras_io_deq_ready = preDecodeAgn_0_is_return & _ras_io_deq_ready_T; // @[IF4.scala 132:65]
  assign ras_io_flush = io_flush; // @[IF4.scala 212:16]
  assign instr_fifo_clock = clock;
  assign instr_fifo_reset = reset;
  assign instr_fifo_io_enq_0_valid = io_if4_req_0_ready & io_if4_req_0_valid; // @[Decoupled.scala 52:35]
  assign instr_fifo_io_deq_0_ready = io_if4_resp_0_ready; // @[IF4.scala 237:15]
  assign instr_fifo_io_flush = io_flush; // @[IF4.scala 264:23]
  assign bftq_clock = clock;
  assign bftq_reset = reset;
  assign bftq_io_enq_0_valid = bRePort_io_deq_0_valid; // @[IF4.scala 241:15]
  assign bftq_io_deq_0_ready = io_bftq_ready; // @[IF4.scala 238:11]
  assign bftq_io_flush = io_flush; // @[IF4.scala 265:17]
  assign jftq_clock = clock;
  assign jftq_reset = reset;
  assign jftq_io_enq_0_valid = jRePort_io_deq_0_valid; // @[IF4.scala 242:15]
  assign jftq_io_deq_0_ready = io_jftq_ready; // @[IF4.scala 239:11]
  assign jftq_io_flush = io_flush; // @[IF4.scala 266:17]
  assign bRePort_clock = clock;
  assign bRePort_reset = reset;
  assign bRePort_io_enq_0_valid = _ras_io_deq_ready_T & preDecodeAgn_0_is_branch; // @[IF4.scala 247:51]
  assign bRePort_io_deq_0_ready = bftq_io_enq_0_ready; // @[IF4.scala 241:15]
  assign jRePort_clock = clock;
  assign jRePort_reset = reset;
  assign jRePort_io_enq_0_valid = _ras_io_deq_ready_T & preDecodeAgn_0_is_jalr; // @[IF4.scala 248:51]
  assign jRePort_io_deq_0_ready = jftq_io_enq_0_ready; // @[IF4.scala 242:15]
  assign bimRedirect_mdl_io_enq_0_valid = io_bimResp_0_valid; // @[RePort.scala 190:9]
  assign bimRedirect_mdl_io_enq_0_bits_bim_p = io_bimResp_0_bits_bim_p; // @[RePort.scala 190:9]
  assign bimRedirect_mdl_io_deq_0_ready = preDecodeAgn_0_is_branch & _ras_io_deq_ready_T; // @[IF4.scala 221:43]
  assign bimRedirect_mdl_io_mapper_0 = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_branch :
    preDecodeAgn_info32_is_branch; // @[IF4.scala 58:46]
  assign btbRedirect_mdl_io_enq_0_valid = io_btbResp_0_valid; // @[RePort.scala 190:9]
  assign btbRedirect_mdl_io_enq_0_bits_target = io_btbResp_0_bits_target; // @[RePort.scala 190:9]
  assign btbRedirect_mdl_io_deq_0_ready = preDecodeAgn_0_is_jalr & _ras_io_deq_ready_T; // @[IF4.scala 220:43]
  assign btbRedirect_mdl_io_mapper_0 = io_if4_req_0_bits_isRVC ? preDecodeAgn_info16_is_jalr :
    preDecodeAgn_info32_is_jalr; // @[IF4.scala 58:46]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 264:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~isRedirect_0 & _tage_decode_T_3 & ~(redirectTarget_0 == 64'h0)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:173 when( ~isRedirect(i) ) { assert( redirectTarget(i) === 0.U ) }\n"); // @[IF4.scala 173:36]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(redirectTarget_0 == 64'h0) & (~isRedirect_0 & _tage_decode_T_3)) begin
          $fatal; // @[IF4.scala 173:36]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_if4_req_0_valid & ~io_if4_req_0_bits_isRedirect & _tage_decode_T_3 & ~(io_if4_req_0_bits_target == 39'h0)
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:174 when( io.if4_req(i).valid & ~io.if4_req(i).bits.isRedirect ) { assert( io.if4_req(i).bits.target === 0.U ) }\n"
            ); // @[IF4.scala 174:74]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(io_if4_req_0_bits_target == 39'h0) & (io_if4_req_0_valid & ~io_if4_req_0_bits_isRedirect &
          _tage_decode_T_3)) begin
          $fatal; // @[IF4.scala 174:74]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_tage_decode_T_3 & ~(~(btbRedirect_mdl_io_deq_0_ready & ~btbRedirect_mdl_io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:224 assert( ~(btbRedirect(i).ready  & ~btbRedirect(i).valid) )\n"); // @[IF4.scala 224:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(btbRedirect_mdl_io_deq_0_ready & ~btbRedirect_mdl_io_deq_0_valid)) & _tage_decode_T_3) begin
          $fatal; // @[IF4.scala 224:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_tage_decode_T_3 & ~(~(bimRedirect_mdl_io_deq_0_ready & ~bimRedirect_mdl_io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:225 assert( ~(bimRedirect(i).ready  & ~bimRedirect(i).valid) )\n"); // @[IF4.scala 225:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(bimRedirect_mdl_io_deq_0_ready & ~bimRedirect_mdl_io_deq_0_valid)) & _tage_decode_T_3) begin
          $fatal; // @[IF4.scala 225:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RePort_6(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  assign io_enq_0_ready = io_deq_0_ready; // @[RePort.scala 80:69]
  assign io_deq_0_valid = _T > 1'h0; // @[RePort.scala 79:81]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _T_1) & ~reset) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MultiPortFifo_in1_out1_9(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _rd_ptr_T_2 = rd_ptr + _T_1; // @[MultiPortFifo.scala 106:26]
  wire  _wr_ptr_T_2 = wr_ptr + _T; // @[MultiPortFifo.scala 107:26]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else begin
      rd_ptr <= _rd_ptr_T_2;
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else begin
      wr_ptr <= _wr_ptr_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MultiPortFifo_in1_out1_10(
  input   clock,
  input   reset,
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_deq_0_ready,
  output  io_deq_0_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] _io_enq_0_ready_T = {{1'd0}, wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  _GEN_1 = _io_enq_0_ready_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] _io_deq_0_valid_T = {{1'd0}, rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  _T = io_enq_0_ready & io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_6 = _T ? ~_io_enq_0_ready_T[0] | buf_valid_0 : buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _GEN_7 = _T ? _io_enq_0_ready_T[0] | buf_valid_1 : buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  _T_1 = io_deq_0_ready & io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _rd_ptr_T_2 = rd_ptr + _T_1; // @[MultiPortFifo.scala 106:26]
  wire  _wr_ptr_T_2 = wr_ptr + _T; // @[MultiPortFifo.scala 107:26]
  wire  _T_9 = ~reset; // @[MultiPortFifo.scala 161:13]
  assign io_enq_0_ready = ~_GEN_1; // @[MultiPortFifo.scala 64:94]
  assign io_deq_0_valid = _io_deq_0_valid_T[0] ? buf_valid_1 : buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  always @(posedge clock) begin
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_0 <= _GEN_6;
      end
    end else begin
      buf_valid_0 <= _GEN_6;
    end
    if (reset) begin // @[MultiPortFifo.scala 58:30]
      buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (_T_1) begin // @[MultiPortFifo.scala 98:34]
      if (_io_deq_0_valid_T[0]) begin // @[MultiPortFifo.scala 98:57]
        buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        buf_valid_1 <= _GEN_7;
      end
    end else begin
      buf_valid_1 <= _GEN_7;
    end
    if (reset) begin // @[MultiPortFifo.scala 60:27]
      rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else begin
      rd_ptr <= _rd_ptr_T_2;
    end
    if (reset) begin // @[MultiPortFifo.scala 61:27]
      wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else begin
      wr_ptr <= _wr_ptr_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(io_enq_0_valid & ~io_enq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_enq_0_valid & ~io_enq_0_valid)) & ~reset) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(io_deq_0_valid & ~io_deq_0_valid))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_deq_0_valid & ~io_deq_0_valid)) & _T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buf_valid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buf_valid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  rd_ptr = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  wr_ptr = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Rename(
  input   clock,
  input   reset,
  output  io_rnReq_0_ready,
  input   io_rnReq_0_valid,
  input   io_rnReq_0_bits_lsu_isa_flw,
  input   io_rnReq_0_bits_lsu_isa_fld,
  input   io_rnReq_0_bits_privil_isa_ecall,
  input   io_rnReq_0_bits_privil_isa_ebreak,
  input   io_rnReq_0_bits_privil_isa_mret,
  input   io_rnReq_0_bits_privil_isa_uret,
  input   io_rnReq_0_bits_privil_isa_sret,
  input   io_rnReq_0_bits_privil_isa_dret,
  input   io_rnReq_0_bits_privil_isa_hfence_vvma,
  input   io_rnReq_0_bits_privil_isa_hfence_gvma,
  input   io_rnReq_0_bits_privil_isa_hlv_b,
  input   io_rnReq_0_bits_privil_isa_hlv_bu,
  input   io_rnReq_0_bits_privil_isa_hlv_h,
  input   io_rnReq_0_bits_privil_isa_hlv_hu,
  input   io_rnReq_0_bits_privil_isa_hlvx_hu,
  input   io_rnReq_0_bits_privil_isa_hlv_w,
  input   io_rnReq_0_bits_privil_isa_hlvx_wu,
  input   io_rnReq_0_bits_privil_isa_hsv_b,
  input   io_rnReq_0_bits_privil_isa_hsv_h,
  input   io_rnReq_0_bits_privil_isa_hsv_w,
  input   io_rnReq_0_bits_privil_isa_hlv_wu,
  input   io_rnReq_0_bits_privil_isa_hlv_d,
  input   io_rnReq_0_bits_privil_isa_hsv_d,
  input   io_rnReq_0_bits_privil_isa_is_access_fault,
  input   io_rnReq_0_bits_privil_isa_is_paging_fault,
  input   io_rnReq_0_bits_fpu_isa_fmadd_s,
  input   io_rnReq_0_bits_fpu_isa_fmsub_s,
  input   io_rnReq_0_bits_fpu_isa_fnmsub_s,
  input   io_rnReq_0_bits_fpu_isa_fnmadd_s,
  input   io_rnReq_0_bits_fpu_isa_fadd_s,
  input   io_rnReq_0_bits_fpu_isa_fsub_s,
  input   io_rnReq_0_bits_fpu_isa_fmul_s,
  input   io_rnReq_0_bits_fpu_isa_fdiv_s,
  input   io_rnReq_0_bits_fpu_isa_fsqrt_s,
  input   io_rnReq_0_bits_fpu_isa_fsgnj_s,
  input   io_rnReq_0_bits_fpu_isa_fsgnjn_s,
  input   io_rnReq_0_bits_fpu_isa_fsgnjx_s,
  input   io_rnReq_0_bits_fpu_isa_fmin_s,
  input   io_rnReq_0_bits_fpu_isa_fmax_s,
  input   io_rnReq_0_bits_fpu_isa_fcvt_w_s,
  input   io_rnReq_0_bits_fpu_isa_fcvt_wu_s,
  input   io_rnReq_0_bits_fpu_isa_fmv_x_w,
  input   io_rnReq_0_bits_fpu_isa_feq_s,
  input   io_rnReq_0_bits_fpu_isa_flt_s,
  input   io_rnReq_0_bits_fpu_isa_fle_s,
  input   io_rnReq_0_bits_fpu_isa_fclass_s,
  input   io_rnReq_0_bits_fpu_isa_fcvt_s_w,
  input   io_rnReq_0_bits_fpu_isa_fcvt_s_wu,
  input   io_rnReq_0_bits_fpu_isa_fmv_w_x,
  input   io_rnReq_0_bits_fpu_isa_fcvt_l_s,
  input   io_rnReq_0_bits_fpu_isa_fcvt_lu_s,
  input   io_rnReq_0_bits_fpu_isa_fcvt_s_l,
  input   io_rnReq_0_bits_fpu_isa_fcvt_s_lu,
  input   io_rnReq_0_bits_fpu_isa_fmadd_d,
  input   io_rnReq_0_bits_fpu_isa_fmsub_d,
  input   io_rnReq_0_bits_fpu_isa_fnmsub_d,
  input   io_rnReq_0_bits_fpu_isa_fnmadd_d,
  input   io_rnReq_0_bits_fpu_isa_fadd_d,
  input   io_rnReq_0_bits_fpu_isa_fsub_d,
  input   io_rnReq_0_bits_fpu_isa_fmul_d,
  input   io_rnReq_0_bits_fpu_isa_fdiv_d,
  input   io_rnReq_0_bits_fpu_isa_fsqrt_d,
  input   io_rnReq_0_bits_fpu_isa_fsgnj_d,
  input   io_rnReq_0_bits_fpu_isa_fsgnjn_d,
  input   io_rnReq_0_bits_fpu_isa_fsgnjx_d,
  input   io_rnReq_0_bits_fpu_isa_fmin_d,
  input   io_rnReq_0_bits_fpu_isa_fmax_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_s_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_d_s,
  input   io_rnReq_0_bits_fpu_isa_feq_d,
  input   io_rnReq_0_bits_fpu_isa_flt_d,
  input   io_rnReq_0_bits_fpu_isa_fle_d,
  input   io_rnReq_0_bits_fpu_isa_fclass_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_w_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_wu_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_d_w,
  input   io_rnReq_0_bits_fpu_isa_fcvt_d_wu,
  input   io_rnReq_0_bits_fpu_isa_fcvt_l_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_lu_d,
  input   io_rnReq_0_bits_fpu_isa_fmv_x_d,
  input   io_rnReq_0_bits_fpu_isa_fcvt_d_l,
  input   io_rnReq_0_bits_fpu_isa_fcvt_d_lu,
  input   io_rnReq_0_bits_fpu_isa_fmv_d_x,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rw,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rs,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rc,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rwi,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rsi,
  input   io_rnReq_0_bits_fpu_isa_fcsr_rci,
  input   io_rnRsp_0_ready,
  input   io_xRename_0_req_ready,
  output  io_xRename_0_req_valid,
  input   io_fRename_0_req_ready,
  output  io_fRename_0_req_valid,
  input   io_rod_i_0_ready
);
  wire  rnRspReport_clock; // @[Rename.scala 42:27]
  wire  rnRspReport_reset; // @[Rename.scala 42:27]
  wire  rnRspReport_io_enq_0_ready; // @[Rename.scala 42:27]
  wire  rnRspReport_io_enq_0_valid; // @[Rename.scala 42:27]
  wire  rnRspReport_io_deq_0_ready; // @[Rename.scala 42:27]
  wire  rnRspReport_io_deq_0_valid; // @[Rename.scala 42:27]
  wire  rnRspFifo_clock; // @[Rename.scala 43:25]
  wire  rnRspFifo_reset; // @[Rename.scala 43:25]
  wire  rnRspFifo_io_enq_0_ready; // @[Rename.scala 43:25]
  wire  rnRspFifo_io_enq_0_valid; // @[Rename.scala 43:25]
  wire  rnRspFifo_io_deq_0_ready; // @[Rename.scala 43:25]
  wire  rnRspFifo_io_deq_0_valid; // @[Rename.scala 43:25]
  wire  reOrder_fifo_i_clock; // @[Rename.scala 48:21]
  wire  reOrder_fifo_i_reset; // @[Rename.scala 48:21]
  wire  reOrder_fifo_i_io_enq_0_ready; // @[Rename.scala 48:21]
  wire  reOrder_fifo_i_io_enq_0_valid; // @[Rename.scala 48:21]
  wire  reOrder_fifo_i_io_deq_0_ready; // @[Rename.scala 48:21]
  wire  reOrder_fifo_i_io_deq_0_valid; // @[Rename.scala 48:21]
  wire  _rnRspReport_io_enq_0_valid_T = io_rnReq_0_ready & io_rnReq_0_valid; // @[Decoupled.scala 52:35]
  wire  _rnRspReport_io_enq_0_valid_T_21 = io_rnReq_0_bits_privil_isa_ecall | io_rnReq_0_bits_privil_isa_ebreak |
    io_rnReq_0_bits_privil_isa_mret | io_rnReq_0_bits_privil_isa_uret | io_rnReq_0_bits_privil_isa_sret |
    io_rnReq_0_bits_privil_isa_dret | io_rnReq_0_bits_privil_isa_hfence_vvma | io_rnReq_0_bits_privil_isa_hfence_gvma |
    io_rnReq_0_bits_privil_isa_hlv_b | io_rnReq_0_bits_privil_isa_hlv_bu | io_rnReq_0_bits_privil_isa_hlv_h |
    io_rnReq_0_bits_privil_isa_hlv_hu | io_rnReq_0_bits_privil_isa_hlvx_hu | io_rnReq_0_bits_privil_isa_hlv_w |
    io_rnReq_0_bits_privil_isa_hlvx_wu | io_rnReq_0_bits_privil_isa_hsv_b | io_rnReq_0_bits_privil_isa_hsv_h |
    io_rnReq_0_bits_privil_isa_hsv_w | io_rnReq_0_bits_privil_isa_hlv_wu | io_rnReq_0_bits_privil_isa_hlv_d |
    io_rnReq_0_bits_privil_isa_hsv_d | io_rnReq_0_bits_privil_isa_is_access_fault; // @[riscv_isa.scala 248:187]
  wire  _rnRspReport_io_enq_0_valid_T_22 = _rnRspReport_io_enq_0_valid_T_21 | io_rnReq_0_bits_privil_isa_is_paging_fault
    ; // @[riscv_isa.scala 249:21]
  wire  _io_xRename_0_req_valid_T_1 = io_rnReq_0_bits_lsu_isa_flw | io_rnReq_0_bits_lsu_isa_fld; // @[riscv_isa.scala 166:20]
  wire  _io_xRename_0_req_valid_T_10 = io_rnReq_0_bits_fpu_isa_fmadd_s | io_rnReq_0_bits_fpu_isa_fmsub_s |
    io_rnReq_0_bits_fpu_isa_fnmsub_s | io_rnReq_0_bits_fpu_isa_fnmadd_s | io_rnReq_0_bits_fpu_isa_fadd_s |
    io_rnReq_0_bits_fpu_isa_fsub_s | io_rnReq_0_bits_fpu_isa_fmul_s | io_rnReq_0_bits_fpu_isa_fdiv_s |
    io_rnReq_0_bits_fpu_isa_fsqrt_s | io_rnReq_0_bits_fpu_isa_fmadd_d; // @[riscv_isa.scala 414:91]
  wire  _io_xRename_0_req_valid_T_19 = _io_xRename_0_req_valid_T_10 | io_rnReq_0_bits_fpu_isa_fmsub_d |
    io_rnReq_0_bits_fpu_isa_fnmsub_d | io_rnReq_0_bits_fpu_isa_fnmadd_d | io_rnReq_0_bits_fpu_isa_fadd_d |
    io_rnReq_0_bits_fpu_isa_fsub_d | io_rnReq_0_bits_fpu_isa_fmul_d | io_rnReq_0_bits_fpu_isa_fdiv_d |
    io_rnReq_0_bits_fpu_isa_fsqrt_d | io_rnReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 415:91]
  wire  _io_xRename_0_req_valid_T_22 = _io_xRename_0_req_valid_T_19 | io_rnReq_0_bits_fpu_isa_fsgnjn_s |
    io_rnReq_0_bits_fpu_isa_fsgnjx_s | io_rnReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 416:35]
  wire  _io_xRename_0_req_valid_T_25 = _io_xRename_0_req_valid_T_22 | io_rnReq_0_bits_fpu_isa_fsgnjn_d |
    io_rnReq_0_bits_fpu_isa_fsgnjx_d | io_rnReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 417:35]
  wire  _io_xRename_0_req_valid_T_28 = _io_xRename_0_req_valid_T_25 | io_rnReq_0_bits_fpu_isa_fmax_s |
    io_rnReq_0_bits_fpu_isa_fmin_d | io_rnReq_0_bits_fpu_isa_fmax_d; // @[riscv_isa.scala 418:30]
  wire  _io_xRename_0_req_valid_T_29 = _io_xRename_0_req_valid_T_25 | io_rnReq_0_bits_fpu_isa_fmax_s |
    io_rnReq_0_bits_fpu_isa_fmin_d | io_rnReq_0_bits_fpu_isa_fmax_d | io_rnReq_0_bits_fpu_isa_fcvt_s_w; // @[riscv_isa.scala 418:39]
  wire  _io_xRename_0_req_valid_T_33 = _io_xRename_0_req_valid_T_29 | io_rnReq_0_bits_fpu_isa_fcvt_s_wu |
    io_rnReq_0_bits_fpu_isa_fcvt_d_w | io_rnReq_0_bits_fpu_isa_fcvt_d_wu | io_rnReq_0_bits_fpu_isa_fcvt_s_l; // @[riscv_isa.scala 419:49]
  wire  _io_xRename_0_req_valid_T_37 = _io_xRename_0_req_valid_T_33 | io_rnReq_0_bits_fpu_isa_fcvt_s_lu |
    io_rnReq_0_bits_fpu_isa_fcvt_d_l | io_rnReq_0_bits_fpu_isa_fcvt_d_lu | io_rnReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 420:49]
  wire  _io_xRename_0_req_valid_T_39 = _io_xRename_0_req_valid_T_37 | io_rnReq_0_bits_fpu_isa_fcvt_d_s |
    io_rnReq_0_bits_fpu_isa_fmv_w_x; // @[riscv_isa.scala 421:25]
  wire  _io_xRename_0_req_valid_T_40 = _io_xRename_0_req_valid_T_39 | io_rnReq_0_bits_fpu_isa_fmv_d_x; // @[riscv_isa.scala 422:13]
  wire  _io_xRename_0_req_valid_T_41 = _io_xRename_0_req_valid_T_1 | _io_xRename_0_req_valid_T_40; // @[riscv_isa.scala 794:20]
  wire  _io_xRename_0_req_valid_T_42 = ~_io_xRename_0_req_valid_T_41; // @[riscv_isa.scala 800:16]
  wire  _T = io_fRename_0_req_ready & io_fRename_0_req_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = io_xRename_0_req_ready & io_xRename_0_req_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _T_2 = _T + _T_1; // @[Bitwise.scala 51:90]
  wire  _T_6 = ~reset; // @[Rename.scala 84:40]
  wire  _T_36 = _io_xRename_0_req_valid_T_28 | io_rnReq_0_bits_fpu_isa_feq_s; // @[riscv_isa.scala 517:49]
  wire  _T_42 = _T_36 | io_rnReq_0_bits_fpu_isa_flt_s | io_rnReq_0_bits_fpu_isa_fle_s | io_rnReq_0_bits_fpu_isa_feq_d |
    io_rnReq_0_bits_fpu_isa_flt_d | io_rnReq_0_bits_fpu_isa_fle_d | io_rnReq_0_bits_fpu_isa_fclass_s; // @[riscv_isa.scala 518:73]
  wire  _T_44 = _T_42 | io_rnReq_0_bits_fpu_isa_fclass_d | io_rnReq_0_bits_fpu_isa_fmv_x_w; // @[riscv_isa.scala 519:25]
  wire  _T_48 = _T_44 | io_rnReq_0_bits_fpu_isa_fmv_w_x | io_rnReq_0_bits_fpu_isa_fmv_x_d |
    io_rnReq_0_bits_fpu_isa_fmv_d_x | io_rnReq_0_bits_fpu_isa_fcvt_s_w; // @[riscv_isa.scala 520:49]
  wire  _T_52 = _T_48 | io_rnReq_0_bits_fpu_isa_fcvt_s_wu | io_rnReq_0_bits_fpu_isa_fcvt_l_s |
    io_rnReq_0_bits_fpu_isa_fcvt_lu_s | io_rnReq_0_bits_fpu_isa_fcvt_s_l; // @[riscv_isa.scala 521:49]
  wire  _T_56 = _T_52 | io_rnReq_0_bits_fpu_isa_fcvt_s_lu | io_rnReq_0_bits_fpu_isa_fcvt_s_d |
    io_rnReq_0_bits_fpu_isa_fcvt_d_s | io_rnReq_0_bits_fpu_isa_fcvt_w_d; // @[riscv_isa.scala 522:49]
  wire  _T_62 = _T_56 | io_rnReq_0_bits_fpu_isa_fcvt_wu_d | io_rnReq_0_bits_fpu_isa_fcvt_d_w |
    io_rnReq_0_bits_fpu_isa_fcvt_d_wu | io_rnReq_0_bits_fpu_isa_fcvt_l_d | io_rnReq_0_bits_fpu_isa_fcvt_lu_d |
    io_rnReq_0_bits_fpu_isa_fcvt_d_l; // @[riscv_isa.scala 523:73]
  wire  _T_66 = _T_62 | io_rnReq_0_bits_fpu_isa_fcvt_d_lu | io_rnReq_0_bits_fpu_isa_fcvt_w_s |
    io_rnReq_0_bits_fpu_isa_fcvt_wu_s | io_rnReq_0_bits_fpu_isa_fcsr_rw; // @[riscv_isa.scala 524:49]
  wire  _T_71 = _T_66 | io_rnReq_0_bits_fpu_isa_fcsr_rs | io_rnReq_0_bits_fpu_isa_fcsr_rc |
    io_rnReq_0_bits_fpu_isa_fcsr_rwi | io_rnReq_0_bits_fpu_isa_fcsr_rsi | io_rnReq_0_bits_fpu_isa_fcsr_rci; // @[riscv_isa.scala 525:61]
  wire  _GEN_0 = _rnRspReport_io_enq_0_valid_T & _T_6; // @[Rename.scala 157:15]
  RePort_6 rnRspReport ( // @[Rename.scala 42:27]
    .clock(rnRspReport_clock),
    .reset(rnRspReport_reset),
    .io_enq_0_ready(rnRspReport_io_enq_0_ready),
    .io_enq_0_valid(rnRspReport_io_enq_0_valid),
    .io_deq_0_ready(rnRspReport_io_deq_0_ready),
    .io_deq_0_valid(rnRspReport_io_deq_0_valid)
  );
  MultiPortFifo_in1_out1_9 rnRspFifo ( // @[Rename.scala 43:25]
    .clock(rnRspFifo_clock),
    .reset(rnRspFifo_reset),
    .io_enq_0_ready(rnRspFifo_io_enq_0_ready),
    .io_enq_0_valid(rnRspFifo_io_enq_0_valid),
    .io_deq_0_ready(rnRspFifo_io_deq_0_ready),
    .io_deq_0_valid(rnRspFifo_io_deq_0_valid)
  );
  MultiPortFifo_in1_out1_10 reOrder_fifo_i ( // @[Rename.scala 48:21]
    .clock(reOrder_fifo_i_clock),
    .reset(reOrder_fifo_i_reset),
    .io_enq_0_ready(reOrder_fifo_i_io_enq_0_ready),
    .io_enq_0_valid(reOrder_fifo_i_io_enq_0_valid),
    .io_deq_0_ready(reOrder_fifo_i_io_deq_0_ready),
    .io_deq_0_valid(reOrder_fifo_i_io_deq_0_valid)
  );
  assign io_rnReq_0_ready = io_xRename_0_req_ready & io_fRename_0_req_ready & reOrder_fifo_i_io_enq_0_ready &
    rnRspFifo_io_enq_0_ready; // @[Rename.scala 91:92]
  assign io_xRename_0_req_valid = _rnRspReport_io_enq_0_valid_T & _io_xRename_0_req_valid_T_42; // @[Rename.scala 60:52]
  assign io_fRename_0_req_valid = _rnRspReport_io_enq_0_valid_T & _io_xRename_0_req_valid_T_41; // @[Rename.scala 67:52]
  assign rnRspReport_clock = clock;
  assign rnRspReport_reset = reset;
  assign rnRspReport_io_enq_0_valid = _rnRspReport_io_enq_0_valid_T & ~_rnRspReport_io_enq_0_valid_T_22; // @[Rename.scala 57:53]
  assign rnRspReport_io_deq_0_ready = rnRspFifo_io_enq_0_ready; // @[Rename.scala 44:20]
  assign rnRspFifo_clock = clock;
  assign rnRspFifo_reset = reset;
  assign rnRspFifo_io_enq_0_valid = rnRspReport_io_deq_0_valid; // @[Rename.scala 44:20]
  assign rnRspFifo_io_deq_0_ready = io_rnRsp_0_ready; // @[Rename.scala 45:20]
  assign reOrder_fifo_i_clock = clock;
  assign reOrder_fifo_i_reset = reset;
  assign reOrder_fifo_i_io_enq_0_valid = io_rnReq_0_ready & io_rnReq_0_valid; // @[Decoupled.scala 52:35]
  assign reOrder_fifo_i_io_deq_0_ready = io_rod_i_0_ready; // @[Rename.scala 49:16]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T_2 <= 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, rename should be one-hot\n    at Rename.scala:84 for ( j <- 0 until rnChn ) { assert( PopCount( Seq(io.fRename(j).req.fire, io.xRename(j).req.fire)) <= 1.U, \"Assert Failed, rename should be one-hot\" ) }\n"
            ); // @[Rename.scala 84:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_2 <= 2'h1) & ~reset) begin
          $fatal; // @[Rename.scala 84:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_rnRspReport_io_enq_0_valid_T & _T_6 & ~(~_T_71)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Rename.scala:157 assert(io.rnReq(i).bits.fpu_isa.is_fpu === false.B)\n"); // @[Rename.scala 157:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~_T_71) & (_rnRspReport_io_enq_0_valid_T & _T_6)) begin
          $fatal; // @[Rename.scala 157:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_0 & ~_io_xRename_0_req_valid_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Rename.scala:158 assert(io.rnReq(i).bits.is_fwb === false.B)\n"
            ); // @[Rename.scala 158:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_io_xRename_0_req_valid_T_42 & (_rnRspReport_io_enq_0_valid_T & _T_6)) begin
          $fatal; // @[Rename.scala 158:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_2(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_22 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_22 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_3(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_25 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_25 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_4(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_23 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_23 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_5(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_15 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_15 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_6(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_52 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_52 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Issue(
  input        clock,
  input        reset,
  output       io_dptReq_0_ready,
  input        io_dptReq_0_valid,
  input        io_dptReq_0_bits_alu_isa_lui,
  input        io_dptReq_0_bits_alu_isa_auipc,
  input        io_dptReq_0_bits_alu_isa_addi,
  input        io_dptReq_0_bits_alu_isa_addiw,
  input        io_dptReq_0_bits_alu_isa_slti,
  input        io_dptReq_0_bits_alu_isa_sltiu,
  input        io_dptReq_0_bits_alu_isa_xori,
  input        io_dptReq_0_bits_alu_isa_ori,
  input        io_dptReq_0_bits_alu_isa_andi,
  input        io_dptReq_0_bits_alu_isa_slli,
  input        io_dptReq_0_bits_alu_isa_slliw,
  input        io_dptReq_0_bits_alu_isa_srli,
  input        io_dptReq_0_bits_alu_isa_srliw,
  input        io_dptReq_0_bits_alu_isa_srai,
  input        io_dptReq_0_bits_alu_isa_sraiw,
  input        io_dptReq_0_bits_alu_isa_add,
  input        io_dptReq_0_bits_alu_isa_addw,
  input        io_dptReq_0_bits_alu_isa_sub,
  input        io_dptReq_0_bits_alu_isa_subw,
  input        io_dptReq_0_bits_alu_isa_sll,
  input        io_dptReq_0_bits_alu_isa_sllw,
  input        io_dptReq_0_bits_alu_isa_slt,
  input        io_dptReq_0_bits_alu_isa_sltu,
  input        io_dptReq_0_bits_alu_isa_xor,
  input        io_dptReq_0_bits_alu_isa_srl,
  input        io_dptReq_0_bits_alu_isa_srlw,
  input        io_dptReq_0_bits_alu_isa_sra,
  input        io_dptReq_0_bits_alu_isa_sraw,
  input        io_dptReq_0_bits_alu_isa_or,
  input        io_dptReq_0_bits_alu_isa_and,
  input        io_dptReq_0_bits_alu_isa_wfi,
  input        io_dptReq_0_bits_bru_isa_jal,
  input        io_dptReq_0_bits_bru_isa_jalr,
  input        io_dptReq_0_bits_bru_isa_beq,
  input        io_dptReq_0_bits_bru_isa_bne,
  input        io_dptReq_0_bits_bru_isa_blt,
  input        io_dptReq_0_bits_bru_isa_bge,
  input        io_dptReq_0_bits_bru_isa_bltu,
  input        io_dptReq_0_bits_bru_isa_bgeu,
  input        io_dptReq_0_bits_lsu_isa_lb,
  input        io_dptReq_0_bits_lsu_isa_lh,
  input        io_dptReq_0_bits_lsu_isa_lw,
  input        io_dptReq_0_bits_lsu_isa_ld,
  input        io_dptReq_0_bits_lsu_isa_lbu,
  input        io_dptReq_0_bits_lsu_isa_lhu,
  input        io_dptReq_0_bits_lsu_isa_lwu,
  input        io_dptReq_0_bits_lsu_isa_sb,
  input        io_dptReq_0_bits_lsu_isa_sh,
  input        io_dptReq_0_bits_lsu_isa_sw,
  input        io_dptReq_0_bits_lsu_isa_sd,
  input        io_dptReq_0_bits_lsu_isa_fence,
  input        io_dptReq_0_bits_lsu_isa_fence_i,
  input        io_dptReq_0_bits_lsu_isa_sfence_vma,
  input        io_dptReq_0_bits_lsu_isa_lr_w,
  input        io_dptReq_0_bits_lsu_isa_sc_w,
  input        io_dptReq_0_bits_lsu_isa_amoswap_w,
  input        io_dptReq_0_bits_lsu_isa_amoadd_w,
  input        io_dptReq_0_bits_lsu_isa_amoxor_w,
  input        io_dptReq_0_bits_lsu_isa_amoand_w,
  input        io_dptReq_0_bits_lsu_isa_amoor_w,
  input        io_dptReq_0_bits_lsu_isa_amomin_w,
  input        io_dptReq_0_bits_lsu_isa_amomax_w,
  input        io_dptReq_0_bits_lsu_isa_amominu_w,
  input        io_dptReq_0_bits_lsu_isa_amomaxu_w,
  input        io_dptReq_0_bits_lsu_isa_lr_d,
  input        io_dptReq_0_bits_lsu_isa_sc_d,
  input        io_dptReq_0_bits_lsu_isa_amoswap_d,
  input        io_dptReq_0_bits_lsu_isa_amoadd_d,
  input        io_dptReq_0_bits_lsu_isa_amoxor_d,
  input        io_dptReq_0_bits_lsu_isa_amoand_d,
  input        io_dptReq_0_bits_lsu_isa_amoor_d,
  input        io_dptReq_0_bits_lsu_isa_amomin_d,
  input        io_dptReq_0_bits_lsu_isa_amomax_d,
  input        io_dptReq_0_bits_lsu_isa_amominu_d,
  input        io_dptReq_0_bits_lsu_isa_amomaxu_d,
  input        io_dptReq_0_bits_lsu_isa_flw,
  input        io_dptReq_0_bits_lsu_isa_fsw,
  input        io_dptReq_0_bits_lsu_isa_fld,
  input        io_dptReq_0_bits_lsu_isa_fsd,
  input        io_dptReq_0_bits_csr_isa_rw,
  input        io_dptReq_0_bits_csr_isa_rs,
  input        io_dptReq_0_bits_csr_isa_rc,
  input        io_dptReq_0_bits_csr_isa_rwi,
  input        io_dptReq_0_bits_csr_isa_rsi,
  input        io_dptReq_0_bits_csr_isa_rci,
  input        io_dptReq_0_bits_mul_isa_mul,
  input        io_dptReq_0_bits_mul_isa_mulh,
  input        io_dptReq_0_bits_mul_isa_mulhsu,
  input        io_dptReq_0_bits_mul_isa_mulhu,
  input        io_dptReq_0_bits_mul_isa_div,
  input        io_dptReq_0_bits_mul_isa_divu,
  input        io_dptReq_0_bits_mul_isa_rem,
  input        io_dptReq_0_bits_mul_isa_remu,
  input        io_dptReq_0_bits_mul_isa_mulw,
  input        io_dptReq_0_bits_mul_isa_divw,
  input        io_dptReq_0_bits_mul_isa_divuw,
  input        io_dptReq_0_bits_mul_isa_remw,
  input        io_dptReq_0_bits_mul_isa_remuw,
  input        io_dptReq_0_bits_fpu_isa_fmadd_s,
  input        io_dptReq_0_bits_fpu_isa_fmsub_s,
  input        io_dptReq_0_bits_fpu_isa_fnmsub_s,
  input        io_dptReq_0_bits_fpu_isa_fnmadd_s,
  input        io_dptReq_0_bits_fpu_isa_fadd_s,
  input        io_dptReq_0_bits_fpu_isa_fsub_s,
  input        io_dptReq_0_bits_fpu_isa_fmul_s,
  input        io_dptReq_0_bits_fpu_isa_fdiv_s,
  input        io_dptReq_0_bits_fpu_isa_fsqrt_s,
  input        io_dptReq_0_bits_fpu_isa_fsgnj_s,
  input        io_dptReq_0_bits_fpu_isa_fsgnjn_s,
  input        io_dptReq_0_bits_fpu_isa_fsgnjx_s,
  input        io_dptReq_0_bits_fpu_isa_fmin_s,
  input        io_dptReq_0_bits_fpu_isa_fmax_s,
  input        io_dptReq_0_bits_fpu_isa_fcvt_w_s,
  input        io_dptReq_0_bits_fpu_isa_fcvt_wu_s,
  input        io_dptReq_0_bits_fpu_isa_fmv_x_w,
  input        io_dptReq_0_bits_fpu_isa_feq_s,
  input        io_dptReq_0_bits_fpu_isa_flt_s,
  input        io_dptReq_0_bits_fpu_isa_fle_s,
  input        io_dptReq_0_bits_fpu_isa_fclass_s,
  input        io_dptReq_0_bits_fpu_isa_fcvt_l_s,
  input        io_dptReq_0_bits_fpu_isa_fcvt_lu_s,
  input        io_dptReq_0_bits_fpu_isa_fmadd_d,
  input        io_dptReq_0_bits_fpu_isa_fmsub_d,
  input        io_dptReq_0_bits_fpu_isa_fnmsub_d,
  input        io_dptReq_0_bits_fpu_isa_fnmadd_d,
  input        io_dptReq_0_bits_fpu_isa_fadd_d,
  input        io_dptReq_0_bits_fpu_isa_fsub_d,
  input        io_dptReq_0_bits_fpu_isa_fmul_d,
  input        io_dptReq_0_bits_fpu_isa_fdiv_d,
  input        io_dptReq_0_bits_fpu_isa_fsqrt_d,
  input        io_dptReq_0_bits_fpu_isa_fsgnj_d,
  input        io_dptReq_0_bits_fpu_isa_fsgnjn_d,
  input        io_dptReq_0_bits_fpu_isa_fsgnjx_d,
  input        io_dptReq_0_bits_fpu_isa_fmin_d,
  input        io_dptReq_0_bits_fpu_isa_fmax_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_s_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_d_s,
  input        io_dptReq_0_bits_fpu_isa_feq_d,
  input        io_dptReq_0_bits_fpu_isa_flt_d,
  input        io_dptReq_0_bits_fpu_isa_fle_d,
  input        io_dptReq_0_bits_fpu_isa_fclass_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_w_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_wu_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_l_d,
  input        io_dptReq_0_bits_fpu_isa_fcvt_lu_d,
  input        io_dptReq_0_bits_fpu_isa_fmv_x_d,
  input  [5:0] io_dptReq_0_bits_phy_rs1,
  input  [5:0] io_dptReq_0_bits_phy_rs2,
  input  [5:0] io_dptReq_0_bits_phy_rs3,
  input        io_alu_iss_exe_0_ready,
  input        io_mul_iss_exe_0_ready,
  input        io_bru_iss_exe_ready,
  input        io_csr_iss_exe_ready,
  input        io_lsu_iss_exe_ready,
  input  [1:0] io_irgLog_0,
  input  [1:0] io_irgLog_1,
  input  [1:0] io_irgLog_2,
  input  [1:0] io_irgLog_3,
  input  [1:0] io_irgLog_4,
  input  [1:0] io_irgLog_5,
  input  [1:0] io_irgLog_6,
  input  [1:0] io_irgLog_7,
  input  [1:0] io_irgLog_8,
  input  [1:0] io_irgLog_9,
  input  [1:0] io_irgLog_10,
  input  [1:0] io_irgLog_11,
  input  [1:0] io_irgLog_12,
  input  [1:0] io_irgLog_13,
  input  [1:0] io_irgLog_14,
  input  [1:0] io_irgLog_15,
  input  [1:0] io_irgLog_16,
  input  [1:0] io_irgLog_17,
  input  [1:0] io_irgLog_18,
  input  [1:0] io_irgLog_19,
  input  [1:0] io_irgLog_20,
  input  [1:0] io_irgLog_21,
  input  [1:0] io_irgLog_22,
  input  [1:0] io_irgLog_23,
  input  [1:0] io_irgLog_24,
  input  [1:0] io_irgLog_25,
  input  [1:0] io_irgLog_26,
  input  [1:0] io_irgLog_27,
  input  [1:0] io_irgLog_28,
  input  [1:0] io_irgLog_29,
  input  [1:0] io_irgLog_30,
  input  [1:0] io_irgLog_31,
  input  [1:0] io_irgLog_32,
  input  [1:0] io_irgLog_33,
  input  [1:0] io_frgLog_0,
  input  [1:0] io_frgLog_1,
  input  [1:0] io_frgLog_2,
  input  [1:0] io_frgLog_3,
  input  [1:0] io_frgLog_4,
  input  [1:0] io_frgLog_5,
  input  [1:0] io_frgLog_6,
  input  [1:0] io_frgLog_7,
  input  [1:0] io_frgLog_8,
  input  [1:0] io_frgLog_9,
  input  [1:0] io_frgLog_10,
  input  [1:0] io_frgLog_11,
  input  [1:0] io_frgLog_12,
  input  [1:0] io_frgLog_13,
  input  [1:0] io_frgLog_14,
  input  [1:0] io_frgLog_15,
  input  [1:0] io_frgLog_16,
  input  [1:0] io_frgLog_17,
  input  [1:0] io_frgLog_18,
  input  [1:0] io_frgLog_19,
  input  [1:0] io_frgLog_20,
  input  [1:0] io_frgLog_21,
  input  [1:0] io_frgLog_22,
  input  [1:0] io_frgLog_23,
  input  [1:0] io_frgLog_24,
  input  [1:0] io_frgLog_25,
  input  [1:0] io_frgLog_26,
  input  [1:0] io_frgLog_27,
  input  [1:0] io_frgLog_28,
  input  [1:0] io_frgLog_29,
  input  [1:0] io_frgLog_30,
  input  [1:0] io_frgLog_31,
  input  [1:0] io_frgLog_32,
  input  [1:0] io_frgLog_33,
  input        io_irgRsp_0_valid,
  input  [5:0] io_irgRsp_0_bits_phy,
  input        io_irgRsp_1_valid,
  input  [5:0] io_irgRsp_1_bits_phy,
  input        io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_67;
  reg [31:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [31:0] _RAND_73;
  reg [31:0] _RAND_74;
  reg [31:0] _RAND_75;
  reg [31:0] _RAND_76;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_79;
  reg [31:0] _RAND_80;
  reg [31:0] _RAND_81;
  reg [31:0] _RAND_82;
  reg [31:0] _RAND_83;
  reg [31:0] _RAND_84;
  reg [31:0] _RAND_85;
  reg [31:0] _RAND_86;
  reg [31:0] _RAND_87;
  reg [31:0] _RAND_88;
  reg [31:0] _RAND_89;
  reg [31:0] _RAND_90;
  reg [31:0] _RAND_91;
  reg [31:0] _RAND_92;
  reg [31:0] _RAND_93;
  reg [31:0] _RAND_94;
  reg [31:0] _RAND_95;
  reg [31:0] _RAND_96;
  reg [31:0] _RAND_97;
  reg [31:0] _RAND_98;
  reg [31:0] _RAND_99;
  reg [31:0] _RAND_100;
  reg [31:0] _RAND_101;
  reg [31:0] _RAND_102;
  reg [31:0] _RAND_103;
  reg [31:0] _RAND_104;
  reg [31:0] _RAND_105;
  reg [31:0] _RAND_106;
  reg [31:0] _RAND_107;
  reg [31:0] _RAND_108;
  reg [31:0] _RAND_109;
  reg [31:0] _RAND_110;
  reg [31:0] _RAND_111;
  reg [31:0] _RAND_112;
  reg [31:0] _RAND_113;
  reg [31:0] _RAND_114;
  reg [31:0] _RAND_115;
  reg [31:0] _RAND_116;
  reg [31:0] _RAND_117;
  reg [31:0] _RAND_118;
  reg [31:0] _RAND_119;
  reg [31:0] _RAND_120;
  reg [31:0] _RAND_121;
  reg [31:0] _RAND_122;
  reg [31:0] _RAND_123;
  reg [31:0] _RAND_124;
  reg [31:0] _RAND_125;
  reg [31:0] _RAND_126;
  reg [31:0] _RAND_127;
  reg [31:0] _RAND_128;
  reg [31:0] _RAND_129;
  reg [31:0] _RAND_130;
  reg [31:0] _RAND_131;
  reg [31:0] _RAND_132;
  reg [31:0] _RAND_133;
  reg [31:0] _RAND_134;
  reg [31:0] _RAND_135;
  reg [31:0] _RAND_136;
  reg [31:0] _RAND_137;
  reg [31:0] _RAND_138;
  reg [31:0] _RAND_139;
  reg [31:0] _RAND_140;
  reg [31:0] _RAND_141;
  reg [31:0] _RAND_142;
  reg [31:0] _RAND_143;
  reg [31:0] _RAND_144;
  reg [31:0] _RAND_145;
  reg [31:0] _RAND_146;
  reg [31:0] _RAND_147;
  reg [31:0] _RAND_148;
  reg [31:0] _RAND_149;
  reg [31:0] _RAND_150;
  reg [31:0] _RAND_151;
  reg [31:0] _RAND_152;
  reg [31:0] _RAND_153;
  reg [31:0] _RAND_154;
  reg [31:0] _RAND_155;
  reg [31:0] _RAND_156;
  reg [31:0] _RAND_157;
  reg [31:0] _RAND_158;
  reg [31:0] _RAND_159;
  reg [31:0] _RAND_160;
  reg [31:0] _RAND_161;
  reg [31:0] _RAND_162;
  reg [31:0] _RAND_163;
  reg [31:0] _RAND_164;
  reg [31:0] _RAND_165;
  reg [31:0] _RAND_166;
  reg [31:0] _RAND_167;
  reg [31:0] _RAND_168;
  reg [31:0] _RAND_169;
  reg [31:0] _RAND_170;
  reg [31:0] _RAND_171;
  reg [31:0] _RAND_172;
  reg [31:0] _RAND_173;
  reg [31:0] _RAND_174;
  reg [31:0] _RAND_175;
  reg [31:0] _RAND_176;
  reg [31:0] _RAND_177;
  reg [31:0] _RAND_178;
  reg [31:0] _RAND_179;
  reg [31:0] _RAND_180;
  reg [31:0] _RAND_181;
  reg [31:0] _RAND_182;
  reg [31:0] _RAND_183;
  reg [31:0] _RAND_184;
  reg [31:0] _RAND_185;
  reg [31:0] _RAND_186;
  reg [31:0] _RAND_187;
  reg [31:0] _RAND_188;
  reg [31:0] _RAND_189;
  reg [31:0] _RAND_190;
  reg [31:0] _RAND_191;
  reg [31:0] _RAND_192;
  reg [31:0] _RAND_193;
  reg [31:0] _RAND_194;
  reg [31:0] _RAND_195;
  reg [31:0] _RAND_196;
  reg [31:0] _RAND_197;
  reg [31:0] _RAND_198;
  reg [31:0] _RAND_199;
  reg [31:0] _RAND_200;
  reg [31:0] _RAND_201;
  reg [31:0] _RAND_202;
  reg [31:0] _RAND_203;
  reg [31:0] _RAND_204;
  reg [31:0] _RAND_205;
  reg [31:0] _RAND_206;
  reg [31:0] _RAND_207;
  reg [31:0] _RAND_208;
  reg [31:0] _RAND_209;
  reg [31:0] _RAND_210;
  reg [31:0] _RAND_211;
  reg [31:0] _RAND_212;
  reg [31:0] _RAND_213;
  reg [31:0] _RAND_214;
  reg [31:0] _RAND_215;
  reg [31:0] _RAND_216;
  reg [31:0] _RAND_217;
  reg [31:0] _RAND_218;
  reg [31:0] _RAND_219;
  reg [31:0] _RAND_220;
  reg [31:0] _RAND_221;
  reg [31:0] _RAND_222;
  reg [31:0] _RAND_223;
  reg [31:0] _RAND_224;
  reg [31:0] _RAND_225;
  reg [31:0] _RAND_226;
  reg [31:0] _RAND_227;
  reg [31:0] _RAND_228;
  reg [31:0] _RAND_229;
  reg [31:0] _RAND_230;
  reg [31:0] _RAND_231;
  reg [31:0] _RAND_232;
  reg [31:0] _RAND_233;
  reg [31:0] _RAND_234;
  reg [31:0] _RAND_235;
  reg [31:0] _RAND_236;
  reg [31:0] _RAND_237;
  reg [31:0] _RAND_238;
  reg [31:0] _RAND_239;
  reg [31:0] _RAND_240;
  reg [31:0] _RAND_241;
  reg [31:0] _RAND_242;
  reg [31:0] _RAND_243;
  reg [31:0] _RAND_244;
  reg [31:0] _RAND_245;
  reg [31:0] _RAND_246;
  reg [31:0] _RAND_247;
  reg [31:0] _RAND_248;
  reg [31:0] _RAND_249;
  reg [31:0] _RAND_250;
  reg [31:0] _RAND_251;
  reg [31:0] _RAND_252;
  reg [31:0] _RAND_253;
  reg [31:0] _RAND_254;
  reg [31:0] _RAND_255;
  reg [31:0] _RAND_256;
  reg [31:0] _RAND_257;
  reg [31:0] _RAND_258;
  reg [31:0] _RAND_259;
  reg [31:0] _RAND_260;
  reg [31:0] _RAND_261;
  reg [31:0] _RAND_262;
  reg [31:0] _RAND_263;
  reg [31:0] _RAND_264;
  reg [31:0] _RAND_265;
  reg [31:0] _RAND_266;
  reg [31:0] _RAND_267;
  reg [31:0] _RAND_268;
  reg [31:0] _RAND_269;
  reg [31:0] _RAND_270;
  reg [31:0] _RAND_271;
  reg [31:0] _RAND_272;
  reg [31:0] _RAND_273;
  reg [31:0] _RAND_274;
  reg [31:0] _RAND_275;
  reg [31:0] _RAND_276;
  reg [31:0] _RAND_277;
  reg [31:0] _RAND_278;
  reg [31:0] _RAND_279;
  reg [31:0] _RAND_280;
  reg [31:0] _RAND_281;
  reg [31:0] _RAND_282;
  reg [31:0] _RAND_283;
  reg [31:0] _RAND_284;
  reg [31:0] _RAND_285;
  reg [31:0] _RAND_286;
  reg [31:0] _RAND_287;
  reg [31:0] _RAND_288;
  reg [31:0] _RAND_289;
  reg [31:0] _RAND_290;
  reg [31:0] _RAND_291;
  reg [31:0] _RAND_292;
  reg [31:0] _RAND_293;
  reg [31:0] _RAND_294;
  reg [31:0] _RAND_295;
  reg [31:0] _RAND_296;
  reg [31:0] _RAND_297;
  reg [31:0] _RAND_298;
  reg [31:0] _RAND_299;
  reg [31:0] _RAND_300;
  reg [31:0] _RAND_301;
  reg [31:0] _RAND_302;
  reg [31:0] _RAND_303;
  reg [31:0] _RAND_304;
  reg [31:0] _RAND_305;
  reg [31:0] _RAND_306;
  reg [31:0] _RAND_307;
  reg [31:0] _RAND_308;
  reg [31:0] _RAND_309;
  reg [31:0] _RAND_310;
  reg [31:0] _RAND_311;
  reg [31:0] _RAND_312;
  reg [31:0] _RAND_313;
  reg [31:0] _RAND_314;
  reg [31:0] _RAND_315;
  reg [31:0] _RAND_316;
  reg [31:0] _RAND_317;
  reg [31:0] _RAND_318;
  reg [31:0] _RAND_319;
  reg [31:0] _RAND_320;
  reg [31:0] _RAND_321;
  reg [31:0] _RAND_322;
  reg [31:0] _RAND_323;
  reg [31:0] _RAND_324;
  reg [31:0] _RAND_325;
  reg [31:0] _RAND_326;
  reg [31:0] _RAND_327;
  reg [31:0] _RAND_328;
  reg [31:0] _RAND_329;
  reg [31:0] _RAND_330;
  reg [31:0] _RAND_331;
  reg [31:0] _RAND_332;
  reg [31:0] _RAND_333;
  reg [31:0] _RAND_334;
  reg [31:0] _RAND_335;
  reg [31:0] _RAND_336;
  reg [31:0] _RAND_337;
  reg [31:0] _RAND_338;
  reg [31:0] _RAND_339;
  reg [31:0] _RAND_340;
  reg [31:0] _RAND_341;
  reg [31:0] _RAND_342;
  reg [31:0] _RAND_343;
  reg [31:0] _RAND_344;
  reg [31:0] _RAND_345;
  reg [31:0] _RAND_346;
  reg [31:0] _RAND_347;
  reg [31:0] _RAND_348;
  reg [31:0] _RAND_349;
  reg [31:0] _RAND_350;
  reg [31:0] _RAND_351;
  reg [31:0] _RAND_352;
  reg [31:0] _RAND_353;
  reg [31:0] _RAND_354;
  reg [31:0] _RAND_355;
  reg [31:0] _RAND_356;
  reg [31:0] _RAND_357;
  reg [31:0] _RAND_358;
  reg [31:0] _RAND_359;
  reg [31:0] _RAND_360;
  reg [31:0] _RAND_361;
  reg [31:0] _RAND_362;
  reg [31:0] _RAND_363;
  reg [31:0] _RAND_364;
  reg [31:0] _RAND_365;
  reg [31:0] _RAND_366;
  reg [31:0] _RAND_367;
  reg [31:0] _RAND_368;
  reg [31:0] _RAND_369;
  reg [31:0] _RAND_370;
  reg [31:0] _RAND_371;
  reg [31:0] _RAND_372;
  reg [31:0] _RAND_373;
  reg [31:0] _RAND_374;
  reg [31:0] _RAND_375;
  reg [31:0] _RAND_376;
  reg [31:0] _RAND_377;
  reg [31:0] _RAND_378;
  reg [31:0] _RAND_379;
  reg [31:0] _RAND_380;
  reg [31:0] _RAND_381;
  reg [31:0] _RAND_382;
  reg [31:0] _RAND_383;
  reg [31:0] _RAND_384;
  reg [31:0] _RAND_385;
  reg [31:0] _RAND_386;
  reg [31:0] _RAND_387;
  reg [31:0] _RAND_388;
  reg [31:0] _RAND_389;
  reg [31:0] _RAND_390;
  reg [31:0] _RAND_391;
  reg [31:0] _RAND_392;
  reg [31:0] _RAND_393;
  reg [31:0] _RAND_394;
  reg [31:0] _RAND_395;
  reg [31:0] _RAND_396;
  reg [31:0] _RAND_397;
  reg [31:0] _RAND_398;
  reg [31:0] _RAND_399;
  reg [31:0] _RAND_400;
  reg [31:0] _RAND_401;
  reg [31:0] _RAND_402;
  reg [31:0] _RAND_403;
  reg [31:0] _RAND_404;
  reg [31:0] _RAND_405;
  reg [31:0] _RAND_406;
  reg [31:0] _RAND_407;
  reg [31:0] _RAND_408;
  reg [31:0] _RAND_409;
  reg [31:0] _RAND_410;
  reg [31:0] _RAND_411;
  reg [31:0] _RAND_412;
  reg [31:0] _RAND_413;
  reg [31:0] _RAND_414;
  reg [31:0] _RAND_415;
  reg [31:0] _RAND_416;
  reg [31:0] _RAND_417;
  reg [31:0] _RAND_418;
  reg [31:0] _RAND_419;
  reg [31:0] _RAND_420;
  reg [31:0] _RAND_421;
  reg [31:0] _RAND_422;
  reg [31:0] _RAND_423;
  reg [31:0] _RAND_424;
  reg [31:0] _RAND_425;
`endif // RANDOMIZE_REG_INIT
  wire  aluIssFifo_0_clock; // @[Issue.scala 605:11]
  wire  aluIssFifo_0_reset; // @[Issue.scala 605:11]
  wire  aluIssFifo_0_io_enq_ready; // @[Issue.scala 605:11]
  wire  aluIssFifo_0_io_enq_valid; // @[Issue.scala 605:11]
  wire  aluIssFifo_0_io_deq_ready; // @[Issue.scala 605:11]
  wire  aluIssFifo_0_io_deq_valid; // @[Issue.scala 605:11]
  wire  mulIssFifo_0_clock; // @[Issue.scala 671:13]
  wire  mulIssFifo_0_reset; // @[Issue.scala 671:13]
  wire  mulIssFifo_0_io_enq_ready; // @[Issue.scala 671:13]
  wire  mulIssFifo_0_io_enq_valid; // @[Issue.scala 671:13]
  wire  mulIssFifo_0_io_deq_ready; // @[Issue.scala 671:13]
  wire  mulIssFifo_0_io_deq_valid; // @[Issue.scala 671:13]
  wire  bruIssFifo_clock; // @[Issue.scala 743:26]
  wire  bruIssFifo_reset; // @[Issue.scala 743:26]
  wire  bruIssFifo_io_enq_ready; // @[Issue.scala 743:26]
  wire  bruIssFifo_io_enq_valid; // @[Issue.scala 743:26]
  wire  bruIssFifo_io_deq_ready; // @[Issue.scala 743:26]
  wire  bruIssFifo_io_deq_valid; // @[Issue.scala 743:26]
  wire  csrIssFifo_clock; // @[Issue.scala 809:26]
  wire  csrIssFifo_reset; // @[Issue.scala 809:26]
  wire  csrIssFifo_io_enq_ready; // @[Issue.scala 809:26]
  wire  csrIssFifo_io_enq_valid; // @[Issue.scala 809:26]
  wire  csrIssFifo_io_deq_ready; // @[Issue.scala 809:26]
  wire  csrIssFifo_io_deq_valid; // @[Issue.scala 809:26]
  wire  lsuIssFifo_clock; // @[Issue.scala 872:26]
  wire  lsuIssFifo_reset; // @[Issue.scala 872:26]
  wire  lsuIssFifo_io_enq_ready; // @[Issue.scala 872:26]
  wire  lsuIssFifo_io_enq_valid; // @[Issue.scala 872:26]
  wire  lsuIssFifo_io_deq_ready; // @[Issue.scala 872:26]
  wire  lsuIssFifo_io_deq_valid; // @[Issue.scala 872:26]
  reg  bufValid_0; // @[Issue.scala 61:29]
  reg  bufValid_1; // @[Issue.scala 61:29]
  reg  bufValid_2; // @[Issue.scala 61:29]
  reg  bufValid_3; // @[Issue.scala 61:29]
  reg  bufInfo_0_alu_isa_lui; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_addi; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_slti; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_xori; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_ori; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_andi; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_slli; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_srli; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_srai; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_add; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_addw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sub; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_subw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sll; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_slt; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_xor; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_srl; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sra; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_or; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_and; // @[Issue.scala 62:25]
  reg  bufInfo_0_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_jal; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_beq; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_bne; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_blt; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_bge; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  bufInfo_0_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  bufInfo_0_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rw; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rs; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rc; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  bufInfo_0_csr_isa_rci; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_mul; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_div; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_divu; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_rem; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_remu; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_divw; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_remw; // @[Issue.scala 62:25]
  reg  bufInfo_0_mul_isa_remuw; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_0_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_0_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_0_phy_rs3; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_lui; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_addi; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_slti; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_xori; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_ori; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_andi; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_slli; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_srli; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_srai; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_add; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_addw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sub; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_subw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sll; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_slt; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_xor; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_srl; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sra; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_or; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_and; // @[Issue.scala 62:25]
  reg  bufInfo_1_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_jal; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_beq; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_bne; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_blt; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_bge; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  bufInfo_1_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  bufInfo_1_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rw; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rs; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rc; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  bufInfo_1_csr_isa_rci; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_mul; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_div; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_divu; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_rem; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_remu; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_divw; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_remw; // @[Issue.scala 62:25]
  reg  bufInfo_1_mul_isa_remuw; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_1_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_1_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_1_phy_rs3; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_lui; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_addi; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_slti; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_xori; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_ori; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_andi; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_slli; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_srli; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_srai; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_add; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_addw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sub; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_subw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sll; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_slt; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_xor; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_srl; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sra; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_or; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_and; // @[Issue.scala 62:25]
  reg  bufInfo_2_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_jal; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_beq; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_bne; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_blt; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_bge; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  bufInfo_2_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  bufInfo_2_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rw; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rs; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rc; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  bufInfo_2_csr_isa_rci; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_mul; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_div; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_divu; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_rem; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_remu; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_divw; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_remw; // @[Issue.scala 62:25]
  reg  bufInfo_2_mul_isa_remuw; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_2_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_2_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_2_phy_rs3; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_lui; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_addi; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_slti; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_xori; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_ori; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_andi; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_slli; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_srli; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_srai; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_add; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_addw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sub; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_subw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sll; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_slt; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_xor; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_srl; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sra; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_or; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_and; // @[Issue.scala 62:25]
  reg  bufInfo_3_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_jal; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_beq; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_bne; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_blt; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_bge; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  bufInfo_3_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  bufInfo_3_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rw; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rs; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rc; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  bufInfo_3_csr_isa_rci; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_mul; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_div; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_divu; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_rem; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_remu; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_divw; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_remw; // @[Issue.scala 62:25]
  reg  bufInfo_3_mul_isa_remuw; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_3_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_3_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] bufInfo_3_phy_rs3; // @[Issue.scala 62:25]
  reg  isOpReady_0_0; // @[Issue.scala 65:25]
  reg  isOpReady_0_1; // @[Issue.scala 65:25]
  reg  isOpReady_1_0; // @[Issue.scala 65:25]
  reg  isOpReady_1_1; // @[Issue.scala 65:25]
  reg  isOpReady_2_0; // @[Issue.scala 65:25]
  reg  isOpReady_2_1; // @[Issue.scala 65:25]
  reg  isOpReady_3_0; // @[Issue.scala 65:25]
  reg  isOpReady_3_1; // @[Issue.scala 65:25]
  wire  _entrySel_T = ~bufValid_0; // @[Issue.scala 69:43]
  wire  _entrySel_T_1 = ~bufValid_1; // @[Issue.scala 69:43]
  wire  _entrySel_T_2 = ~bufValid_2; // @[Issue.scala 69:43]
  wire [1:0] _entrySel_T_4 = ~bufValid_2 ? 2'h2 : 2'h3; // @[Issue.scala 69:26]
  wire [1:0] _entrySel_T_5 = ~bufValid_1 ? 2'h1 : _entrySel_T_4; // @[Issue.scala 69:26]
  wire [1:0] entrySel_0 = ~bufValid_0 ? 2'h0 : _entrySel_T_5; // @[Issue.scala 69:26]
  wire  _io_dptReq_0_ready_T_3 = ~bufValid_3; // @[Issue.scala 78:59]
  wire  _T = io_dptReq_0_ready & io_dptReq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_396 = 2'h0 == entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_0 = 2'h0 == entrySel_0 | bufValid_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_397 = 2'h1 == entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_1 = 2'h1 == entrySel_0 | bufValid_1; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_398 = 2'h2 == entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_2 = 2'h2 == entrySel_0 | bufValid_2; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_399 = 2'h3 == entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_3 = 2'h3 == entrySel_0 | bufValid_3; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_792 = _T ? _GEN_0 : bufValid_0; // @[Issue.scala 82:23 88:38]
  wire  _GEN_793 = _T ? _GEN_1 : bufValid_1; // @[Issue.scala 82:23 88:38]
  wire  _GEN_794 = _T ? _GEN_2 : bufValid_2; // @[Issue.scala 82:23 88:38]
  wire  _GEN_795 = _T ? _GEN_3 : bufValid_3; // @[Issue.scala 82:23 88:38]
  wire  bufValidDnxt_0_0 = io_flush ? 1'h0 : _GEN_792; // @[Issue.scala 86:22 87:23]
  wire  bufValidDnxt_0_1 = io_flush ? 1'h0 : _GEN_793; // @[Issue.scala 86:22 87:23]
  wire  bufValidDnxt_0_2 = io_flush ? 1'h0 : _GEN_794; // @[Issue.scala 86:22 87:23]
  wire  bufValidDnxt_0_3 = io_flush ? 1'h0 : _GEN_795; // @[Issue.scala 86:22 87:23]
  wire  _GEN_2400 = _GEN_396 | isOpReady_0_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  _GEN_2401 = _GEN_397 | isOpReady_1_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  _GEN_2402 = _GEN_398 | isOpReady_2_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  _GEN_2403 = _GEN_399 | isOpReady_3_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  _GEN_2408 = 2'h0 == entrySel_0 ? 1'h0 : isOpReady_0_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  _GEN_2409 = 2'h1 == entrySel_0 ? 1'h0 : isOpReady_1_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  _GEN_2410 = 2'h2 == entrySel_0 ? 1'h0 : isOpReady_2_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  _GEN_2411 = 2'h3 == entrySel_0 ? 1'h0 : isOpReady_3_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  _GEN_2412 = io_dptReq_0_bits_phy_rs1 == 6'h21 ? _GEN_2400 : _GEN_2408; // @[Issue.scala 121:58]
  wire  _GEN_2413 = io_dptReq_0_bits_phy_rs1 == 6'h21 ? _GEN_2401 : _GEN_2409; // @[Issue.scala 121:58]
  wire  _GEN_2414 = io_dptReq_0_bits_phy_rs1 == 6'h21 ? _GEN_2402 : _GEN_2410; // @[Issue.scala 121:58]
  wire  _GEN_2415 = io_dptReq_0_bits_phy_rs1 == 6'h21 ? _GEN_2403 : _GEN_2411; // @[Issue.scala 121:58]
  wire  _GEN_2420 = _GEN_396 | isOpReady_0_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  _GEN_2421 = _GEN_397 | isOpReady_1_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  _GEN_2422 = _GEN_398 | isOpReady_2_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  _GEN_2423 = _GEN_399 | isOpReady_3_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  _GEN_2428 = 2'h0 == entrySel_0 ? 1'h0 : isOpReady_0_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  _GEN_2429 = 2'h1 == entrySel_0 ? 1'h0 : isOpReady_1_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  _GEN_2430 = 2'h2 == entrySel_0 ? 1'h0 : isOpReady_2_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  _GEN_2431 = 2'h3 == entrySel_0 ? 1'h0 : isOpReady_3_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  _GEN_2432 = io_dptReq_0_bits_phy_rs2 == 6'h21 ? _GEN_2420 : _GEN_2428; // @[Issue.scala 127:58]
  wire  _GEN_2433 = io_dptReq_0_bits_phy_rs2 == 6'h21 ? _GEN_2421 : _GEN_2429; // @[Issue.scala 127:58]
  wire  _GEN_2434 = io_dptReq_0_bits_phy_rs2 == 6'h21 ? _GEN_2422 : _GEN_2430; // @[Issue.scala 127:58]
  wire  _GEN_2435 = io_dptReq_0_bits_phy_rs2 == 6'h21 ? _GEN_2423 : _GEN_2431; // @[Issue.scala 127:58]
  wire  _GEN_2460 = _T ? _GEN_2412 : isOpReady_0_0; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2461 = _T ? _GEN_2413 : isOpReady_1_0; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2462 = _T ? _GEN_2414 : isOpReady_2_0; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2463 = _T ? _GEN_2415 : isOpReady_3_0; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2468 = _T ? _GEN_2432 : isOpReady_0_1; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2469 = _T ? _GEN_2433 : isOpReady_1_1; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2470 = _T ? _GEN_2434 : isOpReady_2_1; // @[Issue.scala 120:31 65:25]
  wire  _GEN_2471 = _T ? _GEN_2435 : isOpReady_3_1; // @[Issue.scala 120:31 65:25]
  reg  ageMatrixW_0_0; // @[Issue.scala 156:23]
  reg  ageMatrixW_0_1; // @[Issue.scala 156:23]
  reg  ageMatrixW_0_2; // @[Issue.scala 156:23]
  reg  ageMatrixW_0_3; // @[Issue.scala 156:23]
  reg  ageMatrixW_1_1; // @[Issue.scala 156:23]
  reg  ageMatrixW_1_2; // @[Issue.scala 156:23]
  reg  ageMatrixW_1_3; // @[Issue.scala 156:23]
  reg  ageMatrixW_2_2; // @[Issue.scala 156:23]
  reg  ageMatrixW_2_3; // @[Issue.scala 156:23]
  reg  ageMatrixW_3_3; // @[Issue.scala 156:23]
  wire  ageMatrixR_1_0 = ~ageMatrixW_0_1; // @[Issue.scala 161:27]
  wire  ageMatrixR_2_0 = ~ageMatrixW_0_2; // @[Issue.scala 161:27]
  wire  ageMatrixR_2_1 = ~ageMatrixW_1_2; // @[Issue.scala 161:27]
  wire  ageMatrixR_3_0 = ~ageMatrixW_0_3; // @[Issue.scala 161:27]
  wire  ageMatrixR_3_1 = ~ageMatrixW_1_3; // @[Issue.scala 161:27]
  wire  ageMatrixR_3_2 = ~ageMatrixW_2_3; // @[Issue.scala 161:27]
  wire  _GEN_2484 = _GEN_396 | ageMatrixW_0_0; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2488 = _GEN_396 | ageMatrixW_0_1; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2489 = _GEN_397 | ageMatrixW_1_1; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2492 = _GEN_396 | ageMatrixW_0_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2493 = _GEN_397 | ageMatrixW_1_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2494 = _GEN_398 | ageMatrixW_2_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2496 = _GEN_396 | ageMatrixW_0_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2497 = _GEN_397 | ageMatrixW_1_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2498 = _GEN_398 | ageMatrixW_2_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  _GEN_2499 = _GEN_399 | ageMatrixW_3_3; // @[Issue.scala 156:23 171:{44,44}]
  wire [1:0] _GEN_2533 = 6'h1 == bufInfo_0_phy_rs1 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2534 = 6'h2 == bufInfo_0_phy_rs1 ? io_irgLog_2 : _GEN_2533; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2535 = 6'h3 == bufInfo_0_phy_rs1 ? io_irgLog_3 : _GEN_2534; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2536 = 6'h4 == bufInfo_0_phy_rs1 ? io_irgLog_4 : _GEN_2535; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2537 = 6'h5 == bufInfo_0_phy_rs1 ? io_irgLog_5 : _GEN_2536; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2538 = 6'h6 == bufInfo_0_phy_rs1 ? io_irgLog_6 : _GEN_2537; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2539 = 6'h7 == bufInfo_0_phy_rs1 ? io_irgLog_7 : _GEN_2538; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2540 = 6'h8 == bufInfo_0_phy_rs1 ? io_irgLog_8 : _GEN_2539; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2541 = 6'h9 == bufInfo_0_phy_rs1 ? io_irgLog_9 : _GEN_2540; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2542 = 6'ha == bufInfo_0_phy_rs1 ? io_irgLog_10 : _GEN_2541; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2543 = 6'hb == bufInfo_0_phy_rs1 ? io_irgLog_11 : _GEN_2542; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2544 = 6'hc == bufInfo_0_phy_rs1 ? io_irgLog_12 : _GEN_2543; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2545 = 6'hd == bufInfo_0_phy_rs1 ? io_irgLog_13 : _GEN_2544; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2546 = 6'he == bufInfo_0_phy_rs1 ? io_irgLog_14 : _GEN_2545; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2547 = 6'hf == bufInfo_0_phy_rs1 ? io_irgLog_15 : _GEN_2546; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2548 = 6'h10 == bufInfo_0_phy_rs1 ? io_irgLog_16 : _GEN_2547; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2549 = 6'h11 == bufInfo_0_phy_rs1 ? io_irgLog_17 : _GEN_2548; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2550 = 6'h12 == bufInfo_0_phy_rs1 ? io_irgLog_18 : _GEN_2549; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2551 = 6'h13 == bufInfo_0_phy_rs1 ? io_irgLog_19 : _GEN_2550; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2552 = 6'h14 == bufInfo_0_phy_rs1 ? io_irgLog_20 : _GEN_2551; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2553 = 6'h15 == bufInfo_0_phy_rs1 ? io_irgLog_21 : _GEN_2552; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2554 = 6'h16 == bufInfo_0_phy_rs1 ? io_irgLog_22 : _GEN_2553; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2555 = 6'h17 == bufInfo_0_phy_rs1 ? io_irgLog_23 : _GEN_2554; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2556 = 6'h18 == bufInfo_0_phy_rs1 ? io_irgLog_24 : _GEN_2555; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2557 = 6'h19 == bufInfo_0_phy_rs1 ? io_irgLog_25 : _GEN_2556; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2558 = 6'h1a == bufInfo_0_phy_rs1 ? io_irgLog_26 : _GEN_2557; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2559 = 6'h1b == bufInfo_0_phy_rs1 ? io_irgLog_27 : _GEN_2558; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2560 = 6'h1c == bufInfo_0_phy_rs1 ? io_irgLog_28 : _GEN_2559; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2561 = 6'h1d == bufInfo_0_phy_rs1 ? io_irgLog_29 : _GEN_2560; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2562 = 6'h1e == bufInfo_0_phy_rs1 ? io_irgLog_30 : _GEN_2561; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2563 = 6'h1f == bufInfo_0_phy_rs1 ? io_irgLog_31 : _GEN_2562; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2564 = 6'h20 == bufInfo_0_phy_rs1 ? io_irgLog_32 : _GEN_2563; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2565 = 6'h21 == bufInfo_0_phy_rs1 ? io_irgLog_33 : _GEN_2564; // @[Issue.scala 217:{37,37}]
  wire  _canIOpReq_0_0_T = _GEN_2565 == 2'h3; // @[Issue.scala 217:37]
  wire  _canIOpReq_0_0_T_3 = ~isOpReady_0_0; // @[Issue.scala 219:7]
  wire  _canIOpReq_0_0_T_4 = _canIOpReq_0_0_T & _canIOpReq_0_0_T_3; // @[Issue.scala 218:23]
  wire [5:0] bufReqNum_0_0 = bufInfo_0_phy_rs1; // @[Issue.scala 144:21 63:26]
  wire  _canIOpReq_0_0_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_0_0; // @[Issue.scala 219:55]
  wire  _canIOpReq_0_0_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_0_0; // @[Issue.scala 219:55]
  wire  canIOpReq_0_0 = _canIOpReq_0_0_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_0_0 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_0_0); // @[Issue.scala 219:24]
  wire [1:0] _GEN_2567 = 6'h1 == bufInfo_0_phy_rs2 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2568 = 6'h2 == bufInfo_0_phy_rs2 ? io_irgLog_2 : _GEN_2567; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2569 = 6'h3 == bufInfo_0_phy_rs2 ? io_irgLog_3 : _GEN_2568; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2570 = 6'h4 == bufInfo_0_phy_rs2 ? io_irgLog_4 : _GEN_2569; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2571 = 6'h5 == bufInfo_0_phy_rs2 ? io_irgLog_5 : _GEN_2570; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2572 = 6'h6 == bufInfo_0_phy_rs2 ? io_irgLog_6 : _GEN_2571; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2573 = 6'h7 == bufInfo_0_phy_rs2 ? io_irgLog_7 : _GEN_2572; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2574 = 6'h8 == bufInfo_0_phy_rs2 ? io_irgLog_8 : _GEN_2573; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2575 = 6'h9 == bufInfo_0_phy_rs2 ? io_irgLog_9 : _GEN_2574; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2576 = 6'ha == bufInfo_0_phy_rs2 ? io_irgLog_10 : _GEN_2575; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2577 = 6'hb == bufInfo_0_phy_rs2 ? io_irgLog_11 : _GEN_2576; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2578 = 6'hc == bufInfo_0_phy_rs2 ? io_irgLog_12 : _GEN_2577; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2579 = 6'hd == bufInfo_0_phy_rs2 ? io_irgLog_13 : _GEN_2578; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2580 = 6'he == bufInfo_0_phy_rs2 ? io_irgLog_14 : _GEN_2579; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2581 = 6'hf == bufInfo_0_phy_rs2 ? io_irgLog_15 : _GEN_2580; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2582 = 6'h10 == bufInfo_0_phy_rs2 ? io_irgLog_16 : _GEN_2581; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2583 = 6'h11 == bufInfo_0_phy_rs2 ? io_irgLog_17 : _GEN_2582; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2584 = 6'h12 == bufInfo_0_phy_rs2 ? io_irgLog_18 : _GEN_2583; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2585 = 6'h13 == bufInfo_0_phy_rs2 ? io_irgLog_19 : _GEN_2584; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2586 = 6'h14 == bufInfo_0_phy_rs2 ? io_irgLog_20 : _GEN_2585; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2587 = 6'h15 == bufInfo_0_phy_rs2 ? io_irgLog_21 : _GEN_2586; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2588 = 6'h16 == bufInfo_0_phy_rs2 ? io_irgLog_22 : _GEN_2587; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2589 = 6'h17 == bufInfo_0_phy_rs2 ? io_irgLog_23 : _GEN_2588; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2590 = 6'h18 == bufInfo_0_phy_rs2 ? io_irgLog_24 : _GEN_2589; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2591 = 6'h19 == bufInfo_0_phy_rs2 ? io_irgLog_25 : _GEN_2590; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2592 = 6'h1a == bufInfo_0_phy_rs2 ? io_irgLog_26 : _GEN_2591; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2593 = 6'h1b == bufInfo_0_phy_rs2 ? io_irgLog_27 : _GEN_2592; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2594 = 6'h1c == bufInfo_0_phy_rs2 ? io_irgLog_28 : _GEN_2593; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2595 = 6'h1d == bufInfo_0_phy_rs2 ? io_irgLog_29 : _GEN_2594; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2596 = 6'h1e == bufInfo_0_phy_rs2 ? io_irgLog_30 : _GEN_2595; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2597 = 6'h1f == bufInfo_0_phy_rs2 ? io_irgLog_31 : _GEN_2596; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2598 = 6'h20 == bufInfo_0_phy_rs2 ? io_irgLog_32 : _GEN_2597; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2599 = 6'h21 == bufInfo_0_phy_rs2 ? io_irgLog_33 : _GEN_2598; // @[Issue.scala 222:{37,37}]
  wire  _canIOpReq_0_1_T = _GEN_2599 == 2'h3; // @[Issue.scala 222:37]
  wire  _canIOpReq_0_1_T_3 = ~isOpReady_0_1; // @[Issue.scala 224:7]
  wire  _canIOpReq_0_1_T_4 = _canIOpReq_0_1_T & _canIOpReq_0_1_T_3; // @[Issue.scala 223:23]
  wire [5:0] bufReqNum_0_1 = bufInfo_0_phy_rs2; // @[Issue.scala 145:21 63:26]
  wire  _canIOpReq_0_1_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_0_1; // @[Issue.scala 224:55]
  wire  _canIOpReq_0_1_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_0_1; // @[Issue.scala 224:55]
  wire  canIOpReq_0_1 = _canIOpReq_0_1_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_0_1 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_0_1); // @[Issue.scala 224:24]
  wire [1:0] _GEN_2601 = 6'h1 == bufInfo_1_phy_rs1 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2602 = 6'h2 == bufInfo_1_phy_rs1 ? io_irgLog_2 : _GEN_2601; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2603 = 6'h3 == bufInfo_1_phy_rs1 ? io_irgLog_3 : _GEN_2602; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2604 = 6'h4 == bufInfo_1_phy_rs1 ? io_irgLog_4 : _GEN_2603; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2605 = 6'h5 == bufInfo_1_phy_rs1 ? io_irgLog_5 : _GEN_2604; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2606 = 6'h6 == bufInfo_1_phy_rs1 ? io_irgLog_6 : _GEN_2605; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2607 = 6'h7 == bufInfo_1_phy_rs1 ? io_irgLog_7 : _GEN_2606; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2608 = 6'h8 == bufInfo_1_phy_rs1 ? io_irgLog_8 : _GEN_2607; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2609 = 6'h9 == bufInfo_1_phy_rs1 ? io_irgLog_9 : _GEN_2608; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2610 = 6'ha == bufInfo_1_phy_rs1 ? io_irgLog_10 : _GEN_2609; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2611 = 6'hb == bufInfo_1_phy_rs1 ? io_irgLog_11 : _GEN_2610; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2612 = 6'hc == bufInfo_1_phy_rs1 ? io_irgLog_12 : _GEN_2611; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2613 = 6'hd == bufInfo_1_phy_rs1 ? io_irgLog_13 : _GEN_2612; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2614 = 6'he == bufInfo_1_phy_rs1 ? io_irgLog_14 : _GEN_2613; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2615 = 6'hf == bufInfo_1_phy_rs1 ? io_irgLog_15 : _GEN_2614; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2616 = 6'h10 == bufInfo_1_phy_rs1 ? io_irgLog_16 : _GEN_2615; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2617 = 6'h11 == bufInfo_1_phy_rs1 ? io_irgLog_17 : _GEN_2616; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2618 = 6'h12 == bufInfo_1_phy_rs1 ? io_irgLog_18 : _GEN_2617; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2619 = 6'h13 == bufInfo_1_phy_rs1 ? io_irgLog_19 : _GEN_2618; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2620 = 6'h14 == bufInfo_1_phy_rs1 ? io_irgLog_20 : _GEN_2619; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2621 = 6'h15 == bufInfo_1_phy_rs1 ? io_irgLog_21 : _GEN_2620; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2622 = 6'h16 == bufInfo_1_phy_rs1 ? io_irgLog_22 : _GEN_2621; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2623 = 6'h17 == bufInfo_1_phy_rs1 ? io_irgLog_23 : _GEN_2622; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2624 = 6'h18 == bufInfo_1_phy_rs1 ? io_irgLog_24 : _GEN_2623; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2625 = 6'h19 == bufInfo_1_phy_rs1 ? io_irgLog_25 : _GEN_2624; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2626 = 6'h1a == bufInfo_1_phy_rs1 ? io_irgLog_26 : _GEN_2625; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2627 = 6'h1b == bufInfo_1_phy_rs1 ? io_irgLog_27 : _GEN_2626; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2628 = 6'h1c == bufInfo_1_phy_rs1 ? io_irgLog_28 : _GEN_2627; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2629 = 6'h1d == bufInfo_1_phy_rs1 ? io_irgLog_29 : _GEN_2628; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2630 = 6'h1e == bufInfo_1_phy_rs1 ? io_irgLog_30 : _GEN_2629; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2631 = 6'h1f == bufInfo_1_phy_rs1 ? io_irgLog_31 : _GEN_2630; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2632 = 6'h20 == bufInfo_1_phy_rs1 ? io_irgLog_32 : _GEN_2631; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2633 = 6'h21 == bufInfo_1_phy_rs1 ? io_irgLog_33 : _GEN_2632; // @[Issue.scala 217:{37,37}]
  wire  _canIOpReq_1_0_T = _GEN_2633 == 2'h3; // @[Issue.scala 217:37]
  wire  _canIOpReq_1_0_T_3 = ~isOpReady_1_0; // @[Issue.scala 219:7]
  wire  _canIOpReq_1_0_T_4 = _canIOpReq_1_0_T & _canIOpReq_1_0_T_3; // @[Issue.scala 218:23]
  wire [5:0] bufReqNum_1_0 = bufInfo_1_phy_rs1; // @[Issue.scala 144:21 63:26]
  wire  _canIOpReq_1_0_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_1_0; // @[Issue.scala 219:55]
  wire  _canIOpReq_1_0_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_1_0; // @[Issue.scala 219:55]
  wire  canIOpReq_1_0 = _canIOpReq_1_0_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_1_0 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_1_0); // @[Issue.scala 219:24]
  wire [1:0] _GEN_2635 = 6'h1 == bufInfo_1_phy_rs2 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2636 = 6'h2 == bufInfo_1_phy_rs2 ? io_irgLog_2 : _GEN_2635; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2637 = 6'h3 == bufInfo_1_phy_rs2 ? io_irgLog_3 : _GEN_2636; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2638 = 6'h4 == bufInfo_1_phy_rs2 ? io_irgLog_4 : _GEN_2637; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2639 = 6'h5 == bufInfo_1_phy_rs2 ? io_irgLog_5 : _GEN_2638; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2640 = 6'h6 == bufInfo_1_phy_rs2 ? io_irgLog_6 : _GEN_2639; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2641 = 6'h7 == bufInfo_1_phy_rs2 ? io_irgLog_7 : _GEN_2640; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2642 = 6'h8 == bufInfo_1_phy_rs2 ? io_irgLog_8 : _GEN_2641; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2643 = 6'h9 == bufInfo_1_phy_rs2 ? io_irgLog_9 : _GEN_2642; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2644 = 6'ha == bufInfo_1_phy_rs2 ? io_irgLog_10 : _GEN_2643; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2645 = 6'hb == bufInfo_1_phy_rs2 ? io_irgLog_11 : _GEN_2644; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2646 = 6'hc == bufInfo_1_phy_rs2 ? io_irgLog_12 : _GEN_2645; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2647 = 6'hd == bufInfo_1_phy_rs2 ? io_irgLog_13 : _GEN_2646; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2648 = 6'he == bufInfo_1_phy_rs2 ? io_irgLog_14 : _GEN_2647; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2649 = 6'hf == bufInfo_1_phy_rs2 ? io_irgLog_15 : _GEN_2648; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2650 = 6'h10 == bufInfo_1_phy_rs2 ? io_irgLog_16 : _GEN_2649; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2651 = 6'h11 == bufInfo_1_phy_rs2 ? io_irgLog_17 : _GEN_2650; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2652 = 6'h12 == bufInfo_1_phy_rs2 ? io_irgLog_18 : _GEN_2651; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2653 = 6'h13 == bufInfo_1_phy_rs2 ? io_irgLog_19 : _GEN_2652; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2654 = 6'h14 == bufInfo_1_phy_rs2 ? io_irgLog_20 : _GEN_2653; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2655 = 6'h15 == bufInfo_1_phy_rs2 ? io_irgLog_21 : _GEN_2654; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2656 = 6'h16 == bufInfo_1_phy_rs2 ? io_irgLog_22 : _GEN_2655; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2657 = 6'h17 == bufInfo_1_phy_rs2 ? io_irgLog_23 : _GEN_2656; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2658 = 6'h18 == bufInfo_1_phy_rs2 ? io_irgLog_24 : _GEN_2657; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2659 = 6'h19 == bufInfo_1_phy_rs2 ? io_irgLog_25 : _GEN_2658; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2660 = 6'h1a == bufInfo_1_phy_rs2 ? io_irgLog_26 : _GEN_2659; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2661 = 6'h1b == bufInfo_1_phy_rs2 ? io_irgLog_27 : _GEN_2660; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2662 = 6'h1c == bufInfo_1_phy_rs2 ? io_irgLog_28 : _GEN_2661; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2663 = 6'h1d == bufInfo_1_phy_rs2 ? io_irgLog_29 : _GEN_2662; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2664 = 6'h1e == bufInfo_1_phy_rs2 ? io_irgLog_30 : _GEN_2663; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2665 = 6'h1f == bufInfo_1_phy_rs2 ? io_irgLog_31 : _GEN_2664; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2666 = 6'h20 == bufInfo_1_phy_rs2 ? io_irgLog_32 : _GEN_2665; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2667 = 6'h21 == bufInfo_1_phy_rs2 ? io_irgLog_33 : _GEN_2666; // @[Issue.scala 222:{37,37}]
  wire  _canIOpReq_1_1_T = _GEN_2667 == 2'h3; // @[Issue.scala 222:37]
  wire  _canIOpReq_1_1_T_3 = ~isOpReady_1_1; // @[Issue.scala 224:7]
  wire  _canIOpReq_1_1_T_4 = _canIOpReq_1_1_T & _canIOpReq_1_1_T_3; // @[Issue.scala 223:23]
  wire [5:0] bufReqNum_1_1 = bufInfo_1_phy_rs2; // @[Issue.scala 145:21 63:26]
  wire  _canIOpReq_1_1_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_1_1; // @[Issue.scala 224:55]
  wire  _canIOpReq_1_1_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_1_1; // @[Issue.scala 224:55]
  wire  canIOpReq_1_1 = _canIOpReq_1_1_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_1_1 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_1_1); // @[Issue.scala 224:24]
  wire [1:0] _GEN_2669 = 6'h1 == bufInfo_2_phy_rs1 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2670 = 6'h2 == bufInfo_2_phy_rs1 ? io_irgLog_2 : _GEN_2669; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2671 = 6'h3 == bufInfo_2_phy_rs1 ? io_irgLog_3 : _GEN_2670; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2672 = 6'h4 == bufInfo_2_phy_rs1 ? io_irgLog_4 : _GEN_2671; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2673 = 6'h5 == bufInfo_2_phy_rs1 ? io_irgLog_5 : _GEN_2672; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2674 = 6'h6 == bufInfo_2_phy_rs1 ? io_irgLog_6 : _GEN_2673; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2675 = 6'h7 == bufInfo_2_phy_rs1 ? io_irgLog_7 : _GEN_2674; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2676 = 6'h8 == bufInfo_2_phy_rs1 ? io_irgLog_8 : _GEN_2675; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2677 = 6'h9 == bufInfo_2_phy_rs1 ? io_irgLog_9 : _GEN_2676; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2678 = 6'ha == bufInfo_2_phy_rs1 ? io_irgLog_10 : _GEN_2677; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2679 = 6'hb == bufInfo_2_phy_rs1 ? io_irgLog_11 : _GEN_2678; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2680 = 6'hc == bufInfo_2_phy_rs1 ? io_irgLog_12 : _GEN_2679; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2681 = 6'hd == bufInfo_2_phy_rs1 ? io_irgLog_13 : _GEN_2680; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2682 = 6'he == bufInfo_2_phy_rs1 ? io_irgLog_14 : _GEN_2681; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2683 = 6'hf == bufInfo_2_phy_rs1 ? io_irgLog_15 : _GEN_2682; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2684 = 6'h10 == bufInfo_2_phy_rs1 ? io_irgLog_16 : _GEN_2683; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2685 = 6'h11 == bufInfo_2_phy_rs1 ? io_irgLog_17 : _GEN_2684; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2686 = 6'h12 == bufInfo_2_phy_rs1 ? io_irgLog_18 : _GEN_2685; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2687 = 6'h13 == bufInfo_2_phy_rs1 ? io_irgLog_19 : _GEN_2686; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2688 = 6'h14 == bufInfo_2_phy_rs1 ? io_irgLog_20 : _GEN_2687; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2689 = 6'h15 == bufInfo_2_phy_rs1 ? io_irgLog_21 : _GEN_2688; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2690 = 6'h16 == bufInfo_2_phy_rs1 ? io_irgLog_22 : _GEN_2689; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2691 = 6'h17 == bufInfo_2_phy_rs1 ? io_irgLog_23 : _GEN_2690; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2692 = 6'h18 == bufInfo_2_phy_rs1 ? io_irgLog_24 : _GEN_2691; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2693 = 6'h19 == bufInfo_2_phy_rs1 ? io_irgLog_25 : _GEN_2692; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2694 = 6'h1a == bufInfo_2_phy_rs1 ? io_irgLog_26 : _GEN_2693; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2695 = 6'h1b == bufInfo_2_phy_rs1 ? io_irgLog_27 : _GEN_2694; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2696 = 6'h1c == bufInfo_2_phy_rs1 ? io_irgLog_28 : _GEN_2695; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2697 = 6'h1d == bufInfo_2_phy_rs1 ? io_irgLog_29 : _GEN_2696; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2698 = 6'h1e == bufInfo_2_phy_rs1 ? io_irgLog_30 : _GEN_2697; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2699 = 6'h1f == bufInfo_2_phy_rs1 ? io_irgLog_31 : _GEN_2698; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2700 = 6'h20 == bufInfo_2_phy_rs1 ? io_irgLog_32 : _GEN_2699; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2701 = 6'h21 == bufInfo_2_phy_rs1 ? io_irgLog_33 : _GEN_2700; // @[Issue.scala 217:{37,37}]
  wire  _canIOpReq_2_0_T = _GEN_2701 == 2'h3; // @[Issue.scala 217:37]
  wire  _canIOpReq_2_0_T_3 = ~isOpReady_2_0; // @[Issue.scala 219:7]
  wire  _canIOpReq_2_0_T_4 = _canIOpReq_2_0_T & _canIOpReq_2_0_T_3; // @[Issue.scala 218:23]
  wire [5:0] bufReqNum_2_0 = bufInfo_2_phy_rs1; // @[Issue.scala 144:21 63:26]
  wire  _canIOpReq_2_0_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_2_0; // @[Issue.scala 219:55]
  wire  _canIOpReq_2_0_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_2_0; // @[Issue.scala 219:55]
  wire  canIOpReq_2_0 = _canIOpReq_2_0_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_2_0 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_2_0); // @[Issue.scala 219:24]
  wire [1:0] _GEN_2703 = 6'h1 == bufInfo_2_phy_rs2 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2704 = 6'h2 == bufInfo_2_phy_rs2 ? io_irgLog_2 : _GEN_2703; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2705 = 6'h3 == bufInfo_2_phy_rs2 ? io_irgLog_3 : _GEN_2704; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2706 = 6'h4 == bufInfo_2_phy_rs2 ? io_irgLog_4 : _GEN_2705; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2707 = 6'h5 == bufInfo_2_phy_rs2 ? io_irgLog_5 : _GEN_2706; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2708 = 6'h6 == bufInfo_2_phy_rs2 ? io_irgLog_6 : _GEN_2707; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2709 = 6'h7 == bufInfo_2_phy_rs2 ? io_irgLog_7 : _GEN_2708; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2710 = 6'h8 == bufInfo_2_phy_rs2 ? io_irgLog_8 : _GEN_2709; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2711 = 6'h9 == bufInfo_2_phy_rs2 ? io_irgLog_9 : _GEN_2710; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2712 = 6'ha == bufInfo_2_phy_rs2 ? io_irgLog_10 : _GEN_2711; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2713 = 6'hb == bufInfo_2_phy_rs2 ? io_irgLog_11 : _GEN_2712; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2714 = 6'hc == bufInfo_2_phy_rs2 ? io_irgLog_12 : _GEN_2713; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2715 = 6'hd == bufInfo_2_phy_rs2 ? io_irgLog_13 : _GEN_2714; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2716 = 6'he == bufInfo_2_phy_rs2 ? io_irgLog_14 : _GEN_2715; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2717 = 6'hf == bufInfo_2_phy_rs2 ? io_irgLog_15 : _GEN_2716; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2718 = 6'h10 == bufInfo_2_phy_rs2 ? io_irgLog_16 : _GEN_2717; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2719 = 6'h11 == bufInfo_2_phy_rs2 ? io_irgLog_17 : _GEN_2718; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2720 = 6'h12 == bufInfo_2_phy_rs2 ? io_irgLog_18 : _GEN_2719; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2721 = 6'h13 == bufInfo_2_phy_rs2 ? io_irgLog_19 : _GEN_2720; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2722 = 6'h14 == bufInfo_2_phy_rs2 ? io_irgLog_20 : _GEN_2721; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2723 = 6'h15 == bufInfo_2_phy_rs2 ? io_irgLog_21 : _GEN_2722; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2724 = 6'h16 == bufInfo_2_phy_rs2 ? io_irgLog_22 : _GEN_2723; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2725 = 6'h17 == bufInfo_2_phy_rs2 ? io_irgLog_23 : _GEN_2724; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2726 = 6'h18 == bufInfo_2_phy_rs2 ? io_irgLog_24 : _GEN_2725; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2727 = 6'h19 == bufInfo_2_phy_rs2 ? io_irgLog_25 : _GEN_2726; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2728 = 6'h1a == bufInfo_2_phy_rs2 ? io_irgLog_26 : _GEN_2727; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2729 = 6'h1b == bufInfo_2_phy_rs2 ? io_irgLog_27 : _GEN_2728; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2730 = 6'h1c == bufInfo_2_phy_rs2 ? io_irgLog_28 : _GEN_2729; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2731 = 6'h1d == bufInfo_2_phy_rs2 ? io_irgLog_29 : _GEN_2730; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2732 = 6'h1e == bufInfo_2_phy_rs2 ? io_irgLog_30 : _GEN_2731; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2733 = 6'h1f == bufInfo_2_phy_rs2 ? io_irgLog_31 : _GEN_2732; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2734 = 6'h20 == bufInfo_2_phy_rs2 ? io_irgLog_32 : _GEN_2733; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2735 = 6'h21 == bufInfo_2_phy_rs2 ? io_irgLog_33 : _GEN_2734; // @[Issue.scala 222:{37,37}]
  wire  _canIOpReq_2_1_T = _GEN_2735 == 2'h3; // @[Issue.scala 222:37]
  wire  _canIOpReq_2_1_T_3 = ~isOpReady_2_1; // @[Issue.scala 224:7]
  wire  _canIOpReq_2_1_T_4 = _canIOpReq_2_1_T & _canIOpReq_2_1_T_3; // @[Issue.scala 223:23]
  wire [5:0] bufReqNum_2_1 = bufInfo_2_phy_rs2; // @[Issue.scala 145:21 63:26]
  wire  _canIOpReq_2_1_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_2_1; // @[Issue.scala 224:55]
  wire  _canIOpReq_2_1_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_2_1; // @[Issue.scala 224:55]
  wire  canIOpReq_2_1 = _canIOpReq_2_1_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_2_1 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_2_1); // @[Issue.scala 224:24]
  wire [1:0] _GEN_2737 = 6'h1 == bufInfo_3_phy_rs1 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2738 = 6'h2 == bufInfo_3_phy_rs1 ? io_irgLog_2 : _GEN_2737; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2739 = 6'h3 == bufInfo_3_phy_rs1 ? io_irgLog_3 : _GEN_2738; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2740 = 6'h4 == bufInfo_3_phy_rs1 ? io_irgLog_4 : _GEN_2739; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2741 = 6'h5 == bufInfo_3_phy_rs1 ? io_irgLog_5 : _GEN_2740; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2742 = 6'h6 == bufInfo_3_phy_rs1 ? io_irgLog_6 : _GEN_2741; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2743 = 6'h7 == bufInfo_3_phy_rs1 ? io_irgLog_7 : _GEN_2742; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2744 = 6'h8 == bufInfo_3_phy_rs1 ? io_irgLog_8 : _GEN_2743; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2745 = 6'h9 == bufInfo_3_phy_rs1 ? io_irgLog_9 : _GEN_2744; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2746 = 6'ha == bufInfo_3_phy_rs1 ? io_irgLog_10 : _GEN_2745; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2747 = 6'hb == bufInfo_3_phy_rs1 ? io_irgLog_11 : _GEN_2746; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2748 = 6'hc == bufInfo_3_phy_rs1 ? io_irgLog_12 : _GEN_2747; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2749 = 6'hd == bufInfo_3_phy_rs1 ? io_irgLog_13 : _GEN_2748; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2750 = 6'he == bufInfo_3_phy_rs1 ? io_irgLog_14 : _GEN_2749; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2751 = 6'hf == bufInfo_3_phy_rs1 ? io_irgLog_15 : _GEN_2750; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2752 = 6'h10 == bufInfo_3_phy_rs1 ? io_irgLog_16 : _GEN_2751; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2753 = 6'h11 == bufInfo_3_phy_rs1 ? io_irgLog_17 : _GEN_2752; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2754 = 6'h12 == bufInfo_3_phy_rs1 ? io_irgLog_18 : _GEN_2753; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2755 = 6'h13 == bufInfo_3_phy_rs1 ? io_irgLog_19 : _GEN_2754; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2756 = 6'h14 == bufInfo_3_phy_rs1 ? io_irgLog_20 : _GEN_2755; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2757 = 6'h15 == bufInfo_3_phy_rs1 ? io_irgLog_21 : _GEN_2756; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2758 = 6'h16 == bufInfo_3_phy_rs1 ? io_irgLog_22 : _GEN_2757; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2759 = 6'h17 == bufInfo_3_phy_rs1 ? io_irgLog_23 : _GEN_2758; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2760 = 6'h18 == bufInfo_3_phy_rs1 ? io_irgLog_24 : _GEN_2759; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2761 = 6'h19 == bufInfo_3_phy_rs1 ? io_irgLog_25 : _GEN_2760; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2762 = 6'h1a == bufInfo_3_phy_rs1 ? io_irgLog_26 : _GEN_2761; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2763 = 6'h1b == bufInfo_3_phy_rs1 ? io_irgLog_27 : _GEN_2762; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2764 = 6'h1c == bufInfo_3_phy_rs1 ? io_irgLog_28 : _GEN_2763; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2765 = 6'h1d == bufInfo_3_phy_rs1 ? io_irgLog_29 : _GEN_2764; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2766 = 6'h1e == bufInfo_3_phy_rs1 ? io_irgLog_30 : _GEN_2765; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2767 = 6'h1f == bufInfo_3_phy_rs1 ? io_irgLog_31 : _GEN_2766; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2768 = 6'h20 == bufInfo_3_phy_rs1 ? io_irgLog_32 : _GEN_2767; // @[Issue.scala 217:{37,37}]
  wire [1:0] _GEN_2769 = 6'h21 == bufInfo_3_phy_rs1 ? io_irgLog_33 : _GEN_2768; // @[Issue.scala 217:{37,37}]
  wire  _canIOpReq_3_0_T = _GEN_2769 == 2'h3; // @[Issue.scala 217:37]
  wire  _canIOpReq_3_0_T_3 = ~isOpReady_3_0; // @[Issue.scala 219:7]
  wire  _canIOpReq_3_0_T_4 = _canIOpReq_3_0_T & _canIOpReq_3_0_T_3; // @[Issue.scala 218:23]
  wire [5:0] bufReqNum_3_0 = bufInfo_3_phy_rs1; // @[Issue.scala 144:21 63:26]
  wire  _canIOpReq_3_0_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_3_0; // @[Issue.scala 219:55]
  wire  _canIOpReq_3_0_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_3_0; // @[Issue.scala 219:55]
  wire  canIOpReq_3_0 = _canIOpReq_3_0_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_3_0 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_3_0); // @[Issue.scala 219:24]
  wire [1:0] _GEN_2771 = 6'h1 == bufInfo_3_phy_rs2 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2772 = 6'h2 == bufInfo_3_phy_rs2 ? io_irgLog_2 : _GEN_2771; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2773 = 6'h3 == bufInfo_3_phy_rs2 ? io_irgLog_3 : _GEN_2772; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2774 = 6'h4 == bufInfo_3_phy_rs2 ? io_irgLog_4 : _GEN_2773; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2775 = 6'h5 == bufInfo_3_phy_rs2 ? io_irgLog_5 : _GEN_2774; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2776 = 6'h6 == bufInfo_3_phy_rs2 ? io_irgLog_6 : _GEN_2775; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2777 = 6'h7 == bufInfo_3_phy_rs2 ? io_irgLog_7 : _GEN_2776; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2778 = 6'h8 == bufInfo_3_phy_rs2 ? io_irgLog_8 : _GEN_2777; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2779 = 6'h9 == bufInfo_3_phy_rs2 ? io_irgLog_9 : _GEN_2778; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2780 = 6'ha == bufInfo_3_phy_rs2 ? io_irgLog_10 : _GEN_2779; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2781 = 6'hb == bufInfo_3_phy_rs2 ? io_irgLog_11 : _GEN_2780; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2782 = 6'hc == bufInfo_3_phy_rs2 ? io_irgLog_12 : _GEN_2781; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2783 = 6'hd == bufInfo_3_phy_rs2 ? io_irgLog_13 : _GEN_2782; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2784 = 6'he == bufInfo_3_phy_rs2 ? io_irgLog_14 : _GEN_2783; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2785 = 6'hf == bufInfo_3_phy_rs2 ? io_irgLog_15 : _GEN_2784; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2786 = 6'h10 == bufInfo_3_phy_rs2 ? io_irgLog_16 : _GEN_2785; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2787 = 6'h11 == bufInfo_3_phy_rs2 ? io_irgLog_17 : _GEN_2786; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2788 = 6'h12 == bufInfo_3_phy_rs2 ? io_irgLog_18 : _GEN_2787; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2789 = 6'h13 == bufInfo_3_phy_rs2 ? io_irgLog_19 : _GEN_2788; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2790 = 6'h14 == bufInfo_3_phy_rs2 ? io_irgLog_20 : _GEN_2789; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2791 = 6'h15 == bufInfo_3_phy_rs2 ? io_irgLog_21 : _GEN_2790; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2792 = 6'h16 == bufInfo_3_phy_rs2 ? io_irgLog_22 : _GEN_2791; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2793 = 6'h17 == bufInfo_3_phy_rs2 ? io_irgLog_23 : _GEN_2792; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2794 = 6'h18 == bufInfo_3_phy_rs2 ? io_irgLog_24 : _GEN_2793; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2795 = 6'h19 == bufInfo_3_phy_rs2 ? io_irgLog_25 : _GEN_2794; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2796 = 6'h1a == bufInfo_3_phy_rs2 ? io_irgLog_26 : _GEN_2795; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2797 = 6'h1b == bufInfo_3_phy_rs2 ? io_irgLog_27 : _GEN_2796; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2798 = 6'h1c == bufInfo_3_phy_rs2 ? io_irgLog_28 : _GEN_2797; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2799 = 6'h1d == bufInfo_3_phy_rs2 ? io_irgLog_29 : _GEN_2798; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2800 = 6'h1e == bufInfo_3_phy_rs2 ? io_irgLog_30 : _GEN_2799; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2801 = 6'h1f == bufInfo_3_phy_rs2 ? io_irgLog_31 : _GEN_2800; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2802 = 6'h20 == bufInfo_3_phy_rs2 ? io_irgLog_32 : _GEN_2801; // @[Issue.scala 222:{37,37}]
  wire [1:0] _GEN_2803 = 6'h21 == bufInfo_3_phy_rs2 ? io_irgLog_33 : _GEN_2802; // @[Issue.scala 222:{37,37}]
  wire  _canIOpReq_3_1_T = _GEN_2803 == 2'h3; // @[Issue.scala 222:37]
  wire  _canIOpReq_3_1_T_3 = ~isOpReady_3_1; // @[Issue.scala 224:7]
  wire  _canIOpReq_3_1_T_4 = _canIOpReq_3_1_T & _canIOpReq_3_1_T_3; // @[Issue.scala 223:23]
  wire [5:0] bufReqNum_3_1 = bufInfo_3_phy_rs2; // @[Issue.scala 145:21 63:26]
  wire  _canIOpReq_3_1_T_6 = io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_3_1; // @[Issue.scala 224:55]
  wire  _canIOpReq_3_1_T_8 = io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_3_1; // @[Issue.scala 224:55]
  wire  canIOpReq_3_1 = _canIOpReq_3_1_T_4 & ~(io_irgRsp_0_valid & io_irgRsp_0_bits_phy == bufReqNum_3_1 |
    io_irgRsp_1_valid & io_irgRsp_1_bits_phy == bufReqNum_3_1); // @[Issue.scala 224:24]
  wire [1:0] _GEN_2805 = 6'h1 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2806 = 6'h2 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_2 : _GEN_2805; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2807 = 6'h3 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_3 : _GEN_2806; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2808 = 6'h4 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_4 : _GEN_2807; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2809 = 6'h5 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_5 : _GEN_2808; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2810 = 6'h6 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_6 : _GEN_2809; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2811 = 6'h7 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_7 : _GEN_2810; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2812 = 6'h8 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_8 : _GEN_2811; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2813 = 6'h9 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_9 : _GEN_2812; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2814 = 6'ha == io_dptReq_0_bits_phy_rs1 ? io_irgLog_10 : _GEN_2813; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2815 = 6'hb == io_dptReq_0_bits_phy_rs1 ? io_irgLog_11 : _GEN_2814; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2816 = 6'hc == io_dptReq_0_bits_phy_rs1 ? io_irgLog_12 : _GEN_2815; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2817 = 6'hd == io_dptReq_0_bits_phy_rs1 ? io_irgLog_13 : _GEN_2816; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2818 = 6'he == io_dptReq_0_bits_phy_rs1 ? io_irgLog_14 : _GEN_2817; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2819 = 6'hf == io_dptReq_0_bits_phy_rs1 ? io_irgLog_15 : _GEN_2818; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2820 = 6'h10 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_16 : _GEN_2819; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2821 = 6'h11 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_17 : _GEN_2820; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2822 = 6'h12 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_18 : _GEN_2821; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2823 = 6'h13 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_19 : _GEN_2822; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2824 = 6'h14 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_20 : _GEN_2823; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2825 = 6'h15 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_21 : _GEN_2824; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2826 = 6'h16 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_22 : _GEN_2825; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2827 = 6'h17 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_23 : _GEN_2826; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2828 = 6'h18 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_24 : _GEN_2827; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2829 = 6'h19 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_25 : _GEN_2828; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2830 = 6'h1a == io_dptReq_0_bits_phy_rs1 ? io_irgLog_26 : _GEN_2829; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2831 = 6'h1b == io_dptReq_0_bits_phy_rs1 ? io_irgLog_27 : _GEN_2830; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2832 = 6'h1c == io_dptReq_0_bits_phy_rs1 ? io_irgLog_28 : _GEN_2831; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2833 = 6'h1d == io_dptReq_0_bits_phy_rs1 ? io_irgLog_29 : _GEN_2832; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2834 = 6'h1e == io_dptReq_0_bits_phy_rs1 ? io_irgLog_30 : _GEN_2833; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2835 = 6'h1f == io_dptReq_0_bits_phy_rs1 ? io_irgLog_31 : _GEN_2834; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2836 = 6'h20 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_32 : _GEN_2835; // @[Issue.scala 232:{44,44}]
  wire [1:0] _GEN_2837 = 6'h21 == io_dptReq_0_bits_phy_rs1 ? io_irgLog_33 : _GEN_2836; // @[Issue.scala 232:{44,44}]
  wire  _canIOpPostReq_0_0_T_1 = io_dptReq_0_bits_phy_rs1 != 6'h21; // @[Issue.scala 233:33]
  wire  _canIOpPostReq_0_0_T_2 = _GEN_2837 == 2'h3 & _canIOpPostReq_0_0_T_1; // @[Issue.scala 232:56]
  wire  _canIOpPostReq_0_0_T_6 = io_dptReq_0_bits_fpu_isa_fmadd_s | io_dptReq_0_bits_fpu_isa_fmsub_s |
    io_dptReq_0_bits_fpu_isa_fnmsub_s | io_dptReq_0_bits_fpu_isa_fnmadd_s | io_dptReq_0_bits_fpu_isa_fmadd_d; // @[riscv_isa.scala 391:51]
  wire  _canIOpPostReq_0_0_T_10 = _canIOpPostReq_0_0_T_6 | io_dptReq_0_bits_fpu_isa_fmsub_d |
    io_dptReq_0_bits_fpu_isa_fnmsub_d | io_dptReq_0_bits_fpu_isa_fnmadd_d | io_dptReq_0_bits_fpu_isa_fadd_s; // @[riscv_isa.scala 392:51]
  wire  _canIOpPostReq_0_0_T_15 = _canIOpPostReq_0_0_T_10 | io_dptReq_0_bits_fpu_isa_fsub_s |
    io_dptReq_0_bits_fpu_isa_fmul_s | io_dptReq_0_bits_fpu_isa_fdiv_s | io_dptReq_0_bits_fpu_isa_fsqrt_s |
    io_dptReq_0_bits_fpu_isa_fadd_d; // @[riscv_isa.scala 393:63]
  wire  _canIOpPostReq_0_0_T_20 = _canIOpPostReq_0_0_T_15 | io_dptReq_0_bits_fpu_isa_fsub_d |
    io_dptReq_0_bits_fpu_isa_fmul_d | io_dptReq_0_bits_fpu_isa_fdiv_d | io_dptReq_0_bits_fpu_isa_fsqrt_d |
    io_dptReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 394:63]
  wire  _canIOpPostReq_0_0_T_23 = _canIOpPostReq_0_0_T_20 | io_dptReq_0_bits_fpu_isa_fsgnjn_s |
    io_dptReq_0_bits_fpu_isa_fsgnjx_s | io_dptReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 395:39]
  wire  _canIOpPostReq_0_0_T_26 = _canIOpPostReq_0_0_T_23 | io_dptReq_0_bits_fpu_isa_fsgnjn_d |
    io_dptReq_0_bits_fpu_isa_fsgnjx_d | io_dptReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 396:39]
  wire  _canIOpPostReq_0_0_T_30 = _canIOpPostReq_0_0_T_26 | io_dptReq_0_bits_fpu_isa_fmax_s |
    io_dptReq_0_bits_fpu_isa_fmin_d | io_dptReq_0_bits_fpu_isa_fmax_d | io_dptReq_0_bits_fpu_isa_fmv_x_w; // @[riscv_isa.scala 397:51]
  wire  _canIOpPostReq_0_0_T_32 = _canIOpPostReq_0_0_T_30 | io_dptReq_0_bits_fpu_isa_fmv_x_d |
    io_dptReq_0_bits_fpu_isa_feq_s; // @[riscv_isa.scala 398:27]
  wire  _canIOpPostReq_0_0_T_35 = _canIOpPostReq_0_0_T_32 | io_dptReq_0_bits_fpu_isa_flt_s |
    io_dptReq_0_bits_fpu_isa_fle_s | io_dptReq_0_bits_fpu_isa_feq_d; // @[riscv_isa.scala 399:39]
  wire  _canIOpPostReq_0_0_T_38 = _canIOpPostReq_0_0_T_35 | io_dptReq_0_bits_fpu_isa_flt_d |
    io_dptReq_0_bits_fpu_isa_fle_d | io_dptReq_0_bits_fpu_isa_fclass_s; // @[riscv_isa.scala 400:39]
  wire  _canIOpPostReq_0_0_T_40 = _canIOpPostReq_0_0_T_38 | io_dptReq_0_bits_fpu_isa_fclass_d |
    io_dptReq_0_bits_fpu_isa_fcvt_w_s; // @[riscv_isa.scala 401:27]
  wire  _canIOpPostReq_0_0_T_44 = _canIOpPostReq_0_0_T_40 | io_dptReq_0_bits_fpu_isa_fcvt_wu_s |
    io_dptReq_0_bits_fpu_isa_fcvt_l_s | io_dptReq_0_bits_fpu_isa_fcvt_lu_s | io_dptReq_0_bits_fpu_isa_fcvt_w_d; // @[riscv_isa.scala 402:51]
  wire  _canIOpPostReq_0_0_T_48 = _canIOpPostReq_0_0_T_44 | io_dptReq_0_bits_fpu_isa_fcvt_wu_d |
    io_dptReq_0_bits_fpu_isa_fcvt_l_d | io_dptReq_0_bits_fpu_isa_fcvt_lu_d | io_dptReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 403:51]
  wire  _canIOpPostReq_0_0_T_49 = _canIOpPostReq_0_0_T_48 | io_dptReq_0_bits_fpu_isa_fcvt_d_s; // @[riscv_isa.scala 404:15]
  wire  _canIOpPostReq_0_0_T_50 = ~_canIOpPostReq_0_0_T_49; // @[Issue.scala 234:7]
  wire  canIOpPostReq_0_0 = _canIOpPostReq_0_0_T_2 & _canIOpPostReq_0_0_T_50; // @[Issue.scala 233:50]
  wire [1:0] _GEN_2839 = 6'h1 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_1 : io_irgLog_0; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2840 = 6'h2 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_2 : _GEN_2839; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2841 = 6'h3 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_3 : _GEN_2840; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2842 = 6'h4 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_4 : _GEN_2841; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2843 = 6'h5 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_5 : _GEN_2842; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2844 = 6'h6 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_6 : _GEN_2843; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2845 = 6'h7 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_7 : _GEN_2844; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2846 = 6'h8 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_8 : _GEN_2845; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2847 = 6'h9 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_9 : _GEN_2846; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2848 = 6'ha == io_dptReq_0_bits_phy_rs2 ? io_irgLog_10 : _GEN_2847; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2849 = 6'hb == io_dptReq_0_bits_phy_rs2 ? io_irgLog_11 : _GEN_2848; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2850 = 6'hc == io_dptReq_0_bits_phy_rs2 ? io_irgLog_12 : _GEN_2849; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2851 = 6'hd == io_dptReq_0_bits_phy_rs2 ? io_irgLog_13 : _GEN_2850; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2852 = 6'he == io_dptReq_0_bits_phy_rs2 ? io_irgLog_14 : _GEN_2851; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2853 = 6'hf == io_dptReq_0_bits_phy_rs2 ? io_irgLog_15 : _GEN_2852; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2854 = 6'h10 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_16 : _GEN_2853; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2855 = 6'h11 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_17 : _GEN_2854; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2856 = 6'h12 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_18 : _GEN_2855; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2857 = 6'h13 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_19 : _GEN_2856; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2858 = 6'h14 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_20 : _GEN_2857; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2859 = 6'h15 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_21 : _GEN_2858; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2860 = 6'h16 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_22 : _GEN_2859; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2861 = 6'h17 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_23 : _GEN_2860; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2862 = 6'h18 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_24 : _GEN_2861; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2863 = 6'h19 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_25 : _GEN_2862; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2864 = 6'h1a == io_dptReq_0_bits_phy_rs2 ? io_irgLog_26 : _GEN_2863; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2865 = 6'h1b == io_dptReq_0_bits_phy_rs2 ? io_irgLog_27 : _GEN_2864; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2866 = 6'h1c == io_dptReq_0_bits_phy_rs2 ? io_irgLog_28 : _GEN_2865; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2867 = 6'h1d == io_dptReq_0_bits_phy_rs2 ? io_irgLog_29 : _GEN_2866; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2868 = 6'h1e == io_dptReq_0_bits_phy_rs2 ? io_irgLog_30 : _GEN_2867; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2869 = 6'h1f == io_dptReq_0_bits_phy_rs2 ? io_irgLog_31 : _GEN_2868; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2870 = 6'h20 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_32 : _GEN_2869; // @[Issue.scala 238:{44,44}]
  wire [1:0] _GEN_2871 = 6'h21 == io_dptReq_0_bits_phy_rs2 ? io_irgLog_33 : _GEN_2870; // @[Issue.scala 238:{44,44}]
  wire  _canIOpPostReq_0_1_T_1 = io_dptReq_0_bits_phy_rs2 != 6'h21; // @[Issue.scala 239:33]
  wire  _canIOpPostReq_0_1_T_2 = _GEN_2871 == 2'h3 & _canIOpPostReq_0_1_T_1; // @[Issue.scala 238:56]
  wire  _canIOpPostReq_0_1_T_51 = _canIOpPostReq_0_1_T_2 & _canIOpPostReq_0_0_T_50; // @[Issue.scala 239:50]
  wire  _canIOpPostReq_0_1_T_52 = io_dptReq_0_bits_lsu_isa_fsw | io_dptReq_0_bits_lsu_isa_fsd; // @[riscv_isa.scala 164:20]
  wire  canIOpPostReq_0_1 = _canIOpPostReq_0_1_T_51 & ~_canIOpPostReq_0_1_T_52; // @[Issue.scala 240:42]
  wire  maskCondSelIRS1_0_0 = _entrySel_T | ~canIOpReq_0_0; // @[Issue.scala 256:49]
  wire  maskCondSelIRS2_0_0 = _entrySel_T | ~canIOpReq_0_1; // @[Issue.scala 257:49]
  wire  maskCondSelIRS1_0_1 = _entrySel_T_1 | ~canIOpReq_1_0; // @[Issue.scala 256:49]
  wire  maskCondSelIRS2_0_1 = _entrySel_T_1 | ~canIOpReq_1_1; // @[Issue.scala 257:49]
  wire  maskCondSelIRS1_0_2 = _entrySel_T_2 | ~canIOpReq_2_0; // @[Issue.scala 256:49]
  wire  maskCondSelIRS2_0_2 = _entrySel_T_2 | ~canIOpReq_2_1; // @[Issue.scala 257:49]
  wire  maskCondSelIRS1_0_3 = _io_dptReq_0_ready_T_3 | ~canIOpReq_3_0; // @[Issue.scala 256:49]
  wire  maskCondSelIRS2_0_3 = _io_dptReq_0_ready_T_3 | ~canIOpReq_3_1; // @[Issue.scala 257:49]
  wire  _maskCondSelIRS1_0_4_T_1 = ~_T; // @[Issue.scala 260:45]
  wire  maskCondSelIRS1_0_4 = ~_T | ~canIOpPostReq_0_0; // @[Issue.scala 260:64]
  wire  maskCondSelIRS2_0_4 = _maskCondSelIRS1_0_4_T_1 | ~canIOpPostReq_0_1; // @[Issue.scala 261:64]
  wire  _matrixOut_0_0_T = ~maskCondSelIRS1_0_0; // @[Issue.scala 200:46]
  wire  matrixOut__0_0 = ageMatrixW_0_0 & ~maskCondSelIRS1_0_0 | maskCondSelIRS1_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_1_T = ~maskCondSelIRS1_0_1; // @[Issue.scala 200:46]
  wire  matrixOut__0_1 = ageMatrixW_0_1 & ~maskCondSelIRS1_0_1 | maskCondSelIRS1_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_2_T = ~maskCondSelIRS1_0_2; // @[Issue.scala 200:46]
  wire  matrixOut__0_2 = ageMatrixW_0_2 & ~maskCondSelIRS1_0_2 | maskCondSelIRS1_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_3_T = ~maskCondSelIRS1_0_3; // @[Issue.scala 200:46]
  wire  matrixOut__0_3 = ageMatrixW_0_3 & ~maskCondSelIRS1_0_3 | maskCondSelIRS1_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_4_T = ~maskCondSelIRS1_0_4; // @[Issue.scala 200:46]
  wire  matrixOut__1_0 = ageMatrixR_1_0 & ~maskCondSelIRS1_0_0 | maskCondSelIRS1_0_1; // @[Issue.scala 200:60]
  wire  matrixOut__1_1 = ageMatrixW_1_1 & ~maskCondSelIRS1_0_1 | maskCondSelIRS1_0_1; // @[Issue.scala 200:60]
  wire  matrixOut__1_2 = ageMatrixW_1_2 & ~maskCondSelIRS1_0_2 | maskCondSelIRS1_0_1; // @[Issue.scala 200:60]
  wire  matrixOut__1_3 = ageMatrixW_1_3 & ~maskCondSelIRS1_0_3 | maskCondSelIRS1_0_1; // @[Issue.scala 200:60]
  wire  matrixOut__2_0 = ageMatrixR_2_0 & ~maskCondSelIRS1_0_0 | maskCondSelIRS1_0_2; // @[Issue.scala 200:60]
  wire  matrixOut__2_1 = ageMatrixR_2_1 & ~maskCondSelIRS1_0_1 | maskCondSelIRS1_0_2; // @[Issue.scala 200:60]
  wire  matrixOut__2_2 = ageMatrixW_2_2 & ~maskCondSelIRS1_0_2 | maskCondSelIRS1_0_2; // @[Issue.scala 200:60]
  wire  matrixOut__2_3 = ageMatrixW_2_3 & ~maskCondSelIRS1_0_3 | maskCondSelIRS1_0_2; // @[Issue.scala 200:60]
  wire  matrixOut__3_0 = ageMatrixR_3_0 & ~maskCondSelIRS1_0_0 | maskCondSelIRS1_0_3; // @[Issue.scala 200:60]
  wire  matrixOut__3_1 = ageMatrixR_3_1 & ~maskCondSelIRS1_0_1 | maskCondSelIRS1_0_3; // @[Issue.scala 200:60]
  wire  matrixOut__3_2 = ageMatrixR_3_2 & ~maskCondSelIRS1_0_2 | maskCondSelIRS1_0_3; // @[Issue.scala 200:60]
  wire  matrixOut__3_3 = ageMatrixW_3_3 & ~maskCondSelIRS1_0_3 | maskCondSelIRS1_0_3; // @[Issue.scala 200:60]
  wire  matrixOut__4_0 = ~maskCondSelIRS1_0_0 | maskCondSelIRS1_0_4; // @[Issue.scala 200:60]
  wire  matrixOut__4_1 = ~maskCondSelIRS1_0_1 | maskCondSelIRS1_0_4; // @[Issue.scala 200:60]
  wire  matrixOut__4_2 = ~maskCondSelIRS1_0_2 | maskCondSelIRS1_0_4; // @[Issue.scala 200:60]
  wire  matrixOut__4_3 = ~maskCondSelIRS1_0_3 | maskCondSelIRS1_0_4; // @[Issue.scala 200:60]
  wire  _matrixOut_0_0_T_3 = ~maskCondSelIRS2_0_0; // @[Issue.scala 200:46]
  wire  matrixOut_1_0_0 = ageMatrixW_0_0 & ~maskCondSelIRS2_0_0 | maskCondSelIRS2_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_1_T_3 = ~maskCondSelIRS2_0_1; // @[Issue.scala 200:46]
  wire  matrixOut_1_0_1 = ageMatrixW_0_1 & ~maskCondSelIRS2_0_1 | maskCondSelIRS2_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_2_T_3 = ~maskCondSelIRS2_0_2; // @[Issue.scala 200:46]
  wire  matrixOut_1_0_2 = ageMatrixW_0_2 & ~maskCondSelIRS2_0_2 | maskCondSelIRS2_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_3_T_3 = ~maskCondSelIRS2_0_3; // @[Issue.scala 200:46]
  wire  matrixOut_1_0_3 = ageMatrixW_0_3 & ~maskCondSelIRS2_0_3 | maskCondSelIRS2_0_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_4_T_3 = ~maskCondSelIRS2_0_4; // @[Issue.scala 200:46]
  wire  matrixOut_1_1_0 = ageMatrixR_1_0 & ~maskCondSelIRS2_0_0 | maskCondSelIRS2_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_1_1_1 = ageMatrixW_1_1 & ~maskCondSelIRS2_0_1 | maskCondSelIRS2_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_1_1_2 = ageMatrixW_1_2 & ~maskCondSelIRS2_0_2 | maskCondSelIRS2_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_1_1_3 = ageMatrixW_1_3 & ~maskCondSelIRS2_0_3 | maskCondSelIRS2_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_1_2_0 = ageMatrixR_2_0 & ~maskCondSelIRS2_0_0 | maskCondSelIRS2_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_1_2_1 = ageMatrixR_2_1 & ~maskCondSelIRS2_0_1 | maskCondSelIRS2_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_1_2_2 = ageMatrixW_2_2 & ~maskCondSelIRS2_0_2 | maskCondSelIRS2_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_1_2_3 = ageMatrixW_2_3 & ~maskCondSelIRS2_0_3 | maskCondSelIRS2_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_1_3_0 = ageMatrixR_3_0 & ~maskCondSelIRS2_0_0 | maskCondSelIRS2_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_1_3_1 = ageMatrixR_3_1 & ~maskCondSelIRS2_0_1 | maskCondSelIRS2_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_1_3_2 = ageMatrixR_3_2 & ~maskCondSelIRS2_0_2 | maskCondSelIRS2_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_1_3_3 = ageMatrixW_3_3 & ~maskCondSelIRS2_0_3 | maskCondSelIRS2_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_1_4_0 = ~maskCondSelIRS2_0_0 | maskCondSelIRS2_0_4; // @[Issue.scala 200:60]
  wire  matrixOut_1_4_1 = ~maskCondSelIRS2_0_1 | maskCondSelIRS2_0_4; // @[Issue.scala 200:60]
  wire  matrixOut_1_4_2 = ~maskCondSelIRS2_0_2 | maskCondSelIRS2_0_4; // @[Issue.scala 200:60]
  wire  matrixOut_1_4_3 = ~maskCondSelIRS2_0_3 | maskCondSelIRS2_0_4; // @[Issue.scala 200:60]
  wire  _T_61 = matrixOut__0_0 & matrixOut__0_1 & matrixOut__0_2 & matrixOut__0_3 & maskCondSelIRS1_0_0 & (
    matrixOut__1_0 & matrixOut__1_1 & matrixOut__1_2 & matrixOut__1_3 & maskCondSelIRS1_0_1) & (matrixOut__2_0 &
    matrixOut__2_1 & matrixOut__2_2 & matrixOut__2_3 & maskCondSelIRS1_0_2) & (matrixOut__3_0 & matrixOut__3_1 &
    matrixOut__3_2 & matrixOut__3_3 & maskCondSelIRS1_0_3) & (matrixOut__4_0 & matrixOut__4_1 & matrixOut__4_2 &
    matrixOut__4_3 & maskCondSelIRS1_0_4); // @[Issue.scala 277:32]
  wire  _T_71 = ~matrixOut__0_0 & ~matrixOut__0_1 & ~matrixOut__0_2 & ~matrixOut__0_3 & _matrixOut_0_0_T; // @[Issue.scala 278:66]
  wire  _T_81 = ~matrixOut__1_0 & ~matrixOut__1_1 & ~matrixOut__1_2 & ~matrixOut__1_3 & _matrixOut_0_1_T; // @[Issue.scala 278:66]
  wire  _T_91 = ~matrixOut__2_0 & ~matrixOut__2_1 & ~matrixOut__2_2 & ~matrixOut__2_3 & _matrixOut_0_2_T; // @[Issue.scala 278:66]
  wire  _T_101 = ~matrixOut__3_0 & ~matrixOut__3_1 & ~matrixOut__3_2 & ~matrixOut__3_3 & _matrixOut_0_3_T; // @[Issue.scala 278:66]
  wire  _T_111 = ~matrixOut__4_0 & ~matrixOut__4_1 & ~matrixOut__4_2 & ~matrixOut__4_3 & _matrixOut_0_4_T; // @[Issue.scala 278:66]
  wire [1:0] _T_112 = _T_71 + _T_81; // @[Bitwise.scala 51:90]
  wire [1:0] _T_114 = _T_101 + _T_111; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_422 = {{1'd0}, _T_91}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_116 = _GEN_422 + _T_114; // @[Bitwise.scala 51:90]
  wire [2:0] _T_118 = _T_112 + _T_116[1:0]; // @[Bitwise.scala 51:90]
  wire  _T_120 = _T_118 == 3'h1; // @[Issue.scala 278:101]
  wire  _T_121 = matrixOut__0_0 & matrixOut__0_1 & matrixOut__0_2 & matrixOut__0_3 & maskCondSelIRS1_0_0 & (
    matrixOut__1_0 & matrixOut__1_1 & matrixOut__1_2 & matrixOut__1_3 & maskCondSelIRS1_0_1) & (matrixOut__2_0 &
    matrixOut__2_1 & matrixOut__2_2 & matrixOut__2_3 & maskCondSelIRS1_0_2) & (matrixOut__3_0 & matrixOut__3_1 &
    matrixOut__3_2 & matrixOut__3_3 & maskCondSelIRS1_0_3) & (matrixOut__4_0 & matrixOut__4_1 & matrixOut__4_2 &
    matrixOut__4_3 & maskCondSelIRS1_0_4) | _T_120; // @[Issue.scala 277:92]
  wire  _T_123 = ~reset; // @[Issue.scala 276:11]
  wire  _T_179 = matrixOut_1_0_0 & matrixOut_1_0_1 & matrixOut_1_0_2 & matrixOut_1_0_3 & maskCondSelIRS2_0_0 & (
    matrixOut_1_1_0 & matrixOut_1_1_1 & matrixOut_1_1_2 & matrixOut_1_1_3 & maskCondSelIRS2_0_1) & (matrixOut_1_2_0 &
    matrixOut_1_2_1 & matrixOut_1_2_2 & matrixOut_1_2_3 & maskCondSelIRS2_0_2) & (matrixOut_1_3_0 & matrixOut_1_3_1 &
    matrixOut_1_3_2 & matrixOut_1_3_3 & maskCondSelIRS2_0_3) & (matrixOut_1_4_0 & matrixOut_1_4_1 & matrixOut_1_4_2 &
    matrixOut_1_4_3 & maskCondSelIRS2_0_4); // @[Issue.scala 282:32]
  wire  _T_189 = ~matrixOut_1_0_0 & ~matrixOut_1_0_1 & ~matrixOut_1_0_2 & ~matrixOut_1_0_3 & _matrixOut_0_0_T_3; // @[Issue.scala 283:66]
  wire  _T_199 = ~matrixOut_1_1_0 & ~matrixOut_1_1_1 & ~matrixOut_1_1_2 & ~matrixOut_1_1_3 & _matrixOut_0_1_T_3; // @[Issue.scala 283:66]
  wire  _T_209 = ~matrixOut_1_2_0 & ~matrixOut_1_2_1 & ~matrixOut_1_2_2 & ~matrixOut_1_2_3 & _matrixOut_0_2_T_3; // @[Issue.scala 283:66]
  wire  _T_219 = ~matrixOut_1_3_0 & ~matrixOut_1_3_1 & ~matrixOut_1_3_2 & ~matrixOut_1_3_3 & _matrixOut_0_3_T_3; // @[Issue.scala 283:66]
  wire  _T_229 = ~matrixOut_1_4_0 & ~matrixOut_1_4_1 & ~matrixOut_1_4_2 & ~matrixOut_1_4_3 & _matrixOut_0_4_T_3; // @[Issue.scala 283:66]
  wire [1:0] _T_230 = _T_189 + _T_199; // @[Bitwise.scala 51:90]
  wire [1:0] _T_232 = _T_219 + _T_229; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_423 = {{1'd0}, _T_209}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_234 = _GEN_423 + _T_232; // @[Bitwise.scala 51:90]
  wire [2:0] _T_236 = _T_230 + _T_234[1:0]; // @[Bitwise.scala 51:90]
  wire  _T_238 = _T_236 == 3'h1; // @[Issue.scala 283:101]
  wire  _T_239 = matrixOut_1_0_0 & matrixOut_1_0_1 & matrixOut_1_0_2 & matrixOut_1_0_3 & maskCondSelIRS2_0_0 & (
    matrixOut_1_1_0 & matrixOut_1_1_1 & matrixOut_1_1_2 & matrixOut_1_1_3 & maskCondSelIRS2_0_1) & (matrixOut_1_2_0 &
    matrixOut_1_2_1 & matrixOut_1_2_2 & matrixOut_1_2_3 & maskCondSelIRS2_0_2) & (matrixOut_1_3_0 & matrixOut_1_3_1 &
    matrixOut_1_3_2 & matrixOut_1_3_3 & maskCondSelIRS2_0_3) & (matrixOut_1_4_0 & matrixOut_1_4_1 & matrixOut_1_4_2 &
    matrixOut_1_4_3 & maskCondSelIRS2_0_4) | _T_238; // @[Issue.scala 282:93]
  wire [5:0] _selIRS1_0_T_50 = _T_71 ? bufReqNum_0_0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_51 = _T_81 ? bufReqNum_1_0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_55 = _selIRS1_0_T_50 | _selIRS1_0_T_51; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_52 = _T_91 ? bufReqNum_2_0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_56 = _selIRS1_0_T_55 | _selIRS1_0_T_52; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_53 = _T_101 ? bufReqNum_3_0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_57 = _selIRS1_0_T_56 | _selIRS1_0_T_53; // @[Mux.scala 27:73]
  wire [5:0] _selIRS1_0_T_54 = _T_111 ? io_dptReq_0_bits_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] selIRS1_0 = _selIRS1_0_T_57 | _selIRS1_0_T_54; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_50 = _T_189 ? bufReqNum_0_1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_51 = _T_199 ? bufReqNum_1_1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_55 = _selIRS2_0_T_50 | _selIRS2_0_T_51; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_52 = _T_209 ? bufReqNum_2_1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_56 = _selIRS2_0_T_55 | _selIRS2_0_T_52; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_53 = _T_219 ? bufReqNum_3_1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_57 = _selIRS2_0_T_56 | _selIRS2_0_T_53; // @[Mux.scala 27:73]
  wire [5:0] _selIRS2_0_T_54 = _T_229 ? io_dptReq_0_bits_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] selIRS2_0 = _selIRS2_0_T_57 | _selIRS2_0_T_54; // @[Mux.scala 27:73]
  wire [5:0] _rIOpNum_0_T_2 = ~_T_179 ? selIRS2_0 : 6'h21; // @[Issue.scala 313:66]
  wire [5:0] rIOpNum_0 = ~_T_61 ? selIRS1_0 : _rIOpNum_0_T_2; // @[Issue.scala 313:26]
  wire  maskCondSelIRS1_1_0 = maskCondSelIRS1_0_0 | bufReqNum_0_0 == rIOpNum_0; // @[Issue.scala 265:62]
  wire  maskCondSelIRS2_1_0 = maskCondSelIRS2_0_0 | bufReqNum_0_1 == rIOpNum_0; // @[Issue.scala 266:62]
  wire  maskCondSelIRS1_1_1 = maskCondSelIRS1_0_1 | bufReqNum_1_0 == rIOpNum_0; // @[Issue.scala 265:62]
  wire  maskCondSelIRS2_1_1 = maskCondSelIRS2_0_1 | bufReqNum_1_1 == rIOpNum_0; // @[Issue.scala 266:62]
  wire  maskCondSelIRS1_1_2 = maskCondSelIRS1_0_2 | bufReqNum_2_0 == rIOpNum_0; // @[Issue.scala 265:62]
  wire  maskCondSelIRS2_1_2 = maskCondSelIRS2_0_2 | bufReqNum_2_1 == rIOpNum_0; // @[Issue.scala 266:62]
  wire  maskCondSelIRS1_1_3 = maskCondSelIRS1_0_3 | bufReqNum_3_0 == rIOpNum_0; // @[Issue.scala 265:62]
  wire  maskCondSelIRS2_1_3 = maskCondSelIRS2_0_3 | bufReqNum_3_1 == rIOpNum_0; // @[Issue.scala 266:62]
  wire  maskCondSelIRS1_1_4 = maskCondSelIRS1_0_4 | io_dptReq_0_bits_phy_rs1 == rIOpNum_0; // @[Issue.scala 269:80]
  wire  maskCondSelIRS2_1_4 = maskCondSelIRS2_0_4 | io_dptReq_0_bits_phy_rs2 == rIOpNum_0; // @[Issue.scala 270:80]
  wire  _matrixOut_0_0_T_6 = ~maskCondSelIRS1_1_0; // @[Issue.scala 200:46]
  wire  matrixOut_2_0_0 = ageMatrixW_0_0 & ~maskCondSelIRS1_1_0 | maskCondSelIRS1_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_1_T_6 = ~maskCondSelIRS1_1_1; // @[Issue.scala 200:46]
  wire  matrixOut_2_0_1 = ageMatrixW_0_1 & ~maskCondSelIRS1_1_1 | maskCondSelIRS1_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_2_T_6 = ~maskCondSelIRS1_1_2; // @[Issue.scala 200:46]
  wire  matrixOut_2_0_2 = ageMatrixW_0_2 & ~maskCondSelIRS1_1_2 | maskCondSelIRS1_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_3_T_6 = ~maskCondSelIRS1_1_3; // @[Issue.scala 200:46]
  wire  matrixOut_2_0_3 = ageMatrixW_0_3 & ~maskCondSelIRS1_1_3 | maskCondSelIRS1_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_4_T_6 = ~maskCondSelIRS1_1_4; // @[Issue.scala 200:46]
  wire  matrixOut_2_1_0 = ageMatrixR_1_0 & ~maskCondSelIRS1_1_0 | maskCondSelIRS1_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_2_1_1 = ageMatrixW_1_1 & ~maskCondSelIRS1_1_1 | maskCondSelIRS1_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_2_1_2 = ageMatrixW_1_2 & ~maskCondSelIRS1_1_2 | maskCondSelIRS1_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_2_1_3 = ageMatrixW_1_3 & ~maskCondSelIRS1_1_3 | maskCondSelIRS1_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_2_2_0 = ageMatrixR_2_0 & ~maskCondSelIRS1_1_0 | maskCondSelIRS1_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_2_2_1 = ageMatrixR_2_1 & ~maskCondSelIRS1_1_1 | maskCondSelIRS1_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_2_2_2 = ageMatrixW_2_2 & ~maskCondSelIRS1_1_2 | maskCondSelIRS1_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_2_2_3 = ageMatrixW_2_3 & ~maskCondSelIRS1_1_3 | maskCondSelIRS1_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_2_3_0 = ageMatrixR_3_0 & ~maskCondSelIRS1_1_0 | maskCondSelIRS1_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_2_3_1 = ageMatrixR_3_1 & ~maskCondSelIRS1_1_1 | maskCondSelIRS1_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_2_3_2 = ageMatrixR_3_2 & ~maskCondSelIRS1_1_2 | maskCondSelIRS1_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_2_3_3 = ageMatrixW_3_3 & ~maskCondSelIRS1_1_3 | maskCondSelIRS1_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_2_4_0 = ~maskCondSelIRS1_1_0 | maskCondSelIRS1_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_2_4_1 = ~maskCondSelIRS1_1_1 | maskCondSelIRS1_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_2_4_2 = ~maskCondSelIRS1_1_2 | maskCondSelIRS1_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_2_4_3 = ~maskCondSelIRS1_1_3 | maskCondSelIRS1_1_4; // @[Issue.scala 200:60]
  wire  _matrixOut_0_0_T_9 = ~maskCondSelIRS2_1_0; // @[Issue.scala 200:46]
  wire  matrixOut_3_0_0 = ageMatrixW_0_0 & ~maskCondSelIRS2_1_0 | maskCondSelIRS2_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_1_T_9 = ~maskCondSelIRS2_1_1; // @[Issue.scala 200:46]
  wire  matrixOut_3_0_1 = ageMatrixW_0_1 & ~maskCondSelIRS2_1_1 | maskCondSelIRS2_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_2_T_9 = ~maskCondSelIRS2_1_2; // @[Issue.scala 200:46]
  wire  matrixOut_3_0_2 = ageMatrixW_0_2 & ~maskCondSelIRS2_1_2 | maskCondSelIRS2_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_3_T_9 = ~maskCondSelIRS2_1_3; // @[Issue.scala 200:46]
  wire  matrixOut_3_0_3 = ageMatrixW_0_3 & ~maskCondSelIRS2_1_3 | maskCondSelIRS2_1_0; // @[Issue.scala 200:60]
  wire  _matrixOut_0_4_T_9 = ~maskCondSelIRS2_1_4; // @[Issue.scala 200:46]
  wire  matrixOut_3_1_0 = ageMatrixR_1_0 & ~maskCondSelIRS2_1_0 | maskCondSelIRS2_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_3_1_1 = ageMatrixW_1_1 & ~maskCondSelIRS2_1_1 | maskCondSelIRS2_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_3_1_2 = ageMatrixW_1_2 & ~maskCondSelIRS2_1_2 | maskCondSelIRS2_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_3_1_3 = ageMatrixW_1_3 & ~maskCondSelIRS2_1_3 | maskCondSelIRS2_1_1; // @[Issue.scala 200:60]
  wire  matrixOut_3_2_0 = ageMatrixR_2_0 & ~maskCondSelIRS2_1_0 | maskCondSelIRS2_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_3_2_1 = ageMatrixR_2_1 & ~maskCondSelIRS2_1_1 | maskCondSelIRS2_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_3_2_2 = ageMatrixW_2_2 & ~maskCondSelIRS2_1_2 | maskCondSelIRS2_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_3_2_3 = ageMatrixW_2_3 & ~maskCondSelIRS2_1_3 | maskCondSelIRS2_1_2; // @[Issue.scala 200:60]
  wire  matrixOut_3_3_0 = ageMatrixR_3_0 & ~maskCondSelIRS2_1_0 | maskCondSelIRS2_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_3_3_1 = ageMatrixR_3_1 & ~maskCondSelIRS2_1_1 | maskCondSelIRS2_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_3_3_2 = ageMatrixR_3_2 & ~maskCondSelIRS2_1_2 | maskCondSelIRS2_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_3_3_3 = ageMatrixW_3_3 & ~maskCondSelIRS2_1_3 | maskCondSelIRS2_1_3; // @[Issue.scala 200:60]
  wire  matrixOut_3_4_0 = ~maskCondSelIRS2_1_0 | maskCondSelIRS2_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_3_4_1 = ~maskCondSelIRS2_1_1 | maskCondSelIRS2_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_3_4_2 = ~maskCondSelIRS2_1_2 | maskCondSelIRS2_1_4; // @[Issue.scala 200:60]
  wire  matrixOut_3_4_3 = ~maskCondSelIRS2_1_3 | maskCondSelIRS2_1_4; // @[Issue.scala 200:60]
  wire  _T_307 = ~matrixOut_2_0_0 & ~matrixOut_2_0_1 & ~matrixOut_2_0_2 & ~matrixOut_2_0_3 & _matrixOut_0_0_T_6; // @[Issue.scala 278:66]
  wire  _T_317 = ~matrixOut_2_1_0 & ~matrixOut_2_1_1 & ~matrixOut_2_1_2 & ~matrixOut_2_1_3 & _matrixOut_0_1_T_6; // @[Issue.scala 278:66]
  wire  _T_327 = ~matrixOut_2_2_0 & ~matrixOut_2_2_1 & ~matrixOut_2_2_2 & ~matrixOut_2_2_3 & _matrixOut_0_2_T_6; // @[Issue.scala 278:66]
  wire  _T_337 = ~matrixOut_2_3_0 & ~matrixOut_2_3_1 & ~matrixOut_2_3_2 & ~matrixOut_2_3_3 & _matrixOut_0_3_T_6; // @[Issue.scala 278:66]
  wire  _T_347 = ~matrixOut_2_4_0 & ~matrixOut_2_4_1 & ~matrixOut_2_4_2 & ~matrixOut_2_4_3 & _matrixOut_0_4_T_6; // @[Issue.scala 278:66]
  wire [1:0] _T_348 = _T_307 + _T_317; // @[Bitwise.scala 51:90]
  wire [1:0] _T_350 = _T_337 + _T_347; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_424 = {{1'd0}, _T_327}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_352 = _GEN_424 + _T_350; // @[Bitwise.scala 51:90]
  wire [2:0] _T_354 = _T_348 + _T_352[1:0]; // @[Bitwise.scala 51:90]
  wire  _T_356 = _T_354 == 3'h1; // @[Issue.scala 278:101]
  wire  _T_357 = matrixOut_2_0_0 & matrixOut_2_0_1 & matrixOut_2_0_2 & matrixOut_2_0_3 & maskCondSelIRS1_1_0 & (
    matrixOut_2_1_0 & matrixOut_2_1_1 & matrixOut_2_1_2 & matrixOut_2_1_3 & maskCondSelIRS1_1_1) & (matrixOut_2_2_0 &
    matrixOut_2_2_1 & matrixOut_2_2_2 & matrixOut_2_2_3 & maskCondSelIRS1_1_2) & (matrixOut_2_3_0 & matrixOut_2_3_1 &
    matrixOut_2_3_2 & matrixOut_2_3_3 & maskCondSelIRS1_1_3) & (matrixOut_2_4_0 & matrixOut_2_4_1 & matrixOut_2_4_2 &
    matrixOut_2_4_3 & maskCondSelIRS1_1_4) | _T_356; // @[Issue.scala 277:92]
  wire  _T_425 = ~matrixOut_3_0_0 & ~matrixOut_3_0_1 & ~matrixOut_3_0_2 & ~matrixOut_3_0_3 & _matrixOut_0_0_T_9; // @[Issue.scala 283:66]
  wire  _T_435 = ~matrixOut_3_1_0 & ~matrixOut_3_1_1 & ~matrixOut_3_1_2 & ~matrixOut_3_1_3 & _matrixOut_0_1_T_9; // @[Issue.scala 283:66]
  wire  _T_445 = ~matrixOut_3_2_0 & ~matrixOut_3_2_1 & ~matrixOut_3_2_2 & ~matrixOut_3_2_3 & _matrixOut_0_2_T_9; // @[Issue.scala 283:66]
  wire  _T_455 = ~matrixOut_3_3_0 & ~matrixOut_3_3_1 & ~matrixOut_3_3_2 & ~matrixOut_3_3_3 & _matrixOut_0_3_T_9; // @[Issue.scala 283:66]
  wire  _T_465 = ~matrixOut_3_4_0 & ~matrixOut_3_4_1 & ~matrixOut_3_4_2 & ~matrixOut_3_4_3 & _matrixOut_0_4_T_9; // @[Issue.scala 283:66]
  wire [1:0] _T_466 = _T_425 + _T_435; // @[Bitwise.scala 51:90]
  wire [1:0] _T_468 = _T_455 + _T_465; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_425 = {{1'd0}, _T_445}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_470 = _GEN_425 + _T_468; // @[Bitwise.scala 51:90]
  wire [2:0] _T_472 = _T_466 + _T_470[1:0]; // @[Bitwise.scala 51:90]
  wire  _T_474 = _T_472 == 3'h1; // @[Issue.scala 283:101]
  wire  _T_475 = matrixOut_3_0_0 & matrixOut_3_0_1 & matrixOut_3_0_2 & matrixOut_3_0_3 & maskCondSelIRS2_1_0 & (
    matrixOut_3_1_0 & matrixOut_3_1_1 & matrixOut_3_1_2 & matrixOut_3_1_3 & maskCondSelIRS2_1_1) & (matrixOut_3_2_0 &
    matrixOut_3_2_1 & matrixOut_3_2_2 & matrixOut_3_2_3 & maskCondSelIRS2_1_2) & (matrixOut_3_3_0 & matrixOut_3_3_1 &
    matrixOut_3_3_2 & matrixOut_3_3_3 & maskCondSelIRS2_1_3) & (matrixOut_3_4_0 & matrixOut_3_4_1 & matrixOut_3_4_2 &
    matrixOut_3_4_3 & maskCondSelIRS2_1_4) | _T_474; // @[Issue.scala 282:93]
  wire [5:0] bufReqNum_0_2 = bufInfo_0_phy_rs3; // @[Issue.scala 146:21 63:26]
  wire [5:0] bufReqNum_1_2 = bufInfo_1_phy_rs3; // @[Issue.scala 146:21 63:26]
  wire [5:0] bufReqNum_2_2 = bufInfo_2_phy_rs3; // @[Issue.scala 146:21 63:26]
  wire [5:0] bufReqNum_3_2 = bufInfo_3_phy_rs3; // @[Issue.scala 146:21 63:26]
  wire [1:0] _GEN_3281 = 6'h1 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_1 : io_frgLog_0; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3282 = 6'h2 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_2 : _GEN_3281; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3283 = 6'h3 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_3 : _GEN_3282; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3284 = 6'h4 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_4 : _GEN_3283; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3285 = 6'h5 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_5 : _GEN_3284; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3286 = 6'h6 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_6 : _GEN_3285; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3287 = 6'h7 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_7 : _GEN_3286; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3288 = 6'h8 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_8 : _GEN_3287; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3289 = 6'h9 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_9 : _GEN_3288; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3290 = 6'ha == io_dptReq_0_bits_phy_rs1 ? io_frgLog_10 : _GEN_3289; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3291 = 6'hb == io_dptReq_0_bits_phy_rs1 ? io_frgLog_11 : _GEN_3290; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3292 = 6'hc == io_dptReq_0_bits_phy_rs1 ? io_frgLog_12 : _GEN_3291; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3293 = 6'hd == io_dptReq_0_bits_phy_rs1 ? io_frgLog_13 : _GEN_3292; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3294 = 6'he == io_dptReq_0_bits_phy_rs1 ? io_frgLog_14 : _GEN_3293; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3295 = 6'hf == io_dptReq_0_bits_phy_rs1 ? io_frgLog_15 : _GEN_3294; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3296 = 6'h10 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_16 : _GEN_3295; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3297 = 6'h11 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_17 : _GEN_3296; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3298 = 6'h12 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_18 : _GEN_3297; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3299 = 6'h13 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_19 : _GEN_3298; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3300 = 6'h14 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_20 : _GEN_3299; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3301 = 6'h15 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_21 : _GEN_3300; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3302 = 6'h16 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_22 : _GEN_3301; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3303 = 6'h17 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_23 : _GEN_3302; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3304 = 6'h18 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_24 : _GEN_3303; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3305 = 6'h19 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_25 : _GEN_3304; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3306 = 6'h1a == io_dptReq_0_bits_phy_rs1 ? io_frgLog_26 : _GEN_3305; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3307 = 6'h1b == io_dptReq_0_bits_phy_rs1 ? io_frgLog_27 : _GEN_3306; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3308 = 6'h1c == io_dptReq_0_bits_phy_rs1 ? io_frgLog_28 : _GEN_3307; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3309 = 6'h1d == io_dptReq_0_bits_phy_rs1 ? io_frgLog_29 : _GEN_3308; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3310 = 6'h1e == io_dptReq_0_bits_phy_rs1 ? io_frgLog_30 : _GEN_3309; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3311 = 6'h1f == io_dptReq_0_bits_phy_rs1 ? io_frgLog_31 : _GEN_3310; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3312 = 6'h20 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_32 : _GEN_3311; // @[Issue.scala 356:{44,44}]
  wire [1:0] _GEN_3313 = 6'h21 == io_dptReq_0_bits_phy_rs1 ? io_frgLog_33 : _GEN_3312; // @[Issue.scala 356:{44,44}]
  wire  _canFOpPostReq_0_0_T_2 = _GEN_3313 == 2'h3 & _canIOpPostReq_0_0_T_1; // @[Issue.scala 356:56]
  wire  canFOpPostReq_0_0 = _canFOpPostReq_0_0_T_2 & _canIOpPostReq_0_0_T_49; // @[Issue.scala 357:50]
  wire [1:0] _GEN_3315 = 6'h1 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_1 : io_frgLog_0; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3316 = 6'h2 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_2 : _GEN_3315; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3317 = 6'h3 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_3 : _GEN_3316; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3318 = 6'h4 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_4 : _GEN_3317; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3319 = 6'h5 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_5 : _GEN_3318; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3320 = 6'h6 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_6 : _GEN_3319; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3321 = 6'h7 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_7 : _GEN_3320; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3322 = 6'h8 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_8 : _GEN_3321; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3323 = 6'h9 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_9 : _GEN_3322; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3324 = 6'ha == io_dptReq_0_bits_phy_rs2 ? io_frgLog_10 : _GEN_3323; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3325 = 6'hb == io_dptReq_0_bits_phy_rs2 ? io_frgLog_11 : _GEN_3324; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3326 = 6'hc == io_dptReq_0_bits_phy_rs2 ? io_frgLog_12 : _GEN_3325; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3327 = 6'hd == io_dptReq_0_bits_phy_rs2 ? io_frgLog_13 : _GEN_3326; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3328 = 6'he == io_dptReq_0_bits_phy_rs2 ? io_frgLog_14 : _GEN_3327; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3329 = 6'hf == io_dptReq_0_bits_phy_rs2 ? io_frgLog_15 : _GEN_3328; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3330 = 6'h10 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_16 : _GEN_3329; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3331 = 6'h11 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_17 : _GEN_3330; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3332 = 6'h12 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_18 : _GEN_3331; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3333 = 6'h13 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_19 : _GEN_3332; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3334 = 6'h14 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_20 : _GEN_3333; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3335 = 6'h15 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_21 : _GEN_3334; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3336 = 6'h16 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_22 : _GEN_3335; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3337 = 6'h17 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_23 : _GEN_3336; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3338 = 6'h18 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_24 : _GEN_3337; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3339 = 6'h19 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_25 : _GEN_3338; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3340 = 6'h1a == io_dptReq_0_bits_phy_rs2 ? io_frgLog_26 : _GEN_3339; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3341 = 6'h1b == io_dptReq_0_bits_phy_rs2 ? io_frgLog_27 : _GEN_3340; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3342 = 6'h1c == io_dptReq_0_bits_phy_rs2 ? io_frgLog_28 : _GEN_3341; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3343 = 6'h1d == io_dptReq_0_bits_phy_rs2 ? io_frgLog_29 : _GEN_3342; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3344 = 6'h1e == io_dptReq_0_bits_phy_rs2 ? io_frgLog_30 : _GEN_3343; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3345 = 6'h1f == io_dptReq_0_bits_phy_rs2 ? io_frgLog_31 : _GEN_3344; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3346 = 6'h20 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_32 : _GEN_3345; // @[Issue.scala 362:{44,44}]
  wire [1:0] _GEN_3347 = 6'h21 == io_dptReq_0_bits_phy_rs2 ? io_frgLog_33 : _GEN_3346; // @[Issue.scala 362:{44,44}]
  wire  _canFOpPostReq_0_1_T_2 = _GEN_3347 == 2'h3 & _canIOpPostReq_0_1_T_1; // @[Issue.scala 362:56]
  wire  _canFOpPostReq_0_1_T_51 = _canIOpPostReq_0_0_T_49 | _canIOpPostReq_0_1_T_52; // @[Issue.scala 364:41]
  wire  canFOpPostReq_0_1 = _canFOpPostReq_0_1_T_2 & _canFOpPostReq_0_1_T_51; // @[Issue.scala 363:50]
  wire [1:0] _GEN_3349 = 6'h1 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_1 : io_frgLog_0; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3350 = 6'h2 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_2 : _GEN_3349; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3351 = 6'h3 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_3 : _GEN_3350; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3352 = 6'h4 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_4 : _GEN_3351; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3353 = 6'h5 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_5 : _GEN_3352; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3354 = 6'h6 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_6 : _GEN_3353; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3355 = 6'h7 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_7 : _GEN_3354; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3356 = 6'h8 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_8 : _GEN_3355; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3357 = 6'h9 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_9 : _GEN_3356; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3358 = 6'ha == io_dptReq_0_bits_phy_rs3 ? io_frgLog_10 : _GEN_3357; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3359 = 6'hb == io_dptReq_0_bits_phy_rs3 ? io_frgLog_11 : _GEN_3358; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3360 = 6'hc == io_dptReq_0_bits_phy_rs3 ? io_frgLog_12 : _GEN_3359; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3361 = 6'hd == io_dptReq_0_bits_phy_rs3 ? io_frgLog_13 : _GEN_3360; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3362 = 6'he == io_dptReq_0_bits_phy_rs3 ? io_frgLog_14 : _GEN_3361; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3363 = 6'hf == io_dptReq_0_bits_phy_rs3 ? io_frgLog_15 : _GEN_3362; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3364 = 6'h10 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_16 : _GEN_3363; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3365 = 6'h11 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_17 : _GEN_3364; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3366 = 6'h12 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_18 : _GEN_3365; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3367 = 6'h13 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_19 : _GEN_3366; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3368 = 6'h14 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_20 : _GEN_3367; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3369 = 6'h15 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_21 : _GEN_3368; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3370 = 6'h16 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_22 : _GEN_3369; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3371 = 6'h17 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_23 : _GEN_3370; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3372 = 6'h18 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_24 : _GEN_3371; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3373 = 6'h19 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_25 : _GEN_3372; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3374 = 6'h1a == io_dptReq_0_bits_phy_rs3 ? io_frgLog_26 : _GEN_3373; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3375 = 6'h1b == io_dptReq_0_bits_phy_rs3 ? io_frgLog_27 : _GEN_3374; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3376 = 6'h1c == io_dptReq_0_bits_phy_rs3 ? io_frgLog_28 : _GEN_3375; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3377 = 6'h1d == io_dptReq_0_bits_phy_rs3 ? io_frgLog_29 : _GEN_3376; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3378 = 6'h1e == io_dptReq_0_bits_phy_rs3 ? io_frgLog_30 : _GEN_3377; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3379 = 6'h1f == io_dptReq_0_bits_phy_rs3 ? io_frgLog_31 : _GEN_3378; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3380 = 6'h20 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_32 : _GEN_3379; // @[Issue.scala 368:{44,44}]
  wire [1:0] _GEN_3381 = 6'h21 == io_dptReq_0_bits_phy_rs3 ? io_frgLog_33 : _GEN_3380; // @[Issue.scala 368:{44,44}]
  wire  _canFOpPostReq_0_2_T_1 = io_dptReq_0_bits_phy_rs3 != 6'h21; // @[Issue.scala 369:33]
  wire  _canFOpPostReq_0_2_T_2 = _GEN_3381 == 2'h3 & _canFOpPostReq_0_2_T_1; // @[Issue.scala 368:56]
  wire  canFOpPostReq_0_2 = _canFOpPostReq_0_2_T_2 & _canIOpPostReq_0_0_T_49; // @[Issue.scala 369:50]
  wire  maskCondSelFRS1_0_4 = _maskCondSelIRS1_0_4_T_1 | ~canFOpPostReq_0_0; // @[Issue.scala 392:64]
  wire  maskCondSelFRS2_0_4 = _maskCondSelIRS1_0_4_T_1 | ~canFOpPostReq_0_1; // @[Issue.scala 393:64]
  wire  maskCondSelFRS3_0_4 = _maskCondSelIRS1_0_4_T_1 | ~canFOpPostReq_0_2; // @[Issue.scala 394:64]
  wire  _matrixOut_0_4_T_12 = ~maskCondSelFRS1_0_4; // @[Issue.scala 200:46]
  wire  _matrixOut_0_4_T_15 = ~maskCondSelFRS2_0_4; // @[Issue.scala 200:46]
  wire  _matrixOut_0_4_T_18 = ~maskCondSelFRS3_0_4; // @[Issue.scala 200:46]
  wire  _T_583 = _matrixOut_0_4_T_12 & _matrixOut_0_4_T_12 & _matrixOut_0_4_T_12 & _matrixOut_0_4_T_12 &
    _matrixOut_0_4_T_12; // @[Issue.scala 414:66]
  wire [1:0] _T_586 = {{1'd0}, _T_583}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_588 = {{1'd0}, _T_586}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_590 = {{1'd0}, _T_588[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_592 = _T_590 == 3'h1; // @[Issue.scala 414:101]
  wire  _T_593 = maskCondSelFRS1_0_4 | _T_592; // @[Issue.scala 413:92]
  wire  _T_701 = _matrixOut_0_4_T_15 & _matrixOut_0_4_T_15 & _matrixOut_0_4_T_15 & _matrixOut_0_4_T_15 &
    _matrixOut_0_4_T_15; // @[Issue.scala 419:66]
  wire [1:0] _T_704 = {{1'd0}, _T_701}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_706 = {{1'd0}, _T_704}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_708 = {{1'd0}, _T_706[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_710 = _T_708 == 3'h1; // @[Issue.scala 419:101]
  wire  _T_711 = maskCondSelFRS2_0_4 | _T_710; // @[Issue.scala 418:93]
  wire  _T_819 = _matrixOut_0_4_T_18 & _matrixOut_0_4_T_18 & _matrixOut_0_4_T_18 & _matrixOut_0_4_T_18 &
    _matrixOut_0_4_T_18; // @[Issue.scala 424:66]
  wire [1:0] _T_822 = {{1'd0}, _T_819}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_824 = {{1'd0}, _T_822}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_826 = {{1'd0}, _T_824[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_828 = _T_826 == 3'h1; // @[Issue.scala 424:101]
  wire  _T_829 = maskCondSelFRS3_0_4 | _T_828; // @[Issue.scala 423:93]
  wire [5:0] selFRS1_0 = _T_583 ? io_dptReq_0_bits_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] selFRS2_0 = _T_701 ? io_dptReq_0_bits_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] selFRS3_0 = _T_819 ? io_dptReq_0_bits_phy_rs3 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _rFOpNum_0_T_3 = _matrixOut_0_4_T_18 ? selFRS3_0 : 6'h21; // @[Issue.scala 462:106]
  wire [5:0] _rFOpNum_0_T_4 = _matrixOut_0_4_T_15 ? selFRS2_0 : _rFOpNum_0_T_3; // @[Issue.scala 462:66]
  wire [5:0] rFOpNum_0 = _matrixOut_0_4_T_12 ? selFRS1_0 : _rFOpNum_0_T_4; // @[Issue.scala 462:26]
  wire  maskCondSelFRS1_1_4 = maskCondSelFRS1_0_4 | io_dptReq_0_bits_phy_rs1 == rFOpNum_0; // @[Issue.scala 403:80]
  wire  maskCondSelFRS2_1_4 = maskCondSelFRS2_0_4 | io_dptReq_0_bits_phy_rs2 == rFOpNum_0; // @[Issue.scala 404:80]
  wire  maskCondSelFRS3_1_4 = maskCondSelFRS3_0_4 | io_dptReq_0_bits_phy_rs3 == rFOpNum_0; // @[Issue.scala 405:80]
  wire  _matrixOut_0_4_T_21 = ~maskCondSelFRS1_1_4; // @[Issue.scala 200:46]
  wire  _matrixOut_0_4_T_24 = ~maskCondSelFRS2_1_4; // @[Issue.scala 200:46]
  wire  _matrixOut_0_4_T_27 = ~maskCondSelFRS3_1_4; // @[Issue.scala 200:46]
  wire  _T_937 = _matrixOut_0_4_T_21 & _matrixOut_0_4_T_21 & _matrixOut_0_4_T_21 & _matrixOut_0_4_T_21 &
    _matrixOut_0_4_T_21; // @[Issue.scala 414:66]
  wire [1:0] _T_940 = {{1'd0}, _T_937}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_942 = {{1'd0}, _T_940}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_944 = {{1'd0}, _T_942[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_946 = _T_944 == 3'h1; // @[Issue.scala 414:101]
  wire  _T_947 = maskCondSelFRS1_1_4 | _T_946; // @[Issue.scala 413:92]
  wire  _T_1055 = _matrixOut_0_4_T_24 & _matrixOut_0_4_T_24 & _matrixOut_0_4_T_24 & _matrixOut_0_4_T_24 &
    _matrixOut_0_4_T_24; // @[Issue.scala 419:66]
  wire [1:0] _T_1058 = {{1'd0}, _T_1055}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1060 = {{1'd0}, _T_1058}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1062 = {{1'd0}, _T_1060[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_1064 = _T_1062 == 3'h1; // @[Issue.scala 419:101]
  wire  _T_1065 = maskCondSelFRS2_1_4 | _T_1064; // @[Issue.scala 418:93]
  wire  _T_1173 = _matrixOut_0_4_T_27 & _matrixOut_0_4_T_27 & _matrixOut_0_4_T_27 & _matrixOut_0_4_T_27 &
    _matrixOut_0_4_T_27; // @[Issue.scala 424:66]
  wire [1:0] _T_1176 = {{1'd0}, _T_1173}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1178 = {{1'd0}, _T_1176}; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1180 = {{1'd0}, _T_1178[1:0]}; // @[Bitwise.scala 51:90]
  wire  _T_1182 = _T_1180 == 3'h1; // @[Issue.scala 424:101]
  wire  _T_1183 = maskCondSelFRS3_1_4 | _T_1182; // @[Issue.scala 423:93]
  wire  _GEN_3382 = bufValid_0 & bufReqNum_0_0 == io_irgRsp_0_bits_phy | _GEN_2460; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3384 = bufValid_0 & bufReqNum_0_1 == io_irgRsp_0_bits_phy | _GEN_2468; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3386 = bufValid_1 & bufReqNum_1_0 == io_irgRsp_0_bits_phy | _GEN_2461; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3388 = bufValid_1 & bufReqNum_1_1 == io_irgRsp_0_bits_phy | _GEN_2469; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3390 = bufValid_2 & bufReqNum_2_0 == io_irgRsp_0_bits_phy | _GEN_2462; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3392 = bufValid_2 & bufReqNum_2_1 == io_irgRsp_0_bits_phy | _GEN_2470; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3394 = bufValid_3 & bufReqNum_3_0 == io_irgRsp_0_bits_phy | _GEN_2463; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3396 = bufValid_3 & bufReqNum_3_1 == io_irgRsp_0_bits_phy | _GEN_2471; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3398 = io_irgRsp_0_valid ? _GEN_3382 : _GEN_2460; // @[Issue.scala 486:33]
  wire  _GEN_3400 = io_irgRsp_0_valid ? _GEN_3384 : _GEN_2468; // @[Issue.scala 486:33]
  wire  _GEN_3402 = io_irgRsp_0_valid ? _GEN_3386 : _GEN_2461; // @[Issue.scala 486:33]
  wire  _GEN_3404 = io_irgRsp_0_valid ? _GEN_3388 : _GEN_2469; // @[Issue.scala 486:33]
  wire  _GEN_3406 = io_irgRsp_0_valid ? _GEN_3390 : _GEN_2462; // @[Issue.scala 486:33]
  wire  _GEN_3408 = io_irgRsp_0_valid ? _GEN_3392 : _GEN_2470; // @[Issue.scala 486:33]
  wire  _GEN_3410 = io_irgRsp_0_valid ? _GEN_3394 : _GEN_2463; // @[Issue.scala 486:33]
  wire  _GEN_3412 = io_irgRsp_0_valid ? _GEN_3396 : _GEN_2471; // @[Issue.scala 486:33]
  wire  _GEN_3414 = bufValid_0 & bufReqNum_0_0 == io_irgRsp_1_bits_phy | _GEN_3398; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3416 = bufValid_0 & bufReqNum_0_1 == io_irgRsp_1_bits_phy | _GEN_3400; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3418 = bufValid_1 & bufReqNum_1_0 == io_irgRsp_1_bits_phy | _GEN_3402; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3420 = bufValid_1 & bufReqNum_1_1 == io_irgRsp_1_bits_phy | _GEN_3404; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3422 = bufValid_2 & bufReqNum_2_0 == io_irgRsp_1_bits_phy | _GEN_3406; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3424 = bufValid_2 & bufReqNum_2_1 == io_irgRsp_1_bits_phy | _GEN_3408; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3426 = bufValid_3 & bufReqNum_3_0 == io_irgRsp_1_bits_phy | _GEN_3410; // @[Issue.scala 489:98 491:32]
  wire  _GEN_3428 = bufValid_3 & bufReqNum_3_1 == io_irgRsp_1_bits_phy | _GEN_3412; // @[Issue.scala 489:98 491:32]
  wire  postIsOpReady_0_0 = _canIOpReq_0_0_T_6 | (_canIOpReq_0_0_T_8 | isOpReady_0_0); // @[Mux.scala 101:16]
  wire  postIsOpReady_0_1 = _canIOpReq_0_1_T_6 | (_canIOpReq_0_1_T_8 | isOpReady_0_1); // @[Mux.scala 101:16]
  wire  postIsOpReady_1_0 = _canIOpReq_1_0_T_6 | (_canIOpReq_1_0_T_8 | isOpReady_1_0); // @[Mux.scala 101:16]
  wire  postIsOpReady_1_1 = _canIOpReq_1_1_T_6 | (_canIOpReq_1_1_T_8 | isOpReady_1_1); // @[Mux.scala 101:16]
  wire  postIsOpReady_2_0 = _canIOpReq_2_0_T_6 | (_canIOpReq_2_0_T_8 | isOpReady_2_0); // @[Mux.scala 101:16]
  wire  postIsOpReady_2_1 = _canIOpReq_2_1_T_6 | (_canIOpReq_2_1_T_8 | isOpReady_2_1); // @[Mux.scala 101:16]
  wire  postIsOpReady_3_0 = _canIOpReq_3_0_T_6 | (_canIOpReq_3_0_T_8 | isOpReady_3_0); // @[Mux.scala 101:16]
  wire  postIsOpReady_3_1 = _canIOpReq_3_1_T_6 | (_canIOpReq_3_1_T_8 | isOpReady_3_1); // @[Mux.scala 101:16]
  wire  _maskCondAluIss_0_0_T_30 = bufInfo_0_alu_isa_lui | bufInfo_0_alu_isa_auipc | bufInfo_0_alu_isa_addi |
    bufInfo_0_alu_isa_addiw | bufInfo_0_alu_isa_slti | bufInfo_0_alu_isa_sltiu | bufInfo_0_alu_isa_xori |
    bufInfo_0_alu_isa_ori | bufInfo_0_alu_isa_andi | bufInfo_0_alu_isa_slli | bufInfo_0_alu_isa_slliw |
    bufInfo_0_alu_isa_srli | bufInfo_0_alu_isa_srliw | bufInfo_0_alu_isa_srai | bufInfo_0_alu_isa_sraiw |
    bufInfo_0_alu_isa_add | bufInfo_0_alu_isa_addw | bufInfo_0_alu_isa_sub | bufInfo_0_alu_isa_subw |
    bufInfo_0_alu_isa_sll | bufInfo_0_alu_isa_sllw | bufInfo_0_alu_isa_slt | bufInfo_0_alu_isa_sltu |
    bufInfo_0_alu_isa_xor | bufInfo_0_alu_isa_srl | bufInfo_0_alu_isa_srlw | bufInfo_0_alu_isa_sra |
    bufInfo_0_alu_isa_sraw | bufInfo_0_alu_isa_or | bufInfo_0_alu_isa_and | bufInfo_0_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  _maskCondAluIss_0_0_T_31 = ~_maskCondAluIss_0_0_T_30; // @[Issue.scala 617:11]
  wire  _maskCondAluIss_0_0_T_32 = _entrySel_T | _maskCondAluIss_0_0_T_31; // @[Issue.scala 616:24]
  wire  _maskCondAluIss_0_0_T_33 = postIsOpReady_0_0 & postIsOpReady_0_1; // @[Issue.scala 618:33]
  wire  _maskCondAluIss_0_0_T_34 = ~(postIsOpReady_0_0 & postIsOpReady_0_1); // @[Issue.scala 618:11]
  wire  maskCondAluIss_0_0 = _maskCondAluIss_0_0_T_32 | _maskCondAluIss_0_0_T_34; // @[Issue.scala 617:38]
  wire  _maskCondAluIss_0_1_T_30 = bufInfo_1_alu_isa_lui | bufInfo_1_alu_isa_auipc | bufInfo_1_alu_isa_addi |
    bufInfo_1_alu_isa_addiw | bufInfo_1_alu_isa_slti | bufInfo_1_alu_isa_sltiu | bufInfo_1_alu_isa_xori |
    bufInfo_1_alu_isa_ori | bufInfo_1_alu_isa_andi | bufInfo_1_alu_isa_slli | bufInfo_1_alu_isa_slliw |
    bufInfo_1_alu_isa_srli | bufInfo_1_alu_isa_srliw | bufInfo_1_alu_isa_srai | bufInfo_1_alu_isa_sraiw |
    bufInfo_1_alu_isa_add | bufInfo_1_alu_isa_addw | bufInfo_1_alu_isa_sub | bufInfo_1_alu_isa_subw |
    bufInfo_1_alu_isa_sll | bufInfo_1_alu_isa_sllw | bufInfo_1_alu_isa_slt | bufInfo_1_alu_isa_sltu |
    bufInfo_1_alu_isa_xor | bufInfo_1_alu_isa_srl | bufInfo_1_alu_isa_srlw | bufInfo_1_alu_isa_sra |
    bufInfo_1_alu_isa_sraw | bufInfo_1_alu_isa_or | bufInfo_1_alu_isa_and | bufInfo_1_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  _maskCondAluIss_0_1_T_31 = ~_maskCondAluIss_0_1_T_30; // @[Issue.scala 617:11]
  wire  _maskCondAluIss_0_1_T_32 = _entrySel_T_1 | _maskCondAluIss_0_1_T_31; // @[Issue.scala 616:24]
  wire  _maskCondAluIss_0_1_T_33 = postIsOpReady_1_0 & postIsOpReady_1_1; // @[Issue.scala 618:33]
  wire  _maskCondAluIss_0_1_T_34 = ~(postIsOpReady_1_0 & postIsOpReady_1_1); // @[Issue.scala 618:11]
  wire  maskCondAluIss_0_1 = _maskCondAluIss_0_1_T_32 | _maskCondAluIss_0_1_T_34; // @[Issue.scala 617:38]
  wire  _maskCondAluIss_0_2_T_30 = bufInfo_2_alu_isa_lui | bufInfo_2_alu_isa_auipc | bufInfo_2_alu_isa_addi |
    bufInfo_2_alu_isa_addiw | bufInfo_2_alu_isa_slti | bufInfo_2_alu_isa_sltiu | bufInfo_2_alu_isa_xori |
    bufInfo_2_alu_isa_ori | bufInfo_2_alu_isa_andi | bufInfo_2_alu_isa_slli | bufInfo_2_alu_isa_slliw |
    bufInfo_2_alu_isa_srli | bufInfo_2_alu_isa_srliw | bufInfo_2_alu_isa_srai | bufInfo_2_alu_isa_sraiw |
    bufInfo_2_alu_isa_add | bufInfo_2_alu_isa_addw | bufInfo_2_alu_isa_sub | bufInfo_2_alu_isa_subw |
    bufInfo_2_alu_isa_sll | bufInfo_2_alu_isa_sllw | bufInfo_2_alu_isa_slt | bufInfo_2_alu_isa_sltu |
    bufInfo_2_alu_isa_xor | bufInfo_2_alu_isa_srl | bufInfo_2_alu_isa_srlw | bufInfo_2_alu_isa_sra |
    bufInfo_2_alu_isa_sraw | bufInfo_2_alu_isa_or | bufInfo_2_alu_isa_and | bufInfo_2_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  _maskCondAluIss_0_2_T_31 = ~_maskCondAluIss_0_2_T_30; // @[Issue.scala 617:11]
  wire  _maskCondAluIss_0_2_T_32 = _entrySel_T_2 | _maskCondAluIss_0_2_T_31; // @[Issue.scala 616:24]
  wire  _maskCondAluIss_0_2_T_33 = postIsOpReady_2_0 & postIsOpReady_2_1; // @[Issue.scala 618:33]
  wire  _maskCondAluIss_0_2_T_34 = ~(postIsOpReady_2_0 & postIsOpReady_2_1); // @[Issue.scala 618:11]
  wire  maskCondAluIss_0_2 = _maskCondAluIss_0_2_T_32 | _maskCondAluIss_0_2_T_34; // @[Issue.scala 617:38]
  wire  _maskCondAluIss_0_3_T_30 = bufInfo_3_alu_isa_lui | bufInfo_3_alu_isa_auipc | bufInfo_3_alu_isa_addi |
    bufInfo_3_alu_isa_addiw | bufInfo_3_alu_isa_slti | bufInfo_3_alu_isa_sltiu | bufInfo_3_alu_isa_xori |
    bufInfo_3_alu_isa_ori | bufInfo_3_alu_isa_andi | bufInfo_3_alu_isa_slli | bufInfo_3_alu_isa_slliw |
    bufInfo_3_alu_isa_srli | bufInfo_3_alu_isa_srliw | bufInfo_3_alu_isa_srai | bufInfo_3_alu_isa_sraiw |
    bufInfo_3_alu_isa_add | bufInfo_3_alu_isa_addw | bufInfo_3_alu_isa_sub | bufInfo_3_alu_isa_subw |
    bufInfo_3_alu_isa_sll | bufInfo_3_alu_isa_sllw | bufInfo_3_alu_isa_slt | bufInfo_3_alu_isa_sltu |
    bufInfo_3_alu_isa_xor | bufInfo_3_alu_isa_srl | bufInfo_3_alu_isa_srlw | bufInfo_3_alu_isa_sra |
    bufInfo_3_alu_isa_sraw | bufInfo_3_alu_isa_or | bufInfo_3_alu_isa_and | bufInfo_3_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  _maskCondAluIss_0_3_T_31 = ~_maskCondAluIss_0_3_T_30; // @[Issue.scala 617:11]
  wire  _maskCondAluIss_0_3_T_32 = _io_dptReq_0_ready_T_3 | _maskCondAluIss_0_3_T_31; // @[Issue.scala 616:24]
  wire  _maskCondAluIss_0_3_T_33 = postIsOpReady_3_0 & postIsOpReady_3_1; // @[Issue.scala 618:33]
  wire  _maskCondAluIss_0_3_T_34 = ~(postIsOpReady_3_0 & postIsOpReady_3_1); // @[Issue.scala 618:11]
  wire  maskCondAluIss_0_3 = _maskCondAluIss_0_3_T_32 | _maskCondAluIss_0_3_T_34; // @[Issue.scala 617:38]
  wire  matrixOut_10_0_0 = ageMatrixW_0_0 & ~maskCondAluIss_0_0 | maskCondAluIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_10_0_1 = ageMatrixW_0_1 & ~maskCondAluIss_0_1 | maskCondAluIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_10_0_2 = ageMatrixW_0_2 & ~maskCondAluIss_0_2 | maskCondAluIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_10_0_3 = ageMatrixW_0_3 & ~maskCondAluIss_0_3 | maskCondAluIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_10_1_0 = ageMatrixR_1_0 & ~maskCondAluIss_0_0 | maskCondAluIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_10_1_1 = ageMatrixW_1_1 & ~maskCondAluIss_0_1 | maskCondAluIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_10_1_2 = ageMatrixW_1_2 & ~maskCondAluIss_0_2 | maskCondAluIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_10_1_3 = ageMatrixW_1_3 & ~maskCondAluIss_0_3 | maskCondAluIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_10_2_0 = ageMatrixR_2_0 & ~maskCondAluIss_0_0 | maskCondAluIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_10_2_1 = ageMatrixR_2_1 & ~maskCondAluIss_0_1 | maskCondAluIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_10_2_2 = ageMatrixW_2_2 & ~maskCondAluIss_0_2 | maskCondAluIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_10_2_3 = ageMatrixW_2_3 & ~maskCondAluIss_0_3 | maskCondAluIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_10_3_0 = ageMatrixR_3_0 & ~maskCondAluIss_0_0 | maskCondAluIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_10_3_1 = ageMatrixR_3_1 & ~maskCondAluIss_0_1 | maskCondAluIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_10_3_2 = ageMatrixR_3_2 & ~maskCondAluIss_0_2 | maskCondAluIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_10_3_3 = ageMatrixW_3_3 & ~maskCondAluIss_0_3 | maskCondAluIss_0_3; // @[Issue.scala 200:60]
  wire  _T_1398 = matrixOut_10_0_0 & matrixOut_10_0_1 & matrixOut_10_0_2 & matrixOut_10_0_3 & (matrixOut_10_1_0 &
    matrixOut_10_1_1 & matrixOut_10_1_2 & matrixOut_10_1_3) & (matrixOut_10_2_0 & matrixOut_10_2_1 & matrixOut_10_2_2 &
    matrixOut_10_2_3) & (matrixOut_10_3_0 & matrixOut_10_3_1 & matrixOut_10_3_2 & matrixOut_10_3_3); // @[Issue.scala 628:31]
  wire  _T_1406 = ~matrixOut_10_0_0 & ~matrixOut_10_0_1 & ~matrixOut_10_0_2 & ~matrixOut_10_0_3; // @[Issue.scala 629:65]
  wire  _T_1414 = ~matrixOut_10_1_0 & ~matrixOut_10_1_1 & ~matrixOut_10_1_2 & ~matrixOut_10_1_3; // @[Issue.scala 629:65]
  wire  _T_1422 = ~matrixOut_10_2_0 & ~matrixOut_10_2_1 & ~matrixOut_10_2_2 & ~matrixOut_10_2_3; // @[Issue.scala 629:65]
  wire  _T_1430 = ~matrixOut_10_3_0 & ~matrixOut_10_3_1 & ~matrixOut_10_3_2 & ~matrixOut_10_3_3; // @[Issue.scala 629:65]
  wire [1:0] _T_1431 = _T_1406 + _T_1414; // @[Bitwise.scala 51:90]
  wire [1:0] _T_1433 = _T_1422 + _T_1430; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1435 = _T_1431 + _T_1433; // @[Bitwise.scala 51:90]
  wire  _T_1437 = _T_1435 == 3'h1; // @[Issue.scala 629:100]
  wire  _T_1438 = matrixOut_10_0_0 & matrixOut_10_0_1 & matrixOut_10_0_2 & matrixOut_10_0_3 & (matrixOut_10_1_0 &
    matrixOut_10_1_1 & matrixOut_10_1_2 & matrixOut_10_1_3) & (matrixOut_10_2_0 & matrixOut_10_2_1 & matrixOut_10_2_2 &
    matrixOut_10_2_3) & (matrixOut_10_3_0 & matrixOut_10_3_1 & matrixOut_10_3_2 & matrixOut_10_3_3) | _T_1437; // @[Issue.scala 628:92]
  wire [1:0] _aluIssIdx_0_T_32 = _T_1422 ? 2'h2 : 2'h3; // @[Issue.scala 635:51]
  wire [1:0] _aluIssIdx_0_T_33 = _T_1414 ? 2'h1 : _aluIssIdx_0_T_32; // @[Issue.scala 635:51]
  wire [1:0] aluIssIdx_0 = _T_1406 ? 2'h0 : _aluIssIdx_0_T_33; // @[Issue.scala 635:51]
  wire  _T_1442 = aluIssFifo_0_io_enq_ready & aluIssFifo_0_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_1444 = _T_1442 & aluIssIdx_0 == 2'h0; // @[Issue.scala 640:41]
  wire  _GEN_3542 = _T_1442 & aluIssIdx_0 == 2'h0 ? 1'h0 : bufValidDnxt_0_0; // @[Issue.scala 640:68 641:21 75:12]
  wire  _T_1487 = _T_1442 & aluIssIdx_0 == 2'h1; // @[Issue.scala 640:41]
  wire  _GEN_3543 = _T_1442 & aluIssIdx_0 == 2'h1 ? 1'h0 : bufValidDnxt_0_1; // @[Issue.scala 640:68 641:21 75:12]
  wire  _T_1530 = _T_1442 & aluIssIdx_0 == 2'h2; // @[Issue.scala 640:41]
  wire  _GEN_3544 = _T_1442 & aluIssIdx_0 == 2'h2 ? 1'h0 : bufValidDnxt_0_2; // @[Issue.scala 640:68 641:21 75:12]
  wire  _T_1573 = _T_1442 & aluIssIdx_0 == 2'h3; // @[Issue.scala 640:41]
  wire  _GEN_3545 = _T_1442 & aluIssIdx_0 == 2'h3 ? 1'h0 : bufValidDnxt_0_3; // @[Issue.scala 640:68 641:21 75:12]
  wire  _maskCondMulIss_0_0_T_4 = bufInfo_0_mul_isa_mul | bufInfo_0_mul_isa_mulh | bufInfo_0_mul_isa_mulhsu |
    bufInfo_0_mul_isa_mulhu | bufInfo_0_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  _maskCondMulIss_0_0_T_11 = bufInfo_0_mul_isa_div | bufInfo_0_mul_isa_divu | bufInfo_0_mul_isa_divw |
    bufInfo_0_mul_isa_divuw | bufInfo_0_mul_isa_rem | bufInfo_0_mul_isa_remu | bufInfo_0_mul_isa_remw |
    bufInfo_0_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  _maskCondMulIss_0_0_T_12 = _maskCondMulIss_0_0_T_4 | _maskCondMulIss_0_0_T_11; // @[riscv_isa.scala 206:25]
  wire  _maskCondMulIss_0_0_T_13 = ~_maskCondMulIss_0_0_T_12; // @[Issue.scala 682:13]
  wire  _maskCondMulIss_0_0_T_14 = _entrySel_T | _maskCondMulIss_0_0_T_13; // @[Issue.scala 681:26]
  wire  maskCondMulIss_0_0 = _maskCondMulIss_0_0_T_14 | _maskCondAluIss_0_0_T_34; // @[Issue.scala 682:43]
  wire  _maskCondMulIss_0_1_T_4 = bufInfo_1_mul_isa_mul | bufInfo_1_mul_isa_mulh | bufInfo_1_mul_isa_mulhsu |
    bufInfo_1_mul_isa_mulhu | bufInfo_1_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  _maskCondMulIss_0_1_T_11 = bufInfo_1_mul_isa_div | bufInfo_1_mul_isa_divu | bufInfo_1_mul_isa_divw |
    bufInfo_1_mul_isa_divuw | bufInfo_1_mul_isa_rem | bufInfo_1_mul_isa_remu | bufInfo_1_mul_isa_remw |
    bufInfo_1_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  _maskCondMulIss_0_1_T_12 = _maskCondMulIss_0_1_T_4 | _maskCondMulIss_0_1_T_11; // @[riscv_isa.scala 206:25]
  wire  _maskCondMulIss_0_1_T_13 = ~_maskCondMulIss_0_1_T_12; // @[Issue.scala 682:13]
  wire  _maskCondMulIss_0_1_T_14 = _entrySel_T_1 | _maskCondMulIss_0_1_T_13; // @[Issue.scala 681:26]
  wire  maskCondMulIss_0_1 = _maskCondMulIss_0_1_T_14 | _maskCondAluIss_0_1_T_34; // @[Issue.scala 682:43]
  wire  _maskCondMulIss_0_2_T_4 = bufInfo_2_mul_isa_mul | bufInfo_2_mul_isa_mulh | bufInfo_2_mul_isa_mulhsu |
    bufInfo_2_mul_isa_mulhu | bufInfo_2_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  _maskCondMulIss_0_2_T_11 = bufInfo_2_mul_isa_div | bufInfo_2_mul_isa_divu | bufInfo_2_mul_isa_divw |
    bufInfo_2_mul_isa_divuw | bufInfo_2_mul_isa_rem | bufInfo_2_mul_isa_remu | bufInfo_2_mul_isa_remw |
    bufInfo_2_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  _maskCondMulIss_0_2_T_12 = _maskCondMulIss_0_2_T_4 | _maskCondMulIss_0_2_T_11; // @[riscv_isa.scala 206:25]
  wire  _maskCondMulIss_0_2_T_13 = ~_maskCondMulIss_0_2_T_12; // @[Issue.scala 682:13]
  wire  _maskCondMulIss_0_2_T_14 = _entrySel_T_2 | _maskCondMulIss_0_2_T_13; // @[Issue.scala 681:26]
  wire  maskCondMulIss_0_2 = _maskCondMulIss_0_2_T_14 | _maskCondAluIss_0_2_T_34; // @[Issue.scala 682:43]
  wire  _maskCondMulIss_0_3_T_4 = bufInfo_3_mul_isa_mul | bufInfo_3_mul_isa_mulh | bufInfo_3_mul_isa_mulhsu |
    bufInfo_3_mul_isa_mulhu | bufInfo_3_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  _maskCondMulIss_0_3_T_11 = bufInfo_3_mul_isa_div | bufInfo_3_mul_isa_divu | bufInfo_3_mul_isa_divw |
    bufInfo_3_mul_isa_divuw | bufInfo_3_mul_isa_rem | bufInfo_3_mul_isa_remu | bufInfo_3_mul_isa_remw |
    bufInfo_3_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  _maskCondMulIss_0_3_T_12 = _maskCondMulIss_0_3_T_4 | _maskCondMulIss_0_3_T_11; // @[riscv_isa.scala 206:25]
  wire  _maskCondMulIss_0_3_T_13 = ~_maskCondMulIss_0_3_T_12; // @[Issue.scala 682:13]
  wire  _maskCondMulIss_0_3_T_14 = _io_dptReq_0_ready_T_3 | _maskCondMulIss_0_3_T_13; // @[Issue.scala 681:26]
  wire  maskCondMulIss_0_3 = _maskCondMulIss_0_3_T_14 | _maskCondAluIss_0_3_T_34; // @[Issue.scala 682:43]
  wire  matrixOut_11_0_0 = ageMatrixW_0_0 & ~maskCondMulIss_0_0 | maskCondMulIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_11_0_1 = ageMatrixW_0_1 & ~maskCondMulIss_0_1 | maskCondMulIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_11_0_2 = ageMatrixW_0_2 & ~maskCondMulIss_0_2 | maskCondMulIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_11_0_3 = ageMatrixW_0_3 & ~maskCondMulIss_0_3 | maskCondMulIss_0_0; // @[Issue.scala 200:60]
  wire  matrixOut_11_1_0 = ageMatrixR_1_0 & ~maskCondMulIss_0_0 | maskCondMulIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_11_1_1 = ageMatrixW_1_1 & ~maskCondMulIss_0_1 | maskCondMulIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_11_1_2 = ageMatrixW_1_2 & ~maskCondMulIss_0_2 | maskCondMulIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_11_1_3 = ageMatrixW_1_3 & ~maskCondMulIss_0_3 | maskCondMulIss_0_1; // @[Issue.scala 200:60]
  wire  matrixOut_11_2_0 = ageMatrixR_2_0 & ~maskCondMulIss_0_0 | maskCondMulIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_11_2_1 = ageMatrixR_2_1 & ~maskCondMulIss_0_1 | maskCondMulIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_11_2_2 = ageMatrixW_2_2 & ~maskCondMulIss_0_2 | maskCondMulIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_11_2_3 = ageMatrixW_2_3 & ~maskCondMulIss_0_3 | maskCondMulIss_0_2; // @[Issue.scala 200:60]
  wire  matrixOut_11_3_0 = ageMatrixR_3_0 & ~maskCondMulIss_0_0 | maskCondMulIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_11_3_1 = ageMatrixR_3_1 & ~maskCondMulIss_0_1 | maskCondMulIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_11_3_2 = ageMatrixR_3_2 & ~maskCondMulIss_0_2 | maskCondMulIss_0_3; // @[Issue.scala 200:60]
  wire  matrixOut_11_3_3 = ageMatrixW_3_3 & ~maskCondMulIss_0_3 | maskCondMulIss_0_3; // @[Issue.scala 200:60]
  wire  _T_1649 = matrixOut_11_0_0 & matrixOut_11_0_1 & matrixOut_11_0_2 & matrixOut_11_0_3 & (matrixOut_11_1_0 &
    matrixOut_11_1_1 & matrixOut_11_1_2 & matrixOut_11_1_3) & (matrixOut_11_2_0 & matrixOut_11_2_1 & matrixOut_11_2_2 &
    matrixOut_11_2_3) & (matrixOut_11_3_0 & matrixOut_11_3_1 & matrixOut_11_3_2 & matrixOut_11_3_3); // @[Issue.scala 693:33]
  wire  _T_1657 = ~matrixOut_11_0_0 & ~matrixOut_11_0_1 & ~matrixOut_11_0_2 & ~matrixOut_11_0_3; // @[Issue.scala 694:67]
  wire  _T_1665 = ~matrixOut_11_1_0 & ~matrixOut_11_1_1 & ~matrixOut_11_1_2 & ~matrixOut_11_1_3; // @[Issue.scala 694:67]
  wire  _T_1673 = ~matrixOut_11_2_0 & ~matrixOut_11_2_1 & ~matrixOut_11_2_2 & ~matrixOut_11_2_3; // @[Issue.scala 694:67]
  wire  _T_1681 = ~matrixOut_11_3_0 & ~matrixOut_11_3_1 & ~matrixOut_11_3_2 & ~matrixOut_11_3_3; // @[Issue.scala 694:67]
  wire [1:0] _T_1682 = _T_1657 + _T_1665; // @[Bitwise.scala 51:90]
  wire [1:0] _T_1684 = _T_1673 + _T_1681; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1686 = _T_1682 + _T_1684; // @[Bitwise.scala 51:90]
  wire  _T_1688 = _T_1686 == 3'h1; // @[Issue.scala 694:102]
  wire  _T_1689 = matrixOut_11_0_0 & matrixOut_11_0_1 & matrixOut_11_0_2 & matrixOut_11_0_3 & (matrixOut_11_1_0 &
    matrixOut_11_1_1 & matrixOut_11_1_2 & matrixOut_11_1_3) & (matrixOut_11_2_0 & matrixOut_11_2_1 & matrixOut_11_2_2 &
    matrixOut_11_2_3) & (matrixOut_11_3_0 & matrixOut_11_3_1 & matrixOut_11_3_2 & matrixOut_11_3_3) | _T_1688; // @[Issue.scala 693:95]
  wire [1:0] _mulIssIdx_0_T_32 = _T_1673 ? 2'h2 : 2'h3; // @[Issue.scala 700:53]
  wire [1:0] _mulIssIdx_0_T_33 = _T_1665 ? 2'h1 : _mulIssIdx_0_T_32; // @[Issue.scala 700:53]
  wire [1:0] mulIssIdx_0 = _T_1657 ? 2'h0 : _mulIssIdx_0_T_33; // @[Issue.scala 700:53]
  wire  _T_1693 = mulIssFifo_0_io_enq_ready & mulIssFifo_0_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_1695 = _T_1693 & mulIssIdx_0 == 2'h0; // @[Issue.scala 705:43]
  wire  _GEN_3546 = _T_1693 & mulIssIdx_0 == 2'h0 ? 1'h0 : _GEN_3542; // @[Issue.scala 705:70 706:23]
  wire  _T_1720 = _T_1693 & mulIssIdx_0 == 2'h1; // @[Issue.scala 705:43]
  wire  _GEN_3547 = _T_1693 & mulIssIdx_0 == 2'h1 ? 1'h0 : _GEN_3543; // @[Issue.scala 705:70 706:23]
  wire  _T_1745 = _T_1693 & mulIssIdx_0 == 2'h2; // @[Issue.scala 705:43]
  wire  _GEN_3548 = _T_1693 & mulIssIdx_0 == 2'h2 ? 1'h0 : _GEN_3544; // @[Issue.scala 705:70 706:23]
  wire  _T_1770 = _T_1693 & mulIssIdx_0 == 2'h3; // @[Issue.scala 705:43]
  wire  _GEN_3549 = _T_1693 & mulIssIdx_0 == 2'h3 ? 1'h0 : _GEN_3545; // @[Issue.scala 705:70 706:23]
  wire  _maskCondBruIss_0_T_7 = bufInfo_0_bru_isa_jal | bufInfo_0_bru_isa_jalr | bufInfo_0_bru_isa_beq |
    bufInfo_0_bru_isa_bne | bufInfo_0_bru_isa_blt | bufInfo_0_bru_isa_bge | bufInfo_0_bru_isa_bltu |
    bufInfo_0_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  _maskCondBruIss_0_T_8 = ~_maskCondBruIss_0_T_7; // @[Issue.scala 752:7]
  wire  maskCondBruIss_0 = _entrySel_T | _maskCondBruIss_0_T_8; // @[Issue.scala 751:20]
  wire  _maskCondBruIss_1_T_7 = bufInfo_1_bru_isa_jal | bufInfo_1_bru_isa_jalr | bufInfo_1_bru_isa_beq |
    bufInfo_1_bru_isa_bne | bufInfo_1_bru_isa_blt | bufInfo_1_bru_isa_bge | bufInfo_1_bru_isa_bltu |
    bufInfo_1_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  _maskCondBruIss_1_T_8 = ~_maskCondBruIss_1_T_7; // @[Issue.scala 752:7]
  wire  maskCondBruIss_1 = _entrySel_T_1 | _maskCondBruIss_1_T_8; // @[Issue.scala 751:20]
  wire  _maskCondBruIss_2_T_7 = bufInfo_2_bru_isa_jal | bufInfo_2_bru_isa_jalr | bufInfo_2_bru_isa_beq |
    bufInfo_2_bru_isa_bne | bufInfo_2_bru_isa_blt | bufInfo_2_bru_isa_bge | bufInfo_2_bru_isa_bltu |
    bufInfo_2_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  _maskCondBruIss_2_T_8 = ~_maskCondBruIss_2_T_7; // @[Issue.scala 752:7]
  wire  maskCondBruIss_2 = _entrySel_T_2 | _maskCondBruIss_2_T_8; // @[Issue.scala 751:20]
  wire  _maskCondBruIss_3_T_7 = bufInfo_3_bru_isa_jal | bufInfo_3_bru_isa_jalr | bufInfo_3_bru_isa_beq |
    bufInfo_3_bru_isa_bne | bufInfo_3_bru_isa_blt | bufInfo_3_bru_isa_bge | bufInfo_3_bru_isa_bltu |
    bufInfo_3_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  _maskCondBruIss_3_T_8 = ~_maskCondBruIss_3_T_7; // @[Issue.scala 752:7]
  wire  maskCondBruIss_3 = _io_dptReq_0_ready_T_3 | _maskCondBruIss_3_T_8; // @[Issue.scala 751:20]
  wire  matrixOut_12_0_0 = ageMatrixW_0_0 & ~maskCondBruIss_0 | maskCondBruIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_12_0_1 = ageMatrixW_0_1 & ~maskCondBruIss_1 | maskCondBruIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_12_0_2 = ageMatrixW_0_2 & ~maskCondBruIss_2 | maskCondBruIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_12_0_3 = ageMatrixW_0_3 & ~maskCondBruIss_3 | maskCondBruIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_12_1_0 = ageMatrixR_1_0 & ~maskCondBruIss_0 | maskCondBruIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_12_1_1 = ageMatrixW_1_1 & ~maskCondBruIss_1 | maskCondBruIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_12_1_2 = ageMatrixW_1_2 & ~maskCondBruIss_2 | maskCondBruIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_12_1_3 = ageMatrixW_1_3 & ~maskCondBruIss_3 | maskCondBruIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_12_2_0 = ageMatrixR_2_0 & ~maskCondBruIss_0 | maskCondBruIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_12_2_1 = ageMatrixR_2_1 & ~maskCondBruIss_1 | maskCondBruIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_12_2_2 = ageMatrixW_2_2 & ~maskCondBruIss_2 | maskCondBruIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_12_2_3 = ageMatrixW_2_3 & ~maskCondBruIss_3 | maskCondBruIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_12_3_0 = ageMatrixR_3_0 & ~maskCondBruIss_0 | maskCondBruIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_12_3_1 = ageMatrixR_3_1 & ~maskCondBruIss_1 | maskCondBruIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_12_3_2 = ageMatrixR_3_2 & ~maskCondBruIss_2 | maskCondBruIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_12_3_3 = ageMatrixW_3_3 & ~maskCondBruIss_3 | maskCondBruIss_3; // @[Issue.scala 200:60]
  wire  _T_1836 = ~matrixOut_12_0_0 & ~matrixOut_12_0_1 & ~matrixOut_12_0_2 & ~matrixOut_12_0_3; // @[Issue.scala 759:58]
  wire  _T_1844 = ~matrixOut_12_1_0 & ~matrixOut_12_1_1 & ~matrixOut_12_1_2 & ~matrixOut_12_1_3; // @[Issue.scala 759:58]
  wire  _T_1852 = ~matrixOut_12_2_0 & ~matrixOut_12_2_1 & ~matrixOut_12_2_2 & ~matrixOut_12_2_3; // @[Issue.scala 759:58]
  wire  _T_1860 = ~matrixOut_12_3_0 & ~matrixOut_12_3_1 & ~matrixOut_12_3_2 & ~matrixOut_12_3_3; // @[Issue.scala 759:58]
  wire [1:0] _T_1861 = _T_1836 + _T_1844; // @[Bitwise.scala 51:90]
  wire [1:0] _T_1863 = _T_1852 + _T_1860; // @[Bitwise.scala 51:90]
  wire [2:0] _T_1865 = _T_1861 + _T_1863; // @[Bitwise.scala 51:90]
  wire  _T_1867 = _T_1865 == 3'h1; // @[Issue.scala 759:92]
  wire  _T_1868 = matrixOut_12_0_0 & matrixOut_12_0_1 & matrixOut_12_0_2 & matrixOut_12_0_3 & (matrixOut_12_1_0 &
    matrixOut_12_1_1 & matrixOut_12_1_2 & matrixOut_12_1_3) & (matrixOut_12_2_0 & matrixOut_12_2_1 & matrixOut_12_2_2 &
    matrixOut_12_2_3) & (matrixOut_12_3_0 & matrixOut_12_3_1 & matrixOut_12_3_2 & matrixOut_12_3_3) | _T_1867; // @[Issue.scala 758:86]
  wire [1:0] _bruIssIdx_T_32 = _T_1852 ? 2'h2 : 2'h3; // @[Issue.scala 762:39]
  wire [1:0] _bruIssIdx_T_33 = _T_1844 ? 2'h1 : _bruIssIdx_T_32; // @[Issue.scala 762:39]
  wire [1:0] bruIssIdx = _T_1836 ? 2'h0 : _bruIssIdx_T_33; // @[Issue.scala 762:39]
  wire  _T_1872 = bruIssFifo_io_enq_ready & bruIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_1874 = _T_1872 & bruIssIdx == 2'h0; // @[Issue.scala 771:34]
  wire  _T_1894 = _T_1872 & bruIssIdx == 2'h1; // @[Issue.scala 771:34]
  wire  _T_1914 = _T_1872 & bruIssIdx == 2'h2; // @[Issue.scala 771:34]
  wire  _T_1934 = _T_1872 & bruIssIdx == 2'h3; // @[Issue.scala 771:34]
  wire  _maskCondCsrIss_0_T_5 = bufInfo_0_csr_isa_rw | bufInfo_0_csr_isa_rs | bufInfo_0_csr_isa_rc |
    bufInfo_0_csr_isa_rwi | bufInfo_0_csr_isa_rsi | bufInfo_0_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  _maskCondCsrIss_0_T_6 = ~_maskCondCsrIss_0_T_5; // @[Issue.scala 818:7]
  wire  maskCondCsrIss_0 = _entrySel_T | _maskCondCsrIss_0_T_6; // @[Issue.scala 817:20]
  wire  _maskCondCsrIss_1_T_5 = bufInfo_1_csr_isa_rw | bufInfo_1_csr_isa_rs | bufInfo_1_csr_isa_rc |
    bufInfo_1_csr_isa_rwi | bufInfo_1_csr_isa_rsi | bufInfo_1_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  _maskCondCsrIss_1_T_6 = ~_maskCondCsrIss_1_T_5; // @[Issue.scala 818:7]
  wire  maskCondCsrIss_1 = _entrySel_T_1 | _maskCondCsrIss_1_T_6; // @[Issue.scala 817:20]
  wire  _maskCondCsrIss_2_T_5 = bufInfo_2_csr_isa_rw | bufInfo_2_csr_isa_rs | bufInfo_2_csr_isa_rc |
    bufInfo_2_csr_isa_rwi | bufInfo_2_csr_isa_rsi | bufInfo_2_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  _maskCondCsrIss_2_T_6 = ~_maskCondCsrIss_2_T_5; // @[Issue.scala 818:7]
  wire  maskCondCsrIss_2 = _entrySel_T_2 | _maskCondCsrIss_2_T_6; // @[Issue.scala 817:20]
  wire  _maskCondCsrIss_3_T_5 = bufInfo_3_csr_isa_rw | bufInfo_3_csr_isa_rs | bufInfo_3_csr_isa_rc |
    bufInfo_3_csr_isa_rwi | bufInfo_3_csr_isa_rsi | bufInfo_3_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  _maskCondCsrIss_3_T_6 = ~_maskCondCsrIss_3_T_5; // @[Issue.scala 818:7]
  wire  maskCondCsrIss_3 = _io_dptReq_0_ready_T_3 | _maskCondCsrIss_3_T_6; // @[Issue.scala 817:20]
  wire  matrixOut_13_0_0 = ageMatrixW_0_0 & ~maskCondCsrIss_0 | maskCondCsrIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_13_0_1 = ageMatrixW_0_1 & ~maskCondCsrIss_1 | maskCondCsrIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_13_0_2 = ageMatrixW_0_2 & ~maskCondCsrIss_2 | maskCondCsrIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_13_0_3 = ageMatrixW_0_3 & ~maskCondCsrIss_3 | maskCondCsrIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_13_1_0 = ageMatrixR_1_0 & ~maskCondCsrIss_0 | maskCondCsrIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_13_1_1 = ageMatrixW_1_1 & ~maskCondCsrIss_1 | maskCondCsrIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_13_1_2 = ageMatrixW_1_2 & ~maskCondCsrIss_2 | maskCondCsrIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_13_1_3 = ageMatrixW_1_3 & ~maskCondCsrIss_3 | maskCondCsrIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_13_2_0 = ageMatrixR_2_0 & ~maskCondCsrIss_0 | maskCondCsrIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_13_2_1 = ageMatrixR_2_1 & ~maskCondCsrIss_1 | maskCondCsrIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_13_2_2 = ageMatrixW_2_2 & ~maskCondCsrIss_2 | maskCondCsrIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_13_2_3 = ageMatrixW_2_3 & ~maskCondCsrIss_3 | maskCondCsrIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_13_3_0 = ageMatrixR_3_0 & ~maskCondCsrIss_0 | maskCondCsrIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_13_3_1 = ageMatrixR_3_1 & ~maskCondCsrIss_1 | maskCondCsrIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_13_3_2 = ageMatrixR_3_2 & ~maskCondCsrIss_2 | maskCondCsrIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_13_3_3 = ageMatrixW_3_3 & ~maskCondCsrIss_3 | maskCondCsrIss_3; // @[Issue.scala 200:60]
  wire  _T_1995 = ~matrixOut_13_0_0 & ~matrixOut_13_0_1 & ~matrixOut_13_0_2 & ~matrixOut_13_0_3; // @[Issue.scala 825:58]
  wire  _T_2003 = ~matrixOut_13_1_0 & ~matrixOut_13_1_1 & ~matrixOut_13_1_2 & ~matrixOut_13_1_3; // @[Issue.scala 825:58]
  wire  _T_2011 = ~matrixOut_13_2_0 & ~matrixOut_13_2_1 & ~matrixOut_13_2_2 & ~matrixOut_13_2_3; // @[Issue.scala 825:58]
  wire  _T_2019 = ~matrixOut_13_3_0 & ~matrixOut_13_3_1 & ~matrixOut_13_3_2 & ~matrixOut_13_3_3; // @[Issue.scala 825:58]
  wire [1:0] _T_2020 = _T_1995 + _T_2003; // @[Bitwise.scala 51:90]
  wire [1:0] _T_2022 = _T_2011 + _T_2019; // @[Bitwise.scala 51:90]
  wire [2:0] _T_2024 = _T_2020 + _T_2022; // @[Bitwise.scala 51:90]
  wire  _T_2026 = _T_2024 == 3'h1; // @[Issue.scala 825:92]
  wire  _T_2027 = matrixOut_13_0_0 & matrixOut_13_0_1 & matrixOut_13_0_2 & matrixOut_13_0_3 & (matrixOut_13_1_0 &
    matrixOut_13_1_1 & matrixOut_13_1_2 & matrixOut_13_1_3) & (matrixOut_13_2_0 & matrixOut_13_2_1 & matrixOut_13_2_2 &
    matrixOut_13_2_3) & (matrixOut_13_3_0 & matrixOut_13_3_1 & matrixOut_13_3_2 & matrixOut_13_3_3) | _T_2026; // @[Issue.scala 824:86]
  wire [1:0] _csrIssIdx_T_32 = _T_2011 ? 2'h2 : 2'h3; // @[Issue.scala 828:39]
  wire [1:0] _csrIssIdx_T_33 = _T_2003 ? 2'h1 : _csrIssIdx_T_32; // @[Issue.scala 828:39]
  wire [1:0] csrIssIdx = _T_1995 ? 2'h0 : _csrIssIdx_T_33; // @[Issue.scala 828:39]
  wire  _T_2031 = csrIssFifo_io_enq_ready & csrIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_2033 = _T_2031 & csrIssIdx == 2'h0; // @[Issue.scala 837:34]
  wire  _T_2051 = _T_2031 & csrIssIdx == 2'h1; // @[Issue.scala 837:34]
  wire  _T_2069 = _T_2031 & csrIssIdx == 2'h2; // @[Issue.scala 837:34]
  wire  _T_2087 = _T_2031 & csrIssIdx == 2'h3; // @[Issue.scala 837:34]
  wire  _maskCondLsuIss_0_T_10 = bufInfo_0_lsu_isa_lb | bufInfo_0_lsu_isa_lh | bufInfo_0_lsu_isa_lw |
    bufInfo_0_lsu_isa_ld | bufInfo_0_lsu_isa_lbu | bufInfo_0_lsu_isa_lhu | bufInfo_0_lsu_isa_lwu | bufInfo_0_lsu_isa_sb
     | bufInfo_0_lsu_isa_sh | bufInfo_0_lsu_isa_sw | bufInfo_0_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  _maskCondLsuIss_0_T_11 = bufInfo_0_lsu_isa_sc_d | bufInfo_0_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  _maskCondLsuIss_0_T_12 = bufInfo_0_lsu_isa_lr_d | bufInfo_0_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  _maskCondLsuIss_0_T_13 = _maskCondLsuIss_0_T_11 | _maskCondLsuIss_0_T_12; // @[riscv_isa.scala 146:23]
  wire  _maskCondLsuIss_0_T_33 = bufInfo_0_lsu_isa_amoswap_w | bufInfo_0_lsu_isa_amoadd_w | bufInfo_0_lsu_isa_amoxor_w
     | bufInfo_0_lsu_isa_amoand_w | bufInfo_0_lsu_isa_amoor_w | bufInfo_0_lsu_isa_amomin_w | bufInfo_0_lsu_isa_amomax_w
     | bufInfo_0_lsu_isa_amominu_w | bufInfo_0_lsu_isa_amomaxu_w | bufInfo_0_lsu_isa_amoswap_d |
    bufInfo_0_lsu_isa_amoadd_d | bufInfo_0_lsu_isa_amoxor_d | bufInfo_0_lsu_isa_amoand_d | bufInfo_0_lsu_isa_amoor_d |
    bufInfo_0_lsu_isa_amomin_d | bufInfo_0_lsu_isa_amomax_d | bufInfo_0_lsu_isa_amominu_d | bufInfo_0_lsu_isa_amomaxu_d
     | _maskCondLsuIss_0_T_11; // @[riscv_isa.scala 148:205]
  wire  _maskCondLsuIss_0_T_37 = bufInfo_0_lsu_isa_flw | bufInfo_0_lsu_isa_fsw | bufInfo_0_lsu_isa_fld |
    bufInfo_0_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  _maskCondLsuIss_0_T_40 = bufInfo_0_lsu_isa_fence | bufInfo_0_lsu_isa_fence_i | bufInfo_0_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  _maskCondLsuIss_0_T_41 = _maskCondLsuIss_0_T_10 | _maskCondLsuIss_0_T_13 | _maskCondLsuIss_0_T_33 |
    _maskCondLsuIss_0_T_37 | _maskCondLsuIss_0_T_40; // @[riscv_isa.scala 151:51]
  wire  _maskCondLsuIss_0_T_42 = ~_maskCondLsuIss_0_T_41; // @[Issue.scala 881:7]
  wire  maskCondLsuIss_0 = _entrySel_T | _maskCondLsuIss_0_T_42; // @[Issue.scala 880:20]
  wire  _maskCondLsuIss_1_T_10 = bufInfo_1_lsu_isa_lb | bufInfo_1_lsu_isa_lh | bufInfo_1_lsu_isa_lw |
    bufInfo_1_lsu_isa_ld | bufInfo_1_lsu_isa_lbu | bufInfo_1_lsu_isa_lhu | bufInfo_1_lsu_isa_lwu | bufInfo_1_lsu_isa_sb
     | bufInfo_1_lsu_isa_sh | bufInfo_1_lsu_isa_sw | bufInfo_1_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  _maskCondLsuIss_1_T_11 = bufInfo_1_lsu_isa_sc_d | bufInfo_1_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  _maskCondLsuIss_1_T_12 = bufInfo_1_lsu_isa_lr_d | bufInfo_1_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  _maskCondLsuIss_1_T_13 = _maskCondLsuIss_1_T_11 | _maskCondLsuIss_1_T_12; // @[riscv_isa.scala 146:23]
  wire  _maskCondLsuIss_1_T_33 = bufInfo_1_lsu_isa_amoswap_w | bufInfo_1_lsu_isa_amoadd_w | bufInfo_1_lsu_isa_amoxor_w
     | bufInfo_1_lsu_isa_amoand_w | bufInfo_1_lsu_isa_amoor_w | bufInfo_1_lsu_isa_amomin_w | bufInfo_1_lsu_isa_amomax_w
     | bufInfo_1_lsu_isa_amominu_w | bufInfo_1_lsu_isa_amomaxu_w | bufInfo_1_lsu_isa_amoswap_d |
    bufInfo_1_lsu_isa_amoadd_d | bufInfo_1_lsu_isa_amoxor_d | bufInfo_1_lsu_isa_amoand_d | bufInfo_1_lsu_isa_amoor_d |
    bufInfo_1_lsu_isa_amomin_d | bufInfo_1_lsu_isa_amomax_d | bufInfo_1_lsu_isa_amominu_d | bufInfo_1_lsu_isa_amomaxu_d
     | _maskCondLsuIss_1_T_11; // @[riscv_isa.scala 148:205]
  wire  _maskCondLsuIss_1_T_37 = bufInfo_1_lsu_isa_flw | bufInfo_1_lsu_isa_fsw | bufInfo_1_lsu_isa_fld |
    bufInfo_1_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  _maskCondLsuIss_1_T_40 = bufInfo_1_lsu_isa_fence | bufInfo_1_lsu_isa_fence_i | bufInfo_1_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  _maskCondLsuIss_1_T_41 = _maskCondLsuIss_1_T_10 | _maskCondLsuIss_1_T_13 | _maskCondLsuIss_1_T_33 |
    _maskCondLsuIss_1_T_37 | _maskCondLsuIss_1_T_40; // @[riscv_isa.scala 151:51]
  wire  _maskCondLsuIss_1_T_42 = ~_maskCondLsuIss_1_T_41; // @[Issue.scala 881:7]
  wire  maskCondLsuIss_1 = _entrySel_T_1 | _maskCondLsuIss_1_T_42; // @[Issue.scala 880:20]
  wire  _maskCondLsuIss_2_T_10 = bufInfo_2_lsu_isa_lb | bufInfo_2_lsu_isa_lh | bufInfo_2_lsu_isa_lw |
    bufInfo_2_lsu_isa_ld | bufInfo_2_lsu_isa_lbu | bufInfo_2_lsu_isa_lhu | bufInfo_2_lsu_isa_lwu | bufInfo_2_lsu_isa_sb
     | bufInfo_2_lsu_isa_sh | bufInfo_2_lsu_isa_sw | bufInfo_2_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  _maskCondLsuIss_2_T_11 = bufInfo_2_lsu_isa_sc_d | bufInfo_2_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  _maskCondLsuIss_2_T_12 = bufInfo_2_lsu_isa_lr_d | bufInfo_2_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  _maskCondLsuIss_2_T_13 = _maskCondLsuIss_2_T_11 | _maskCondLsuIss_2_T_12; // @[riscv_isa.scala 146:23]
  wire  _maskCondLsuIss_2_T_33 = bufInfo_2_lsu_isa_amoswap_w | bufInfo_2_lsu_isa_amoadd_w | bufInfo_2_lsu_isa_amoxor_w
     | bufInfo_2_lsu_isa_amoand_w | bufInfo_2_lsu_isa_amoor_w | bufInfo_2_lsu_isa_amomin_w | bufInfo_2_lsu_isa_amomax_w
     | bufInfo_2_lsu_isa_amominu_w | bufInfo_2_lsu_isa_amomaxu_w | bufInfo_2_lsu_isa_amoswap_d |
    bufInfo_2_lsu_isa_amoadd_d | bufInfo_2_lsu_isa_amoxor_d | bufInfo_2_lsu_isa_amoand_d | bufInfo_2_lsu_isa_amoor_d |
    bufInfo_2_lsu_isa_amomin_d | bufInfo_2_lsu_isa_amomax_d | bufInfo_2_lsu_isa_amominu_d | bufInfo_2_lsu_isa_amomaxu_d
     | _maskCondLsuIss_2_T_11; // @[riscv_isa.scala 148:205]
  wire  _maskCondLsuIss_2_T_37 = bufInfo_2_lsu_isa_flw | bufInfo_2_lsu_isa_fsw | bufInfo_2_lsu_isa_fld |
    bufInfo_2_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  _maskCondLsuIss_2_T_40 = bufInfo_2_lsu_isa_fence | bufInfo_2_lsu_isa_fence_i | bufInfo_2_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  _maskCondLsuIss_2_T_41 = _maskCondLsuIss_2_T_10 | _maskCondLsuIss_2_T_13 | _maskCondLsuIss_2_T_33 |
    _maskCondLsuIss_2_T_37 | _maskCondLsuIss_2_T_40; // @[riscv_isa.scala 151:51]
  wire  _maskCondLsuIss_2_T_42 = ~_maskCondLsuIss_2_T_41; // @[Issue.scala 881:7]
  wire  maskCondLsuIss_2 = _entrySel_T_2 | _maskCondLsuIss_2_T_42; // @[Issue.scala 880:20]
  wire  _maskCondLsuIss_3_T_10 = bufInfo_3_lsu_isa_lb | bufInfo_3_lsu_isa_lh | bufInfo_3_lsu_isa_lw |
    bufInfo_3_lsu_isa_ld | bufInfo_3_lsu_isa_lbu | bufInfo_3_lsu_isa_lhu | bufInfo_3_lsu_isa_lwu | bufInfo_3_lsu_isa_sb
     | bufInfo_3_lsu_isa_sh | bufInfo_3_lsu_isa_sw | bufInfo_3_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  _maskCondLsuIss_3_T_11 = bufInfo_3_lsu_isa_sc_d | bufInfo_3_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  _maskCondLsuIss_3_T_12 = bufInfo_3_lsu_isa_lr_d | bufInfo_3_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  _maskCondLsuIss_3_T_13 = _maskCondLsuIss_3_T_11 | _maskCondLsuIss_3_T_12; // @[riscv_isa.scala 146:23]
  wire  _maskCondLsuIss_3_T_33 = bufInfo_3_lsu_isa_amoswap_w | bufInfo_3_lsu_isa_amoadd_w | bufInfo_3_lsu_isa_amoxor_w
     | bufInfo_3_lsu_isa_amoand_w | bufInfo_3_lsu_isa_amoor_w | bufInfo_3_lsu_isa_amomin_w | bufInfo_3_lsu_isa_amomax_w
     | bufInfo_3_lsu_isa_amominu_w | bufInfo_3_lsu_isa_amomaxu_w | bufInfo_3_lsu_isa_amoswap_d |
    bufInfo_3_lsu_isa_amoadd_d | bufInfo_3_lsu_isa_amoxor_d | bufInfo_3_lsu_isa_amoand_d | bufInfo_3_lsu_isa_amoor_d |
    bufInfo_3_lsu_isa_amomin_d | bufInfo_3_lsu_isa_amomax_d | bufInfo_3_lsu_isa_amominu_d | bufInfo_3_lsu_isa_amomaxu_d
     | _maskCondLsuIss_3_T_11; // @[riscv_isa.scala 148:205]
  wire  _maskCondLsuIss_3_T_37 = bufInfo_3_lsu_isa_flw | bufInfo_3_lsu_isa_fsw | bufInfo_3_lsu_isa_fld |
    bufInfo_3_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  _maskCondLsuIss_3_T_40 = bufInfo_3_lsu_isa_fence | bufInfo_3_lsu_isa_fence_i | bufInfo_3_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  _maskCondLsuIss_3_T_41 = _maskCondLsuIss_3_T_10 | _maskCondLsuIss_3_T_13 | _maskCondLsuIss_3_T_33 |
    _maskCondLsuIss_3_T_37 | _maskCondLsuIss_3_T_40; // @[riscv_isa.scala 151:51]
  wire  _maskCondLsuIss_3_T_42 = ~_maskCondLsuIss_3_T_41; // @[Issue.scala 881:7]
  wire  maskCondLsuIss_3 = _io_dptReq_0_ready_T_3 | _maskCondLsuIss_3_T_42; // @[Issue.scala 880:20]
  wire  matrixOut_14_0_0 = ageMatrixW_0_0 & ~maskCondLsuIss_0 | maskCondLsuIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_14_0_1 = ageMatrixW_0_1 & ~maskCondLsuIss_1 | maskCondLsuIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_14_0_2 = ageMatrixW_0_2 & ~maskCondLsuIss_2 | maskCondLsuIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_14_0_3 = ageMatrixW_0_3 & ~maskCondLsuIss_3 | maskCondLsuIss_0; // @[Issue.scala 200:60]
  wire  matrixOut_14_1_0 = ageMatrixR_1_0 & ~maskCondLsuIss_0 | maskCondLsuIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_14_1_1 = ageMatrixW_1_1 & ~maskCondLsuIss_1 | maskCondLsuIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_14_1_2 = ageMatrixW_1_2 & ~maskCondLsuIss_2 | maskCondLsuIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_14_1_3 = ageMatrixW_1_3 & ~maskCondLsuIss_3 | maskCondLsuIss_1; // @[Issue.scala 200:60]
  wire  matrixOut_14_2_0 = ageMatrixR_2_0 & ~maskCondLsuIss_0 | maskCondLsuIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_14_2_1 = ageMatrixR_2_1 & ~maskCondLsuIss_1 | maskCondLsuIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_14_2_2 = ageMatrixW_2_2 & ~maskCondLsuIss_2 | maskCondLsuIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_14_2_3 = ageMatrixW_2_3 & ~maskCondLsuIss_3 | maskCondLsuIss_2; // @[Issue.scala 200:60]
  wire  matrixOut_14_3_0 = ageMatrixR_3_0 & ~maskCondLsuIss_0 | maskCondLsuIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_14_3_1 = ageMatrixR_3_1 & ~maskCondLsuIss_1 | maskCondLsuIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_14_3_2 = ageMatrixR_3_2 & ~maskCondLsuIss_2 | maskCondLsuIss_3; // @[Issue.scala 200:60]
  wire  matrixOut_14_3_3 = ageMatrixW_3_3 & ~maskCondLsuIss_3 | maskCondLsuIss_3; // @[Issue.scala 200:60]
  wire  _T_2146 = ~matrixOut_14_0_0 & ~matrixOut_14_0_1 & ~matrixOut_14_0_2 & ~matrixOut_14_0_3; // @[Issue.scala 888:58]
  wire  _T_2154 = ~matrixOut_14_1_0 & ~matrixOut_14_1_1 & ~matrixOut_14_1_2 & ~matrixOut_14_1_3; // @[Issue.scala 888:58]
  wire  _T_2162 = ~matrixOut_14_2_0 & ~matrixOut_14_2_1 & ~matrixOut_14_2_2 & ~matrixOut_14_2_3; // @[Issue.scala 888:58]
  wire  _T_2170 = ~matrixOut_14_3_0 & ~matrixOut_14_3_1 & ~matrixOut_14_3_2 & ~matrixOut_14_3_3; // @[Issue.scala 888:58]
  wire [1:0] _T_2171 = _T_2146 + _T_2154; // @[Bitwise.scala 51:90]
  wire [1:0] _T_2173 = _T_2162 + _T_2170; // @[Bitwise.scala 51:90]
  wire [2:0] _T_2175 = _T_2171 + _T_2173; // @[Bitwise.scala 51:90]
  wire  _T_2177 = _T_2175 == 3'h1; // @[Issue.scala 888:92]
  wire  _T_2178 = matrixOut_14_0_0 & matrixOut_14_0_1 & matrixOut_14_0_2 & matrixOut_14_0_3 & (matrixOut_14_1_0 &
    matrixOut_14_1_1 & matrixOut_14_1_2 & matrixOut_14_1_3) & (matrixOut_14_2_0 & matrixOut_14_2_1 & matrixOut_14_2_2 &
    matrixOut_14_2_3) & (matrixOut_14_3_0 & matrixOut_14_3_1 & matrixOut_14_3_2 & matrixOut_14_3_3) | _T_2177; // @[Issue.scala 887:86]
  wire [1:0] _lsuIssIdx_T_32 = _T_2162 ? 2'h2 : 2'h3; // @[Issue.scala 891:39]
  wire [1:0] _lsuIssIdx_T_33 = _T_2154 ? 2'h1 : _lsuIssIdx_T_32; // @[Issue.scala 891:39]
  wire [1:0] lsuIssIdx = _T_2146 ? 2'h0 : _lsuIssIdx_T_33; // @[Issue.scala 891:39]
  wire  _T_2182 = lsuIssFifo_io_enq_ready & lsuIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_2184 = _T_2182 & lsuIssIdx == 2'h0; // @[Issue.scala 900:34]
  wire  _T_2238 = _T_2182 & lsuIssIdx == 2'h1; // @[Issue.scala 900:34]
  wire  _T_2292 = _T_2182 & lsuIssIdx == 2'h2; // @[Issue.scala 900:34]
  wire  _T_2346 = _T_2182 & lsuIssIdx == 2'h3; // @[Issue.scala 900:34]
  wire  _GEN_426 = _T_1444 & _T_123; // @[Issue.scala 642:15]
  wire  _GEN_429 = _T_1487 & _T_123; // @[Issue.scala 642:15]
  wire  _GEN_432 = _T_1530 & _T_123; // @[Issue.scala 642:15]
  wire  _GEN_435 = _T_1573 & _T_123; // @[Issue.scala 642:15]
  wire  _GEN_438 = _T_1695 & _T_123; // @[Issue.scala 707:17]
  wire  _GEN_441 = _T_1720 & _T_123; // @[Issue.scala 707:17]
  wire  _GEN_444 = _T_1745 & _T_123; // @[Issue.scala 707:17]
  wire  _GEN_447 = _T_1770 & _T_123; // @[Issue.scala 707:17]
  wire  _GEN_450 = _T_1874 & _T_123; // @[Issue.scala 773:13]
  wire  _GEN_453 = _T_1894 & _T_123; // @[Issue.scala 773:13]
  wire  _GEN_456 = _T_1914 & _T_123; // @[Issue.scala 773:13]
  wire  _GEN_459 = _T_1934 & _T_123; // @[Issue.scala 773:13]
  wire  _GEN_462 = _T_2033 & _T_123; // @[Issue.scala 839:13]
  wire  _GEN_465 = _T_2051 & _T_123; // @[Issue.scala 839:13]
  wire  _GEN_468 = _T_2069 & _T_123; // @[Issue.scala 839:13]
  wire  _GEN_471 = _T_2087 & _T_123; // @[Issue.scala 839:13]
  wire  _GEN_474 = _T_2184 & _T_123; // @[Issue.scala 902:13]
  wire  _GEN_477 = _T_2238 & _T_123; // @[Issue.scala 902:13]
  wire  _GEN_480 = _T_2292 & _T_123; // @[Issue.scala 902:13]
  wire  _GEN_483 = _T_2346 & _T_123; // @[Issue.scala 902:13]
  Queue_2 aluIssFifo_0 ( // @[Issue.scala 605:11]
    .clock(aluIssFifo_0_clock),
    .reset(aluIssFifo_0_reset),
    .io_enq_ready(aluIssFifo_0_io_enq_ready),
    .io_enq_valid(aluIssFifo_0_io_enq_valid),
    .io_deq_ready(aluIssFifo_0_io_deq_ready),
    .io_deq_valid(aluIssFifo_0_io_deq_valid)
  );
  Queue_3 mulIssFifo_0 ( // @[Issue.scala 671:13]
    .clock(mulIssFifo_0_clock),
    .reset(mulIssFifo_0_reset),
    .io_enq_ready(mulIssFifo_0_io_enq_ready),
    .io_enq_valid(mulIssFifo_0_io_enq_valid),
    .io_deq_ready(mulIssFifo_0_io_deq_ready),
    .io_deq_valid(mulIssFifo_0_io_deq_valid)
  );
  Queue_4 bruIssFifo ( // @[Issue.scala 743:26]
    .clock(bruIssFifo_clock),
    .reset(bruIssFifo_reset),
    .io_enq_ready(bruIssFifo_io_enq_ready),
    .io_enq_valid(bruIssFifo_io_enq_valid),
    .io_deq_ready(bruIssFifo_io_deq_ready),
    .io_deq_valid(bruIssFifo_io_deq_valid)
  );
  Queue_5 csrIssFifo ( // @[Issue.scala 809:26]
    .clock(csrIssFifo_clock),
    .reset(csrIssFifo_reset),
    .io_enq_ready(csrIssFifo_io_enq_ready),
    .io_enq_valid(csrIssFifo_io_enq_valid),
    .io_deq_ready(csrIssFifo_io_deq_ready),
    .io_deq_valid(csrIssFifo_io_deq_valid)
  );
  Queue_6 lsuIssFifo ( // @[Issue.scala 872:26]
    .clock(lsuIssFifo_clock),
    .reset(lsuIssFifo_reset),
    .io_enq_ready(lsuIssFifo_io_enq_ready),
    .io_enq_valid(lsuIssFifo_io_enq_valid),
    .io_deq_ready(lsuIssFifo_io_deq_ready),
    .io_deq_valid(lsuIssFifo_io_deq_valid)
  );
  assign io_dptReq_0_ready = 1'h1; // @[Issue.scala 78:76]
  assign aluIssFifo_0_clock = clock;
  assign aluIssFifo_0_reset = io_flush | reset; // @[Issue.scala 648:39]
  assign aluIssFifo_0_io_enq_valid = ~_T_1398; // @[Issue.scala 634:37]
  assign aluIssFifo_0_io_deq_ready = io_alu_iss_exe_0_ready; // @[Issue.scala 647:28]
  assign mulIssFifo_0_clock = clock;
  assign mulIssFifo_0_reset = io_flush | reset; // @[Issue.scala 713:41]
  assign mulIssFifo_0_io_enq_valid = ~_T_1649; // @[Issue.scala 699:39]
  assign mulIssFifo_0_io_deq_ready = io_mul_iss_exe_0_ready; // @[Issue.scala 712:30]
  assign bruIssFifo_clock = clock;
  assign bruIssFifo_reset = io_flush | reset; // @[Issue.scala 780:32]
  assign bruIssFifo_io_enq_valid = _T_1836 & postIsOpReady_0_0 & postIsOpReady_0_1 | _T_1844 & postIsOpReady_1_0 &
    postIsOpReady_1_1 | _T_1852 & postIsOpReady_2_0 & postIsOpReady_2_1 | _T_1860 & postIsOpReady_3_0 &
    postIsOpReady_3_1; // @[Issue.scala 765:149]
  assign bruIssFifo_io_deq_ready = io_bru_iss_exe_ready; // @[Issue.scala 779:21]
  assign csrIssFifo_clock = clock;
  assign csrIssFifo_reset = io_flush | reset; // @[Issue.scala 846:32]
  assign csrIssFifo_io_enq_valid = _T_1995 & postIsOpReady_0_0 & postIsOpReady_0_1 | _T_2003 & postIsOpReady_1_0 &
    postIsOpReady_1_1 | _T_2011 & postIsOpReady_2_0 & postIsOpReady_2_1 | _T_2019 & postIsOpReady_3_0 &
    postIsOpReady_3_1; // @[Issue.scala 831:149]
  assign csrIssFifo_io_deq_ready = io_csr_iss_exe_ready; // @[Issue.scala 845:21]
  assign lsuIssFifo_clock = clock;
  assign lsuIssFifo_reset = io_flush | reset; // @[Issue.scala 909:32]
  assign lsuIssFifo_io_enq_valid = _T_2146 & postIsOpReady_0_0 & postIsOpReady_0_1 | _T_2154 & postIsOpReady_1_0 &
    postIsOpReady_1_1 | _T_2162 & postIsOpReady_2_0 & postIsOpReady_2_1 | _T_2170 & postIsOpReady_3_0 &
    postIsOpReady_3_1; // @[Issue.scala 894:149]
  assign lsuIssFifo_io_deq_ready = io_lsu_iss_exe_ready; // @[Issue.scala 908:21]
  always @(posedge clock) begin
    if (reset) begin // @[Issue.scala 61:29]
      bufValid_0 <= 1'h0; // @[Issue.scala 61:29]
    end else if (_T_2182 & lsuIssIdx == 2'h0) begin // @[Issue.scala 900:56]
      bufValid_0 <= 1'h0; // @[Issue.scala 901:19]
    end else if (_T_2031 & csrIssIdx == 2'h0) begin // @[Issue.scala 837:56]
      bufValid_0 <= 1'h0; // @[Issue.scala 838:19]
    end else if (_T_1872 & bruIssIdx == 2'h0) begin // @[Issue.scala 771:56]
      bufValid_0 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      bufValid_0 <= _GEN_3546;
    end
    if (reset) begin // @[Issue.scala 61:29]
      bufValid_1 <= 1'h0; // @[Issue.scala 61:29]
    end else if (_T_2182 & lsuIssIdx == 2'h1) begin // @[Issue.scala 900:56]
      bufValid_1 <= 1'h0; // @[Issue.scala 901:19]
    end else if (_T_2031 & csrIssIdx == 2'h1) begin // @[Issue.scala 837:56]
      bufValid_1 <= 1'h0; // @[Issue.scala 838:19]
    end else if (_T_1872 & bruIssIdx == 2'h1) begin // @[Issue.scala 771:56]
      bufValid_1 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      bufValid_1 <= _GEN_3547;
    end
    if (reset) begin // @[Issue.scala 61:29]
      bufValid_2 <= 1'h0; // @[Issue.scala 61:29]
    end else if (_T_2182 & lsuIssIdx == 2'h2) begin // @[Issue.scala 900:56]
      bufValid_2 <= 1'h0; // @[Issue.scala 901:19]
    end else if (_T_2031 & csrIssIdx == 2'h2) begin // @[Issue.scala 837:56]
      bufValid_2 <= 1'h0; // @[Issue.scala 838:19]
    end else if (_T_1872 & bruIssIdx == 2'h2) begin // @[Issue.scala 771:56]
      bufValid_2 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      bufValid_2 <= _GEN_3548;
    end
    if (reset) begin // @[Issue.scala 61:29]
      bufValid_3 <= 1'h0; // @[Issue.scala 61:29]
    end else if (_T_2182 & lsuIssIdx == 2'h3) begin // @[Issue.scala 900:56]
      bufValid_3 <= 1'h0; // @[Issue.scala 901:19]
    end else if (_T_2031 & csrIssIdx == 2'h3) begin // @[Issue.scala 837:56]
      bufValid_3 <= 1'h0; // @[Issue.scala 838:19]
    end else if (_T_1872 & bruIssIdx == 2'h3) begin // @[Issue.scala 771:56]
      bufValid_3 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      bufValid_3 <= _GEN_3549;
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_lui <= io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_auipc <= io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_addi <= io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_addiw <= io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_slti <= io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sltiu <= io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_xori <= io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_ori <= io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_andi <= io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_slli <= io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_slliw <= io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_srli <= io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_srliw <= io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_srai <= io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sraiw <= io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_add <= io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_addw <= io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sub <= io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_subw <= io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sll <= io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sllw <= io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_slt <= io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sltu <= io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_xor <= io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_srl <= io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_srlw <= io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sra <= io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_sraw <= io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_or <= io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_and <= io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_alu_isa_wfi <= io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_jal <= io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_jalr <= io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_beq <= io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_bne <= io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_blt <= io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_bge <= io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_bltu <= io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_bru_isa_bgeu <= io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lb <= io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lh <= io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lw <= io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_ld <= io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lbu <= io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lhu <= io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lwu <= io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sb <= io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sh <= io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sw <= io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sd <= io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_fence <= io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_fence_i <= io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sfence_vma <= io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lr_w <= io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sc_w <= io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoswap_w <= io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoadd_w <= io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoxor_w <= io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoand_w <= io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoor_w <= io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomin_w <= io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomax_w <= io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amominu_w <= io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomaxu_w <= io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_lr_d <= io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_sc_d <= io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoswap_d <= io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoadd_d <= io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoxor_d <= io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoand_d <= io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amoor_d <= io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomin_d <= io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomax_d <= io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amominu_d <= io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_amomaxu_d <= io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_flw <= io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_fsw <= io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_fld <= io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_lsu_isa_fsd <= io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rw <= io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rs <= io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rc <= io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rwi <= io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rsi <= io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_csr_isa_rci <= io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_mul <= io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_mulh <= io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_mulhsu <= io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_mulhu <= io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_div <= io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_divu <= io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_rem <= io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_remu <= io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_mulw <= io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_divw <= io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_divuw <= io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_remw <= io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_mul_isa_remuw <= io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_phy_rs1 <= io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_phy_rs2 <= io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h0 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_0_phy_rs3 <= io_dptReq_0_bits_phy_rs3; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_lui <= io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_auipc <= io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_addi <= io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_addiw <= io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_slti <= io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sltiu <= io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_xori <= io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_ori <= io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_andi <= io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_slli <= io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_slliw <= io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_srli <= io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_srliw <= io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_srai <= io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sraiw <= io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_add <= io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_addw <= io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sub <= io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_subw <= io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sll <= io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sllw <= io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_slt <= io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sltu <= io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_xor <= io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_srl <= io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_srlw <= io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sra <= io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_sraw <= io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_or <= io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_and <= io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_alu_isa_wfi <= io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_jal <= io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_jalr <= io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_beq <= io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_bne <= io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_blt <= io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_bge <= io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_bltu <= io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_bru_isa_bgeu <= io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lb <= io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lh <= io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lw <= io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_ld <= io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lbu <= io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lhu <= io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lwu <= io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sb <= io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sh <= io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sw <= io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sd <= io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_fence <= io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_fence_i <= io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sfence_vma <= io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lr_w <= io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sc_w <= io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoswap_w <= io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoadd_w <= io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoxor_w <= io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoand_w <= io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoor_w <= io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomin_w <= io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomax_w <= io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amominu_w <= io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomaxu_w <= io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_lr_d <= io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_sc_d <= io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoswap_d <= io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoadd_d <= io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoxor_d <= io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoand_d <= io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amoor_d <= io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomin_d <= io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomax_d <= io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amominu_d <= io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_amomaxu_d <= io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_flw <= io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_fsw <= io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_fld <= io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_lsu_isa_fsd <= io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rw <= io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rs <= io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rc <= io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rwi <= io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rsi <= io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_csr_isa_rci <= io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_mul <= io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_mulh <= io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_mulhsu <= io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_mulhu <= io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_div <= io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_divu <= io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_rem <= io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_remu <= io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_mulw <= io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_divw <= io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_divuw <= io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_remw <= io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_mul_isa_remuw <= io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_phy_rs1 <= io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_phy_rs2 <= io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h1 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_1_phy_rs3 <= io_dptReq_0_bits_phy_rs3; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_lui <= io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_auipc <= io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_addi <= io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_addiw <= io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_slti <= io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sltiu <= io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_xori <= io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_ori <= io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_andi <= io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_slli <= io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_slliw <= io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_srli <= io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_srliw <= io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_srai <= io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sraiw <= io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_add <= io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_addw <= io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sub <= io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_subw <= io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sll <= io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sllw <= io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_slt <= io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sltu <= io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_xor <= io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_srl <= io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_srlw <= io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sra <= io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_sraw <= io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_or <= io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_and <= io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_alu_isa_wfi <= io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_jal <= io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_jalr <= io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_beq <= io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_bne <= io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_blt <= io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_bge <= io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_bltu <= io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_bru_isa_bgeu <= io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lb <= io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lh <= io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lw <= io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_ld <= io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lbu <= io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lhu <= io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lwu <= io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sb <= io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sh <= io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sw <= io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sd <= io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_fence <= io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_fence_i <= io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sfence_vma <= io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lr_w <= io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sc_w <= io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoswap_w <= io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoadd_w <= io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoxor_w <= io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoand_w <= io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoor_w <= io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomin_w <= io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomax_w <= io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amominu_w <= io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomaxu_w <= io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_lr_d <= io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_sc_d <= io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoswap_d <= io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoadd_d <= io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoxor_d <= io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoand_d <= io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amoor_d <= io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomin_d <= io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomax_d <= io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amominu_d <= io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_amomaxu_d <= io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_flw <= io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_fsw <= io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_fld <= io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_lsu_isa_fsd <= io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rw <= io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rs <= io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rc <= io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rwi <= io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rsi <= io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_csr_isa_rci <= io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_mul <= io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_mulh <= io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_mulhsu <= io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_mulhu <= io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_div <= io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_divu <= io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_rem <= io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_remu <= io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_mulw <= io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_divw <= io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_divuw <= io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_remw <= io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_mul_isa_remuw <= io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_phy_rs1 <= io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_phy_rs2 <= io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h2 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_2_phy_rs3 <= io_dptReq_0_bits_phy_rs3; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_lui <= io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_auipc <= io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_addi <= io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_addiw <= io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_slti <= io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sltiu <= io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_xori <= io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_ori <= io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_andi <= io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_slli <= io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_slliw <= io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_srli <= io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_srliw <= io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_srai <= io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sraiw <= io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_add <= io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_addw <= io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sub <= io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_subw <= io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sll <= io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sllw <= io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_slt <= io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sltu <= io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_xor <= io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_srl <= io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_srlw <= io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sra <= io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_sraw <= io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_or <= io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_and <= io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_alu_isa_wfi <= io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_jal <= io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_jalr <= io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_beq <= io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_bne <= io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_blt <= io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_bge <= io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_bltu <= io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_bru_isa_bgeu <= io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lb <= io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lh <= io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lw <= io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_ld <= io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lbu <= io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lhu <= io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lwu <= io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sb <= io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sh <= io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sw <= io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sd <= io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_fence <= io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_fence_i <= io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sfence_vma <= io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lr_w <= io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sc_w <= io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoswap_w <= io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoadd_w <= io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoxor_w <= io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoand_w <= io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoor_w <= io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomin_w <= io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomax_w <= io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amominu_w <= io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomaxu_w <= io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_lr_d <= io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_sc_d <= io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoswap_d <= io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoadd_d <= io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoxor_d <= io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoand_d <= io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amoor_d <= io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomin_d <= io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomax_d <= io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amominu_d <= io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_amomaxu_d <= io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_flw <= io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_fsw <= io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_fld <= io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_lsu_isa_fsd <= io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rw <= io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rs <= io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rc <= io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rwi <= io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rsi <= io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_csr_isa_rci <= io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_mul <= io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_mulh <= io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_mulhsu <= io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_mulhu <= io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_div <= io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_divu <= io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_rem <= io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_remu <= io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_mulw <= io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_divw <= io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_divuw <= io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_remw <= io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_mul_isa_remuw <= io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_phy_rs1 <= io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_phy_rs2 <= io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(io_flush)) begin // @[Issue.scala 86:22]
      if (_T) begin // @[Issue.scala 88:38]
        if (2'h3 == entrySel_0) begin // @[Issue.scala 90:28]
          bufInfo_3_phy_rs3 <= io_dptReq_0_bits_phy_rs3; // @[Issue.scala 90:28]
        end
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_0_0 <= _GEN_3414;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_0_0 <= _GEN_3382;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs1 == 6'h21) begin // @[Issue.scala 121:58]
        isOpReady_0_0 <= _GEN_2400;
      end else begin
        isOpReady_0_0 <= _GEN_2408;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_0_1 <= _GEN_3416;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_0_1 <= _GEN_3384;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs2 == 6'h21) begin // @[Issue.scala 127:58]
        isOpReady_0_1 <= _GEN_2420;
      end else begin
        isOpReady_0_1 <= _GEN_2428;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_1_0 <= _GEN_3418;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_1_0 <= _GEN_3386;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs1 == 6'h21) begin // @[Issue.scala 121:58]
        isOpReady_1_0 <= _GEN_2401;
      end else begin
        isOpReady_1_0 <= _GEN_2409;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_1_1 <= _GEN_3420;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_1_1 <= _GEN_3388;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs2 == 6'h21) begin // @[Issue.scala 127:58]
        isOpReady_1_1 <= _GEN_2421;
      end else begin
        isOpReady_1_1 <= _GEN_2429;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_2_0 <= _GEN_3422;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_2_0 <= _GEN_3390;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs1 == 6'h21) begin // @[Issue.scala 121:58]
        isOpReady_2_0 <= _GEN_2402;
      end else begin
        isOpReady_2_0 <= _GEN_2410;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_2_1 <= _GEN_3424;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_2_1 <= _GEN_3392;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs2 == 6'h21) begin // @[Issue.scala 127:58]
        isOpReady_2_1 <= _GEN_2422;
      end else begin
        isOpReady_2_1 <= _GEN_2430;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_3_0 <= _GEN_3426;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_3_0 <= _GEN_3394;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs1 == 6'h21) begin // @[Issue.scala 121:58]
        isOpReady_3_0 <= _GEN_2403;
      end else begin
        isOpReady_3_0 <= _GEN_2411;
      end
    end
    if (io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      isOpReady_3_1 <= _GEN_3428;
    end else if (io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      isOpReady_3_1 <= _GEN_3396;
    end else if (_T) begin // @[Issue.scala 120:31]
      if (io_dptReq_0_bits_phy_rs2 == 6'h21) begin // @[Issue.scala 127:58]
        isOpReady_3_1 <= _GEN_2423;
      end else begin
        isOpReady_3_1 <= _GEN_2431;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h0 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_0_0 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_0_0 <= _GEN_2484;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h1 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_0_1 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_0_1 <= _GEN_2488;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h2 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_0_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_0_2 <= _GEN_2492;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h3 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_0_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_0_3 <= _GEN_2496;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h1 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_1_1 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_1_1 <= _GEN_2489;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h2 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_1_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_1_2 <= _GEN_2493;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h3 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_1_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_1_3 <= _GEN_2497;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h2 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_2_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_2_2 <= _GEN_2494;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h3 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_2_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_2_3 <= _GEN_2498;
      end
    end
    if (_T) begin // @[Issue.scala 170:31]
      if (2'h3 == entrySel_0) begin // @[Issue.scala 172:44]
        ageMatrixW_3_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        ageMatrixW_3_3 <= _GEN_2499;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_121) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:276 assert(\n"); // @[Issue.scala 276:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_121 & ~reset) begin
          $fatal; // @[Issue.scala 276:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_239) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:281 assert(\n"); // @[Issue.scala 281:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_239 & _T_123) begin
          $fatal; // @[Issue.scala 281:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_357) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:276 assert(\n"); // @[Issue.scala 276:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_357 & ~reset) begin
          $fatal; // @[Issue.scala 276:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_475) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:281 assert(\n"); // @[Issue.scala 281:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_475 & _T_123) begin
          $fatal; // @[Issue.scala 281:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_593) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:412 assert(\n"); // @[Issue.scala 412:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_593 & _T_123) begin
          $fatal; // @[Issue.scala 412:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_711) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:417 assert(\n"); // @[Issue.scala 417:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_711 & _T_123) begin
          $fatal; // @[Issue.scala 417:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_829) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:422 assert(\n"); // @[Issue.scala 422:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_829 & _T_123) begin
          $fatal; // @[Issue.scala 422:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_947) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:412 assert(\n"); // @[Issue.scala 412:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_947 & _T_123) begin
          $fatal; // @[Issue.scala 412:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_1065) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:417 assert(\n"); // @[Issue.scala 417:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1065 & _T_123) begin
          $fatal; // @[Issue.scala 417:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_1183) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:422 assert(\n"); // @[Issue.scala 422:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1183 & _T_123) begin
          $fatal; // @[Issue.scala 422:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_1438) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:627 assert(\n"); // @[Issue.scala 627:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1438 & _T_123) begin
          $fatal; // @[Issue.scala 627:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1444 & _T_123 & _maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_33 & (_T_1444 & _T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_426 & _entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_0 & (_T_1444 & _T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_426 & _maskCondAluIss_0_0_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_30 & (_T_1444 & _T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1487 & _T_123 & _maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_33 & (_T_1487 & _T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_429 & _entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_1 & (_T_1487 & _T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_429 & _maskCondAluIss_0_1_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_30 & (_T_1487 & _T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1530 & _T_123 & _maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_33 & (_T_1530 & _T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_432 & _entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_2 & (_T_1530 & _T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_432 & _maskCondAluIss_0_2_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_30 & (_T_1530 & _T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1573 & _T_123 & _maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_33 & (_T_1573 & _T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_435 & _io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_3 & (_T_1573 & _T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_435 & _maskCondAluIss_0_3_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_30 & (_T_1573 & _T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_1689) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:692 assert(\n"); // @[Issue.scala 692:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1689 & _T_123) begin
          $fatal; // @[Issue.scala 692:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1695 & _T_123 & _maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_33 & (_T_1695 & _T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_438 & _entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_0 & (_T_1695 & _T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_438 & _maskCondMulIss_0_0_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondMulIss_0_0_T_12 & (_T_1695 & _T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1720 & _T_123 & _maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_33 & (_T_1720 & _T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_441 & _entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_1 & (_T_1720 & _T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_441 & _maskCondMulIss_0_1_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondMulIss_0_1_T_12 & (_T_1720 & _T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1745 & _T_123 & _maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_33 & (_T_1745 & _T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_444 & _entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_2 & (_T_1745 & _T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_444 & _maskCondMulIss_0_2_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondMulIss_0_2_T_12 & (_T_1745 & _T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1770 & _T_123 & _maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_33 & (_T_1770 & _T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_447 & _io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_3 & (_T_1770 & _T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_447 & _maskCondMulIss_0_3_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondMulIss_0_3_T_12 & (_T_1770 & _T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_1868) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:757 assert(\n"); // @[Issue.scala 757:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1868 & _T_123) begin
          $fatal; // @[Issue.scala 757:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1874 & _T_123 & _maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_33 & (_T_1874 & _T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_450 & _entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_0 & (_T_1874 & _T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_450 & _maskCondBruIss_0_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondBruIss_0_T_7 & (_T_1874 & _T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1894 & _T_123 & _maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_33 & (_T_1894 & _T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_453 & _entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_1 & (_T_1894 & _T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_453 & _maskCondBruIss_1_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondBruIss_1_T_7 & (_T_1894 & _T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1914 & _T_123 & _maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_33 & (_T_1914 & _T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_456 & _entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_2 & (_T_1914 & _T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_456 & _maskCondBruIss_2_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondBruIss_2_T_7 & (_T_1914 & _T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1934 & _T_123 & _maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_33 & (_T_1934 & _T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_459 & _io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_3 & (_T_1934 & _T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_459 & _maskCondBruIss_3_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondBruIss_3_T_7 & (_T_1934 & _T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_2027) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:823 assert(\n"); // @[Issue.scala 823:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_2027 & _T_123) begin
          $fatal; // @[Issue.scala 823:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2033 & _T_123 & _maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_33 & (_T_2033 & _T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_462 & _entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_0 & (_T_2033 & _T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_462 & _maskCondCsrIss_0_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondCsrIss_0_T_5 & (_T_2033 & _T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2051 & _T_123 & _maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_33 & (_T_2051 & _T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_465 & _entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_1 & (_T_2051 & _T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_465 & _maskCondCsrIss_1_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondCsrIss_1_T_5 & (_T_2051 & _T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2069 & _T_123 & _maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_33 & (_T_2069 & _T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_468 & _entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_2 & (_T_2069 & _T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_468 & _maskCondCsrIss_2_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondCsrIss_2_T_5 & (_T_2069 & _T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2087 & _T_123 & _maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_33 & (_T_2087 & _T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_471 & _io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_3 & (_T_2087 & _T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_471 & _maskCondCsrIss_3_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondCsrIss_3_T_5 & (_T_2087 & _T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_123 & ~_T_2178) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:886 assert(\n"); // @[Issue.scala 886:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_2178 & _T_123) begin
          $fatal; // @[Issue.scala 886:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2184 & _T_123 & _maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_0_T_33 & (_T_2184 & _T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_474 & _entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_0 & (_T_2184 & _T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_474 & _maskCondLsuIss_0_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondLsuIss_0_T_41 & (_T_2184 & _T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2238 & _T_123 & _maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_1_T_33 & (_T_2238 & _T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_477 & _entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_1 & (_T_2238 & _T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_477 & _maskCondLsuIss_1_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondLsuIss_1_T_41 & (_T_2238 & _T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2292 & _T_123 & _maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_2_T_33 & (_T_2292 & _T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_480 & _entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_2 & (_T_2292 & _T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_480 & _maskCondLsuIss_2_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondLsuIss_2_T_41 & (_T_2292 & _T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2346 & _T_123 & _maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondAluIss_0_3_T_33 & (_T_2346 & _T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_483 & _io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~bufValid_3 & (_T_2346 & _T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_483 & _maskCondLsuIss_3_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_maskCondLsuIss_3_T_41 & (_T_2346 & _T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  bufValid_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  bufValid_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  bufValid_2 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  bufValid_3 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  bufInfo_0_alu_isa_lui = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  bufInfo_0_alu_isa_auipc = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  bufInfo_0_alu_isa_addi = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  bufInfo_0_alu_isa_addiw = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  bufInfo_0_alu_isa_slti = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sltiu = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  bufInfo_0_alu_isa_xori = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  bufInfo_0_alu_isa_ori = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  bufInfo_0_alu_isa_andi = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  bufInfo_0_alu_isa_slli = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  bufInfo_0_alu_isa_slliw = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  bufInfo_0_alu_isa_srli = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  bufInfo_0_alu_isa_srliw = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  bufInfo_0_alu_isa_srai = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sraiw = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  bufInfo_0_alu_isa_add = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  bufInfo_0_alu_isa_addw = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sub = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  bufInfo_0_alu_isa_subw = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sll = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sllw = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  bufInfo_0_alu_isa_slt = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sltu = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  bufInfo_0_alu_isa_xor = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  bufInfo_0_alu_isa_srl = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  bufInfo_0_alu_isa_srlw = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sra = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  bufInfo_0_alu_isa_sraw = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  bufInfo_0_alu_isa_or = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  bufInfo_0_alu_isa_and = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  bufInfo_0_alu_isa_wfi = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  bufInfo_0_bru_isa_jal = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  bufInfo_0_bru_isa_jalr = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  bufInfo_0_bru_isa_beq = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  bufInfo_0_bru_isa_bne = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  bufInfo_0_bru_isa_blt = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  bufInfo_0_bru_isa_bge = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  bufInfo_0_bru_isa_bltu = _RAND_41[0:0];
  _RAND_42 = {1{`RANDOM}};
  bufInfo_0_bru_isa_bgeu = _RAND_42[0:0];
  _RAND_43 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lb = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lh = _RAND_44[0:0];
  _RAND_45 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lw = _RAND_45[0:0];
  _RAND_46 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_ld = _RAND_46[0:0];
  _RAND_47 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lbu = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lhu = _RAND_48[0:0];
  _RAND_49 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lwu = _RAND_49[0:0];
  _RAND_50 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sb = _RAND_50[0:0];
  _RAND_51 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sh = _RAND_51[0:0];
  _RAND_52 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sw = _RAND_52[0:0];
  _RAND_53 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sd = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_fence = _RAND_54[0:0];
  _RAND_55 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_fence_i = _RAND_55[0:0];
  _RAND_56 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sfence_vma = _RAND_56[0:0];
  _RAND_57 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lr_w = _RAND_57[0:0];
  _RAND_58 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sc_w = _RAND_58[0:0];
  _RAND_59 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoswap_w = _RAND_59[0:0];
  _RAND_60 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoadd_w = _RAND_60[0:0];
  _RAND_61 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoxor_w = _RAND_61[0:0];
  _RAND_62 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoand_w = _RAND_62[0:0];
  _RAND_63 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoor_w = _RAND_63[0:0];
  _RAND_64 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomin_w = _RAND_64[0:0];
  _RAND_65 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomax_w = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amominu_w = _RAND_66[0:0];
  _RAND_67 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomaxu_w = _RAND_67[0:0];
  _RAND_68 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_lr_d = _RAND_68[0:0];
  _RAND_69 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_sc_d = _RAND_69[0:0];
  _RAND_70 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoswap_d = _RAND_70[0:0];
  _RAND_71 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoadd_d = _RAND_71[0:0];
  _RAND_72 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoxor_d = _RAND_72[0:0];
  _RAND_73 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoand_d = _RAND_73[0:0];
  _RAND_74 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amoor_d = _RAND_74[0:0];
  _RAND_75 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomin_d = _RAND_75[0:0];
  _RAND_76 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomax_d = _RAND_76[0:0];
  _RAND_77 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amominu_d = _RAND_77[0:0];
  _RAND_78 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_amomaxu_d = _RAND_78[0:0];
  _RAND_79 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_flw = _RAND_79[0:0];
  _RAND_80 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_fsw = _RAND_80[0:0];
  _RAND_81 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_fld = _RAND_81[0:0];
  _RAND_82 = {1{`RANDOM}};
  bufInfo_0_lsu_isa_fsd = _RAND_82[0:0];
  _RAND_83 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rw = _RAND_83[0:0];
  _RAND_84 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rs = _RAND_84[0:0];
  _RAND_85 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rc = _RAND_85[0:0];
  _RAND_86 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rwi = _RAND_86[0:0];
  _RAND_87 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rsi = _RAND_87[0:0];
  _RAND_88 = {1{`RANDOM}};
  bufInfo_0_csr_isa_rci = _RAND_88[0:0];
  _RAND_89 = {1{`RANDOM}};
  bufInfo_0_mul_isa_mul = _RAND_89[0:0];
  _RAND_90 = {1{`RANDOM}};
  bufInfo_0_mul_isa_mulh = _RAND_90[0:0];
  _RAND_91 = {1{`RANDOM}};
  bufInfo_0_mul_isa_mulhsu = _RAND_91[0:0];
  _RAND_92 = {1{`RANDOM}};
  bufInfo_0_mul_isa_mulhu = _RAND_92[0:0];
  _RAND_93 = {1{`RANDOM}};
  bufInfo_0_mul_isa_div = _RAND_93[0:0];
  _RAND_94 = {1{`RANDOM}};
  bufInfo_0_mul_isa_divu = _RAND_94[0:0];
  _RAND_95 = {1{`RANDOM}};
  bufInfo_0_mul_isa_rem = _RAND_95[0:0];
  _RAND_96 = {1{`RANDOM}};
  bufInfo_0_mul_isa_remu = _RAND_96[0:0];
  _RAND_97 = {1{`RANDOM}};
  bufInfo_0_mul_isa_mulw = _RAND_97[0:0];
  _RAND_98 = {1{`RANDOM}};
  bufInfo_0_mul_isa_divw = _RAND_98[0:0];
  _RAND_99 = {1{`RANDOM}};
  bufInfo_0_mul_isa_divuw = _RAND_99[0:0];
  _RAND_100 = {1{`RANDOM}};
  bufInfo_0_mul_isa_remw = _RAND_100[0:0];
  _RAND_101 = {1{`RANDOM}};
  bufInfo_0_mul_isa_remuw = _RAND_101[0:0];
  _RAND_102 = {1{`RANDOM}};
  bufInfo_0_phy_rs1 = _RAND_102[5:0];
  _RAND_103 = {1{`RANDOM}};
  bufInfo_0_phy_rs2 = _RAND_103[5:0];
  _RAND_104 = {1{`RANDOM}};
  bufInfo_0_phy_rs3 = _RAND_104[5:0];
  _RAND_105 = {1{`RANDOM}};
  bufInfo_1_alu_isa_lui = _RAND_105[0:0];
  _RAND_106 = {1{`RANDOM}};
  bufInfo_1_alu_isa_auipc = _RAND_106[0:0];
  _RAND_107 = {1{`RANDOM}};
  bufInfo_1_alu_isa_addi = _RAND_107[0:0];
  _RAND_108 = {1{`RANDOM}};
  bufInfo_1_alu_isa_addiw = _RAND_108[0:0];
  _RAND_109 = {1{`RANDOM}};
  bufInfo_1_alu_isa_slti = _RAND_109[0:0];
  _RAND_110 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sltiu = _RAND_110[0:0];
  _RAND_111 = {1{`RANDOM}};
  bufInfo_1_alu_isa_xori = _RAND_111[0:0];
  _RAND_112 = {1{`RANDOM}};
  bufInfo_1_alu_isa_ori = _RAND_112[0:0];
  _RAND_113 = {1{`RANDOM}};
  bufInfo_1_alu_isa_andi = _RAND_113[0:0];
  _RAND_114 = {1{`RANDOM}};
  bufInfo_1_alu_isa_slli = _RAND_114[0:0];
  _RAND_115 = {1{`RANDOM}};
  bufInfo_1_alu_isa_slliw = _RAND_115[0:0];
  _RAND_116 = {1{`RANDOM}};
  bufInfo_1_alu_isa_srli = _RAND_116[0:0];
  _RAND_117 = {1{`RANDOM}};
  bufInfo_1_alu_isa_srliw = _RAND_117[0:0];
  _RAND_118 = {1{`RANDOM}};
  bufInfo_1_alu_isa_srai = _RAND_118[0:0];
  _RAND_119 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sraiw = _RAND_119[0:0];
  _RAND_120 = {1{`RANDOM}};
  bufInfo_1_alu_isa_add = _RAND_120[0:0];
  _RAND_121 = {1{`RANDOM}};
  bufInfo_1_alu_isa_addw = _RAND_121[0:0];
  _RAND_122 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sub = _RAND_122[0:0];
  _RAND_123 = {1{`RANDOM}};
  bufInfo_1_alu_isa_subw = _RAND_123[0:0];
  _RAND_124 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sll = _RAND_124[0:0];
  _RAND_125 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sllw = _RAND_125[0:0];
  _RAND_126 = {1{`RANDOM}};
  bufInfo_1_alu_isa_slt = _RAND_126[0:0];
  _RAND_127 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sltu = _RAND_127[0:0];
  _RAND_128 = {1{`RANDOM}};
  bufInfo_1_alu_isa_xor = _RAND_128[0:0];
  _RAND_129 = {1{`RANDOM}};
  bufInfo_1_alu_isa_srl = _RAND_129[0:0];
  _RAND_130 = {1{`RANDOM}};
  bufInfo_1_alu_isa_srlw = _RAND_130[0:0];
  _RAND_131 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sra = _RAND_131[0:0];
  _RAND_132 = {1{`RANDOM}};
  bufInfo_1_alu_isa_sraw = _RAND_132[0:0];
  _RAND_133 = {1{`RANDOM}};
  bufInfo_1_alu_isa_or = _RAND_133[0:0];
  _RAND_134 = {1{`RANDOM}};
  bufInfo_1_alu_isa_and = _RAND_134[0:0];
  _RAND_135 = {1{`RANDOM}};
  bufInfo_1_alu_isa_wfi = _RAND_135[0:0];
  _RAND_136 = {1{`RANDOM}};
  bufInfo_1_bru_isa_jal = _RAND_136[0:0];
  _RAND_137 = {1{`RANDOM}};
  bufInfo_1_bru_isa_jalr = _RAND_137[0:0];
  _RAND_138 = {1{`RANDOM}};
  bufInfo_1_bru_isa_beq = _RAND_138[0:0];
  _RAND_139 = {1{`RANDOM}};
  bufInfo_1_bru_isa_bne = _RAND_139[0:0];
  _RAND_140 = {1{`RANDOM}};
  bufInfo_1_bru_isa_blt = _RAND_140[0:0];
  _RAND_141 = {1{`RANDOM}};
  bufInfo_1_bru_isa_bge = _RAND_141[0:0];
  _RAND_142 = {1{`RANDOM}};
  bufInfo_1_bru_isa_bltu = _RAND_142[0:0];
  _RAND_143 = {1{`RANDOM}};
  bufInfo_1_bru_isa_bgeu = _RAND_143[0:0];
  _RAND_144 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lb = _RAND_144[0:0];
  _RAND_145 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lh = _RAND_145[0:0];
  _RAND_146 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lw = _RAND_146[0:0];
  _RAND_147 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_ld = _RAND_147[0:0];
  _RAND_148 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lbu = _RAND_148[0:0];
  _RAND_149 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lhu = _RAND_149[0:0];
  _RAND_150 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lwu = _RAND_150[0:0];
  _RAND_151 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sb = _RAND_151[0:0];
  _RAND_152 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sh = _RAND_152[0:0];
  _RAND_153 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sw = _RAND_153[0:0];
  _RAND_154 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sd = _RAND_154[0:0];
  _RAND_155 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_fence = _RAND_155[0:0];
  _RAND_156 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_fence_i = _RAND_156[0:0];
  _RAND_157 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sfence_vma = _RAND_157[0:0];
  _RAND_158 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lr_w = _RAND_158[0:0];
  _RAND_159 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sc_w = _RAND_159[0:0];
  _RAND_160 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoswap_w = _RAND_160[0:0];
  _RAND_161 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoadd_w = _RAND_161[0:0];
  _RAND_162 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoxor_w = _RAND_162[0:0];
  _RAND_163 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoand_w = _RAND_163[0:0];
  _RAND_164 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoor_w = _RAND_164[0:0];
  _RAND_165 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomin_w = _RAND_165[0:0];
  _RAND_166 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomax_w = _RAND_166[0:0];
  _RAND_167 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amominu_w = _RAND_167[0:0];
  _RAND_168 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomaxu_w = _RAND_168[0:0];
  _RAND_169 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_lr_d = _RAND_169[0:0];
  _RAND_170 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_sc_d = _RAND_170[0:0];
  _RAND_171 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoswap_d = _RAND_171[0:0];
  _RAND_172 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoadd_d = _RAND_172[0:0];
  _RAND_173 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoxor_d = _RAND_173[0:0];
  _RAND_174 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoand_d = _RAND_174[0:0];
  _RAND_175 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amoor_d = _RAND_175[0:0];
  _RAND_176 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomin_d = _RAND_176[0:0];
  _RAND_177 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomax_d = _RAND_177[0:0];
  _RAND_178 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amominu_d = _RAND_178[0:0];
  _RAND_179 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_amomaxu_d = _RAND_179[0:0];
  _RAND_180 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_flw = _RAND_180[0:0];
  _RAND_181 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_fsw = _RAND_181[0:0];
  _RAND_182 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_fld = _RAND_182[0:0];
  _RAND_183 = {1{`RANDOM}};
  bufInfo_1_lsu_isa_fsd = _RAND_183[0:0];
  _RAND_184 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rw = _RAND_184[0:0];
  _RAND_185 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rs = _RAND_185[0:0];
  _RAND_186 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rc = _RAND_186[0:0];
  _RAND_187 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rwi = _RAND_187[0:0];
  _RAND_188 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rsi = _RAND_188[0:0];
  _RAND_189 = {1{`RANDOM}};
  bufInfo_1_csr_isa_rci = _RAND_189[0:0];
  _RAND_190 = {1{`RANDOM}};
  bufInfo_1_mul_isa_mul = _RAND_190[0:0];
  _RAND_191 = {1{`RANDOM}};
  bufInfo_1_mul_isa_mulh = _RAND_191[0:0];
  _RAND_192 = {1{`RANDOM}};
  bufInfo_1_mul_isa_mulhsu = _RAND_192[0:0];
  _RAND_193 = {1{`RANDOM}};
  bufInfo_1_mul_isa_mulhu = _RAND_193[0:0];
  _RAND_194 = {1{`RANDOM}};
  bufInfo_1_mul_isa_div = _RAND_194[0:0];
  _RAND_195 = {1{`RANDOM}};
  bufInfo_1_mul_isa_divu = _RAND_195[0:0];
  _RAND_196 = {1{`RANDOM}};
  bufInfo_1_mul_isa_rem = _RAND_196[0:0];
  _RAND_197 = {1{`RANDOM}};
  bufInfo_1_mul_isa_remu = _RAND_197[0:0];
  _RAND_198 = {1{`RANDOM}};
  bufInfo_1_mul_isa_mulw = _RAND_198[0:0];
  _RAND_199 = {1{`RANDOM}};
  bufInfo_1_mul_isa_divw = _RAND_199[0:0];
  _RAND_200 = {1{`RANDOM}};
  bufInfo_1_mul_isa_divuw = _RAND_200[0:0];
  _RAND_201 = {1{`RANDOM}};
  bufInfo_1_mul_isa_remw = _RAND_201[0:0];
  _RAND_202 = {1{`RANDOM}};
  bufInfo_1_mul_isa_remuw = _RAND_202[0:0];
  _RAND_203 = {1{`RANDOM}};
  bufInfo_1_phy_rs1 = _RAND_203[5:0];
  _RAND_204 = {1{`RANDOM}};
  bufInfo_1_phy_rs2 = _RAND_204[5:0];
  _RAND_205 = {1{`RANDOM}};
  bufInfo_1_phy_rs3 = _RAND_205[5:0];
  _RAND_206 = {1{`RANDOM}};
  bufInfo_2_alu_isa_lui = _RAND_206[0:0];
  _RAND_207 = {1{`RANDOM}};
  bufInfo_2_alu_isa_auipc = _RAND_207[0:0];
  _RAND_208 = {1{`RANDOM}};
  bufInfo_2_alu_isa_addi = _RAND_208[0:0];
  _RAND_209 = {1{`RANDOM}};
  bufInfo_2_alu_isa_addiw = _RAND_209[0:0];
  _RAND_210 = {1{`RANDOM}};
  bufInfo_2_alu_isa_slti = _RAND_210[0:0];
  _RAND_211 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sltiu = _RAND_211[0:0];
  _RAND_212 = {1{`RANDOM}};
  bufInfo_2_alu_isa_xori = _RAND_212[0:0];
  _RAND_213 = {1{`RANDOM}};
  bufInfo_2_alu_isa_ori = _RAND_213[0:0];
  _RAND_214 = {1{`RANDOM}};
  bufInfo_2_alu_isa_andi = _RAND_214[0:0];
  _RAND_215 = {1{`RANDOM}};
  bufInfo_2_alu_isa_slli = _RAND_215[0:0];
  _RAND_216 = {1{`RANDOM}};
  bufInfo_2_alu_isa_slliw = _RAND_216[0:0];
  _RAND_217 = {1{`RANDOM}};
  bufInfo_2_alu_isa_srli = _RAND_217[0:0];
  _RAND_218 = {1{`RANDOM}};
  bufInfo_2_alu_isa_srliw = _RAND_218[0:0];
  _RAND_219 = {1{`RANDOM}};
  bufInfo_2_alu_isa_srai = _RAND_219[0:0];
  _RAND_220 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sraiw = _RAND_220[0:0];
  _RAND_221 = {1{`RANDOM}};
  bufInfo_2_alu_isa_add = _RAND_221[0:0];
  _RAND_222 = {1{`RANDOM}};
  bufInfo_2_alu_isa_addw = _RAND_222[0:0];
  _RAND_223 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sub = _RAND_223[0:0];
  _RAND_224 = {1{`RANDOM}};
  bufInfo_2_alu_isa_subw = _RAND_224[0:0];
  _RAND_225 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sll = _RAND_225[0:0];
  _RAND_226 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sllw = _RAND_226[0:0];
  _RAND_227 = {1{`RANDOM}};
  bufInfo_2_alu_isa_slt = _RAND_227[0:0];
  _RAND_228 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sltu = _RAND_228[0:0];
  _RAND_229 = {1{`RANDOM}};
  bufInfo_2_alu_isa_xor = _RAND_229[0:0];
  _RAND_230 = {1{`RANDOM}};
  bufInfo_2_alu_isa_srl = _RAND_230[0:0];
  _RAND_231 = {1{`RANDOM}};
  bufInfo_2_alu_isa_srlw = _RAND_231[0:0];
  _RAND_232 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sra = _RAND_232[0:0];
  _RAND_233 = {1{`RANDOM}};
  bufInfo_2_alu_isa_sraw = _RAND_233[0:0];
  _RAND_234 = {1{`RANDOM}};
  bufInfo_2_alu_isa_or = _RAND_234[0:0];
  _RAND_235 = {1{`RANDOM}};
  bufInfo_2_alu_isa_and = _RAND_235[0:0];
  _RAND_236 = {1{`RANDOM}};
  bufInfo_2_alu_isa_wfi = _RAND_236[0:0];
  _RAND_237 = {1{`RANDOM}};
  bufInfo_2_bru_isa_jal = _RAND_237[0:0];
  _RAND_238 = {1{`RANDOM}};
  bufInfo_2_bru_isa_jalr = _RAND_238[0:0];
  _RAND_239 = {1{`RANDOM}};
  bufInfo_2_bru_isa_beq = _RAND_239[0:0];
  _RAND_240 = {1{`RANDOM}};
  bufInfo_2_bru_isa_bne = _RAND_240[0:0];
  _RAND_241 = {1{`RANDOM}};
  bufInfo_2_bru_isa_blt = _RAND_241[0:0];
  _RAND_242 = {1{`RANDOM}};
  bufInfo_2_bru_isa_bge = _RAND_242[0:0];
  _RAND_243 = {1{`RANDOM}};
  bufInfo_2_bru_isa_bltu = _RAND_243[0:0];
  _RAND_244 = {1{`RANDOM}};
  bufInfo_2_bru_isa_bgeu = _RAND_244[0:0];
  _RAND_245 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lb = _RAND_245[0:0];
  _RAND_246 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lh = _RAND_246[0:0];
  _RAND_247 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lw = _RAND_247[0:0];
  _RAND_248 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_ld = _RAND_248[0:0];
  _RAND_249 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lbu = _RAND_249[0:0];
  _RAND_250 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lhu = _RAND_250[0:0];
  _RAND_251 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lwu = _RAND_251[0:0];
  _RAND_252 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sb = _RAND_252[0:0];
  _RAND_253 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sh = _RAND_253[0:0];
  _RAND_254 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sw = _RAND_254[0:0];
  _RAND_255 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sd = _RAND_255[0:0];
  _RAND_256 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_fence = _RAND_256[0:0];
  _RAND_257 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_fence_i = _RAND_257[0:0];
  _RAND_258 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sfence_vma = _RAND_258[0:0];
  _RAND_259 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lr_w = _RAND_259[0:0];
  _RAND_260 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sc_w = _RAND_260[0:0];
  _RAND_261 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoswap_w = _RAND_261[0:0];
  _RAND_262 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoadd_w = _RAND_262[0:0];
  _RAND_263 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoxor_w = _RAND_263[0:0];
  _RAND_264 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoand_w = _RAND_264[0:0];
  _RAND_265 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoor_w = _RAND_265[0:0];
  _RAND_266 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomin_w = _RAND_266[0:0];
  _RAND_267 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomax_w = _RAND_267[0:0];
  _RAND_268 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amominu_w = _RAND_268[0:0];
  _RAND_269 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomaxu_w = _RAND_269[0:0];
  _RAND_270 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_lr_d = _RAND_270[0:0];
  _RAND_271 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_sc_d = _RAND_271[0:0];
  _RAND_272 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoswap_d = _RAND_272[0:0];
  _RAND_273 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoadd_d = _RAND_273[0:0];
  _RAND_274 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoxor_d = _RAND_274[0:0];
  _RAND_275 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoand_d = _RAND_275[0:0];
  _RAND_276 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amoor_d = _RAND_276[0:0];
  _RAND_277 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomin_d = _RAND_277[0:0];
  _RAND_278 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomax_d = _RAND_278[0:0];
  _RAND_279 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amominu_d = _RAND_279[0:0];
  _RAND_280 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_amomaxu_d = _RAND_280[0:0];
  _RAND_281 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_flw = _RAND_281[0:0];
  _RAND_282 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_fsw = _RAND_282[0:0];
  _RAND_283 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_fld = _RAND_283[0:0];
  _RAND_284 = {1{`RANDOM}};
  bufInfo_2_lsu_isa_fsd = _RAND_284[0:0];
  _RAND_285 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rw = _RAND_285[0:0];
  _RAND_286 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rs = _RAND_286[0:0];
  _RAND_287 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rc = _RAND_287[0:0];
  _RAND_288 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rwi = _RAND_288[0:0];
  _RAND_289 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rsi = _RAND_289[0:0];
  _RAND_290 = {1{`RANDOM}};
  bufInfo_2_csr_isa_rci = _RAND_290[0:0];
  _RAND_291 = {1{`RANDOM}};
  bufInfo_2_mul_isa_mul = _RAND_291[0:0];
  _RAND_292 = {1{`RANDOM}};
  bufInfo_2_mul_isa_mulh = _RAND_292[0:0];
  _RAND_293 = {1{`RANDOM}};
  bufInfo_2_mul_isa_mulhsu = _RAND_293[0:0];
  _RAND_294 = {1{`RANDOM}};
  bufInfo_2_mul_isa_mulhu = _RAND_294[0:0];
  _RAND_295 = {1{`RANDOM}};
  bufInfo_2_mul_isa_div = _RAND_295[0:0];
  _RAND_296 = {1{`RANDOM}};
  bufInfo_2_mul_isa_divu = _RAND_296[0:0];
  _RAND_297 = {1{`RANDOM}};
  bufInfo_2_mul_isa_rem = _RAND_297[0:0];
  _RAND_298 = {1{`RANDOM}};
  bufInfo_2_mul_isa_remu = _RAND_298[0:0];
  _RAND_299 = {1{`RANDOM}};
  bufInfo_2_mul_isa_mulw = _RAND_299[0:0];
  _RAND_300 = {1{`RANDOM}};
  bufInfo_2_mul_isa_divw = _RAND_300[0:0];
  _RAND_301 = {1{`RANDOM}};
  bufInfo_2_mul_isa_divuw = _RAND_301[0:0];
  _RAND_302 = {1{`RANDOM}};
  bufInfo_2_mul_isa_remw = _RAND_302[0:0];
  _RAND_303 = {1{`RANDOM}};
  bufInfo_2_mul_isa_remuw = _RAND_303[0:0];
  _RAND_304 = {1{`RANDOM}};
  bufInfo_2_phy_rs1 = _RAND_304[5:0];
  _RAND_305 = {1{`RANDOM}};
  bufInfo_2_phy_rs2 = _RAND_305[5:0];
  _RAND_306 = {1{`RANDOM}};
  bufInfo_2_phy_rs3 = _RAND_306[5:0];
  _RAND_307 = {1{`RANDOM}};
  bufInfo_3_alu_isa_lui = _RAND_307[0:0];
  _RAND_308 = {1{`RANDOM}};
  bufInfo_3_alu_isa_auipc = _RAND_308[0:0];
  _RAND_309 = {1{`RANDOM}};
  bufInfo_3_alu_isa_addi = _RAND_309[0:0];
  _RAND_310 = {1{`RANDOM}};
  bufInfo_3_alu_isa_addiw = _RAND_310[0:0];
  _RAND_311 = {1{`RANDOM}};
  bufInfo_3_alu_isa_slti = _RAND_311[0:0];
  _RAND_312 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sltiu = _RAND_312[0:0];
  _RAND_313 = {1{`RANDOM}};
  bufInfo_3_alu_isa_xori = _RAND_313[0:0];
  _RAND_314 = {1{`RANDOM}};
  bufInfo_3_alu_isa_ori = _RAND_314[0:0];
  _RAND_315 = {1{`RANDOM}};
  bufInfo_3_alu_isa_andi = _RAND_315[0:0];
  _RAND_316 = {1{`RANDOM}};
  bufInfo_3_alu_isa_slli = _RAND_316[0:0];
  _RAND_317 = {1{`RANDOM}};
  bufInfo_3_alu_isa_slliw = _RAND_317[0:0];
  _RAND_318 = {1{`RANDOM}};
  bufInfo_3_alu_isa_srli = _RAND_318[0:0];
  _RAND_319 = {1{`RANDOM}};
  bufInfo_3_alu_isa_srliw = _RAND_319[0:0];
  _RAND_320 = {1{`RANDOM}};
  bufInfo_3_alu_isa_srai = _RAND_320[0:0];
  _RAND_321 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sraiw = _RAND_321[0:0];
  _RAND_322 = {1{`RANDOM}};
  bufInfo_3_alu_isa_add = _RAND_322[0:0];
  _RAND_323 = {1{`RANDOM}};
  bufInfo_3_alu_isa_addw = _RAND_323[0:0];
  _RAND_324 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sub = _RAND_324[0:0];
  _RAND_325 = {1{`RANDOM}};
  bufInfo_3_alu_isa_subw = _RAND_325[0:0];
  _RAND_326 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sll = _RAND_326[0:0];
  _RAND_327 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sllw = _RAND_327[0:0];
  _RAND_328 = {1{`RANDOM}};
  bufInfo_3_alu_isa_slt = _RAND_328[0:0];
  _RAND_329 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sltu = _RAND_329[0:0];
  _RAND_330 = {1{`RANDOM}};
  bufInfo_3_alu_isa_xor = _RAND_330[0:0];
  _RAND_331 = {1{`RANDOM}};
  bufInfo_3_alu_isa_srl = _RAND_331[0:0];
  _RAND_332 = {1{`RANDOM}};
  bufInfo_3_alu_isa_srlw = _RAND_332[0:0];
  _RAND_333 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sra = _RAND_333[0:0];
  _RAND_334 = {1{`RANDOM}};
  bufInfo_3_alu_isa_sraw = _RAND_334[0:0];
  _RAND_335 = {1{`RANDOM}};
  bufInfo_3_alu_isa_or = _RAND_335[0:0];
  _RAND_336 = {1{`RANDOM}};
  bufInfo_3_alu_isa_and = _RAND_336[0:0];
  _RAND_337 = {1{`RANDOM}};
  bufInfo_3_alu_isa_wfi = _RAND_337[0:0];
  _RAND_338 = {1{`RANDOM}};
  bufInfo_3_bru_isa_jal = _RAND_338[0:0];
  _RAND_339 = {1{`RANDOM}};
  bufInfo_3_bru_isa_jalr = _RAND_339[0:0];
  _RAND_340 = {1{`RANDOM}};
  bufInfo_3_bru_isa_beq = _RAND_340[0:0];
  _RAND_341 = {1{`RANDOM}};
  bufInfo_3_bru_isa_bne = _RAND_341[0:0];
  _RAND_342 = {1{`RANDOM}};
  bufInfo_3_bru_isa_blt = _RAND_342[0:0];
  _RAND_343 = {1{`RANDOM}};
  bufInfo_3_bru_isa_bge = _RAND_343[0:0];
  _RAND_344 = {1{`RANDOM}};
  bufInfo_3_bru_isa_bltu = _RAND_344[0:0];
  _RAND_345 = {1{`RANDOM}};
  bufInfo_3_bru_isa_bgeu = _RAND_345[0:0];
  _RAND_346 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lb = _RAND_346[0:0];
  _RAND_347 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lh = _RAND_347[0:0];
  _RAND_348 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lw = _RAND_348[0:0];
  _RAND_349 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_ld = _RAND_349[0:0];
  _RAND_350 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lbu = _RAND_350[0:0];
  _RAND_351 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lhu = _RAND_351[0:0];
  _RAND_352 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lwu = _RAND_352[0:0];
  _RAND_353 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sb = _RAND_353[0:0];
  _RAND_354 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sh = _RAND_354[0:0];
  _RAND_355 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sw = _RAND_355[0:0];
  _RAND_356 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sd = _RAND_356[0:0];
  _RAND_357 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_fence = _RAND_357[0:0];
  _RAND_358 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_fence_i = _RAND_358[0:0];
  _RAND_359 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sfence_vma = _RAND_359[0:0];
  _RAND_360 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lr_w = _RAND_360[0:0];
  _RAND_361 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sc_w = _RAND_361[0:0];
  _RAND_362 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoswap_w = _RAND_362[0:0];
  _RAND_363 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoadd_w = _RAND_363[0:0];
  _RAND_364 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoxor_w = _RAND_364[0:0];
  _RAND_365 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoand_w = _RAND_365[0:0];
  _RAND_366 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoor_w = _RAND_366[0:0];
  _RAND_367 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomin_w = _RAND_367[0:0];
  _RAND_368 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomax_w = _RAND_368[0:0];
  _RAND_369 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amominu_w = _RAND_369[0:0];
  _RAND_370 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomaxu_w = _RAND_370[0:0];
  _RAND_371 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_lr_d = _RAND_371[0:0];
  _RAND_372 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_sc_d = _RAND_372[0:0];
  _RAND_373 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoswap_d = _RAND_373[0:0];
  _RAND_374 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoadd_d = _RAND_374[0:0];
  _RAND_375 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoxor_d = _RAND_375[0:0];
  _RAND_376 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoand_d = _RAND_376[0:0];
  _RAND_377 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amoor_d = _RAND_377[0:0];
  _RAND_378 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomin_d = _RAND_378[0:0];
  _RAND_379 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomax_d = _RAND_379[0:0];
  _RAND_380 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amominu_d = _RAND_380[0:0];
  _RAND_381 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_amomaxu_d = _RAND_381[0:0];
  _RAND_382 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_flw = _RAND_382[0:0];
  _RAND_383 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_fsw = _RAND_383[0:0];
  _RAND_384 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_fld = _RAND_384[0:0];
  _RAND_385 = {1{`RANDOM}};
  bufInfo_3_lsu_isa_fsd = _RAND_385[0:0];
  _RAND_386 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rw = _RAND_386[0:0];
  _RAND_387 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rs = _RAND_387[0:0];
  _RAND_388 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rc = _RAND_388[0:0];
  _RAND_389 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rwi = _RAND_389[0:0];
  _RAND_390 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rsi = _RAND_390[0:0];
  _RAND_391 = {1{`RANDOM}};
  bufInfo_3_csr_isa_rci = _RAND_391[0:0];
  _RAND_392 = {1{`RANDOM}};
  bufInfo_3_mul_isa_mul = _RAND_392[0:0];
  _RAND_393 = {1{`RANDOM}};
  bufInfo_3_mul_isa_mulh = _RAND_393[0:0];
  _RAND_394 = {1{`RANDOM}};
  bufInfo_3_mul_isa_mulhsu = _RAND_394[0:0];
  _RAND_395 = {1{`RANDOM}};
  bufInfo_3_mul_isa_mulhu = _RAND_395[0:0];
  _RAND_396 = {1{`RANDOM}};
  bufInfo_3_mul_isa_div = _RAND_396[0:0];
  _RAND_397 = {1{`RANDOM}};
  bufInfo_3_mul_isa_divu = _RAND_397[0:0];
  _RAND_398 = {1{`RANDOM}};
  bufInfo_3_mul_isa_rem = _RAND_398[0:0];
  _RAND_399 = {1{`RANDOM}};
  bufInfo_3_mul_isa_remu = _RAND_399[0:0];
  _RAND_400 = {1{`RANDOM}};
  bufInfo_3_mul_isa_mulw = _RAND_400[0:0];
  _RAND_401 = {1{`RANDOM}};
  bufInfo_3_mul_isa_divw = _RAND_401[0:0];
  _RAND_402 = {1{`RANDOM}};
  bufInfo_3_mul_isa_divuw = _RAND_402[0:0];
  _RAND_403 = {1{`RANDOM}};
  bufInfo_3_mul_isa_remw = _RAND_403[0:0];
  _RAND_404 = {1{`RANDOM}};
  bufInfo_3_mul_isa_remuw = _RAND_404[0:0];
  _RAND_405 = {1{`RANDOM}};
  bufInfo_3_phy_rs1 = _RAND_405[5:0];
  _RAND_406 = {1{`RANDOM}};
  bufInfo_3_phy_rs2 = _RAND_406[5:0];
  _RAND_407 = {1{`RANDOM}};
  bufInfo_3_phy_rs3 = _RAND_407[5:0];
  _RAND_408 = {1{`RANDOM}};
  isOpReady_0_0 = _RAND_408[0:0];
  _RAND_409 = {1{`RANDOM}};
  isOpReady_0_1 = _RAND_409[0:0];
  _RAND_410 = {1{`RANDOM}};
  isOpReady_1_0 = _RAND_410[0:0];
  _RAND_411 = {1{`RANDOM}};
  isOpReady_1_1 = _RAND_411[0:0];
  _RAND_412 = {1{`RANDOM}};
  isOpReady_2_0 = _RAND_412[0:0];
  _RAND_413 = {1{`RANDOM}};
  isOpReady_2_1 = _RAND_413[0:0];
  _RAND_414 = {1{`RANDOM}};
  isOpReady_3_0 = _RAND_414[0:0];
  _RAND_415 = {1{`RANDOM}};
  isOpReady_3_1 = _RAND_415[0:0];
  _RAND_416 = {1{`RANDOM}};
  ageMatrixW_0_0 = _RAND_416[0:0];
  _RAND_417 = {1{`RANDOM}};
  ageMatrixW_0_1 = _RAND_417[0:0];
  _RAND_418 = {1{`RANDOM}};
  ageMatrixW_0_2 = _RAND_418[0:0];
  _RAND_419 = {1{`RANDOM}};
  ageMatrixW_0_3 = _RAND_419[0:0];
  _RAND_420 = {1{`RANDOM}};
  ageMatrixW_1_1 = _RAND_420[0:0];
  _RAND_421 = {1{`RANDOM}};
  ageMatrixW_1_2 = _RAND_421[0:0];
  _RAND_422 = {1{`RANDOM}};
  ageMatrixW_1_3 = _RAND_422[0:0];
  _RAND_423 = {1{`RANDOM}};
  ageMatrixW_2_2 = _RAND_423[0:0];
  _RAND_424 = {1{`RANDOM}};
  ageMatrixW_2_3 = _RAND_424[0:0];
  _RAND_425 = {1{`RANDOM}};
  ageMatrixW_3_3 = _RAND_425[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_7(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign io_enq_ready = io_deq_ready | empty; // @[Decoupled.scala 305:16 325:{24,39}]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Alu(
  input   clock,
  input   reset,
  input   io_alu_iss_exe_valid,
  input   io_alu_exe_iwb_ready,
  input   io_flush
);
  wire  alu_exe_iwb_fifo_clock; // @[Alu.scala 38:32]
  wire  alu_exe_iwb_fifo_reset; // @[Alu.scala 38:32]
  wire  alu_exe_iwb_fifo_io_enq_ready; // @[Alu.scala 38:32]
  wire  alu_exe_iwb_fifo_io_enq_valid; // @[Alu.scala 38:32]
  wire  alu_exe_iwb_fifo_io_deq_ready; // @[Alu.scala 38:32]
  wire  alu_exe_iwb_fifo_io_deq_valid; // @[Alu.scala 38:32]
  Queue_7 alu_exe_iwb_fifo ( // @[Alu.scala 38:32]
    .clock(alu_exe_iwb_fifo_clock),
    .reset(alu_exe_iwb_fifo_reset),
    .io_enq_ready(alu_exe_iwb_fifo_io_enq_ready),
    .io_enq_valid(alu_exe_iwb_fifo_io_enq_valid),
    .io_deq_ready(alu_exe_iwb_fifo_io_deq_ready),
    .io_deq_valid(alu_exe_iwb_fifo_io_deq_valid)
  );
  assign alu_exe_iwb_fifo_clock = clock;
  assign alu_exe_iwb_fifo_reset = reset | io_flush; // @[Alu.scala 40:42]
  assign alu_exe_iwb_fifo_io_enq_valid = io_alu_iss_exe_valid; // @[Alu.scala 90:33]
  assign alu_exe_iwb_fifo_io_deq_ready = io_alu_exe_iwb_ready; // @[Alu.scala 39:18]
endmodule
module Queue_9(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_enq_bits_isPredictTaken,
  input   io_enq_bits_isFinalTaken,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_10(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [38:0] io_enq_bits_btbResp_target,
  input  [38:0] io_enq_bits_rasResp_target,
  input         io_enq_bits_isRas,
  input  [63:0] io_enq_bits_finalTarget,
  input         io_deq_ready,
  output        io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Bru(
  input         clock,
  input         reset,
  output        io_bru_iss_exe_ready,
  input         io_bru_iss_exe_valid,
  input         io_bru_iss_exe_bits_fun_jalr,
  input         io_bru_iss_exe_bits_fun_beq,
  input         io_bru_iss_exe_bits_fun_bne,
  input         io_bru_iss_exe_bits_fun_blt,
  input         io_bru_iss_exe_bits_fun_bge,
  input         io_bru_iss_exe_bits_fun_bltu,
  input         io_bru_iss_exe_bits_fun_bgeu,
  input  [63:0] io_bru_iss_exe_bits_param_imm,
  input  [63:0] io_bru_iss_exe_bits_param_dat_op1,
  input  [63:0] io_bru_iss_exe_bits_param_dat_op2,
  input         io_bru_exe_iwb_ready,
  output        io_bftq_ready,
  input         io_bftq_valid,
  input         io_bftq_bits_isPredictTaken,
  output        io_jftq_ready,
  input         io_jftq_valid,
  input  [38:0] io_jftq_bits_btbResp_target,
  input  [38:0] io_jftq_bits_rasResp_target,
  input         io_jftq_bits_isRas,
  input         io_bctq_ready,
  input         io_jctq_ready,
  input         io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  wire  bru_exe_iwb_fifo_clock; // @[Bru.scala 46:32]
  wire  bru_exe_iwb_fifo_reset; // @[Bru.scala 46:32]
  wire  bru_exe_iwb_fifo_io_enq_ready; // @[Bru.scala 46:32]
  wire  bru_exe_iwb_fifo_io_enq_valid; // @[Bru.scala 46:32]
  wire  bru_exe_iwb_fifo_io_deq_ready; // @[Bru.scala 46:32]
  wire  bru_exe_iwb_fifo_io_deq_valid; // @[Bru.scala 46:32]
  wire  bctq_clock; // @[Bru.scala 47:20]
  wire  bctq_reset; // @[Bru.scala 47:20]
  wire  bctq_io_enq_ready; // @[Bru.scala 47:20]
  wire  bctq_io_enq_valid; // @[Bru.scala 47:20]
  wire  bctq_io_enq_bits_isPredictTaken; // @[Bru.scala 47:20]
  wire  bctq_io_enq_bits_isFinalTaken; // @[Bru.scala 47:20]
  wire  bctq_io_deq_ready; // @[Bru.scala 47:20]
  wire  bctq_io_deq_valid; // @[Bru.scala 47:20]
  wire  jctq_clock; // @[Bru.scala 48:20]
  wire  jctq_reset; // @[Bru.scala 48:20]
  wire  jctq_io_enq_ready; // @[Bru.scala 48:20]
  wire  jctq_io_enq_valid; // @[Bru.scala 48:20]
  wire [38:0] jctq_io_enq_bits_btbResp_target; // @[Bru.scala 48:20]
  wire [38:0] jctq_io_enq_bits_rasResp_target; // @[Bru.scala 48:20]
  wire  jctq_io_enq_bits_isRas; // @[Bru.scala 48:20]
  wire [63:0] jctq_io_enq_bits_finalTarget; // @[Bru.scala 48:20]
  wire  jctq_io_deq_ready; // @[Bru.scala 48:20]
  wire  jctq_io_deq_valid; // @[Bru.scala 48:20]
  reg  misPredict_locker; // @[Bru.scala 50:34]
  wire  _is_branchTaken_T = io_bru_iss_exe_bits_param_dat_op1 == io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 62:42]
  wire  _is_branchTaken_T_1 = io_bru_iss_exe_bits_param_dat_op1 != io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 63:42]
  wire  _is_branchTaken_T_4 = $signed(io_bru_iss_exe_bits_param_dat_op1) < $signed(io_bru_iss_exe_bits_param_dat_op2); // @[Bru.scala 64:49]
  wire  _is_branchTaken_T_7 = $signed(io_bru_iss_exe_bits_param_dat_op1) >= $signed(io_bru_iss_exe_bits_param_dat_op2); // @[Bru.scala 65:49]
  wire  _is_branchTaken_T_8 = io_bru_iss_exe_bits_param_dat_op1 < io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 66:42]
  wire  _is_branchTaken_T_9 = io_bru_iss_exe_bits_param_dat_op1 >= io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 67:42]
  wire [63:0] _jctq_io_enq_bits_finalTarget_T_1 = io_bru_iss_exe_bits_param_dat_op1 + io_bru_iss_exe_bits_param_imm; // @[Bru.scala 79:40]
  wire  _T = bctq_io_enq_ready & bctq_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = bctq_io_enq_bits_isPredictTaken != bctq_io_enq_bits_isFinalTaken; // @[frontend.scala 245:37]
  wire  _T_3 = jctq_io_enq_ready & jctq_io_enq_valid; // @[Decoupled.scala 52:35]
  wire [63:0] _GEN_2 = {{25'd0}, jctq_io_enq_bits_rasResp_target}; // @[frontend.scala 250:48]
  wire [63:0] _GEN_3 = {{25'd0}, jctq_io_enq_bits_btbResp_target}; // @[frontend.scala 250:80]
  wire  _T_6 = jctq_io_enq_bits_isRas ? _GEN_2 != jctq_io_enq_bits_finalTarget : _GEN_3 != jctq_io_enq_bits_finalTarget; // @[frontend.scala 250:25]
  wire  _GEN_0 = _T & _T_1 | _T_3 & _T_6 | misPredict_locker; // @[Bru.scala 97:122 98:23 50:34]
  wire  _io_bftq_ready_T = io_bru_iss_exe_ready & io_bru_iss_exe_valid; // @[Decoupled.scala 52:35]
  wire  _io_bftq_ready_T_5 = io_bru_iss_exe_bits_fun_beq | io_bru_iss_exe_bits_fun_bne | io_bru_iss_exe_bits_fun_blt |
    io_bru_iss_exe_bits_fun_bge | io_bru_iss_exe_bits_fun_bltu | io_bru_iss_exe_bits_fun_bgeu; // @[riscv_isa.scala 93:48]
  wire  _io_bftq_ready_T_6 = _io_bftq_ready_T & _io_bftq_ready_T_5; // @[Bru.scala 112:40]
  wire  _io_jftq_ready_T_1 = _io_bftq_ready_T & io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 113:40]
  wire  _T_14 = ~reset; // @[Bru.scala 124:9]
  wire  _T_16 = io_jftq_ready & io_jftq_valid; // @[Decoupled.scala 52:35]
  wire  _T_34 = io_bftq_ready & io_bftq_valid; // @[Decoupled.scala 52:35]
  wire  _T_41 = bru_exe_iwb_fifo_io_enq_ready & bru_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  Queue_7 bru_exe_iwb_fifo ( // @[Bru.scala 46:32]
    .clock(bru_exe_iwb_fifo_clock),
    .reset(bru_exe_iwb_fifo_reset),
    .io_enq_ready(bru_exe_iwb_fifo_io_enq_ready),
    .io_enq_valid(bru_exe_iwb_fifo_io_enq_valid),
    .io_deq_ready(bru_exe_iwb_fifo_io_deq_ready),
    .io_deq_valid(bru_exe_iwb_fifo_io_deq_valid)
  );
  Queue_9 bctq ( // @[Bru.scala 47:20]
    .clock(bctq_clock),
    .reset(bctq_reset),
    .io_enq_ready(bctq_io_enq_ready),
    .io_enq_valid(bctq_io_enq_valid),
    .io_enq_bits_isPredictTaken(bctq_io_enq_bits_isPredictTaken),
    .io_enq_bits_isFinalTaken(bctq_io_enq_bits_isFinalTaken),
    .io_deq_ready(bctq_io_deq_ready),
    .io_deq_valid(bctq_io_deq_valid)
  );
  Queue_10 jctq ( // @[Bru.scala 48:20]
    .clock(jctq_clock),
    .reset(jctq_reset),
    .io_enq_ready(jctq_io_enq_ready),
    .io_enq_valid(jctq_io_enq_valid),
    .io_enq_bits_btbResp_target(jctq_io_enq_bits_btbResp_target),
    .io_enq_bits_rasResp_target(jctq_io_enq_bits_rasResp_target),
    .io_enq_bits_isRas(jctq_io_enq_bits_isRas),
    .io_enq_bits_finalTarget(jctq_io_enq_bits_finalTarget),
    .io_deq_ready(jctq_io_deq_ready),
    .io_deq_valid(jctq_io_deq_valid)
  );
  assign io_bru_iss_exe_ready = bru_exe_iwb_fifo_io_enq_ready & bctq_io_enq_ready & jctq_io_enq_ready & ~
    misPredict_locker; // @[Bru.scala 110:97]
  assign io_bftq_ready = _io_bftq_ready_T & _io_bftq_ready_T_5; // @[Bru.scala 112:40]
  assign io_jftq_ready = _io_bftq_ready_T & io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 113:40]
  assign bru_exe_iwb_fifo_clock = clock;
  assign bru_exe_iwb_fifo_reset = reset | io_flush; // @[Bru.scala 105:42]
  assign bru_exe_iwb_fifo_io_enq_valid = io_bru_iss_exe_ready & io_bru_iss_exe_valid; // @[Decoupled.scala 52:35]
  assign bru_exe_iwb_fifo_io_deq_ready = io_bru_exe_iwb_ready; // @[Bru.scala 101:18]
  assign bctq_clock = clock;
  assign bctq_reset = reset | io_flush; // @[Bru.scala 106:30]
  assign bctq_io_enq_valid = _io_bftq_ready_T & _io_bftq_ready_T_5; // @[Bru.scala 116:44]
  assign bctq_io_enq_bits_isPredictTaken = io_bftq_bits_isPredictTaken; // @[Bru.scala 70:63]
  assign bctq_io_enq_bits_isFinalTaken = io_bru_iss_exe_bits_fun_beq & _is_branchTaken_T | io_bru_iss_exe_bits_fun_bne
     & _is_branchTaken_T_1 | io_bru_iss_exe_bits_fun_blt & _is_branchTaken_T_4 | io_bru_iss_exe_bits_fun_bge &
    _is_branchTaken_T_7 | io_bru_iss_exe_bits_fun_bltu & _is_branchTaken_T_8 | io_bru_iss_exe_bits_fun_bgeu &
    _is_branchTaken_T_9; // @[Mux.scala 27:73]
  assign bctq_io_deq_ready = io_bctq_ready; // @[Bru.scala 102:11]
  assign jctq_clock = clock;
  assign jctq_reset = reset | io_flush; // @[Bru.scala 107:30]
  assign jctq_io_enq_valid = _io_bftq_ready_T & io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 117:44]
  assign jctq_io_enq_bits_btbResp_target = io_jftq_bits_btbResp_target; // @[Bru.scala 78:61]
  assign jctq_io_enq_bits_rasResp_target = io_jftq_bits_rasResp_target; // @[Bru.scala 78:61]
  assign jctq_io_enq_bits_isRas = io_jftq_bits_isRas; // @[Bru.scala 78:61]
  assign jctq_io_enq_bits_finalTarget = {_jctq_io_enq_bits_finalTarget_T_1[63:1], 1'h0}; // @[Bru.scala 79:52]
  assign jctq_io_deq_ready = io_jctq_ready; // @[Bru.scala 103:11]
  always @(posedge clock) begin
    if (reset) begin // @[Bru.scala 50:34]
      misPredict_locker <= 1'h0; // @[Bru.scala 50:34]
    end else if (io_flush) begin // @[Bru.scala 95:20]
      misPredict_locker <= 1'h0; // @[Bru.scala 96:23]
    end else begin
      misPredict_locker <= _GEN_0;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T_3 == _io_jftq_ready_T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:124 assert( jctq.io.enq.fire === (io.bru_iss_exe.fire & io.bru_iss_exe.bits.fun.jalr) )\n"
            ); // @[Bru.scala 124:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_3 == _io_jftq_ready_T_1) & ~reset) begin
          $fatal; // @[Bru.scala 124:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_14 & ~(_T_16 == _T_3)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Bru.scala:125 assert( io.jftq.fire === jctq.io.enq.fire )\n"); // @[Bru.scala 125:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_16 == _T_3) & _T_14) begin
          $fatal; // @[Bru.scala 125:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_14 & ~(_T == _io_bftq_ready_T_6)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:126 assert( bctq.io.enq.fire === (io.bru_iss_exe.fire & io.bru_iss_exe.bits.fun.is_branch)  )\n"
            ); // @[Bru.scala 126:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _io_bftq_ready_T_6) & _T_14) begin
          $fatal; // @[Bru.scala 126:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_14 & ~(_T_34 == _T)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Bru.scala:127 assert( io.bftq.fire === bctq.io.enq.fire )\n"); // @[Bru.scala 127:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_34 == _T) & _T_14) begin
          $fatal; // @[Bru.scala 127:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_14 & ~(_io_bftq_ready_T == _T_41)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:128 assert( io.bru_iss_exe.fire === bru_exe_iwb_fifo.io.enq.fire )\n"); // @[Bru.scala 128:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_io_bftq_ready_T == _T_41) & _T_14) begin
          $fatal; // @[Bru.scala 128:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  misPredict_locker = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Store_queue(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input         io_enq_bits_fun_lb,
  input         io_enq_bits_fun_lh,
  input         io_enq_bits_fun_lw,
  input         io_enq_bits_fun_ld,
  input         io_enq_bits_fun_lbu,
  input         io_enq_bits_fun_lhu,
  input         io_enq_bits_fun_lwu,
  input         io_enq_bits_fun_sb,
  input         io_enq_bits_fun_sh,
  input         io_enq_bits_fun_sw,
  input         io_enq_bits_fun_sd,
  input         io_enq_bits_fun_lr_w,
  input         io_enq_bits_fun_sc_w,
  input         io_enq_bits_fun_amoswap_w,
  input         io_enq_bits_fun_amoadd_w,
  input         io_enq_bits_fun_amoxor_w,
  input         io_enq_bits_fun_amoand_w,
  input         io_enq_bits_fun_amoor_w,
  input         io_enq_bits_fun_amomin_w,
  input         io_enq_bits_fun_amomax_w,
  input         io_enq_bits_fun_amominu_w,
  input         io_enq_bits_fun_amomaxu_w,
  input         io_enq_bits_fun_lr_d,
  input         io_enq_bits_fun_sc_d,
  input         io_enq_bits_fun_amoswap_d,
  input         io_enq_bits_fun_amoadd_d,
  input         io_enq_bits_fun_amoxor_d,
  input         io_enq_bits_fun_amoand_d,
  input         io_enq_bits_fun_amoor_d,
  input         io_enq_bits_fun_amomin_d,
  input         io_enq_bits_fun_amomax_d,
  input         io_enq_bits_fun_amominu_d,
  input         io_enq_bits_fun_amomaxu_d,
  input         io_enq_bits_fun_flw,
  input         io_enq_bits_fun_fsw,
  input         io_enq_bits_fun_fld,
  input         io_enq_bits_fun_fsd,
  input  [63:0] io_enq_bits_param_dat_op1,
  input         io_deq_ready,
  output        io_deq_valid,
  output        io_deq_bits_fun_lb,
  output        io_deq_bits_fun_lh,
  output        io_deq_bits_fun_lw,
  output        io_deq_bits_fun_ld,
  output        io_deq_bits_fun_lbu,
  output        io_deq_bits_fun_lhu,
  output        io_deq_bits_fun_lwu,
  output        io_deq_bits_fun_sb,
  output        io_deq_bits_fun_sh,
  output        io_deq_bits_fun_sw,
  output        io_deq_bits_fun_sd,
  output        io_deq_bits_fun_lr_w,
  output        io_deq_bits_fun_sc_w,
  output        io_deq_bits_fun_amoswap_w,
  output        io_deq_bits_fun_amoadd_w,
  output        io_deq_bits_fun_amoxor_w,
  output        io_deq_bits_fun_amoand_w,
  output        io_deq_bits_fun_amoor_w,
  output        io_deq_bits_fun_amomin_w,
  output        io_deq_bits_fun_amomax_w,
  output        io_deq_bits_fun_amominu_w,
  output        io_deq_bits_fun_amomaxu_w,
  output        io_deq_bits_fun_lr_d,
  output        io_deq_bits_fun_sc_d,
  output        io_deq_bits_fun_amoswap_d,
  output        io_deq_bits_fun_amoadd_d,
  output        io_deq_bits_fun_amoxor_d,
  output        io_deq_bits_fun_amoand_d,
  output        io_deq_bits_fun_amoor_d,
  output        io_deq_bits_fun_amomin_d,
  output        io_deq_bits_fun_amomax_d,
  output        io_deq_bits_fun_amominu_d,
  output        io_deq_bits_fun_amomaxu_d,
  output        io_deq_bits_fun_flw,
  output        io_deq_bits_fun_fsw,
  output        io_deq_bits_fun_fld,
  output        io_deq_bits_fun_fsd,
  output [63:0] io_deq_bits_param_dat_op1,
  input         io_cmm_lsu_is_amo_pending,
  input         io_cmm_lsu_is_store_commit_0,
  output        io_is_empty,
  input         io_overlapReq_valid,
  input  [31:0] io_overlapReq_bits_paddr,
  output        io_overlapResp_valid,
  input         io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [63:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_67;
  reg [31:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [31:0] _RAND_73;
  reg [31:0] _RAND_74;
  reg [63:0] _RAND_75;
  reg [31:0] _RAND_76;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_79;
  reg [31:0] _RAND_80;
`endif // RANDOMIZE_REG_INIT
  reg  buff_0_fun_lb; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lh; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lw; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_ld; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lbu; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lhu; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lwu; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sb; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sh; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sw; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sd; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lr_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sc_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoswap_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoadd_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoxor_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoand_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoor_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomin_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomax_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amominu_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomaxu_w; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_lr_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_sc_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoswap_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoadd_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoxor_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoand_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amoor_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomin_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomax_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amominu_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_amomaxu_d; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_flw; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_fsw; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_fld; // @[Store_queue.scala 54:21]
  reg  buff_0_fun_fsd; // @[Store_queue.scala 54:21]
  reg [63:0] buff_0_param_dat_op1; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lb; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lh; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lw; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_ld; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lbu; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lhu; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lwu; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sb; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sh; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sw; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sd; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lr_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sc_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoswap_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoadd_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoxor_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoand_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoor_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomin_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomax_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amominu_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomaxu_w; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_lr_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_sc_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoswap_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoadd_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoxor_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoand_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amoor_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomin_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomax_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amominu_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_amomaxu_d; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_flw; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_fsw; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_fld; // @[Store_queue.scala 54:21]
  reg  buff_1_fun_fsd; // @[Store_queue.scala 54:21]
  reg [63:0] buff_1_param_dat_op1; // @[Store_queue.scala 54:21]
  reg [1:0] cm_ptr_reg; // @[Store_queue.scala 56:27]
  reg [1:0] wr_ptr_reg; // @[Store_queue.scala 57:27]
  reg [1:0] rd_ptr_reg; // @[Store_queue.scala 58:27]
  wire  wr_ptr = wr_ptr_reg[0]; // @[Store_queue.scala 61:26]
  wire  rd_ptr = rd_ptr_reg[0]; // @[Store_queue.scala 62:26]
  wire  full = wr_ptr_reg[1] != rd_ptr_reg[1] & wr_ptr == rd_ptr; // @[Store_queue.scala 64:54]
  wire  emty = cm_ptr_reg == rd_ptr_reg; // @[Store_queue.scala 65:25]
  reg  is_amo; // @[Store_queue.scala 69:23]
  reg  is_amo_pre; // @[Store_queue.scala 76:29]
  wire  is_amo_pos = io_cmm_lsu_is_amo_pending & ~is_amo_pre; // @[Store_queue.scala 77:48]
  wire  _T_1 = is_amo & ~io_is_empty; // @[Store_queue.scala 82:24]
  wire  _GEN_0 = is_amo & ~io_is_empty ? 1'h0 : is_amo; // @[Store_queue.scala 82:40 83:14 69:23]
  wire  _GEN_1 = is_amo_pos | _GEN_0; // @[Store_queue.scala 80:31 81:14]
  wire  _GEN_47 = rd_ptr ? buff_1_fun_lb : buff_0_fun_lb; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_48 = rd_ptr ? buff_1_fun_lh : buff_0_fun_lh; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_49 = rd_ptr ? buff_1_fun_lw : buff_0_fun_lw; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_50 = rd_ptr ? buff_1_fun_ld : buff_0_fun_ld; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_51 = rd_ptr ? buff_1_fun_lbu : buff_0_fun_lbu; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_52 = rd_ptr ? buff_1_fun_lhu : buff_0_fun_lhu; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_53 = rd_ptr ? buff_1_fun_lwu : buff_0_fun_lwu; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_54 = rd_ptr ? buff_1_fun_sb : buff_0_fun_sb; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_55 = rd_ptr ? buff_1_fun_sh : buff_0_fun_sh; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_56 = rd_ptr ? buff_1_fun_sw : buff_0_fun_sw; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_57 = rd_ptr ? buff_1_fun_sd : buff_0_fun_sd; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_61 = rd_ptr ? buff_1_fun_lr_w : buff_0_fun_lr_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_62 = rd_ptr ? buff_1_fun_sc_w : buff_0_fun_sc_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_63 = rd_ptr ? buff_1_fun_amoswap_w : buff_0_fun_amoswap_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_64 = rd_ptr ? buff_1_fun_amoadd_w : buff_0_fun_amoadd_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_65 = rd_ptr ? buff_1_fun_amoxor_w : buff_0_fun_amoxor_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_66 = rd_ptr ? buff_1_fun_amoand_w : buff_0_fun_amoand_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_67 = rd_ptr ? buff_1_fun_amoor_w : buff_0_fun_amoor_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_68 = rd_ptr ? buff_1_fun_amomin_w : buff_0_fun_amomin_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_69 = rd_ptr ? buff_1_fun_amomax_w : buff_0_fun_amomax_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_70 = rd_ptr ? buff_1_fun_amominu_w : buff_0_fun_amominu_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_71 = rd_ptr ? buff_1_fun_amomaxu_w : buff_0_fun_amomaxu_w; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_72 = rd_ptr ? buff_1_fun_lr_d : buff_0_fun_lr_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_73 = rd_ptr ? buff_1_fun_sc_d : buff_0_fun_sc_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_74 = rd_ptr ? buff_1_fun_amoswap_d : buff_0_fun_amoswap_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_75 = rd_ptr ? buff_1_fun_amoadd_d : buff_0_fun_amoadd_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_76 = rd_ptr ? buff_1_fun_amoxor_d : buff_0_fun_amoxor_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_77 = rd_ptr ? buff_1_fun_amoand_d : buff_0_fun_amoand_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_78 = rd_ptr ? buff_1_fun_amoor_d : buff_0_fun_amoor_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_79 = rd_ptr ? buff_1_fun_amomin_d : buff_0_fun_amomin_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_80 = rd_ptr ? buff_1_fun_amomax_d : buff_0_fun_amomax_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_81 = rd_ptr ? buff_1_fun_amominu_d : buff_0_fun_amominu_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_82 = rd_ptr ? buff_1_fun_amomaxu_d : buff_0_fun_amomaxu_d; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_83 = rd_ptr ? buff_1_fun_flw : buff_0_fun_flw; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_84 = rd_ptr ? buff_1_fun_fsw : buff_0_fun_fsw; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_85 = rd_ptr ? buff_1_fun_fld : buff_0_fun_fld; // @[Store_queue.scala 92:{21,21}]
  wire  _GEN_86 = rd_ptr ? buff_1_fun_fsd : buff_0_fun_fsd; // @[Store_queue.scala 92:{21,21}]
  wire [63:0] _GEN_88 = rd_ptr ? buff_1_param_dat_op1 : buff_0_param_dat_op1; // @[Store_queue.scala 92:{21,21}]
  wire [1:0] _wr_ptr_reg_T_1 = cm_ptr_reg + 2'h1; // @[Store_queue.scala 100:86]
  wire  _T_5 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_92 = ~wr_ptr ? io_enq_bits_fun_lb : buff_0_fun_lb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_93 = wr_ptr ? io_enq_bits_fun_lb : buff_1_fun_lb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_94 = ~wr_ptr ? io_enq_bits_fun_lh : buff_0_fun_lh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_95 = wr_ptr ? io_enq_bits_fun_lh : buff_1_fun_lh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_96 = ~wr_ptr ? io_enq_bits_fun_lw : buff_0_fun_lw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_97 = wr_ptr ? io_enq_bits_fun_lw : buff_1_fun_lw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_98 = ~wr_ptr ? io_enq_bits_fun_ld : buff_0_fun_ld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_99 = wr_ptr ? io_enq_bits_fun_ld : buff_1_fun_ld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_100 = ~wr_ptr ? io_enq_bits_fun_lbu : buff_0_fun_lbu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_101 = wr_ptr ? io_enq_bits_fun_lbu : buff_1_fun_lbu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_102 = ~wr_ptr ? io_enq_bits_fun_lhu : buff_0_fun_lhu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_103 = wr_ptr ? io_enq_bits_fun_lhu : buff_1_fun_lhu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_104 = ~wr_ptr ? io_enq_bits_fun_lwu : buff_0_fun_lwu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_105 = wr_ptr ? io_enq_bits_fun_lwu : buff_1_fun_lwu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_106 = ~wr_ptr ? io_enq_bits_fun_sb : buff_0_fun_sb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_107 = wr_ptr ? io_enq_bits_fun_sb : buff_1_fun_sb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_108 = ~wr_ptr ? io_enq_bits_fun_sh : buff_0_fun_sh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_109 = wr_ptr ? io_enq_bits_fun_sh : buff_1_fun_sh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_110 = ~wr_ptr ? io_enq_bits_fun_sw : buff_0_fun_sw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_111 = wr_ptr ? io_enq_bits_fun_sw : buff_1_fun_sw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_112 = ~wr_ptr ? io_enq_bits_fun_sd : buff_0_fun_sd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_113 = wr_ptr ? io_enq_bits_fun_sd : buff_1_fun_sd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_120 = ~wr_ptr ? io_enq_bits_fun_lr_w : buff_0_fun_lr_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_121 = wr_ptr ? io_enq_bits_fun_lr_w : buff_1_fun_lr_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_122 = ~wr_ptr ? io_enq_bits_fun_sc_w : buff_0_fun_sc_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_123 = wr_ptr ? io_enq_bits_fun_sc_w : buff_1_fun_sc_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_124 = ~wr_ptr ? io_enq_bits_fun_amoswap_w : buff_0_fun_amoswap_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_125 = wr_ptr ? io_enq_bits_fun_amoswap_w : buff_1_fun_amoswap_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_126 = ~wr_ptr ? io_enq_bits_fun_amoadd_w : buff_0_fun_amoadd_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_127 = wr_ptr ? io_enq_bits_fun_amoadd_w : buff_1_fun_amoadd_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_128 = ~wr_ptr ? io_enq_bits_fun_amoxor_w : buff_0_fun_amoxor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_129 = wr_ptr ? io_enq_bits_fun_amoxor_w : buff_1_fun_amoxor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_130 = ~wr_ptr ? io_enq_bits_fun_amoand_w : buff_0_fun_amoand_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_131 = wr_ptr ? io_enq_bits_fun_amoand_w : buff_1_fun_amoand_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_132 = ~wr_ptr ? io_enq_bits_fun_amoor_w : buff_0_fun_amoor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_133 = wr_ptr ? io_enq_bits_fun_amoor_w : buff_1_fun_amoor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_134 = ~wr_ptr ? io_enq_bits_fun_amomin_w : buff_0_fun_amomin_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_135 = wr_ptr ? io_enq_bits_fun_amomin_w : buff_1_fun_amomin_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_136 = ~wr_ptr ? io_enq_bits_fun_amomax_w : buff_0_fun_amomax_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_137 = wr_ptr ? io_enq_bits_fun_amomax_w : buff_1_fun_amomax_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_138 = ~wr_ptr ? io_enq_bits_fun_amominu_w : buff_0_fun_amominu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_139 = wr_ptr ? io_enq_bits_fun_amominu_w : buff_1_fun_amominu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_140 = ~wr_ptr ? io_enq_bits_fun_amomaxu_w : buff_0_fun_amomaxu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_141 = wr_ptr ? io_enq_bits_fun_amomaxu_w : buff_1_fun_amomaxu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_142 = ~wr_ptr ? io_enq_bits_fun_lr_d : buff_0_fun_lr_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_143 = wr_ptr ? io_enq_bits_fun_lr_d : buff_1_fun_lr_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_144 = ~wr_ptr ? io_enq_bits_fun_sc_d : buff_0_fun_sc_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_145 = wr_ptr ? io_enq_bits_fun_sc_d : buff_1_fun_sc_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_146 = ~wr_ptr ? io_enq_bits_fun_amoswap_d : buff_0_fun_amoswap_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_147 = wr_ptr ? io_enq_bits_fun_amoswap_d : buff_1_fun_amoswap_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_148 = ~wr_ptr ? io_enq_bits_fun_amoadd_d : buff_0_fun_amoadd_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_149 = wr_ptr ? io_enq_bits_fun_amoadd_d : buff_1_fun_amoadd_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_150 = ~wr_ptr ? io_enq_bits_fun_amoxor_d : buff_0_fun_amoxor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_151 = wr_ptr ? io_enq_bits_fun_amoxor_d : buff_1_fun_amoxor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_152 = ~wr_ptr ? io_enq_bits_fun_amoand_d : buff_0_fun_amoand_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_153 = wr_ptr ? io_enq_bits_fun_amoand_d : buff_1_fun_amoand_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_154 = ~wr_ptr ? io_enq_bits_fun_amoor_d : buff_0_fun_amoor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_155 = wr_ptr ? io_enq_bits_fun_amoor_d : buff_1_fun_amoor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_156 = ~wr_ptr ? io_enq_bits_fun_amomin_d : buff_0_fun_amomin_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_157 = wr_ptr ? io_enq_bits_fun_amomin_d : buff_1_fun_amomin_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_158 = ~wr_ptr ? io_enq_bits_fun_amomax_d : buff_0_fun_amomax_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_159 = wr_ptr ? io_enq_bits_fun_amomax_d : buff_1_fun_amomax_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_160 = ~wr_ptr ? io_enq_bits_fun_amominu_d : buff_0_fun_amominu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_161 = wr_ptr ? io_enq_bits_fun_amominu_d : buff_1_fun_amominu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_162 = ~wr_ptr ? io_enq_bits_fun_amomaxu_d : buff_0_fun_amomaxu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_163 = wr_ptr ? io_enq_bits_fun_amomaxu_d : buff_1_fun_amomaxu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_164 = ~wr_ptr ? io_enq_bits_fun_flw : buff_0_fun_flw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_165 = wr_ptr ? io_enq_bits_fun_flw : buff_1_fun_flw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_166 = ~wr_ptr ? io_enq_bits_fun_fsw : buff_0_fun_fsw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_167 = wr_ptr ? io_enq_bits_fun_fsw : buff_1_fun_fsw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_168 = ~wr_ptr ? io_enq_bits_fun_fld : buff_0_fun_fld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_169 = wr_ptr ? io_enq_bits_fun_fld : buff_1_fun_fld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_170 = ~wr_ptr ? io_enq_bits_fun_fsd : buff_0_fun_fsd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  _GEN_171 = wr_ptr ? io_enq_bits_fun_fsd : buff_1_fun_fsd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] _GEN_174 = ~wr_ptr ? io_enq_bits_param_dat_op1 : buff_0_param_dat_op1; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] _GEN_175 = wr_ptr ? io_enq_bits_param_dat_op1 : buff_1_param_dat_op1; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [1:0] _wr_ptr_reg_T_3 = wr_ptr_reg + 2'h1; // @[Store_queue.scala 108:30]
  wire  _GEN_180 = _T_5 ? _GEN_92 : buff_0_fun_lb; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_181 = _T_5 ? _GEN_93 : buff_1_fun_lb; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_182 = _T_5 ? _GEN_94 : buff_0_fun_lh; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_183 = _T_5 ? _GEN_95 : buff_1_fun_lh; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_184 = _T_5 ? _GEN_96 : buff_0_fun_lw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_185 = _T_5 ? _GEN_97 : buff_1_fun_lw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_186 = _T_5 ? _GEN_98 : buff_0_fun_ld; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_187 = _T_5 ? _GEN_99 : buff_1_fun_ld; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_188 = _T_5 ? _GEN_100 : buff_0_fun_lbu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_189 = _T_5 ? _GEN_101 : buff_1_fun_lbu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_190 = _T_5 ? _GEN_102 : buff_0_fun_lhu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_191 = _T_5 ? _GEN_103 : buff_1_fun_lhu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_192 = _T_5 ? _GEN_104 : buff_0_fun_lwu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_193 = _T_5 ? _GEN_105 : buff_1_fun_lwu; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_194 = _T_5 ? _GEN_106 : buff_0_fun_sb; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_195 = _T_5 ? _GEN_107 : buff_1_fun_sb; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_196 = _T_5 ? _GEN_108 : buff_0_fun_sh; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_197 = _T_5 ? _GEN_109 : buff_1_fun_sh; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_198 = _T_5 ? _GEN_110 : buff_0_fun_sw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_199 = _T_5 ? _GEN_111 : buff_1_fun_sw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_200 = _T_5 ? _GEN_112 : buff_0_fun_sd; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_201 = _T_5 ? _GEN_113 : buff_1_fun_sd; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_208 = _T_5 ? _GEN_120 : buff_0_fun_lr_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_209 = _T_5 ? _GEN_121 : buff_1_fun_lr_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_210 = _T_5 ? _GEN_122 : buff_0_fun_sc_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_211 = _T_5 ? _GEN_123 : buff_1_fun_sc_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_212 = _T_5 ? _GEN_124 : buff_0_fun_amoswap_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_213 = _T_5 ? _GEN_125 : buff_1_fun_amoswap_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_214 = _T_5 ? _GEN_126 : buff_0_fun_amoadd_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_215 = _T_5 ? _GEN_127 : buff_1_fun_amoadd_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_216 = _T_5 ? _GEN_128 : buff_0_fun_amoxor_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_217 = _T_5 ? _GEN_129 : buff_1_fun_amoxor_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_218 = _T_5 ? _GEN_130 : buff_0_fun_amoand_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_219 = _T_5 ? _GEN_131 : buff_1_fun_amoand_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_220 = _T_5 ? _GEN_132 : buff_0_fun_amoor_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_221 = _T_5 ? _GEN_133 : buff_1_fun_amoor_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_222 = _T_5 ? _GEN_134 : buff_0_fun_amomin_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_223 = _T_5 ? _GEN_135 : buff_1_fun_amomin_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_224 = _T_5 ? _GEN_136 : buff_0_fun_amomax_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_225 = _T_5 ? _GEN_137 : buff_1_fun_amomax_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_226 = _T_5 ? _GEN_138 : buff_0_fun_amominu_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_227 = _T_5 ? _GEN_139 : buff_1_fun_amominu_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_228 = _T_5 ? _GEN_140 : buff_0_fun_amomaxu_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_229 = _T_5 ? _GEN_141 : buff_1_fun_amomaxu_w; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_230 = _T_5 ? _GEN_142 : buff_0_fun_lr_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_231 = _T_5 ? _GEN_143 : buff_1_fun_lr_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_232 = _T_5 ? _GEN_144 : buff_0_fun_sc_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_233 = _T_5 ? _GEN_145 : buff_1_fun_sc_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_234 = _T_5 ? _GEN_146 : buff_0_fun_amoswap_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_235 = _T_5 ? _GEN_147 : buff_1_fun_amoswap_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_236 = _T_5 ? _GEN_148 : buff_0_fun_amoadd_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_237 = _T_5 ? _GEN_149 : buff_1_fun_amoadd_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_238 = _T_5 ? _GEN_150 : buff_0_fun_amoxor_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_239 = _T_5 ? _GEN_151 : buff_1_fun_amoxor_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_240 = _T_5 ? _GEN_152 : buff_0_fun_amoand_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_241 = _T_5 ? _GEN_153 : buff_1_fun_amoand_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_242 = _T_5 ? _GEN_154 : buff_0_fun_amoor_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_243 = _T_5 ? _GEN_155 : buff_1_fun_amoor_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_244 = _T_5 ? _GEN_156 : buff_0_fun_amomin_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_245 = _T_5 ? _GEN_157 : buff_1_fun_amomin_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_246 = _T_5 ? _GEN_158 : buff_0_fun_amomax_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_247 = _T_5 ? _GEN_159 : buff_1_fun_amomax_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_248 = _T_5 ? _GEN_160 : buff_0_fun_amominu_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_249 = _T_5 ? _GEN_161 : buff_1_fun_amominu_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_250 = _T_5 ? _GEN_162 : buff_0_fun_amomaxu_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_251 = _T_5 ? _GEN_163 : buff_1_fun_amomaxu_d; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_252 = _T_5 ? _GEN_164 : buff_0_fun_flw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_253 = _T_5 ? _GEN_165 : buff_1_fun_flw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_254 = _T_5 ? _GEN_166 : buff_0_fun_fsw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_255 = _T_5 ? _GEN_167 : buff_1_fun_fsw; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_256 = _T_5 ? _GEN_168 : buff_0_fun_fld; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_257 = _T_5 ? _GEN_169 : buff_1_fun_fld; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_258 = _T_5 ? _GEN_170 : buff_0_fun_fsd; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_259 = _T_5 ? _GEN_171 : buff_1_fun_fsd; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] _GEN_262 = _T_5 ? _GEN_174 : buff_0_param_dat_op1; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] _GEN_263 = _T_5 ? _GEN_175 : buff_1_param_dat_op1; // @[Store_queue.scala 106:30 54:21]
  wire  _GEN_270 = io_flush ? buff_0_fun_lb : _GEN_180; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_271 = io_flush ? buff_1_fun_lb : _GEN_181; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_272 = io_flush ? buff_0_fun_lh : _GEN_182; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_273 = io_flush ? buff_1_fun_lh : _GEN_183; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_274 = io_flush ? buff_0_fun_lw : _GEN_184; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_275 = io_flush ? buff_1_fun_lw : _GEN_185; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_276 = io_flush ? buff_0_fun_ld : _GEN_186; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_277 = io_flush ? buff_1_fun_ld : _GEN_187; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_278 = io_flush ? buff_0_fun_lbu : _GEN_188; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_279 = io_flush ? buff_1_fun_lbu : _GEN_189; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_280 = io_flush ? buff_0_fun_lhu : _GEN_190; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_281 = io_flush ? buff_1_fun_lhu : _GEN_191; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_282 = io_flush ? buff_0_fun_lwu : _GEN_192; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_283 = io_flush ? buff_1_fun_lwu : _GEN_193; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_284 = io_flush ? buff_0_fun_sb : _GEN_194; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_285 = io_flush ? buff_1_fun_sb : _GEN_195; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_286 = io_flush ? buff_0_fun_sh : _GEN_196; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_287 = io_flush ? buff_1_fun_sh : _GEN_197; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_288 = io_flush ? buff_0_fun_sw : _GEN_198; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_289 = io_flush ? buff_1_fun_sw : _GEN_199; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_290 = io_flush ? buff_0_fun_sd : _GEN_200; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_291 = io_flush ? buff_1_fun_sd : _GEN_201; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_298 = io_flush ? buff_0_fun_lr_w : _GEN_208; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_299 = io_flush ? buff_1_fun_lr_w : _GEN_209; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_300 = io_flush ? buff_0_fun_sc_w : _GEN_210; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_301 = io_flush ? buff_1_fun_sc_w : _GEN_211; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_302 = io_flush ? buff_0_fun_amoswap_w : _GEN_212; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_303 = io_flush ? buff_1_fun_amoswap_w : _GEN_213; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_304 = io_flush ? buff_0_fun_amoadd_w : _GEN_214; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_305 = io_flush ? buff_1_fun_amoadd_w : _GEN_215; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_306 = io_flush ? buff_0_fun_amoxor_w : _GEN_216; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_307 = io_flush ? buff_1_fun_amoxor_w : _GEN_217; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_308 = io_flush ? buff_0_fun_amoand_w : _GEN_218; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_309 = io_flush ? buff_1_fun_amoand_w : _GEN_219; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_310 = io_flush ? buff_0_fun_amoor_w : _GEN_220; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_311 = io_flush ? buff_1_fun_amoor_w : _GEN_221; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_312 = io_flush ? buff_0_fun_amomin_w : _GEN_222; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_313 = io_flush ? buff_1_fun_amomin_w : _GEN_223; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_314 = io_flush ? buff_0_fun_amomax_w : _GEN_224; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_315 = io_flush ? buff_1_fun_amomax_w : _GEN_225; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_316 = io_flush ? buff_0_fun_amominu_w : _GEN_226; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_317 = io_flush ? buff_1_fun_amominu_w : _GEN_227; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_318 = io_flush ? buff_0_fun_amomaxu_w : _GEN_228; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_319 = io_flush ? buff_1_fun_amomaxu_w : _GEN_229; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_320 = io_flush ? buff_0_fun_lr_d : _GEN_230; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_321 = io_flush ? buff_1_fun_lr_d : _GEN_231; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_322 = io_flush ? buff_0_fun_sc_d : _GEN_232; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_323 = io_flush ? buff_1_fun_sc_d : _GEN_233; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_324 = io_flush ? buff_0_fun_amoswap_d : _GEN_234; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_325 = io_flush ? buff_1_fun_amoswap_d : _GEN_235; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_326 = io_flush ? buff_0_fun_amoadd_d : _GEN_236; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_327 = io_flush ? buff_1_fun_amoadd_d : _GEN_237; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_328 = io_flush ? buff_0_fun_amoxor_d : _GEN_238; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_329 = io_flush ? buff_1_fun_amoxor_d : _GEN_239; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_330 = io_flush ? buff_0_fun_amoand_d : _GEN_240; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_331 = io_flush ? buff_1_fun_amoand_d : _GEN_241; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_332 = io_flush ? buff_0_fun_amoor_d : _GEN_242; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_333 = io_flush ? buff_1_fun_amoor_d : _GEN_243; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_334 = io_flush ? buff_0_fun_amomin_d : _GEN_244; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_335 = io_flush ? buff_1_fun_amomin_d : _GEN_245; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_336 = io_flush ? buff_0_fun_amomax_d : _GEN_246; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_337 = io_flush ? buff_1_fun_amomax_d : _GEN_247; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_338 = io_flush ? buff_0_fun_amominu_d : _GEN_248; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_339 = io_flush ? buff_1_fun_amominu_d : _GEN_249; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_340 = io_flush ? buff_0_fun_amomaxu_d : _GEN_250; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_341 = io_flush ? buff_1_fun_amomaxu_d : _GEN_251; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_342 = io_flush ? buff_0_fun_flw : _GEN_252; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_343 = io_flush ? buff_1_fun_flw : _GEN_253; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_344 = io_flush ? buff_0_fun_fsw : _GEN_254; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_345 = io_flush ? buff_1_fun_fsw : _GEN_255; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_346 = io_flush ? buff_0_fun_fld : _GEN_256; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_347 = io_flush ? buff_1_fun_fld : _GEN_257; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_348 = io_flush ? buff_0_fun_fsd : _GEN_258; // @[Store_queue.scala 94:20 54:21]
  wire  _GEN_349 = io_flush ? buff_1_fun_fsd : _GEN_259; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] _GEN_352 = io_flush ? buff_0_param_dat_op1 : _GEN_262; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] _GEN_353 = io_flush ? buff_1_param_dat_op1 : _GEN_263; // @[Store_queue.scala 94:20 54:21]
  wire  _T_6 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _rd_ptr_reg_T_1 = rd_ptr_reg + 2'h1; // @[Store_queue.scala 112:30]
  wire  _T_9 = ~reset; // @[Store_queue.scala 129:13]
  wire  _T_11 = cm_ptr_reg != wr_ptr_reg; // @[Store_queue.scala 130:26]
  wire  _T_14 = ~(cm_ptr_reg != wr_ptr_reg); // @[Store_queue.scala 130:13]
  wire  _T_30 = rd_ptr_reg[1] != wr_ptr_reg[1]; // @[Store_queue.scala 148:28]
  wire [2:0] _ro_ptr_T = {{1'd0}, rd_ptr_reg}; // @[Store_queue.scala 151:34]
  wire  ro_ptr = _ro_ptr_T[0]; // @[Store_queue.scala 151:40]
  wire  _T_35 = ro_ptr >= rd_ptr; // @[Store_queue.scala 152:23]
  wire  _T_36 = ro_ptr < wr_ptr; // @[Store_queue.scala 152:43]
  wire [63:0] _GEN_538 = ro_ptr ? buff_1_param_dat_op1 : buff_0_param_dat_op1; // @[Store_queue.scala 152:{83,83}]
  wire  _T_40 = _GEN_538[31:3] == io_overlapReq_bits_paddr[31:3]; // @[Store_queue.scala 152:94]
  wire  _GEN_570 = ro_ptr ? buff_1_fun_sc_w : buff_0_fun_sc_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_572 = ro_ptr ? buff_1_fun_amoswap_w : buff_0_fun_amoswap_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_574 = ro_ptr ? buff_1_fun_amoadd_w : buff_0_fun_amoadd_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_576 = ro_ptr ? buff_1_fun_amoxor_w : buff_0_fun_amoxor_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_578 = ro_ptr ? buff_1_fun_amoand_w : buff_0_fun_amoand_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_580 = ro_ptr ? buff_1_fun_amoor_w : buff_0_fun_amoor_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_582 = ro_ptr ? buff_1_fun_amomin_w : buff_0_fun_amomin_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_584 = ro_ptr ? buff_1_fun_amomax_w : buff_0_fun_amomax_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_586 = ro_ptr ? buff_1_fun_amominu_w : buff_0_fun_amominu_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_588 = ro_ptr ? buff_1_fun_amomaxu_w : buff_0_fun_amomaxu_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_592 = ro_ptr ? buff_1_fun_sc_d : buff_0_fun_sc_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_594 = ro_ptr ? buff_1_fun_amoswap_d : buff_0_fun_amoswap_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_596 = ro_ptr ? buff_1_fun_amoadd_d : buff_0_fun_amoadd_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_598 = ro_ptr ? buff_1_fun_amoxor_d : buff_0_fun_amoxor_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_600 = ro_ptr ? buff_1_fun_amoand_d : buff_0_fun_amoand_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_602 = ro_ptr ? buff_1_fun_amoor_d : buff_0_fun_amoor_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_604 = ro_ptr ? buff_1_fun_amomin_d : buff_0_fun_amomin_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_606 = ro_ptr ? buff_1_fun_amomax_d : buff_0_fun_amomax_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_608 = ro_ptr ? buff_1_fun_amominu_d : buff_0_fun_amominu_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_610 = ro_ptr ? buff_1_fun_amomaxu_d : buff_0_fun_amomaxu_d; // @[Store_queue.scala 153:{27,27}]
  wire  _T_59 = _GEN_592 | _GEN_570; // @[riscv_isa.scala 140:20]
  wire  _T_60 = _GEN_572 | _GEN_574 | _GEN_576 | _GEN_578 | _GEN_580 | _GEN_582 | _GEN_584 | _GEN_586 | _GEN_588 |
    _GEN_594 | _GEN_596 | _GEN_598 | _GEN_600 | _GEN_602 | _GEN_604 | _GEN_606 | _GEN_608 | _GEN_610 | _T_59; // @[riscv_isa.scala 148:205]
  wire  _GEN_625 = _T_60 ? 1'h0 : io_overlapReq_valid; // @[Store_queue.scala 146:26 155:{43,66}]
  wire  _GEN_670 = (ro_ptr >= rd_ptr | ro_ptr < wr_ptr) & _GEN_538[31:3] == io_overlapReq_bits_paddr[31:3] ? _GEN_625 :
    io_overlapReq_valid; // @[Store_queue.scala 152:136 146:26]
  wire  ro_ptr_1 = _rd_ptr_reg_T_1[0]; // @[Store_queue.scala 151:40]
  wire  _T_61 = ro_ptr_1 >= rd_ptr; // @[Store_queue.scala 152:23]
  wire  _T_62 = ro_ptr_1 < wr_ptr; // @[Store_queue.scala 152:43]
  wire [63:0] _GEN_672 = ro_ptr_1 ? buff_1_param_dat_op1 : buff_0_param_dat_op1; // @[Store_queue.scala 152:{83,83}]
  wire  _T_66 = _GEN_672[31:3] == io_overlapReq_bits_paddr[31:3]; // @[Store_queue.scala 152:94]
  wire  _GEN_704 = ro_ptr_1 ? buff_1_fun_sc_w : buff_0_fun_sc_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_706 = ro_ptr_1 ? buff_1_fun_amoswap_w : buff_0_fun_amoswap_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_708 = ro_ptr_1 ? buff_1_fun_amoadd_w : buff_0_fun_amoadd_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_710 = ro_ptr_1 ? buff_1_fun_amoxor_w : buff_0_fun_amoxor_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_712 = ro_ptr_1 ? buff_1_fun_amoand_w : buff_0_fun_amoand_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_714 = ro_ptr_1 ? buff_1_fun_amoor_w : buff_0_fun_amoor_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_716 = ro_ptr_1 ? buff_1_fun_amomin_w : buff_0_fun_amomin_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_718 = ro_ptr_1 ? buff_1_fun_amomax_w : buff_0_fun_amomax_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_720 = ro_ptr_1 ? buff_1_fun_amominu_w : buff_0_fun_amominu_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_722 = ro_ptr_1 ? buff_1_fun_amomaxu_w : buff_0_fun_amomaxu_w; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_726 = ro_ptr_1 ? buff_1_fun_sc_d : buff_0_fun_sc_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_728 = ro_ptr_1 ? buff_1_fun_amoswap_d : buff_0_fun_amoswap_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_730 = ro_ptr_1 ? buff_1_fun_amoadd_d : buff_0_fun_amoadd_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_732 = ro_ptr_1 ? buff_1_fun_amoxor_d : buff_0_fun_amoxor_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_734 = ro_ptr_1 ? buff_1_fun_amoand_d : buff_0_fun_amoand_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_736 = ro_ptr_1 ? buff_1_fun_amoor_d : buff_0_fun_amoor_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_738 = ro_ptr_1 ? buff_1_fun_amomin_d : buff_0_fun_amomin_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_740 = ro_ptr_1 ? buff_1_fun_amomax_d : buff_0_fun_amomax_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_742 = ro_ptr_1 ? buff_1_fun_amominu_d : buff_0_fun_amominu_d; // @[Store_queue.scala 153:{27,27}]
  wire  _GEN_744 = ro_ptr_1 ? buff_1_fun_amomaxu_d : buff_0_fun_amomaxu_d; // @[Store_queue.scala 153:{27,27}]
  wire  _T_85 = _GEN_726 | _GEN_704; // @[riscv_isa.scala 140:20]
  wire  _T_86 = _GEN_706 | _GEN_708 | _GEN_710 | _GEN_712 | _GEN_714 | _GEN_716 | _GEN_718 | _GEN_720 | _GEN_722 |
    _GEN_728 | _GEN_730 | _GEN_732 | _GEN_734 | _GEN_736 | _GEN_738 | _GEN_740 | _GEN_742 | _GEN_744 | _T_85; // @[riscv_isa.scala 148:205]
  wire  _GEN_759 = _T_86 ? 1'h0 : _GEN_670; // @[Store_queue.scala 155:{43,66}]
  wire  _GEN_804 = (ro_ptr_1 >= rd_ptr | ro_ptr_1 < wr_ptr) & _GEN_672[31:3] == io_overlapReq_bits_paddr[31:3] ?
    _GEN_759 : _GEN_670; // @[Store_queue.scala 152:136]
  wire  _GEN_938 = _T_35 & _T_36 & _T_40 ? _GEN_625 : io_overlapReq_valid; // @[Store_queue.scala 165:134 146:26]
  wire  _GEN_1027 = _T_86 ? 1'h0 : _GEN_938; // @[Store_queue.scala 168:{43,66}]
  wire  _GEN_1072 = _T_61 & _T_62 & _T_66 ? _GEN_1027 : _GEN_938; // @[Store_queue.scala 165:134]
  wire  _GEN_14 = io_cmm_lsu_is_store_commit_0 & ~reset; // @[Store_queue.scala 129:13]
  wire  _GEN_43 = ~io_cmm_lsu_is_store_commit_0 & _T_1; // @[Store_queue.scala 133:13]
  wire  _GEN_45 = ~io_cmm_lsu_is_store_commit_0 & _T_1 & _T_9; // @[Store_queue.scala 133:13]
  assign io_enq_ready = ~full; // @[Store_queue.scala 89:19]
  assign io_deq_valid = ~emty; // @[Store_queue.scala 90:19]
  assign io_deq_bits_fun_lb = io_deq_valid & _GEN_47; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lh = io_deq_valid & _GEN_48; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lw = io_deq_valid & _GEN_49; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_ld = io_deq_valid & _GEN_50; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lbu = io_deq_valid & _GEN_51; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lhu = io_deq_valid & _GEN_52; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lwu = io_deq_valid & _GEN_53; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sb = io_deq_valid & _GEN_54; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sh = io_deq_valid & _GEN_55; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sw = io_deq_valid & _GEN_56; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sd = io_deq_valid & _GEN_57; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lr_w = io_deq_valid & _GEN_61; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sc_w = io_deq_valid & _GEN_62; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoswap_w = io_deq_valid & _GEN_63; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoadd_w = io_deq_valid & _GEN_64; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoxor_w = io_deq_valid & _GEN_65; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoand_w = io_deq_valid & _GEN_66; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoor_w = io_deq_valid & _GEN_67; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomin_w = io_deq_valid & _GEN_68; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomax_w = io_deq_valid & _GEN_69; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amominu_w = io_deq_valid & _GEN_70; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomaxu_w = io_deq_valid & _GEN_71; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_lr_d = io_deq_valid & _GEN_72; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_sc_d = io_deq_valid & _GEN_73; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoswap_d = io_deq_valid & _GEN_74; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoadd_d = io_deq_valid & _GEN_75; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoxor_d = io_deq_valid & _GEN_76; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoand_d = io_deq_valid & _GEN_77; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amoor_d = io_deq_valid & _GEN_78; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomin_d = io_deq_valid & _GEN_79; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomax_d = io_deq_valid & _GEN_80; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amominu_d = io_deq_valid & _GEN_81; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_amomaxu_d = io_deq_valid & _GEN_82; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_flw = io_deq_valid & _GEN_83; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_fsw = io_deq_valid & _GEN_84; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_fld = io_deq_valid & _GEN_85; // @[Store_queue.scala 92:21]
  assign io_deq_bits_fun_fsd = io_deq_valid & _GEN_86; // @[Store_queue.scala 92:21]
  assign io_deq_bits_param_dat_op1 = io_deq_valid ? _GEN_88 : 64'h0; // @[Store_queue.scala 92:21]
  assign io_is_empty = cm_ptr_reg == wr_ptr_reg & emty; // @[Store_queue.scala 141:48]
  assign io_overlapResp_valid = rd_ptr_reg[1] != wr_ptr_reg[1] ? _GEN_804 : _GEN_1072; // @[Store_queue.scala 148:51]
  always @(posedge clock) begin
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lb <= _GEN_270;
      end
    end else begin
      buff_0_fun_lb <= _GEN_270;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lh <= _GEN_272;
      end
    end else begin
      buff_0_fun_lh <= _GEN_272;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lw <= _GEN_274;
      end
    end else begin
      buff_0_fun_lw <= _GEN_274;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_ld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_ld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_ld <= _GEN_276;
      end
    end else begin
      buff_0_fun_ld <= _GEN_276;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lbu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lbu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lbu <= _GEN_278;
      end
    end else begin
      buff_0_fun_lbu <= _GEN_278;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lhu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lhu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lhu <= _GEN_280;
      end
    end else begin
      buff_0_fun_lhu <= _GEN_280;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lwu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lwu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lwu <= _GEN_282;
      end
    end else begin
      buff_0_fun_lwu <= _GEN_282;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sb <= _GEN_284;
      end
    end else begin
      buff_0_fun_sb <= _GEN_284;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sh <= _GEN_286;
      end
    end else begin
      buff_0_fun_sh <= _GEN_286;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sw <= _GEN_288;
      end
    end else begin
      buff_0_fun_sw <= _GEN_288;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sd <= _GEN_290;
      end
    end else begin
      buff_0_fun_sd <= _GEN_290;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lr_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lr_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lr_w <= _GEN_298;
      end
    end else begin
      buff_0_fun_lr_w <= _GEN_298;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sc_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sc_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sc_w <= _GEN_300;
      end
    end else begin
      buff_0_fun_sc_w <= _GEN_300;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoswap_w <= _GEN_302;
      end
    end else begin
      buff_0_fun_amoswap_w <= _GEN_302;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoadd_w <= _GEN_304;
      end
    end else begin
      buff_0_fun_amoadd_w <= _GEN_304;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoxor_w <= _GEN_306;
      end
    end else begin
      buff_0_fun_amoxor_w <= _GEN_306;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoand_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoand_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoand_w <= _GEN_308;
      end
    end else begin
      buff_0_fun_amoand_w <= _GEN_308;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoor_w <= _GEN_310;
      end
    end else begin
      buff_0_fun_amoor_w <= _GEN_310;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomin_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomin_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomin_w <= _GEN_312;
      end
    end else begin
      buff_0_fun_amomin_w <= _GEN_312;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomax_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomax_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomax_w <= _GEN_314;
      end
    end else begin
      buff_0_fun_amomax_w <= _GEN_314;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amominu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amominu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amominu_w <= _GEN_316;
      end
    end else begin
      buff_0_fun_amominu_w <= _GEN_316;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomaxu_w <= _GEN_318;
      end
    end else begin
      buff_0_fun_amomaxu_w <= _GEN_318;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_lr_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_lr_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_lr_d <= _GEN_320;
      end
    end else begin
      buff_0_fun_lr_d <= _GEN_320;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_sc_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_sc_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_sc_d <= _GEN_322;
      end
    end else begin
      buff_0_fun_sc_d <= _GEN_322;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoswap_d <= _GEN_324;
      end
    end else begin
      buff_0_fun_amoswap_d <= _GEN_324;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoadd_d <= _GEN_326;
      end
    end else begin
      buff_0_fun_amoadd_d <= _GEN_326;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoxor_d <= _GEN_328;
      end
    end else begin
      buff_0_fun_amoxor_d <= _GEN_328;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoand_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoand_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoand_d <= _GEN_330;
      end
    end else begin
      buff_0_fun_amoand_d <= _GEN_330;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amoor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amoor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amoor_d <= _GEN_332;
      end
    end else begin
      buff_0_fun_amoor_d <= _GEN_332;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomin_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomin_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomin_d <= _GEN_334;
      end
    end else begin
      buff_0_fun_amomin_d <= _GEN_334;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomax_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomax_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomax_d <= _GEN_336;
      end
    end else begin
      buff_0_fun_amomax_d <= _GEN_336;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amominu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amominu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amominu_d <= _GEN_338;
      end
    end else begin
      buff_0_fun_amominu_d <= _GEN_338;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_amomaxu_d <= _GEN_340;
      end
    end else begin
      buff_0_fun_amomaxu_d <= _GEN_340;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_flw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_flw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_flw <= _GEN_342;
      end
    end else begin
      buff_0_fun_flw <= _GEN_342;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_fsw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_fsw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_fsw <= _GEN_344;
      end
    end else begin
      buff_0_fun_fsw <= _GEN_344;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_fld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_fld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_fld <= _GEN_346;
      end
    end else begin
      buff_0_fun_fld <= _GEN_346;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_fun_fsd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_fun_fsd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_fun_fsd <= _GEN_348;
      end
    end else begin
      buff_0_fun_fsd <= _GEN_348;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_0_param_dat_op1 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (~rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_0_param_dat_op1 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_0_param_dat_op1 <= _GEN_352;
      end
    end else begin
      buff_0_param_dat_op1 <= _GEN_352;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lb <= _GEN_271;
      end
    end else begin
      buff_1_fun_lb <= _GEN_271;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lh <= _GEN_273;
      end
    end else begin
      buff_1_fun_lh <= _GEN_273;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lw <= _GEN_275;
      end
    end else begin
      buff_1_fun_lw <= _GEN_275;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_ld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_ld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_ld <= _GEN_277;
      end
    end else begin
      buff_1_fun_ld <= _GEN_277;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lbu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lbu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lbu <= _GEN_279;
      end
    end else begin
      buff_1_fun_lbu <= _GEN_279;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lhu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lhu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lhu <= _GEN_281;
      end
    end else begin
      buff_1_fun_lhu <= _GEN_281;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lwu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lwu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lwu <= _GEN_283;
      end
    end else begin
      buff_1_fun_lwu <= _GEN_283;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sb <= _GEN_285;
      end
    end else begin
      buff_1_fun_sb <= _GEN_285;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sh <= _GEN_287;
      end
    end else begin
      buff_1_fun_sh <= _GEN_287;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sw <= _GEN_289;
      end
    end else begin
      buff_1_fun_sw <= _GEN_289;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sd <= _GEN_291;
      end
    end else begin
      buff_1_fun_sd <= _GEN_291;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lr_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lr_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lr_w <= _GEN_299;
      end
    end else begin
      buff_1_fun_lr_w <= _GEN_299;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sc_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sc_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sc_w <= _GEN_301;
      end
    end else begin
      buff_1_fun_sc_w <= _GEN_301;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoswap_w <= _GEN_303;
      end
    end else begin
      buff_1_fun_amoswap_w <= _GEN_303;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoadd_w <= _GEN_305;
      end
    end else begin
      buff_1_fun_amoadd_w <= _GEN_305;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoxor_w <= _GEN_307;
      end
    end else begin
      buff_1_fun_amoxor_w <= _GEN_307;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoand_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoand_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoand_w <= _GEN_309;
      end
    end else begin
      buff_1_fun_amoand_w <= _GEN_309;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoor_w <= _GEN_311;
      end
    end else begin
      buff_1_fun_amoor_w <= _GEN_311;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomin_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomin_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomin_w <= _GEN_313;
      end
    end else begin
      buff_1_fun_amomin_w <= _GEN_313;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomax_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomax_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomax_w <= _GEN_315;
      end
    end else begin
      buff_1_fun_amomax_w <= _GEN_315;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amominu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amominu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amominu_w <= _GEN_317;
      end
    end else begin
      buff_1_fun_amominu_w <= _GEN_317;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomaxu_w <= _GEN_319;
      end
    end else begin
      buff_1_fun_amomaxu_w <= _GEN_319;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_lr_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_lr_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_lr_d <= _GEN_321;
      end
    end else begin
      buff_1_fun_lr_d <= _GEN_321;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_sc_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_sc_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_sc_d <= _GEN_323;
      end
    end else begin
      buff_1_fun_sc_d <= _GEN_323;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoswap_d <= _GEN_325;
      end
    end else begin
      buff_1_fun_amoswap_d <= _GEN_325;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoadd_d <= _GEN_327;
      end
    end else begin
      buff_1_fun_amoadd_d <= _GEN_327;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoxor_d <= _GEN_329;
      end
    end else begin
      buff_1_fun_amoxor_d <= _GEN_329;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoand_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoand_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoand_d <= _GEN_331;
      end
    end else begin
      buff_1_fun_amoand_d <= _GEN_331;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amoor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amoor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amoor_d <= _GEN_333;
      end
    end else begin
      buff_1_fun_amoor_d <= _GEN_333;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomin_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomin_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomin_d <= _GEN_335;
      end
    end else begin
      buff_1_fun_amomin_d <= _GEN_335;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomax_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomax_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomax_d <= _GEN_337;
      end
    end else begin
      buff_1_fun_amomax_d <= _GEN_337;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amominu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amominu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amominu_d <= _GEN_339;
      end
    end else begin
      buff_1_fun_amominu_d <= _GEN_339;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_amomaxu_d <= _GEN_341;
      end
    end else begin
      buff_1_fun_amomaxu_d <= _GEN_341;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_flw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_flw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_flw <= _GEN_343;
      end
    end else begin
      buff_1_fun_flw <= _GEN_343;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_fsw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_fsw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_fsw <= _GEN_345;
      end
    end else begin
      buff_1_fun_fsw <= _GEN_345;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_fld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_fld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_fld <= _GEN_347;
      end
    end else begin
      buff_1_fun_fld <= _GEN_347;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_fun_fsd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_fun_fsd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_fun_fsd <= _GEN_349;
      end
    end else begin
      buff_1_fun_fsd <= _GEN_349;
    end
    if (reset) begin // @[Store_queue.scala 54:21]
      buff_1_param_dat_op1 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      if (rd_ptr) begin // @[Store_queue.scala 113:18]
        buff_1_param_dat_op1 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        buff_1_param_dat_op1 <= _GEN_353;
      end
    end else begin
      buff_1_param_dat_op1 <= _GEN_353;
    end
    if (reset) begin // @[Store_queue.scala 56:27]
      cm_ptr_reg <= 2'h0; // @[Store_queue.scala 56:27]
    end else if (io_cmm_lsu_is_store_commit_0) begin // @[Store_queue.scala 127:31]
      cm_ptr_reg <= _wr_ptr_reg_T_1; // @[Store_queue.scala 128:18]
    end else if (_T_1) begin // @[Store_queue.scala 131:44]
      cm_ptr_reg <= _wr_ptr_reg_T_1; // @[Store_queue.scala 132:18]
    end
    if (reset) begin // @[Store_queue.scala 57:27]
      wr_ptr_reg <= 2'h0; // @[Store_queue.scala 57:27]
    end else if (io_flush) begin // @[Store_queue.scala 94:20]
      if (io_cmm_lsu_is_store_commit_0 | _T_1) begin // @[Store_queue.scala 100:59]
        wr_ptr_reg <= _wr_ptr_reg_T_1; // @[Store_queue.scala 100:72]
      end else begin
        wr_ptr_reg <= cm_ptr_reg; // @[Store_queue.scala 101:30]
      end
    end else if (_T_5) begin // @[Store_queue.scala 106:30]
      wr_ptr_reg <= _wr_ptr_reg_T_3; // @[Store_queue.scala 108:16]
    end
    if (reset) begin // @[Store_queue.scala 58:27]
      rd_ptr_reg <= 2'h0; // @[Store_queue.scala 58:27]
    end else if (_T_6) begin // @[Store_queue.scala 111:23]
      rd_ptr_reg <= _rd_ptr_reg_T_1; // @[Store_queue.scala 112:16]
    end
    if (reset) begin // @[Store_queue.scala 69:23]
      is_amo <= 1'h0; // @[Store_queue.scala 69:23]
    end else if (io_flush) begin // @[Store_queue.scala 78:22]
      is_amo <= 1'h0; // @[Store_queue.scala 79:14]
    end else begin
      is_amo <= _GEN_1;
    end
    if (reset) begin // @[Store_queue.scala 76:29]
      is_amo_pre <= 1'h0; // @[Store_queue.scala 76:29]
    end else begin
      is_amo_pre <= io_cmm_lsu_is_amo_pending; // @[Store_queue.scala 76:29]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_cmm_lsu_is_store_commit_0 & ~reset & ~(~is_amo)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:129 assert( ~is_amo )\n"); // @[Store_queue.scala 129:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~is_amo) & (io_cmm_lsu_is_store_commit_0 & ~reset)) begin
          $fatal; // @[Store_queue.scala 129:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_14 & ~(cm_ptr_reg != wr_ptr_reg)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:130 assert( cm_ptr_reg =/= wr_ptr_reg )\n"); // @[Store_queue.scala 130:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(cm_ptr_reg != wr_ptr_reg) & (io_cmm_lsu_is_store_commit_0 & _T_9)) begin
          $fatal; // @[Store_queue.scala 130:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~io_cmm_lsu_is_store_commit_0 & _T_1 & _T_9 & ~(~(io_cmm_lsu_is_store_commit_0 & _T_1))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, is_amo only launch at chn 0!\n\n    at Store_queue.scala:133 assert( ~((is_st_commited(0)) & (is_amo & ~io.is_empty)), \"Assert Failed, is_amo only launch at chn 0!\\n\" )\n"
            ); // @[Store_queue.scala 133:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(io_cmm_lsu_is_store_commit_0 & _T_1)) & (~io_cmm_lsu_is_store_commit_0 & _T_1 & _T_9)) begin
          $fatal; // @[Store_queue.scala 133:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_14) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:134 assert( cm_ptr_reg =/= wr_ptr_reg )\n"); // @[Store_queue.scala 134:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_11 & (_GEN_43 & _T_9)) begin
          $fatal; // @[Store_queue.scala 134:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_30 & _T_9 & ~(rd_ptr >= wr_ptr)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:149 assert( rd_ptr >= wr_ptr )\n"); // @[Store_queue.scala 149:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(rd_ptr >= wr_ptr) & (_T_30 & _T_9)) begin
          $fatal; // @[Store_queue.scala 149:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T_30 & _T_9 & ~(rd_ptr <= wr_ptr)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:162 assert( rd_ptr <= wr_ptr )\n"); // @[Store_queue.scala 162:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(rd_ptr <= wr_ptr) & (~_T_30 & _T_9)) begin
          $fatal; // @[Store_queue.scala 162:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  buff_0_fun_lb = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  buff_0_fun_lh = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  buff_0_fun_lw = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  buff_0_fun_ld = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  buff_0_fun_lbu = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  buff_0_fun_lhu = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  buff_0_fun_lwu = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  buff_0_fun_sb = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  buff_0_fun_sh = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  buff_0_fun_sw = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  buff_0_fun_sd = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  buff_0_fun_lr_w = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  buff_0_fun_sc_w = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  buff_0_fun_amoswap_w = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  buff_0_fun_amoadd_w = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  buff_0_fun_amoxor_w = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  buff_0_fun_amoand_w = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  buff_0_fun_amoor_w = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  buff_0_fun_amomin_w = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  buff_0_fun_amomax_w = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  buff_0_fun_amominu_w = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  buff_0_fun_amomaxu_w = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  buff_0_fun_lr_d = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  buff_0_fun_sc_d = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  buff_0_fun_amoswap_d = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  buff_0_fun_amoadd_d = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  buff_0_fun_amoxor_d = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  buff_0_fun_amoand_d = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  buff_0_fun_amoor_d = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  buff_0_fun_amomin_d = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  buff_0_fun_amomax_d = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  buff_0_fun_amominu_d = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  buff_0_fun_amomaxu_d = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  buff_0_fun_flw = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  buff_0_fun_fsw = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  buff_0_fun_fld = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  buff_0_fun_fsd = _RAND_36[0:0];
  _RAND_37 = {2{`RANDOM}};
  buff_0_param_dat_op1 = _RAND_37[63:0];
  _RAND_38 = {1{`RANDOM}};
  buff_1_fun_lb = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  buff_1_fun_lh = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  buff_1_fun_lw = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  buff_1_fun_ld = _RAND_41[0:0];
  _RAND_42 = {1{`RANDOM}};
  buff_1_fun_lbu = _RAND_42[0:0];
  _RAND_43 = {1{`RANDOM}};
  buff_1_fun_lhu = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  buff_1_fun_lwu = _RAND_44[0:0];
  _RAND_45 = {1{`RANDOM}};
  buff_1_fun_sb = _RAND_45[0:0];
  _RAND_46 = {1{`RANDOM}};
  buff_1_fun_sh = _RAND_46[0:0];
  _RAND_47 = {1{`RANDOM}};
  buff_1_fun_sw = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  buff_1_fun_sd = _RAND_48[0:0];
  _RAND_49 = {1{`RANDOM}};
  buff_1_fun_lr_w = _RAND_49[0:0];
  _RAND_50 = {1{`RANDOM}};
  buff_1_fun_sc_w = _RAND_50[0:0];
  _RAND_51 = {1{`RANDOM}};
  buff_1_fun_amoswap_w = _RAND_51[0:0];
  _RAND_52 = {1{`RANDOM}};
  buff_1_fun_amoadd_w = _RAND_52[0:0];
  _RAND_53 = {1{`RANDOM}};
  buff_1_fun_amoxor_w = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  buff_1_fun_amoand_w = _RAND_54[0:0];
  _RAND_55 = {1{`RANDOM}};
  buff_1_fun_amoor_w = _RAND_55[0:0];
  _RAND_56 = {1{`RANDOM}};
  buff_1_fun_amomin_w = _RAND_56[0:0];
  _RAND_57 = {1{`RANDOM}};
  buff_1_fun_amomax_w = _RAND_57[0:0];
  _RAND_58 = {1{`RANDOM}};
  buff_1_fun_amominu_w = _RAND_58[0:0];
  _RAND_59 = {1{`RANDOM}};
  buff_1_fun_amomaxu_w = _RAND_59[0:0];
  _RAND_60 = {1{`RANDOM}};
  buff_1_fun_lr_d = _RAND_60[0:0];
  _RAND_61 = {1{`RANDOM}};
  buff_1_fun_sc_d = _RAND_61[0:0];
  _RAND_62 = {1{`RANDOM}};
  buff_1_fun_amoswap_d = _RAND_62[0:0];
  _RAND_63 = {1{`RANDOM}};
  buff_1_fun_amoadd_d = _RAND_63[0:0];
  _RAND_64 = {1{`RANDOM}};
  buff_1_fun_amoxor_d = _RAND_64[0:0];
  _RAND_65 = {1{`RANDOM}};
  buff_1_fun_amoand_d = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  buff_1_fun_amoor_d = _RAND_66[0:0];
  _RAND_67 = {1{`RANDOM}};
  buff_1_fun_amomin_d = _RAND_67[0:0];
  _RAND_68 = {1{`RANDOM}};
  buff_1_fun_amomax_d = _RAND_68[0:0];
  _RAND_69 = {1{`RANDOM}};
  buff_1_fun_amominu_d = _RAND_69[0:0];
  _RAND_70 = {1{`RANDOM}};
  buff_1_fun_amomaxu_d = _RAND_70[0:0];
  _RAND_71 = {1{`RANDOM}};
  buff_1_fun_flw = _RAND_71[0:0];
  _RAND_72 = {1{`RANDOM}};
  buff_1_fun_fsw = _RAND_72[0:0];
  _RAND_73 = {1{`RANDOM}};
  buff_1_fun_fld = _RAND_73[0:0];
  _RAND_74 = {1{`RANDOM}};
  buff_1_fun_fsd = _RAND_74[0:0];
  _RAND_75 = {2{`RANDOM}};
  buff_1_param_dat_op1 = _RAND_75[63:0];
  _RAND_76 = {1{`RANDOM}};
  cm_ptr_reg = _RAND_76[1:0];
  _RAND_77 = {1{`RANDOM}};
  wr_ptr_reg = _RAND_77[1:0];
  _RAND_78 = {1{`RANDOM}};
  rd_ptr_reg = _RAND_78[1:0];
  _RAND_79 = {1{`RANDOM}};
  is_amo = _RAND_79[0:0];
  _RAND_80 = {1{`RANDOM}};
  is_amo_pre = _RAND_80[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Arbiter(
  input         io_in_0_valid,
  input         io_in_0_bits_fun_lb,
  input         io_in_0_bits_fun_lh,
  input         io_in_0_bits_fun_lw,
  input         io_in_0_bits_fun_ld,
  input         io_in_0_bits_fun_lbu,
  input         io_in_0_bits_fun_lhu,
  input         io_in_0_bits_fun_lwu,
  input         io_in_0_bits_fun_sb,
  input         io_in_0_bits_fun_sh,
  input         io_in_0_bits_fun_sw,
  input         io_in_0_bits_fun_sd,
  input         io_in_0_bits_fun_lr_w,
  input         io_in_0_bits_fun_sc_w,
  input         io_in_0_bits_fun_amoswap_w,
  input         io_in_0_bits_fun_amoadd_w,
  input         io_in_0_bits_fun_amoxor_w,
  input         io_in_0_bits_fun_amoand_w,
  input         io_in_0_bits_fun_amoor_w,
  input         io_in_0_bits_fun_amomin_w,
  input         io_in_0_bits_fun_amomax_w,
  input         io_in_0_bits_fun_amominu_w,
  input         io_in_0_bits_fun_amomaxu_w,
  input         io_in_0_bits_fun_lr_d,
  input         io_in_0_bits_fun_sc_d,
  input         io_in_0_bits_fun_amoswap_d,
  input         io_in_0_bits_fun_amoadd_d,
  input         io_in_0_bits_fun_amoxor_d,
  input         io_in_0_bits_fun_amoand_d,
  input         io_in_0_bits_fun_amoor_d,
  input         io_in_0_bits_fun_amomin_d,
  input         io_in_0_bits_fun_amomax_d,
  input         io_in_0_bits_fun_amominu_d,
  input         io_in_0_bits_fun_amomaxu_d,
  input         io_in_0_bits_fun_flw,
  input         io_in_0_bits_fun_fsw,
  input         io_in_0_bits_fun_fld,
  input         io_in_0_bits_fun_fsd,
  input  [63:0] io_in_0_bits_param_dat_op1,
  output        io_in_1_ready,
  input         io_in_1_valid,
  input         io_in_1_bits_fun_lb,
  input         io_in_1_bits_fun_lh,
  input         io_in_1_bits_fun_lw,
  input         io_in_1_bits_fun_ld,
  input         io_in_1_bits_fun_lbu,
  input         io_in_1_bits_fun_lhu,
  input         io_in_1_bits_fun_lwu,
  input         io_in_1_bits_fun_sb,
  input         io_in_1_bits_fun_sh,
  input         io_in_1_bits_fun_sw,
  input         io_in_1_bits_fun_sd,
  input         io_in_1_bits_fun_lr_w,
  input         io_in_1_bits_fun_sc_w,
  input         io_in_1_bits_fun_amoswap_w,
  input         io_in_1_bits_fun_amoadd_w,
  input         io_in_1_bits_fun_amoxor_w,
  input         io_in_1_bits_fun_amoand_w,
  input         io_in_1_bits_fun_amoor_w,
  input         io_in_1_bits_fun_amomin_w,
  input         io_in_1_bits_fun_amomax_w,
  input         io_in_1_bits_fun_amominu_w,
  input         io_in_1_bits_fun_amomaxu_w,
  input         io_in_1_bits_fun_lr_d,
  input         io_in_1_bits_fun_sc_d,
  input         io_in_1_bits_fun_amoswap_d,
  input         io_in_1_bits_fun_amoadd_d,
  input         io_in_1_bits_fun_amoxor_d,
  input         io_in_1_bits_fun_amoand_d,
  input         io_in_1_bits_fun_amoor_d,
  input         io_in_1_bits_fun_amomin_d,
  input         io_in_1_bits_fun_amomax_d,
  input         io_in_1_bits_fun_amominu_d,
  input         io_in_1_bits_fun_amomaxu_d,
  input         io_in_1_bits_fun_flw,
  input         io_in_1_bits_fun_fsw,
  input         io_in_1_bits_fun_fld,
  input         io_in_1_bits_fun_fsd,
  input  [63:0] io_in_1_bits_param_dat_op1,
  input         io_out_ready,
  output        io_out_valid,
  output        io_out_bits_fun_lb,
  output        io_out_bits_fun_lh,
  output        io_out_bits_fun_lw,
  output        io_out_bits_fun_ld,
  output        io_out_bits_fun_lbu,
  output        io_out_bits_fun_lhu,
  output        io_out_bits_fun_lwu,
  output        io_out_bits_fun_sb,
  output        io_out_bits_fun_sh,
  output        io_out_bits_fun_sw,
  output        io_out_bits_fun_sd,
  output        io_out_bits_fun_lr_w,
  output        io_out_bits_fun_sc_w,
  output        io_out_bits_fun_amoswap_w,
  output        io_out_bits_fun_amoadd_w,
  output        io_out_bits_fun_amoxor_w,
  output        io_out_bits_fun_amoand_w,
  output        io_out_bits_fun_amoor_w,
  output        io_out_bits_fun_amomin_w,
  output        io_out_bits_fun_amomax_w,
  output        io_out_bits_fun_amominu_w,
  output        io_out_bits_fun_amomaxu_w,
  output        io_out_bits_fun_lr_d,
  output        io_out_bits_fun_sc_d,
  output        io_out_bits_fun_amoswap_d,
  output        io_out_bits_fun_amoadd_d,
  output        io_out_bits_fun_amoxor_d,
  output        io_out_bits_fun_amoand_d,
  output        io_out_bits_fun_amoor_d,
  output        io_out_bits_fun_amomin_d,
  output        io_out_bits_fun_amomax_d,
  output        io_out_bits_fun_amominu_d,
  output        io_out_bits_fun_amomaxu_d,
  output        io_out_bits_fun_flw,
  output        io_out_bits_fun_fsw,
  output        io_out_bits_fun_fld,
  output        io_out_bits_fun_fsd,
  output [63:0] io_out_bits_param_dat_op1
);
  wire  grant_1 = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  assign io_in_1_ready = grant_1 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_out_valid = ~grant_1 | io_in_1_valid; // @[Arbiter.scala 147:31]
  assign io_out_bits_fun_lb = io_in_0_valid ? io_in_0_bits_fun_lb : io_in_1_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lh = io_in_0_valid ? io_in_0_bits_fun_lh : io_in_1_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lw = io_in_0_valid ? io_in_0_bits_fun_lw : io_in_1_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_ld = io_in_0_valid ? io_in_0_bits_fun_ld : io_in_1_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lbu = io_in_0_valid ? io_in_0_bits_fun_lbu : io_in_1_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lhu = io_in_0_valid ? io_in_0_bits_fun_lhu : io_in_1_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lwu = io_in_0_valid ? io_in_0_bits_fun_lwu : io_in_1_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sb = io_in_0_valid ? io_in_0_bits_fun_sb : io_in_1_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sh = io_in_0_valid ? io_in_0_bits_fun_sh : io_in_1_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sw = io_in_0_valid ? io_in_0_bits_fun_sw : io_in_1_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sd = io_in_0_valid ? io_in_0_bits_fun_sd : io_in_1_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lr_w = io_in_0_valid ? io_in_0_bits_fun_lr_w : io_in_1_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sc_w = io_in_0_valid ? io_in_0_bits_fun_sc_w : io_in_1_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoswap_w = io_in_0_valid ? io_in_0_bits_fun_amoswap_w : io_in_1_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoadd_w = io_in_0_valid ? io_in_0_bits_fun_amoadd_w : io_in_1_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoxor_w = io_in_0_valid ? io_in_0_bits_fun_amoxor_w : io_in_1_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoand_w = io_in_0_valid ? io_in_0_bits_fun_amoand_w : io_in_1_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoor_w = io_in_0_valid ? io_in_0_bits_fun_amoor_w : io_in_1_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomin_w = io_in_0_valid ? io_in_0_bits_fun_amomin_w : io_in_1_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomax_w = io_in_0_valid ? io_in_0_bits_fun_amomax_w : io_in_1_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amominu_w = io_in_0_valid ? io_in_0_bits_fun_amominu_w : io_in_1_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomaxu_w = io_in_0_valid ? io_in_0_bits_fun_amomaxu_w : io_in_1_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lr_d = io_in_0_valid ? io_in_0_bits_fun_lr_d : io_in_1_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sc_d = io_in_0_valid ? io_in_0_bits_fun_sc_d : io_in_1_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoswap_d = io_in_0_valid ? io_in_0_bits_fun_amoswap_d : io_in_1_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoadd_d = io_in_0_valid ? io_in_0_bits_fun_amoadd_d : io_in_1_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoxor_d = io_in_0_valid ? io_in_0_bits_fun_amoxor_d : io_in_1_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoand_d = io_in_0_valid ? io_in_0_bits_fun_amoand_d : io_in_1_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoor_d = io_in_0_valid ? io_in_0_bits_fun_amoor_d : io_in_1_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomin_d = io_in_0_valid ? io_in_0_bits_fun_amomin_d : io_in_1_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomax_d = io_in_0_valid ? io_in_0_bits_fun_amomax_d : io_in_1_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amominu_d = io_in_0_valid ? io_in_0_bits_fun_amominu_d : io_in_1_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomaxu_d = io_in_0_valid ? io_in_0_bits_fun_amomaxu_d : io_in_1_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_flw = io_in_0_valid ? io_in_0_bits_fun_flw : io_in_1_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fsw = io_in_0_valid ? io_in_0_bits_fun_fsw : io_in_1_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fld = io_in_0_valid ? io_in_0_bits_fun_fld : io_in_1_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fsd = io_in_0_valid ? io_in_0_bits_fun_fsd : io_in_1_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_param_dat_op1 = io_in_0_valid ? io_in_0_bits_param_dat_op1 : io_in_1_bits_param_dat_op1; // @[Arbiter.scala 136:15 138:26 140:19]
endmodule
module IO_Lsu(
  input        clock,
  input        reset,
  output       io_enq_ready,
  input        io_enq_valid,
  input        io_enq_bits_fun_lb,
  input        io_enq_bits_fun_lh,
  input        io_enq_bits_fun_lw,
  input        io_enq_bits_fun_ld,
  input        io_enq_bits_fun_lbu,
  input        io_enq_bits_fun_lhu,
  input        io_enq_bits_fun_lwu,
  input        io_enq_bits_fun_sb,
  input        io_enq_bits_fun_sh,
  input        io_enq_bits_fun_sw,
  input        io_enq_bits_fun_sd,
  input        io_enq_bits_fun_lr_w,
  input        io_enq_bits_fun_sc_w,
  input        io_enq_bits_fun_lr_d,
  input        io_enq_bits_fun_sc_d,
  input        io_enq_bits_fun_flw,
  input        io_enq_bits_fun_fsw,
  input        io_enq_bits_fun_fld,
  input        io_enq_bits_fun_fsd,
  input        io_deq_ready,
  output       io_deq_valid,
  output       io_deq_bits_is_load_amo,
  output       io_deq_bits_is_flw,
  output       io_deq_bits_is_fld,
  output       io_is_empty,
  input        io_getPut_ready,
  output       io_getPut_valid,
  output       io_access_ready,
  input        io_access_valid,
  input  [2:0] io_access_bits_opcode
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
`endif // RANDOMIZE_REG_INIT
  reg  is_busy; // @[IO_Lsu.scala 45:27]
  reg  isTransing; // @[IO_Lsu.scala 46:27]
  reg  pending_fun_lb; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lh; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lw; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_ld; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lbu; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lhu; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lwu; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sb; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sh; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sw; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sd; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lr_w; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sc_w; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_lr_d; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_sc_d; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_flw; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_fsw; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_fld; // @[IO_Lsu.scala 47:20]
  reg  pending_fun_fsd; // @[IO_Lsu.scala 47:20]
  wire  _io_is_empty_T = ~is_busy; // @[IO_Lsu.scala 49:18]
  wire  _io_getPut_valid_T = ~isTransing; // @[IO_Lsu.scala 51:32]
  wire  _T_8 = pending_fun_lr_d | pending_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  _T_9 = pending_fun_lb | pending_fun_lh | pending_fun_lw | pending_fun_ld | pending_fun_lbu | pending_fun_lhu |
    pending_fun_lwu | pending_fun_flw | pending_fun_fld | _T_8; // @[riscv_isa.scala 143:65]
  wire  _T_12 = _T_9 & ~_T_8; // @[IO_Lsu.scala 55:29]
  wire  _T_17 = pending_fun_sb | pending_fun_sh | pending_fun_sw | pending_fun_sd | pending_fun_fsw | pending_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  _T_18 = pending_fun_sc_d | pending_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  _T_20 = _T_17 & ~_T_18; // @[IO_Lsu.scala 62:38]
  wire  _T_22 = ~reset; // @[IO_Lsu.scala 73:15]
  wire  _T_24 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_33 = io_getPut_ready & io_getPut_valid; // @[Decoupled.scala 52:35]
  wire  _T_34 = io_access_ready & io_access_valid; // @[Decoupled.scala 52:35]
  wire  _T_35 = _T_33 & _T_34; // @[IO_Lsu.scala 89:31]
  wire  _GEN_24 = _T_34 ? 1'h0 : is_busy; // @[IO_Lsu.scala 96:32 98:13 45:27]
  wire  _GEN_25 = _T_34 ? 1'h0 : isTransing; // @[IO_Lsu.scala 96:32 99:16 46:27]
  wire  _GEN_26 = _T_33 | _GEN_25; // @[IO_Lsu.scala 93:33 95:16]
  wire  _GEN_27 = _T_33 ? is_busy : _GEN_24; // @[IO_Lsu.scala 45:27 93:33]
  wire  _GEN_28 = _T_33 & _T_34 ? 1'h0 : _GEN_27; // @[IO_Lsu.scala 89:50 90:13]
  wire  _GEN_74 = _T_24 | _GEN_28; // @[IO_Lsu.scala 84:23 88:13]
  wire  _GEN_8 = _T_24 & _T_22; // @[IO_Lsu.scala 85:11]
  wire  _GEN_10 = ~_T_24; // @[IO_Lsu.scala 92:11]
  wire  _GEN_14 = _GEN_10 & ~_T_35; // @[IO_Lsu.scala 94:11]
  assign io_enq_ready = ~is_busy; // @[IO_Lsu.scala 53:19]
  assign io_deq_valid = io_access_valid; // @[IO_Lsu.scala 102:19]
  assign io_deq_bits_is_load_amo = io_access_bits_opcode == 3'h1; // @[IO_Lsu.scala 121:53]
  assign io_deq_bits_is_flw = io_deq_valid & pending_fun_flw; // @[IO_Lsu.scala 125:28]
  assign io_deq_bits_is_fld = io_deq_valid & pending_fun_fld; // @[IO_Lsu.scala 126:28]
  assign io_is_empty = ~is_busy; // @[IO_Lsu.scala 49:18]
  assign io_getPut_valid = is_busy & ~isTransing; // @[IO_Lsu.scala 51:30]
  assign io_access_ready = io_deq_ready; // @[IO_Lsu.scala 129:19]
  always @(posedge clock) begin
    if (reset) begin // @[IO_Lsu.scala 45:27]
      is_busy <= 1'h0; // @[IO_Lsu.scala 45:27]
    end else begin
      is_busy <= _GEN_74;
    end
    if (reset) begin // @[IO_Lsu.scala 46:27]
      isTransing <= 1'h0; // @[IO_Lsu.scala 46:27]
    end else if (!(_T_24)) begin // @[IO_Lsu.scala 84:23]
      if (_T_33 & _T_34) begin // @[IO_Lsu.scala 89:50]
        isTransing <= 1'h0; // @[IO_Lsu.scala 91:16]
      end else begin
        isTransing <= _GEN_26;
      end
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lb <= io_enq_bits_fun_lb; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lh <= io_enq_bits_fun_lh; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lw <= io_enq_bits_fun_lw; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_ld <= io_enq_bits_fun_ld; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lbu <= io_enq_bits_fun_lbu; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lhu <= io_enq_bits_fun_lhu; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lwu <= io_enq_bits_fun_lwu; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sb <= io_enq_bits_fun_sb; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sh <= io_enq_bits_fun_sh; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sw <= io_enq_bits_fun_sw; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sd <= io_enq_bits_fun_sd; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lr_w <= io_enq_bits_fun_lr_w; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sc_w <= io_enq_bits_fun_sc_w; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_lr_d <= io_enq_bits_fun_lr_d; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_sc_d <= io_enq_bits_fun_sc_d; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_flw <= io_enq_bits_fun_flw; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_fsw <= io_enq_bits_fun_fsw; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_fld <= io_enq_bits_fun_fld; // @[IO_Lsu.scala 87:13]
    end
    if (_T_24) begin // @[IO_Lsu.scala 84:23]
      pending_fun_fsd <= io_enq_bits_fun_fsd; // @[IO_Lsu.scala 87:13]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (is_busy & ~_T_12 & ~_T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IO_Lsu, RISCV-A is not support at IO region\n    at IO_Lsu.scala:73 assert(false.B, \"Assert Failed at IO_Lsu, RISCV-A is not support at IO region\")\n"
            ); // @[IO_Lsu.scala 73:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (is_busy & ~_T_12 & ~_T_20 & ~reset)) begin
          $fatal; // @[IO_Lsu.scala 73:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_24 & _T_22 & ~_io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:85 assert( is_busy === false.B  )\n"); // @[IO_Lsu.scala 85:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_io_is_empty_T & (_T_24 & _T_22)) begin
          $fatal; // @[IO_Lsu.scala 85:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_8 & ~_io_getPut_valid_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:86 assert( isTransing === false.B  )\n"); // @[IO_Lsu.scala 86:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_io_getPut_valid_T & (_T_24 & _T_22)) begin
          $fatal; // @[IO_Lsu.scala 86:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T_24 & _T_35 & _T_22) begin
          $fwrite(32'h80000002,"Warning! Accessing a Non-define Region."); // @[IO_Lsu.scala 92:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_10 & ~_T_35 & _T_33 & _T_22 & _io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:94 assert( is_busy === true.B )\n"); // @[IO_Lsu.scala 94:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_busy & (_GEN_10 & ~_T_35 & _T_33 & _T_22)) begin
          $fatal; // @[IO_Lsu.scala 94:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_14 & ~_T_33 & _T_34 & _T_22 & _io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:97 assert( is_busy === true.B  )\n"); // @[IO_Lsu.scala 97:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_busy & (_GEN_14 & ~_T_33 & _T_34 & _T_22)) begin
          $fatal; // @[IO_Lsu.scala 97:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  is_busy = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  isTransing = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  pending_fun_lb = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  pending_fun_lh = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  pending_fun_lw = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  pending_fun_ld = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  pending_fun_lbu = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  pending_fun_lhu = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  pending_fun_lwu = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  pending_fun_sb = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  pending_fun_sh = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  pending_fun_sw = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  pending_fun_sd = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  pending_fun_lr_w = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  pending_fun_sc_w = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  pending_fun_lr_d = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  pending_fun_sc_d = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  pending_fun_flw = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  pending_fun_fsw = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  pending_fun_fld = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  pending_fun_fsd = _RAND_20[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MissUnit(
  input         clock,
  input         reset,
  input         io_req_valid,
  input  [31:0] io_req_bits_paddr,
  output        io_rsp_valid,
  output [31:0] io_rsp_bits_paddr,
  input         io_cache_acquire_ready,
  output        io_cache_acquire_valid,
  output        io_cache_grant_ready,
  input         io_cache_grant_valid,
  input  [2:0]  io_cache_grant_bits_opcode,
  input  [2:0]  io_cache_grant_bits_size,
  input         io_cache_grant_bits_source,
  input         io_cache_grantAck_ready,
  output        io_cache_grantAck_valid,
  input         io_miss_ban,
  output        io_release_ban
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg [31:0] miss_queue_0_paddr; // @[MissUnit.scala 56:27]
  reg [31:0] miss_queue_1_paddr; // @[MissUnit.scala 56:27]
  reg  miss_valid_0; // @[MissUnit.scala 59:27]
  reg  miss_valid_1; // @[MissUnit.scala 59:27]
  reg [2:0] mshr_state_qout; // @[MissUnit.scala 65:32]
  wire  _T = io_cache_grant_ready & io_cache_grant_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _beats1_decode_T_1 = 11'hf << io_cache_grant_bits_size; // @[package.scala 234:77]
  wire [3:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beats1_decode = _beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = io_cache_grant_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  beats1 = beats1_opdata & beats1_decode; // @[Edges.scala 220:14]
  reg  counter; // @[Edges.scala 228:27]
  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
  wire  first = ~counter; // @[Edges.scala 230:25]
  wire  last = counter | ~beats1; // @[Edges.scala 231:37]
  wire  is_trans_done = last & _T; // @[Edges.scala 232:22]
  wire  acquire_sel_sel = miss_valid_0 ? 1'h0 : 1'h1; // @[MissUnit.scala 75:36]
  wire  _acquire_sel_T = mshr_state_qout == 3'h0; // @[MissUnit.scala 76:26]
  wire  _mshr_state_dnxt_T_6 = (miss_valid_0 | miss_valid_1) & ~io_miss_ban; // @[MissUnit.scala 103:68]
  wire  _mshr_state_dnxt_T_16 = _acquire_sel_T & _mshr_state_dnxt_T_6; // @[Mux.scala 27:73]
  wire  _mshr_state_dnxt_T_8 = mshr_state_qout == 3'h1; // @[MissUnit.scala 104:24]
  wire  _mshr_state_dnxt_T_9 = io_cache_acquire_ready & io_cache_acquire_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _mshr_state_dnxt_T_10 = _mshr_state_dnxt_T_9 ? 2'h2 : 2'h1; // @[MissUnit.scala 104:39]
  wire [1:0] _mshr_state_dnxt_T_17 = _mshr_state_dnxt_T_8 ? _mshr_state_dnxt_T_10 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_2 = {{1'd0}, _mshr_state_dnxt_T_16}; // @[Mux.scala 27:73]
  wire [1:0] _mshr_state_dnxt_T_20 = _GEN_2 | _mshr_state_dnxt_T_17; // @[Mux.scala 27:73]
  wire  _mshr_state_dnxt_T_11 = mshr_state_qout == 3'h2; // @[MissUnit.scala 105:24]
  wire [1:0] _mshr_state_dnxt_T_12 = is_trans_done ? 2'h3 : 2'h2; // @[MissUnit.scala 105:39]
  wire [1:0] _mshr_state_dnxt_T_18 = _mshr_state_dnxt_T_11 ? _mshr_state_dnxt_T_12 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _mshr_state_dnxt_T_21 = _mshr_state_dnxt_T_20 | _mshr_state_dnxt_T_18; // @[Mux.scala 27:73]
  wire  _mshr_state_dnxt_T_13 = mshr_state_qout == 3'h3; // @[MissUnit.scala 106:24]
  wire  _mshr_state_dnxt_T_14 = io_cache_grantAck_ready & io_cache_grantAck_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _mshr_state_dnxt_T_15 = _mshr_state_dnxt_T_14 ? 2'h0 : 2'h3; // @[MissUnit.scala 106:39]
  wire [1:0] _mshr_state_dnxt_T_19 = _mshr_state_dnxt_T_13 ? _mshr_state_dnxt_T_15 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _mshr_state_dnxt_T_22 = _mshr_state_dnxt_T_21 | _mshr_state_dnxt_T_19; // @[Mux.scala 27:73]
  wire [2:0] mshr_state_dnxt = {{1'd0}, _mshr_state_dnxt_T_22}; // @[MissUnit.scala 101:19 64:29]
  wire  _acquire_sel_T_3 = mshr_state_qout == 3'h0 & mshr_state_dnxt == 3'h1; // @[MissUnit.scala 76:79]
  reg  acquire_sel_r; // @[Reg.scala 19:16]
  wire  acquire_sel = mshr_state_qout == 3'h0 ? acquire_sel_sel : acquire_sel_r; // @[MissUnit.scala 76:8]
  reg  cache_acquire_vaild; // @[MissUnit.scala 81:37]
  reg  cache_grantAck_valid; // @[MissUnit.scala 87:37]
  reg  rsp_valid; // @[MissUnit.scala 90:26]
  wire  _T_6 = ~reset; // @[MissUnit.scala 93:9]
  wire  _GEN_10 = _mshr_state_dnxt_T_9 ? 1'h0 : cache_acquire_vaild; // @[MissUnit.scala 111:40 112:25 81:37]
  wire  _GEN_11 = _acquire_sel_T_3 | _GEN_10; // @[MissUnit.scala 109:61 110:25]
  wire  _T_23 = mshr_state_dnxt == 3'h3 & _mshr_state_dnxt_T_11; // @[MissUnit.scala 145:33]
  wire  _T_28 = ~_mshr_state_dnxt_T_13; // @[MissUnit.scala 150:11]
  wire  _GEN_18 = ~acquire_sel ? 1'h0 : miss_valid_0; // @[MissUnit.scala 153:{31,31} 59:27]
  wire  _GEN_19 = acquire_sel ? 1'h0 : miss_valid_1; // @[MissUnit.scala 153:{31,31} 59:27]
  wire  _GEN_20 = _mshr_state_dnxt_T_14 ? 1'h0 : cache_grantAck_valid; // @[MissUnit.scala 151:41 152:26 87:37]
  wire  _GEN_21 = _mshr_state_dnxt_T_14 ? _GEN_18 : miss_valid_0; // @[MissUnit.scala 151:41 59:27]
  wire  _GEN_22 = _mshr_state_dnxt_T_14 ? _GEN_19 : miss_valid_1; // @[MissUnit.scala 151:41 59:27]
  wire  _GEN_23 = io_rsp_valid ? 1'h0 : rsp_valid; // @[MissUnit.scala 147:28 148:15 90:26]
  wire  _GEN_24 = io_rsp_valid | _GEN_20; // @[MissUnit.scala 147:28 149:26]
  wire  _GEN_25 = io_rsp_valid ? miss_valid_0 : _GEN_21; // @[MissUnit.scala 147:28 59:27]
  wire  _GEN_26 = io_rsp_valid ? miss_valid_1 : _GEN_22; // @[MissUnit.scala 147:28 59:27]
  wire  _GEN_27 = mshr_state_dnxt == 3'h3 & _mshr_state_dnxt_T_11 | _GEN_23; // @[MissUnit.scala 145:61 146:15]
  wire  _GEN_29 = mshr_state_dnxt == 3'h3 & _mshr_state_dnxt_T_11 ? miss_valid_0 : _GEN_25; // @[MissUnit.scala 145:61 59:27]
  wire  _GEN_30 = mshr_state_dnxt == 3'h3 & _mshr_state_dnxt_T_11 ? miss_valid_1 : _GEN_26; // @[MissUnit.scala 145:61 59:27]
  wire  is_missQueue_full = miss_valid_0 & miss_valid_1; // @[MissUnit.scala 167:44]
  wire  _load_sel_T = ~miss_valid_0; // @[MissUnit.scala 170:56]
  wire  load_sel = ~miss_valid_0 ? 1'h0 : 1'h1; // @[MissUnit.scala 170:39]
  wire  _is_merge_T_2 = miss_queue_0_paddr == io_req_bits_paddr & miss_valid_0; // @[MissUnit.scala 178:51]
  wire  _is_merge_T_5 = miss_queue_1_paddr == io_req_bits_paddr & miss_valid_1; // @[MissUnit.scala 178:51]
  wire  is_merge = _is_merge_T_2 | _is_merge_T_5; // @[MissUnit.scala 180:13]
  wire  _GEN_33 = ~load_sel | _GEN_29; // @[MissUnit.scala 186:{28,28}]
  wire  _GEN_34 = load_sel | _GEN_30; // @[MissUnit.scala 186:{28,28}]
  wire  _T_48 = _load_sel_T | ~miss_valid_1 | is_merge; // @[MissUnit.scala 194:54]
  wire  _GEN_14 = ~_T_23; // @[MissUnit.scala 150:11]
  assign io_rsp_valid = rsp_valid; // @[MissUnit.scala 99:16]
  assign io_rsp_bits_paddr = acquire_sel ? miss_queue_1_paddr : miss_queue_0_paddr; // @[MissUnit.scala 130:{49,49}]
  assign io_cache_acquire_valid = cache_acquire_vaild; // @[MissUnit.scala 95:26]
  assign io_cache_grant_ready = mshr_state_qout == 3'h2; // @[MissUnit.scala 139:41]
  assign io_cache_grantAck_valid = cache_grantAck_valid; // @[MissUnit.scala 97:27]
  assign io_release_ban = mshr_state_dnxt == 3'h2 | _mshr_state_dnxt_T_11; // @[MissUnit.scala 161:45]
  always @(posedge clock) begin
    if (reset) begin // @[MissUnit.scala 56:27]
      miss_queue_0_paddr <= 32'h0; // @[MissUnit.scala 56:27]
    end else if (io_req_valid) begin // @[MissUnit.scala 183:21]
      if (~is_merge & ~is_missQueue_full) begin // @[MissUnit.scala 184:44]
        if (~load_sel) begin // @[MissUnit.scala 185:28]
          miss_queue_0_paddr <= io_req_bits_paddr; // @[MissUnit.scala 185:28]
        end
      end
    end
    if (reset) begin // @[MissUnit.scala 56:27]
      miss_queue_1_paddr <= 32'h0; // @[MissUnit.scala 56:27]
    end else if (io_req_valid) begin // @[MissUnit.scala 183:21]
      if (~is_merge & ~is_missQueue_full) begin // @[MissUnit.scala 184:44]
        if (load_sel) begin // @[MissUnit.scala 185:28]
          miss_queue_1_paddr <= io_req_bits_paddr; // @[MissUnit.scala 185:28]
        end
      end
    end
    if (reset) begin // @[MissUnit.scala 59:27]
      miss_valid_0 <= 1'h0; // @[MissUnit.scala 59:27]
    end else if (io_req_valid) begin // @[MissUnit.scala 183:21]
      if (~is_merge & ~is_missQueue_full) begin // @[MissUnit.scala 184:44]
        miss_valid_0 <= _GEN_33;
      end else begin
        miss_valid_0 <= _GEN_29;
      end
    end else begin
      miss_valid_0 <= _GEN_29;
    end
    if (reset) begin // @[MissUnit.scala 59:27]
      miss_valid_1 <= 1'h0; // @[MissUnit.scala 59:27]
    end else if (io_req_valid) begin // @[MissUnit.scala 183:21]
      if (~is_merge & ~is_missQueue_full) begin // @[MissUnit.scala 184:44]
        miss_valid_1 <= _GEN_34;
      end else begin
        miss_valid_1 <= _GEN_30;
      end
    end else begin
      miss_valid_1 <= _GEN_30;
    end
    if (reset) begin // @[MissUnit.scala 65:32]
      mshr_state_qout <= 3'h0; // @[MissUnit.scala 65:32]
    end else begin
      mshr_state_qout <= mshr_state_dnxt; // @[MissUnit.scala 65:32]
    end
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        counter <= beats1;
      end else begin
        counter <= counter1;
      end
    end
    if (_acquire_sel_T_3) begin // @[Reg.scala 20:18]
      if (miss_valid_0) begin // @[MissUnit.scala 75:36]
        acquire_sel_r <= 1'h0;
      end else begin
        acquire_sel_r <= 1'h1;
      end
    end
    if (reset) begin // @[MissUnit.scala 81:37]
      cache_acquire_vaild <= 1'h0; // @[MissUnit.scala 81:37]
    end else begin
      cache_acquire_vaild <= _GEN_11;
    end
    if (reset) begin // @[MissUnit.scala 87:37]
      cache_grantAck_valid <= 1'h0; // @[MissUnit.scala 87:37]
    end else if (!(mshr_state_dnxt == 3'h3 & _mshr_state_dnxt_T_11)) begin // @[MissUnit.scala 145:61]
      cache_grantAck_valid <= _GEN_24;
    end
    if (reset) begin // @[MissUnit.scala 90:26]
      rsp_valid <= 1'h0; // @[MissUnit.scala 90:26]
    end else begin
      rsp_valid <= _GEN_27;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(_T & io_cache_grant_bits_source))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at missUnit, source-id of grant mis-match\n    at MissUnit.scala:93 assert( ~(io.cache_grant.fire & io.cache_grant.bits.source =/= id.U), \"Assert Failed at missUnit, source-id of grant mis-match\"  )\n"
            ); // @[MissUnit.scala 93:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T & io_cache_grant_bits_source)) & ~reset) begin
          $fatal; // @[MissUnit.scala 93:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_acquire_sel_T_3 & _mshr_state_dnxt_T_9 & _T_6 & ~_mshr_state_dnxt_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:113 assert(mshr_state_qout === 1.U)\n"); // @[MissUnit.scala 113:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mshr_state_dnxt_T_8 & (~_acquire_sel_T_3 & _mshr_state_dnxt_T_9 & _T_6)) begin
          $fatal; // @[MissUnit.scala 113:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T & _T_6 & ~_mshr_state_dnxt_T_11) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:142 assert( mshr_state_qout === 2.U )\n"); // @[MissUnit.scala 142:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mshr_state_dnxt_T_11 & (_T & _T_6)) begin
          $fatal; // @[MissUnit.scala 142:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T_23 & io_rsp_valid & _T_6 & ~_mshr_state_dnxt_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:150 assert(mshr_state_qout === 3.U)\n"); // @[MissUnit.scala 150:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mshr_state_dnxt_T_13 & (~_T_23 & io_rsp_valid & _T_6)) begin
          $fatal; // @[MissUnit.scala 150:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_14 & ~io_rsp_valid & _mshr_state_dnxt_T_14 & _T_6 & _T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:154 assert(mshr_state_qout === 3.U)\n"); // @[MissUnit.scala 154:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mshr_state_dnxt_T_13 & (_GEN_14 & ~io_rsp_valid & _mshr_state_dnxt_T_14 & _T_6)) begin
          $fatal; // @[MissUnit.scala 154:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_req_valid & _T_6 & ~_T_48) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at MissUnit, the Miss-Entry is equal to SB-Entry, which hints that missUnit never full!\n    at MissUnit.scala:193 assert(\n"
            ); // @[MissUnit.scala 193:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_48 & (io_req_valid & _T_6)) begin
          $fatal; // @[MissUnit.scala 193:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  miss_queue_0_paddr = _RAND_0[31:0];
  _RAND_1 = {1{`RANDOM}};
  miss_queue_1_paddr = _RAND_1[31:0];
  _RAND_2 = {1{`RANDOM}};
  miss_valid_0 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  miss_valid_1 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  mshr_state_qout = _RAND_4[2:0];
  _RAND_5 = {1{`RANDOM}};
  counter = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  acquire_sel_r = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  cache_acquire_vaild = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  cache_grantAck_valid = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  rsp_valid = _RAND_9[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_11(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [31:0] io_enq_bits,
  input         io_deq_ready,
  output        io_deq_valid,
  output [31:0] io_deq_bits
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
`endif // RANDOMIZE_REG_INIT
  reg [31:0] ram [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_MPORT_en; // @[Decoupled.scala 275:95]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_io_deq_bits_MPORT_en = 1'h1;
  assign ram_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_io_deq_bits_MPORT_data = ram[ram_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_MPORT_data = io_enq_bits;
  assign ram_MPORT_addr = 1'h0;
  assign ram_MPORT_mask = 1'h1;
  assign ram_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits = ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_MPORT_en & ram_MPORT_mask) begin
      ram[ram_MPORT_addr] <= ram_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram[initvar] = _RAND_0[31:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  maybe_full = _RAND_1[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module ProbeUnit(
  input         clock,
  input         reset,
  input         io_cache_probe_valid,
  input  [31:0] io_cache_probe_bits_address,
  input         io_req_ready,
  output        io_req_valid,
  output [31:0] io_req_bits_paddr,
  input         io_probeBan
);
  wire  probe_fifo_clock; // @[ProbeUnit.scala 47:26]
  wire  probe_fifo_reset; // @[ProbeUnit.scala 47:26]
  wire  probe_fifo_io_enq_ready; // @[ProbeUnit.scala 47:26]
  wire  probe_fifo_io_enq_valid; // @[ProbeUnit.scala 47:26]
  wire [31:0] probe_fifo_io_enq_bits; // @[ProbeUnit.scala 47:26]
  wire  probe_fifo_io_deq_ready; // @[ProbeUnit.scala 47:26]
  wire  probe_fifo_io_deq_valid; // @[ProbeUnit.scala 47:26]
  wire [31:0] probe_fifo_io_deq_bits; // @[ProbeUnit.scala 47:26]
  wire  _io_req_valid_T = ~io_probeBan; // @[ProbeUnit.scala 54:45]
  Queue_11 probe_fifo ( // @[ProbeUnit.scala 47:26]
    .clock(probe_fifo_clock),
    .reset(probe_fifo_reset),
    .io_enq_ready(probe_fifo_io_enq_ready),
    .io_enq_valid(probe_fifo_io_enq_valid),
    .io_enq_bits(probe_fifo_io_enq_bits),
    .io_deq_ready(probe_fifo_io_deq_ready),
    .io_deq_valid(probe_fifo_io_deq_valid),
    .io_deq_bits(probe_fifo_io_deq_bits)
  );
  assign io_req_valid = probe_fifo_io_deq_valid & ~io_probeBan; // @[ProbeUnit.scala 54:43]
  assign io_req_bits_paddr = probe_fifo_io_deq_bits; // @[ProbeUnit.scala 56:21]
  assign probe_fifo_clock = clock;
  assign probe_fifo_reset = reset;
  assign probe_fifo_io_enq_valid = io_cache_probe_valid; // @[ProbeUnit.scala 50:27]
  assign probe_fifo_io_enq_bits = io_cache_probe_bits_address; // @[ProbeUnit.scala 51:26]
  assign probe_fifo_io_deq_ready = io_req_ready & _io_req_valid_T; // @[ProbeUnit.scala 55:43]
endmodule
module Queue_12(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_enq_bits_is_releaseData,
  input   io_enq_bits_is_release,
  input   io_enq_bits_is_probe,
  input   io_enq_bits_is_probeData,
  input   io_deq_ready,
  output  io_deq_valid,
  output  io_deq_bits_is_releaseData,
  output  io_deq_bits_is_release,
  output  io_deq_bits_is_probe,
  output  io_deq_bits_is_probeData
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  reg  ram_is_releaseData [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_releaseData_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_release [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_release_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_release_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_release_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_release_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_release_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_release_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_release_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_probe [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_probe_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_probeData [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_probeData_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_17 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_17 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign ram_is_releaseData_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_releaseData_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_releaseData_io_deq_bits_MPORT_data = ram_is_releaseData[ram_is_releaseData_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_releaseData_MPORT_data = io_enq_bits_is_releaseData;
  assign ram_is_releaseData_MPORT_addr = enq_ptr_value;
  assign ram_is_releaseData_MPORT_mask = 1'h1;
  assign ram_is_releaseData_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_release_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_release_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_release_io_deq_bits_MPORT_data = ram_is_release[ram_is_release_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_release_MPORT_data = io_enq_bits_is_release;
  assign ram_is_release_MPORT_addr = enq_ptr_value;
  assign ram_is_release_MPORT_mask = 1'h1;
  assign ram_is_release_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_probe_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_probe_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_probe_io_deq_bits_MPORT_data = ram_is_probe[ram_is_probe_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_probe_MPORT_data = io_enq_bits_is_probe;
  assign ram_is_probe_MPORT_addr = enq_ptr_value;
  assign ram_is_probe_MPORT_mask = 1'h1;
  assign ram_is_probe_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_probeData_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_probeData_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_probeData_io_deq_bits_MPORT_data = ram_is_probeData[ram_is_probeData_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_probeData_MPORT_data = io_enq_bits_is_probeData;
  assign ram_is_probeData_MPORT_addr = enq_ptr_value;
  assign ram_is_probeData_MPORT_mask = 1'h1;
  assign ram_is_probeData_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  assign io_deq_bits_is_releaseData = empty ? io_enq_bits_is_releaseData : ram_is_releaseData_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_release = empty ? io_enq_bits_is_release : ram_is_release_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_probe = empty ? io_enq_bits_is_probe : ram_is_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_probeData = empty ? io_enq_bits_is_probeData : ram_is_probeData_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  always @(posedge clock) begin
    if (ram_is_releaseData_MPORT_en & ram_is_releaseData_MPORT_mask) begin
      ram_is_releaseData[ram_is_releaseData_MPORT_addr] <= ram_is_releaseData_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_release_MPORT_en & ram_is_release_MPORT_mask) begin
      ram_is_release[ram_is_release_MPORT_addr] <= ram_is_release_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_probe_MPORT_en & ram_is_probe_MPORT_mask) begin
      ram_is_probe[ram_is_probe_MPORT_addr] <= ram_is_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_probeData_MPORT_en & ram_is_probeData_MPORT_mask) begin
      ram_is_probeData[ram_is_probeData_MPORT_addr] <= ram_is_probeData_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_releaseData[initvar] = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_release[initvar] = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_probe[initvar] = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_probeData[initvar] = _RAND_3[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  enq_ptr_value = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  deq_ptr_value = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  maybe_full = _RAND_6[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module WriteBackUnit(
  input        clock,
  input        reset,
  input        io_wb_req_valid,
  input        io_wb_req_bits_is_releaseData,
  input        io_wb_req_bits_is_release,
  input        io_wb_req_bits_is_probe,
  input        io_wb_req_bits_is_probeData,
  input        io_cache_release_ready,
  output       io_cache_release_valid,
  output [2:0] io_cache_release_bits_opcode,
  output [2:0] io_cache_release_bits_size,
  output       io_cache_grant_ready,
  input        io_cache_grant_valid,
  input        io_cache_grant_bits_source,
  input        io_release_ban,
  output       io_miss_ban
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  wire  wb_fifo_clock; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_reset; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_ready; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_valid; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_bits_is_releaseData; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_bits_is_release; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_bits_is_probe; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_enq_bits_is_probeData; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_ready; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_valid; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_bits_is_releaseData; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_bits_is_release; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_bits_is_probe; // @[wrtieBackUnit.scala 61:23]
  wire  wb_fifo_io_deq_bits_is_probeData; // @[wrtieBackUnit.scala 61:23]
  reg [1:0] wb_state_qout; // @[wrtieBackUnit.scala 70:30]
  wire  _is_release_done_T = io_cache_release_ready & io_cache_release_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _is_release_done_beats1_decode_T_1 = 11'hf << io_cache_release_bits_size; // @[package.scala 234:77]
  wire [3:0] _is_release_done_beats1_decode_T_3 = ~_is_release_done_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  is_release_done_beats1_decode = _is_release_done_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  is_release_done_beats1_opdata = io_cache_release_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  is_release_done_beats1 = is_release_done_beats1_opdata & is_release_done_beats1_decode; // @[Edges.scala 220:14]
  reg  is_release_done_counter; // @[Edges.scala 228:27]
  wire  is_release_done_counter1 = is_release_done_counter - 1'h1; // @[Edges.scala 229:28]
  wire  is_release_done_first = ~is_release_done_counter; // @[Edges.scala 230:25]
  wire  is_release_done_last = is_release_done_counter | ~is_release_done_beats1; // @[Edges.scala 231:37]
  wire  is_release_done = is_release_done_last & _is_release_done_T; // @[Edges.scala 232:22]
  reg  cache_release_valid; // @[wrtieBackUnit.scala 76:36]
  reg  cache_grant_ready; // @[wrtieBackUnit.scala 79:36]
  wire  _wb_state_dnxt_T = wb_state_qout == 2'h0; // @[wrtieBackUnit.scala 87:22]
  wire  _wb_state_dnxt_T_4 = wb_fifo_io_deq_bits_is_probe | wb_fifo_io_deq_bits_is_probeData; // @[wrtieBackUnit.scala 90:42]
  wire  _wb_state_dnxt_T_5 = ~io_release_ban & (wb_fifo_io_deq_bits_is_release | wb_fifo_io_deq_bits_is_releaseData) |
    _wb_state_dnxt_T_4; // @[wrtieBackUnit.scala 89:103]
  wire  _wb_state_dnxt_T_6 = wb_fifo_io_deq_valid & _wb_state_dnxt_T_5; // @[wrtieBackUnit.scala 88:30]
  wire  _wb_state_dnxt_T_8 = wb_state_qout == 2'h1; // @[wrtieBackUnit.scala 93:22]
  wire [1:0] _wb_state_dnxt_T_11 = wb_fifo_io_deq_bits_is_probeData | wb_fifo_io_deq_bits_is_probe ? 2'h0 : 2'h2; // @[wrtieBackUnit.scala 95:14]
  wire [1:0] _wb_state_dnxt_T_12 = ~is_release_done ? 2'h1 : _wb_state_dnxt_T_11; // @[wrtieBackUnit.scala 94:12]
  wire  _wb_state_dnxt_T_13 = wb_state_qout == 2'h2; // @[wrtieBackUnit.scala 96:22]
  wire  _wb_state_dnxt_T_14 = io_cache_grant_ready & io_cache_grant_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _wb_state_dnxt_T_15 = _wb_state_dnxt_T_14 ? 2'h0 : 2'h2; // @[wrtieBackUnit.scala 96:37]
  wire  _wb_state_dnxt_T_16 = _wb_state_dnxt_T & _wb_state_dnxt_T_6; // @[Mux.scala 27:73]
  wire [1:0] _wb_state_dnxt_T_17 = _wb_state_dnxt_T_8 ? _wb_state_dnxt_T_12 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _wb_state_dnxt_T_18 = _wb_state_dnxt_T_13 ? _wb_state_dnxt_T_15 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_1 = {{1'd0}, _wb_state_dnxt_T_16}; // @[Mux.scala 27:73]
  wire [1:0] _wb_state_dnxt_T_19 = _GEN_1 | _wb_state_dnxt_T_17; // @[Mux.scala 27:73]
  wire [1:0] wb_state_dnxt = _wb_state_dnxt_T_19 | _wb_state_dnxt_T_18; // @[Mux.scala 27:73]
  wire  _GEN_3 = ~io_cache_release_valid | cache_release_valid; // @[wrtieBackUnit.scala 106:{42,64} 76:36]
  wire [2:0] _io_cache_release_bits_T_28 = wb_fifo_io_deq_bits_is_probe ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_29 = wb_fifo_io_deq_bits_is_probeData ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_30 = wb_fifo_io_deq_bits_is_release ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_31 = wb_fifo_io_deq_bits_is_releaseData ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_32 = _io_cache_release_bits_T_28 | _io_cache_release_bits_T_29; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_33 = _io_cache_release_bits_T_32 | _io_cache_release_bits_T_30; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_43 = wb_fifo_io_deq_bits_is_probeData ? 3'h5 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_44 = wb_fifo_io_deq_bits_is_release ? 3'h6 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_45 = wb_fifo_io_deq_bits_is_releaseData ? 3'h7 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_46 = _io_cache_release_bits_T_28 | _io_cache_release_bits_T_43; // @[Mux.scala 27:73]
  wire [2:0] _io_cache_release_bits_T_47 = _io_cache_release_bits_T_46 | _io_cache_release_bits_T_44; // @[Mux.scala 27:73]
  wire  _T_8 = io_cache_grant_valid & ~io_cache_grant_ready; // @[wrtieBackUnit.scala 160:30]
  wire  _T_11 = ~reset; // @[wrtieBackUnit.scala 162:11]
  wire  _T_12 = ~_wb_state_dnxt_T_13; // @[wrtieBackUnit.scala 162:11]
  wire  _GEN_6 = io_cache_grant_ready ? 1'h0 : cache_grant_ready; // @[wrtieBackUnit.scala 163:39 164:23 79:36]
  wire  _GEN_7 = io_cache_grant_valid & ~io_cache_grant_ready | _GEN_6; // @[wrtieBackUnit.scala 160:56 161:23]
  wire  _T_24 = ~wb_fifo_io_enq_ready; // @[wrtieBackUnit.scala 175:9]
  Queue_12 wb_fifo ( // @[wrtieBackUnit.scala 61:23]
    .clock(wb_fifo_clock),
    .reset(wb_fifo_reset),
    .io_enq_ready(wb_fifo_io_enq_ready),
    .io_enq_valid(wb_fifo_io_enq_valid),
    .io_enq_bits_is_releaseData(wb_fifo_io_enq_bits_is_releaseData),
    .io_enq_bits_is_release(wb_fifo_io_enq_bits_is_release),
    .io_enq_bits_is_probe(wb_fifo_io_enq_bits_is_probe),
    .io_enq_bits_is_probeData(wb_fifo_io_enq_bits_is_probeData),
    .io_deq_ready(wb_fifo_io_deq_ready),
    .io_deq_valid(wb_fifo_io_deq_valid),
    .io_deq_bits_is_releaseData(wb_fifo_io_deq_bits_is_releaseData),
    .io_deq_bits_is_release(wb_fifo_io_deq_bits_is_release),
    .io_deq_bits_is_probe(wb_fifo_io_deq_bits_is_probe),
    .io_deq_bits_is_probeData(wb_fifo_io_deq_bits_is_probeData)
  );
  assign io_cache_release_valid = cache_release_valid; // @[wrtieBackUnit.scala 81:26]
  assign io_cache_release_bits_opcode = _io_cache_release_bits_T_47 | _io_cache_release_bits_T_45; // @[Mux.scala 27:73]
  assign io_cache_release_bits_size = _io_cache_release_bits_T_33 | _io_cache_release_bits_T_31; // @[Mux.scala 27:73]
  assign io_cache_grant_ready = cache_grant_ready; // @[wrtieBackUnit.scala 82:26]
  assign io_miss_ban = _wb_state_dnxt_T_8 | _wb_state_dnxt_T_13 | wb_fifo_io_deq_valid; // @[wrtieBackUnit.scala 171:64]
  assign wb_fifo_clock = clock;
  assign wb_fifo_reset = reset;
  assign wb_fifo_io_enq_valid = io_wb_req_valid; // @[wrtieBackUnit.scala 63:24]
  assign wb_fifo_io_enq_bits_is_releaseData = io_wb_req_bits_is_releaseData; // @[wrtieBackUnit.scala 64:24]
  assign wb_fifo_io_enq_bits_is_release = io_wb_req_bits_is_release; // @[wrtieBackUnit.scala 64:24]
  assign wb_fifo_io_enq_bits_is_probe = io_wb_req_bits_is_probe; // @[wrtieBackUnit.scala 64:24]
  assign wb_fifo_io_enq_bits_is_probeData = io_wb_req_bits_is_probeData; // @[wrtieBackUnit.scala 64:24]
  assign wb_fifo_io_deq_ready = wb_state_qout != 2'h0 & wb_state_dnxt == 2'h0; // @[wrtieBackUnit.scala 169:27]
  always @(posedge clock) begin
    if (reset) begin // @[wrtieBackUnit.scala 70:30]
      wb_state_qout <= 2'h0; // @[wrtieBackUnit.scala 70:30]
    end else begin
      wb_state_qout <= wb_state_dnxt; // @[wrtieBackUnit.scala 70:30]
    end
    if (reset) begin // @[Edges.scala 228:27]
      is_release_done_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_is_release_done_T) begin // @[Edges.scala 234:17]
      if (is_release_done_first) begin // @[Edges.scala 235:21]
        is_release_done_counter <= is_release_done_beats1;
      end else begin
        is_release_done_counter <= is_release_done_counter1;
      end
    end
    if (reset) begin // @[wrtieBackUnit.scala 76:36]
      cache_release_valid <= 1'h0; // @[wrtieBackUnit.scala 76:36]
    end else if (_wb_state_dnxt_T_8) begin // @[wrtieBackUnit.scala 104:33]
      if (_is_release_done_T) begin // @[wrtieBackUnit.scala 105:35]
        cache_release_valid <= 1'h0; // @[wrtieBackUnit.scala 105:57]
      end else begin
        cache_release_valid <= _GEN_3;
      end
    end
    if (reset) begin // @[wrtieBackUnit.scala 79:36]
      cache_grant_ready <= 1'h0; // @[wrtieBackUnit.scala 79:36]
    end else begin
      cache_grant_ready <= _GEN_7;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_8 & ~reset & ~_wb_state_dnxt_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at wrtieBackUnit.scala:162 assert( wb_state_qout === 2.U )\n"); // @[wrtieBackUnit.scala 162:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_wb_state_dnxt_T_13 & (_T_8 & ~reset)) begin
          $fatal; // @[wrtieBackUnit.scala 162:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T_8 & io_cache_grant_ready & _T_11 & _T_12) begin
          $fwrite(32'h80000002,"Assertion failed\n    at wrtieBackUnit.scala:165 assert( wb_state_qout === 2.U )\n"); // @[wrtieBackUnit.scala 165:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_wb_state_dnxt_T_13 & (~_T_8 & io_cache_grant_ready & _T_11)) begin
          $fatal; // @[wrtieBackUnit.scala 165:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_11 & ~(~(_wb_state_dnxt_T_14 & io_cache_grant_bits_source))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at writeBack-Unit, grant-id mis-match\n    at wrtieBackUnit.scala:167 assert( ~(io.cache_grant.fire & io.cache_grant.bits.source =/= id.U), \"Assert Failed at writeBack-Unit, grant-id mis-match\" )\n"
            ); // @[wrtieBackUnit.scala 167:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_wb_state_dnxt_T_14 & io_cache_grant_bits_source)) & _T_11) begin
          $fatal; // @[wrtieBackUnit.scala 167:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_24 & _T_11 & ~(~io_wb_req_valid)) begin
          $fwrite(32'h80000002,
            "Assertion failed: When WriteBack Unit is busy, no new acquire will be emitted, and there is no wb request!\n    at wrtieBackUnit.scala:176 assert(~io.wb_req.valid, \"When WriteBack Unit is busy, no new acquire will be emitted, and there is no wb request!\")\n"
            ); // @[wrtieBackUnit.scala 176:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_wb_req_valid) & (_T_24 & _T_11)) begin
          $fatal; // @[wrtieBackUnit.scala 176:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  wb_state_qout = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  is_release_done_counter = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  cache_release_valid = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  cache_grant_ready = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_13(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input         io_enq_bits_chkIdx,
  input  [31:0] io_enq_bits_paddr,
  input         io_enq_bits_fun_lb,
  input         io_enq_bits_fun_lh,
  input         io_enq_bits_fun_lw,
  input         io_enq_bits_fun_ld,
  input         io_enq_bits_fun_lbu,
  input         io_enq_bits_fun_lhu,
  input         io_enq_bits_fun_lwu,
  input         io_enq_bits_fun_sb,
  input         io_enq_bits_fun_sh,
  input         io_enq_bits_fun_sw,
  input         io_enq_bits_fun_sd,
  input         io_enq_bits_fun_lr_w,
  input         io_enq_bits_fun_sc_w,
  input         io_enq_bits_fun_amoswap_w,
  input         io_enq_bits_fun_amoadd_w,
  input         io_enq_bits_fun_amoxor_w,
  input         io_enq_bits_fun_amoand_w,
  input         io_enq_bits_fun_amoor_w,
  input         io_enq_bits_fun_amomin_w,
  input         io_enq_bits_fun_amomax_w,
  input         io_enq_bits_fun_amominu_w,
  input         io_enq_bits_fun_amomaxu_w,
  input         io_enq_bits_fun_lr_d,
  input         io_enq_bits_fun_sc_d,
  input         io_enq_bits_fun_amoswap_d,
  input         io_enq_bits_fun_amoadd_d,
  input         io_enq_bits_fun_amoxor_d,
  input         io_enq_bits_fun_amoand_d,
  input         io_enq_bits_fun_amoor_d,
  input         io_enq_bits_fun_amomin_d,
  input         io_enq_bits_fun_amomax_d,
  input         io_enq_bits_fun_amominu_d,
  input         io_enq_bits_fun_amomaxu_d,
  input         io_enq_bits_fun_flw,
  input         io_enq_bits_fun_fsw,
  input         io_enq_bits_fun_fld,
  input         io_enq_bits_fun_fsd,
  input         io_enq_bits_fun_probe,
  input         io_enq_bits_fun_grant,
  input         io_enq_bits_fun_preft,
  input         io_deq_ready,
  output        io_deq_valid,
  output        io_deq_bits_chkIdx,
  output [31:0] io_deq_bits_paddr,
  output        io_deq_bits_fun_lb,
  output        io_deq_bits_fun_lh,
  output        io_deq_bits_fun_lw,
  output        io_deq_bits_fun_ld,
  output        io_deq_bits_fun_lbu,
  output        io_deq_bits_fun_lhu,
  output        io_deq_bits_fun_lwu,
  output        io_deq_bits_fun_sb,
  output        io_deq_bits_fun_sh,
  output        io_deq_bits_fun_sw,
  output        io_deq_bits_fun_sd,
  output        io_deq_bits_fun_lr_w,
  output        io_deq_bits_fun_sc_w,
  output        io_deq_bits_fun_amoswap_w,
  output        io_deq_bits_fun_amoadd_w,
  output        io_deq_bits_fun_amoxor_w,
  output        io_deq_bits_fun_amoand_w,
  output        io_deq_bits_fun_amoor_w,
  output        io_deq_bits_fun_amomin_w,
  output        io_deq_bits_fun_amomax_w,
  output        io_deq_bits_fun_amominu_w,
  output        io_deq_bits_fun_amomaxu_w,
  output        io_deq_bits_fun_lr_d,
  output        io_deq_bits_fun_sc_d,
  output        io_deq_bits_fun_amoswap_d,
  output        io_deq_bits_fun_amoadd_d,
  output        io_deq_bits_fun_amoxor_d,
  output        io_deq_bits_fun_amoand_d,
  output        io_deq_bits_fun_amoor_d,
  output        io_deq_bits_fun_amomin_d,
  output        io_deq_bits_fun_amomax_d,
  output        io_deq_bits_fun_amominu_d,
  output        io_deq_bits_fun_amomaxu_d,
  output        io_deq_bits_fun_flw,
  output        io_deq_bits_fun_fsw,
  output        io_deq_bits_fun_fld,
  output        io_deq_bits_fun_fsd,
  output        io_deq_bits_fun_probe,
  output        io_deq_bits_fun_grant,
  output        io_deq_bits_fun_preft
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
`endif // RANDOMIZE_REG_INIT
  reg  ram_chkIdx [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_paddr [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_paddr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_paddr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lb [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lh [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lw [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_ld [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lbu [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lhu [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lwu [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sb [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sh [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sw [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sd [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lr_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sc_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoswap_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoadd_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoxor_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoand_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoor_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomin_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomax_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amominu_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomaxu_w [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lr_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sc_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoswap_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoadd_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoxor_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoand_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoor_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomin_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomax_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amominu_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomaxu_d [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_flw [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fsw [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fld [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fsd [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_probe [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_grant [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_preft [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_59 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_59 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign ram_chkIdx_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_chkIdx_io_deq_bits_MPORT_data = ram_chkIdx[ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_chkIdx_MPORT_data = io_enq_bits_chkIdx;
  assign ram_chkIdx_MPORT_addr = enq_ptr_value;
  assign ram_chkIdx_MPORT_mask = 1'h1;
  assign ram_chkIdx_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_paddr_io_deq_bits_MPORT_en = 1'h1;
  assign ram_paddr_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_paddr_io_deq_bits_MPORT_data = ram_paddr[ram_paddr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_paddr_MPORT_data = io_enq_bits_paddr;
  assign ram_paddr_MPORT_addr = enq_ptr_value;
  assign ram_paddr_MPORT_mask = 1'h1;
  assign ram_paddr_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lb_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lb_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lb_io_deq_bits_MPORT_data = ram_fun_lb[ram_fun_lb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lb_MPORT_data = io_enq_bits_fun_lb;
  assign ram_fun_lb_MPORT_addr = enq_ptr_value;
  assign ram_fun_lb_MPORT_mask = 1'h1;
  assign ram_fun_lb_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lh_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lh_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lh_io_deq_bits_MPORT_data = ram_fun_lh[ram_fun_lh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lh_MPORT_data = io_enq_bits_fun_lh;
  assign ram_fun_lh_MPORT_addr = enq_ptr_value;
  assign ram_fun_lh_MPORT_mask = 1'h1;
  assign ram_fun_lh_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lw_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lw_io_deq_bits_MPORT_data = ram_fun_lw[ram_fun_lw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lw_MPORT_data = io_enq_bits_fun_lw;
  assign ram_fun_lw_MPORT_addr = enq_ptr_value;
  assign ram_fun_lw_MPORT_mask = 1'h1;
  assign ram_fun_lw_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_ld_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_ld_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_ld_io_deq_bits_MPORT_data = ram_fun_ld[ram_fun_ld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_ld_MPORT_data = io_enq_bits_fun_ld;
  assign ram_fun_ld_MPORT_addr = enq_ptr_value;
  assign ram_fun_ld_MPORT_mask = 1'h1;
  assign ram_fun_ld_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lbu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lbu_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lbu_io_deq_bits_MPORT_data = ram_fun_lbu[ram_fun_lbu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lbu_MPORT_data = io_enq_bits_fun_lbu;
  assign ram_fun_lbu_MPORT_addr = enq_ptr_value;
  assign ram_fun_lbu_MPORT_mask = 1'h1;
  assign ram_fun_lbu_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lhu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lhu_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lhu_io_deq_bits_MPORT_data = ram_fun_lhu[ram_fun_lhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lhu_MPORT_data = io_enq_bits_fun_lhu;
  assign ram_fun_lhu_MPORT_addr = enq_ptr_value;
  assign ram_fun_lhu_MPORT_mask = 1'h1;
  assign ram_fun_lhu_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lwu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lwu_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lwu_io_deq_bits_MPORT_data = ram_fun_lwu[ram_fun_lwu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lwu_MPORT_data = io_enq_bits_fun_lwu;
  assign ram_fun_lwu_MPORT_addr = enq_ptr_value;
  assign ram_fun_lwu_MPORT_mask = 1'h1;
  assign ram_fun_lwu_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sb_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sb_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sb_io_deq_bits_MPORT_data = ram_fun_sb[ram_fun_sb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sb_MPORT_data = io_enq_bits_fun_sb;
  assign ram_fun_sb_MPORT_addr = enq_ptr_value;
  assign ram_fun_sb_MPORT_mask = 1'h1;
  assign ram_fun_sb_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sh_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sh_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sh_io_deq_bits_MPORT_data = ram_fun_sh[ram_fun_sh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sh_MPORT_data = io_enq_bits_fun_sh;
  assign ram_fun_sh_MPORT_addr = enq_ptr_value;
  assign ram_fun_sh_MPORT_mask = 1'h1;
  assign ram_fun_sh_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sw_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sw_io_deq_bits_MPORT_data = ram_fun_sw[ram_fun_sw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sw_MPORT_data = io_enq_bits_fun_sw;
  assign ram_fun_sw_MPORT_addr = enq_ptr_value;
  assign ram_fun_sw_MPORT_mask = 1'h1;
  assign ram_fun_sw_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sd_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sd_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sd_io_deq_bits_MPORT_data = ram_fun_sd[ram_fun_sd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sd_MPORT_data = io_enq_bits_fun_sd;
  assign ram_fun_sd_MPORT_addr = enq_ptr_value;
  assign ram_fun_sd_MPORT_mask = 1'h1;
  assign ram_fun_sd_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lr_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lr_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lr_w_io_deq_bits_MPORT_data = ram_fun_lr_w[ram_fun_lr_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lr_w_MPORT_data = io_enq_bits_fun_lr_w;
  assign ram_fun_lr_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_lr_w_MPORT_mask = 1'h1;
  assign ram_fun_lr_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sc_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sc_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sc_w_io_deq_bits_MPORT_data = ram_fun_sc_w[ram_fun_sc_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sc_w_MPORT_data = io_enq_bits_fun_sc_w;
  assign ram_fun_sc_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_sc_w_MPORT_mask = 1'h1;
  assign ram_fun_sc_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_data = ram_fun_amoswap_w[ram_fun_amoswap_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoswap_w_MPORT_data = io_enq_bits_fun_amoswap_w;
  assign ram_fun_amoswap_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoswap_w_MPORT_mask = 1'h1;
  assign ram_fun_amoswap_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_data = ram_fun_amoadd_w[ram_fun_amoadd_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoadd_w_MPORT_data = io_enq_bits_fun_amoadd_w;
  assign ram_fun_amoadd_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoadd_w_MPORT_mask = 1'h1;
  assign ram_fun_amoadd_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_data = ram_fun_amoxor_w[ram_fun_amoxor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoxor_w_MPORT_data = io_enq_bits_fun_amoxor_w;
  assign ram_fun_amoxor_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoxor_w_MPORT_mask = 1'h1;
  assign ram_fun_amoxor_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_data = ram_fun_amoand_w[ram_fun_amoand_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoand_w_MPORT_data = io_enq_bits_fun_amoand_w;
  assign ram_fun_amoand_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoand_w_MPORT_mask = 1'h1;
  assign ram_fun_amoand_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_data = ram_fun_amoor_w[ram_fun_amoor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoor_w_MPORT_data = io_enq_bits_fun_amoor_w;
  assign ram_fun_amoor_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoor_w_MPORT_mask = 1'h1;
  assign ram_fun_amoor_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_data = ram_fun_amomin_w[ram_fun_amomin_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomin_w_MPORT_data = io_enq_bits_fun_amomin_w;
  assign ram_fun_amomin_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomin_w_MPORT_mask = 1'h1;
  assign ram_fun_amomin_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_data = ram_fun_amomax_w[ram_fun_amomax_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomax_w_MPORT_data = io_enq_bits_fun_amomax_w;
  assign ram_fun_amomax_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomax_w_MPORT_mask = 1'h1;
  assign ram_fun_amomax_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_data = ram_fun_amominu_w[ram_fun_amominu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amominu_w_MPORT_data = io_enq_bits_fun_amominu_w;
  assign ram_fun_amominu_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amominu_w_MPORT_mask = 1'h1;
  assign ram_fun_amominu_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_data = ram_fun_amomaxu_w[ram_fun_amomaxu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomaxu_w_MPORT_data = io_enq_bits_fun_amomaxu_w;
  assign ram_fun_amomaxu_w_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomaxu_w_MPORT_mask = 1'h1;
  assign ram_fun_amomaxu_w_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_lr_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lr_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_lr_d_io_deq_bits_MPORT_data = ram_fun_lr_d[ram_fun_lr_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lr_d_MPORT_data = io_enq_bits_fun_lr_d;
  assign ram_fun_lr_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_lr_d_MPORT_mask = 1'h1;
  assign ram_fun_lr_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_sc_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sc_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_sc_d_io_deq_bits_MPORT_data = ram_fun_sc_d[ram_fun_sc_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sc_d_MPORT_data = io_enq_bits_fun_sc_d;
  assign ram_fun_sc_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_sc_d_MPORT_mask = 1'h1;
  assign ram_fun_sc_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_data = ram_fun_amoswap_d[ram_fun_amoswap_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoswap_d_MPORT_data = io_enq_bits_fun_amoswap_d;
  assign ram_fun_amoswap_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoswap_d_MPORT_mask = 1'h1;
  assign ram_fun_amoswap_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_data = ram_fun_amoadd_d[ram_fun_amoadd_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoadd_d_MPORT_data = io_enq_bits_fun_amoadd_d;
  assign ram_fun_amoadd_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoadd_d_MPORT_mask = 1'h1;
  assign ram_fun_amoadd_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_data = ram_fun_amoxor_d[ram_fun_amoxor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoxor_d_MPORT_data = io_enq_bits_fun_amoxor_d;
  assign ram_fun_amoxor_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoxor_d_MPORT_mask = 1'h1;
  assign ram_fun_amoxor_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_data = ram_fun_amoand_d[ram_fun_amoand_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoand_d_MPORT_data = io_enq_bits_fun_amoand_d;
  assign ram_fun_amoand_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoand_d_MPORT_mask = 1'h1;
  assign ram_fun_amoand_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_data = ram_fun_amoor_d[ram_fun_amoor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoor_d_MPORT_data = io_enq_bits_fun_amoor_d;
  assign ram_fun_amoor_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amoor_d_MPORT_mask = 1'h1;
  assign ram_fun_amoor_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_data = ram_fun_amomin_d[ram_fun_amomin_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomin_d_MPORT_data = io_enq_bits_fun_amomin_d;
  assign ram_fun_amomin_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomin_d_MPORT_mask = 1'h1;
  assign ram_fun_amomin_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_data = ram_fun_amomax_d[ram_fun_amomax_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomax_d_MPORT_data = io_enq_bits_fun_amomax_d;
  assign ram_fun_amomax_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomax_d_MPORT_mask = 1'h1;
  assign ram_fun_amomax_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_data = ram_fun_amominu_d[ram_fun_amominu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amominu_d_MPORT_data = io_enq_bits_fun_amominu_d;
  assign ram_fun_amominu_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amominu_d_MPORT_mask = 1'h1;
  assign ram_fun_amominu_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_data = ram_fun_amomaxu_d[ram_fun_amomaxu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomaxu_d_MPORT_data = io_enq_bits_fun_amomaxu_d;
  assign ram_fun_amomaxu_d_MPORT_addr = enq_ptr_value;
  assign ram_fun_amomaxu_d_MPORT_mask = 1'h1;
  assign ram_fun_amomaxu_d_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_flw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_flw_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_flw_io_deq_bits_MPORT_data = ram_fun_flw[ram_fun_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_flw_MPORT_data = io_enq_bits_fun_flw;
  assign ram_fun_flw_MPORT_addr = enq_ptr_value;
  assign ram_fun_flw_MPORT_mask = 1'h1;
  assign ram_fun_flw_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_fsw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fsw_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_fsw_io_deq_bits_MPORT_data = ram_fun_fsw[ram_fun_fsw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fsw_MPORT_data = io_enq_bits_fun_fsw;
  assign ram_fun_fsw_MPORT_addr = enq_ptr_value;
  assign ram_fun_fsw_MPORT_mask = 1'h1;
  assign ram_fun_fsw_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_fld_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fld_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_fld_io_deq_bits_MPORT_data = ram_fun_fld[ram_fun_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fld_MPORT_data = io_enq_bits_fun_fld;
  assign ram_fun_fld_MPORT_addr = enq_ptr_value;
  assign ram_fun_fld_MPORT_mask = 1'h1;
  assign ram_fun_fld_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_fsd_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fsd_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_fsd_io_deq_bits_MPORT_data = ram_fun_fsd[ram_fun_fsd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fsd_MPORT_data = io_enq_bits_fun_fsd;
  assign ram_fun_fsd_MPORT_addr = enq_ptr_value;
  assign ram_fun_fsd_MPORT_mask = 1'h1;
  assign ram_fun_fsd_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_probe_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_probe_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_probe_io_deq_bits_MPORT_data = ram_fun_probe[ram_fun_probe_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_probe_MPORT_data = io_enq_bits_fun_probe;
  assign ram_fun_probe_MPORT_addr = enq_ptr_value;
  assign ram_fun_probe_MPORT_mask = 1'h1;
  assign ram_fun_probe_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_grant_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_grant_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_grant_io_deq_bits_MPORT_data = ram_fun_grant[ram_fun_grant_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_grant_MPORT_data = io_enq_bits_fun_grant;
  assign ram_fun_grant_MPORT_addr = enq_ptr_value;
  assign ram_fun_grant_MPORT_mask = 1'h1;
  assign ram_fun_grant_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign ram_fun_preft_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_preft_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_fun_preft_io_deq_bits_MPORT_data = ram_fun_preft[ram_fun_preft_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_preft_MPORT_data = io_enq_bits_fun_preft;
  assign ram_fun_preft_MPORT_addr = enq_ptr_value;
  assign ram_fun_preft_MPORT_mask = 1'h1;
  assign ram_fun_preft_MPORT_en = empty ? _GEN_59 : _do_enq_T;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  assign io_deq_bits_chkIdx = empty ? io_enq_bits_chkIdx : ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_paddr = empty ? io_enq_bits_paddr : ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lb = empty ? io_enq_bits_fun_lb : ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lh = empty ? io_enq_bits_fun_lh : ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lw = empty ? io_enq_bits_fun_lw : ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_ld = empty ? io_enq_bits_fun_ld : ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lbu = empty ? io_enq_bits_fun_lbu : ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lhu = empty ? io_enq_bits_fun_lhu : ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lwu = empty ? io_enq_bits_fun_lwu : ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sb = empty ? io_enq_bits_fun_sb : ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sh = empty ? io_enq_bits_fun_sh : ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sw = empty ? io_enq_bits_fun_sw : ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sd = empty ? io_enq_bits_fun_sd : ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lr_w = empty ? io_enq_bits_fun_lr_w : ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sc_w = empty ? io_enq_bits_fun_sc_w : ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoswap_w = empty ? io_enq_bits_fun_amoswap_w : ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoadd_w = empty ? io_enq_bits_fun_amoadd_w : ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoxor_w = empty ? io_enq_bits_fun_amoxor_w : ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoand_w = empty ? io_enq_bits_fun_amoand_w : ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoor_w = empty ? io_enq_bits_fun_amoor_w : ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomin_w = empty ? io_enq_bits_fun_amomin_w : ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomax_w = empty ? io_enq_bits_fun_amomax_w : ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amominu_w = empty ? io_enq_bits_fun_amominu_w : ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomaxu_w = empty ? io_enq_bits_fun_amomaxu_w : ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_lr_d = empty ? io_enq_bits_fun_lr_d : ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_sc_d = empty ? io_enq_bits_fun_sc_d : ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoswap_d = empty ? io_enq_bits_fun_amoswap_d : ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoadd_d = empty ? io_enq_bits_fun_amoadd_d : ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoxor_d = empty ? io_enq_bits_fun_amoxor_d : ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoand_d = empty ? io_enq_bits_fun_amoand_d : ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amoor_d = empty ? io_enq_bits_fun_amoor_d : ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomin_d = empty ? io_enq_bits_fun_amomin_d : ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomax_d = empty ? io_enq_bits_fun_amomax_d : ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amominu_d = empty ? io_enq_bits_fun_amominu_d : ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_amomaxu_d = empty ? io_enq_bits_fun_amomaxu_d : ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_flw = empty ? io_enq_bits_fun_flw : ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_fsw = empty ? io_enq_bits_fun_fsw : ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_fld = empty ? io_enq_bits_fun_fld : ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_fsd = empty ? io_enq_bits_fun_fsd : ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_probe = empty ? io_enq_bits_fun_probe : ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_grant = empty ? io_enq_bits_fun_grant : ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_fun_preft = empty ? io_enq_bits_fun_preft : ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  always @(posedge clock) begin
    if (ram_chkIdx_MPORT_en & ram_chkIdx_MPORT_mask) begin
      ram_chkIdx[ram_chkIdx_MPORT_addr] <= ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_paddr_MPORT_en & ram_paddr_MPORT_mask) begin
      ram_paddr[ram_paddr_MPORT_addr] <= ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lb_MPORT_en & ram_fun_lb_MPORT_mask) begin
      ram_fun_lb[ram_fun_lb_MPORT_addr] <= ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lh_MPORT_en & ram_fun_lh_MPORT_mask) begin
      ram_fun_lh[ram_fun_lh_MPORT_addr] <= ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lw_MPORT_en & ram_fun_lw_MPORT_mask) begin
      ram_fun_lw[ram_fun_lw_MPORT_addr] <= ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_ld_MPORT_en & ram_fun_ld_MPORT_mask) begin
      ram_fun_ld[ram_fun_ld_MPORT_addr] <= ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lbu_MPORT_en & ram_fun_lbu_MPORT_mask) begin
      ram_fun_lbu[ram_fun_lbu_MPORT_addr] <= ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lhu_MPORT_en & ram_fun_lhu_MPORT_mask) begin
      ram_fun_lhu[ram_fun_lhu_MPORT_addr] <= ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lwu_MPORT_en & ram_fun_lwu_MPORT_mask) begin
      ram_fun_lwu[ram_fun_lwu_MPORT_addr] <= ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sb_MPORT_en & ram_fun_sb_MPORT_mask) begin
      ram_fun_sb[ram_fun_sb_MPORT_addr] <= ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sh_MPORT_en & ram_fun_sh_MPORT_mask) begin
      ram_fun_sh[ram_fun_sh_MPORT_addr] <= ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sw_MPORT_en & ram_fun_sw_MPORT_mask) begin
      ram_fun_sw[ram_fun_sw_MPORT_addr] <= ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sd_MPORT_en & ram_fun_sd_MPORT_mask) begin
      ram_fun_sd[ram_fun_sd_MPORT_addr] <= ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lr_w_MPORT_en & ram_fun_lr_w_MPORT_mask) begin
      ram_fun_lr_w[ram_fun_lr_w_MPORT_addr] <= ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sc_w_MPORT_en & ram_fun_sc_w_MPORT_mask) begin
      ram_fun_sc_w[ram_fun_sc_w_MPORT_addr] <= ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoswap_w_MPORT_en & ram_fun_amoswap_w_MPORT_mask) begin
      ram_fun_amoswap_w[ram_fun_amoswap_w_MPORT_addr] <= ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoadd_w_MPORT_en & ram_fun_amoadd_w_MPORT_mask) begin
      ram_fun_amoadd_w[ram_fun_amoadd_w_MPORT_addr] <= ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoxor_w_MPORT_en & ram_fun_amoxor_w_MPORT_mask) begin
      ram_fun_amoxor_w[ram_fun_amoxor_w_MPORT_addr] <= ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoand_w_MPORT_en & ram_fun_amoand_w_MPORT_mask) begin
      ram_fun_amoand_w[ram_fun_amoand_w_MPORT_addr] <= ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoor_w_MPORT_en & ram_fun_amoor_w_MPORT_mask) begin
      ram_fun_amoor_w[ram_fun_amoor_w_MPORT_addr] <= ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomin_w_MPORT_en & ram_fun_amomin_w_MPORT_mask) begin
      ram_fun_amomin_w[ram_fun_amomin_w_MPORT_addr] <= ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomax_w_MPORT_en & ram_fun_amomax_w_MPORT_mask) begin
      ram_fun_amomax_w[ram_fun_amomax_w_MPORT_addr] <= ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amominu_w_MPORT_en & ram_fun_amominu_w_MPORT_mask) begin
      ram_fun_amominu_w[ram_fun_amominu_w_MPORT_addr] <= ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomaxu_w_MPORT_en & ram_fun_amomaxu_w_MPORT_mask) begin
      ram_fun_amomaxu_w[ram_fun_amomaxu_w_MPORT_addr] <= ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lr_d_MPORT_en & ram_fun_lr_d_MPORT_mask) begin
      ram_fun_lr_d[ram_fun_lr_d_MPORT_addr] <= ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sc_d_MPORT_en & ram_fun_sc_d_MPORT_mask) begin
      ram_fun_sc_d[ram_fun_sc_d_MPORT_addr] <= ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoswap_d_MPORT_en & ram_fun_amoswap_d_MPORT_mask) begin
      ram_fun_amoswap_d[ram_fun_amoswap_d_MPORT_addr] <= ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoadd_d_MPORT_en & ram_fun_amoadd_d_MPORT_mask) begin
      ram_fun_amoadd_d[ram_fun_amoadd_d_MPORT_addr] <= ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoxor_d_MPORT_en & ram_fun_amoxor_d_MPORT_mask) begin
      ram_fun_amoxor_d[ram_fun_amoxor_d_MPORT_addr] <= ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoand_d_MPORT_en & ram_fun_amoand_d_MPORT_mask) begin
      ram_fun_amoand_d[ram_fun_amoand_d_MPORT_addr] <= ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoor_d_MPORT_en & ram_fun_amoor_d_MPORT_mask) begin
      ram_fun_amoor_d[ram_fun_amoor_d_MPORT_addr] <= ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomin_d_MPORT_en & ram_fun_amomin_d_MPORT_mask) begin
      ram_fun_amomin_d[ram_fun_amomin_d_MPORT_addr] <= ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomax_d_MPORT_en & ram_fun_amomax_d_MPORT_mask) begin
      ram_fun_amomax_d[ram_fun_amomax_d_MPORT_addr] <= ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amominu_d_MPORT_en & ram_fun_amominu_d_MPORT_mask) begin
      ram_fun_amominu_d[ram_fun_amominu_d_MPORT_addr] <= ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomaxu_d_MPORT_en & ram_fun_amomaxu_d_MPORT_mask) begin
      ram_fun_amomaxu_d[ram_fun_amomaxu_d_MPORT_addr] <= ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_flw_MPORT_en & ram_fun_flw_MPORT_mask) begin
      ram_fun_flw[ram_fun_flw_MPORT_addr] <= ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fsw_MPORT_en & ram_fun_fsw_MPORT_mask) begin
      ram_fun_fsw[ram_fun_fsw_MPORT_addr] <= ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fld_MPORT_en & ram_fun_fld_MPORT_mask) begin
      ram_fun_fld[ram_fun_fld_MPORT_addr] <= ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fsd_MPORT_en & ram_fun_fsd_MPORT_mask) begin
      ram_fun_fsd[ram_fun_fsd_MPORT_addr] <= ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_probe_MPORT_en & ram_fun_probe_MPORT_mask) begin
      ram_fun_probe[ram_fun_probe_MPORT_addr] <= ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_grant_MPORT_en & ram_fun_grant_MPORT_mask) begin
      ram_fun_grant[ram_fun_grant_MPORT_addr] <= ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_preft_MPORT_en & ram_fun_preft_MPORT_mask) begin
      ram_fun_preft[ram_fun_preft_MPORT_addr] <= ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_chkIdx[initvar] = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_paddr[initvar] = _RAND_1[31:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lb[initvar] = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lh[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lw[initvar] = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_ld[initvar] = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lbu[initvar] = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lhu[initvar] = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lwu[initvar] = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sb[initvar] = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sh[initvar] = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sw[initvar] = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sd[initvar] = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lr_w[initvar] = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sc_w[initvar] = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoswap_w[initvar] = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoadd_w[initvar] = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoxor_w[initvar] = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoand_w[initvar] = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoor_w[initvar] = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomin_w[initvar] = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomax_w[initvar] = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amominu_w[initvar] = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomaxu_w[initvar] = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_lr_d[initvar] = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_sc_d[initvar] = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoswap_d[initvar] = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoadd_d[initvar] = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoxor_d[initvar] = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoand_d[initvar] = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amoor_d[initvar] = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomin_d[initvar] = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomax_d[initvar] = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amominu_d[initvar] = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_amomaxu_d[initvar] = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_flw[initvar] = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_fsw[initvar] = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_fld[initvar] = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_fsd[initvar] = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_probe[initvar] = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_grant[initvar] = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_fun_preft[initvar] = _RAND_41[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  enq_ptr_value = _RAND_42[0:0];
  _RAND_43 = {1{`RANDOM}};
  deq_ptr_value = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  maybe_full = _RAND_44[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_14(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_enq_bits_chkIdx,
  input   io_enq_bits_is_load_amo,
  input   io_enq_bits_is_flw,
  input   io_enq_bits_is_fld,
  input   io_deq_ready,
  output  io_deq_valid,
  output  io_deq_bits_chkIdx,
  output  io_deq_bits_is_load_amo,
  output  io_deq_bits_is_flw,
  output  io_deq_bits_is_fld
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  reg  ram_chkIdx [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_load_amo [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_load_amo_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_flw [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_flw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_is_fld [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_is_fld_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_17 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_17 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign ram_chkIdx_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_chkIdx_io_deq_bits_MPORT_data = ram_chkIdx[ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_chkIdx_MPORT_data = io_enq_bits_chkIdx;
  assign ram_chkIdx_MPORT_addr = enq_ptr_value;
  assign ram_chkIdx_MPORT_mask = 1'h1;
  assign ram_chkIdx_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_load_amo_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_load_amo_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_load_amo_io_deq_bits_MPORT_data = ram_is_load_amo[ram_is_load_amo_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_load_amo_MPORT_data = io_enq_bits_is_load_amo;
  assign ram_is_load_amo_MPORT_addr = enq_ptr_value;
  assign ram_is_load_amo_MPORT_mask = 1'h1;
  assign ram_is_load_amo_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_flw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_flw_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_flw_io_deq_bits_MPORT_data = ram_is_flw[ram_is_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_flw_MPORT_data = io_enq_bits_is_flw;
  assign ram_is_flw_MPORT_addr = enq_ptr_value;
  assign ram_is_flw_MPORT_mask = 1'h1;
  assign ram_is_flw_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign ram_is_fld_io_deq_bits_MPORT_en = 1'h1;
  assign ram_is_fld_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_is_fld_io_deq_bits_MPORT_data = ram_is_fld[ram_is_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_is_fld_MPORT_data = io_enq_bits_is_fld;
  assign ram_is_fld_MPORT_addr = enq_ptr_value;
  assign ram_is_fld_MPORT_mask = 1'h1;
  assign ram_is_fld_MPORT_en = empty ? _GEN_17 : _do_enq_T;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  assign io_deq_bits_chkIdx = empty ? io_enq_bits_chkIdx : ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_load_amo = empty ? io_enq_bits_is_load_amo : ram_is_load_amo_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_flw = empty ? io_enq_bits_is_flw : ram_is_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign io_deq_bits_is_fld = empty ? io_enq_bits_is_fld : ram_is_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  always @(posedge clock) begin
    if (ram_chkIdx_MPORT_en & ram_chkIdx_MPORT_mask) begin
      ram_chkIdx[ram_chkIdx_MPORT_addr] <= ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_load_amo_MPORT_en & ram_is_load_amo_MPORT_mask) begin
      ram_is_load_amo[ram_is_load_amo_MPORT_addr] <= ram_is_load_amo_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_flw_MPORT_en & ram_is_flw_MPORT_mask) begin
      ram_is_flw[ram_is_flw_MPORT_addr] <= ram_is_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_is_fld_MPORT_en & ram_is_fld_MPORT_mask) begin
      ram_is_fld[ram_is_fld_MPORT_addr] <= ram_is_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_chkIdx[initvar] = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_load_amo[initvar] = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_flw[initvar] = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_is_fld[initvar] = _RAND_3[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  enq_ptr_value = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  deq_ptr_value = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  maybe_full = _RAND_6[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Arbiter_1(
  output        io_in_0_ready,
  input         io_in_0_valid,
  input         io_in_0_bits_chkIdx,
  input  [31:0] io_in_0_bits_paddr,
  input         io_in_0_bits_fun_lb,
  input         io_in_0_bits_fun_lh,
  input         io_in_0_bits_fun_lw,
  input         io_in_0_bits_fun_ld,
  input         io_in_0_bits_fun_lbu,
  input         io_in_0_bits_fun_lhu,
  input         io_in_0_bits_fun_lwu,
  input         io_in_0_bits_fun_sb,
  input         io_in_0_bits_fun_sh,
  input         io_in_0_bits_fun_sw,
  input         io_in_0_bits_fun_sd,
  input         io_in_0_bits_fun_lr_w,
  input         io_in_0_bits_fun_sc_w,
  input         io_in_0_bits_fun_amoswap_w,
  input         io_in_0_bits_fun_amoadd_w,
  input         io_in_0_bits_fun_amoxor_w,
  input         io_in_0_bits_fun_amoand_w,
  input         io_in_0_bits_fun_amoor_w,
  input         io_in_0_bits_fun_amomin_w,
  input         io_in_0_bits_fun_amomax_w,
  input         io_in_0_bits_fun_amominu_w,
  input         io_in_0_bits_fun_amomaxu_w,
  input         io_in_0_bits_fun_lr_d,
  input         io_in_0_bits_fun_sc_d,
  input         io_in_0_bits_fun_amoswap_d,
  input         io_in_0_bits_fun_amoadd_d,
  input         io_in_0_bits_fun_amoxor_d,
  input         io_in_0_bits_fun_amoand_d,
  input         io_in_0_bits_fun_amoor_d,
  input         io_in_0_bits_fun_amomin_d,
  input         io_in_0_bits_fun_amomax_d,
  input         io_in_0_bits_fun_amominu_d,
  input         io_in_0_bits_fun_amomaxu_d,
  input         io_in_0_bits_fun_flw,
  input         io_in_0_bits_fun_fsw,
  input         io_in_0_bits_fun_fld,
  input         io_in_0_bits_fun_fsd,
  input         io_in_0_bits_fun_probe,
  input         io_in_0_bits_fun_grant,
  input         io_in_0_bits_fun_preft,
  output        io_in_1_ready,
  input         io_in_1_valid,
  input         io_in_1_bits_chkIdx,
  input  [31:0] io_in_1_bits_paddr,
  input         io_in_1_bits_fun_lb,
  input         io_in_1_bits_fun_lh,
  input         io_in_1_bits_fun_lw,
  input         io_in_1_bits_fun_ld,
  input         io_in_1_bits_fun_lbu,
  input         io_in_1_bits_fun_lhu,
  input         io_in_1_bits_fun_lwu,
  input         io_in_1_bits_fun_sb,
  input         io_in_1_bits_fun_sh,
  input         io_in_1_bits_fun_sw,
  input         io_in_1_bits_fun_sd,
  input         io_in_1_bits_fun_lr_w,
  input         io_in_1_bits_fun_sc_w,
  input         io_in_1_bits_fun_amoswap_w,
  input         io_in_1_bits_fun_amoadd_w,
  input         io_in_1_bits_fun_amoxor_w,
  input         io_in_1_bits_fun_amoand_w,
  input         io_in_1_bits_fun_amoor_w,
  input         io_in_1_bits_fun_amomin_w,
  input         io_in_1_bits_fun_amomax_w,
  input         io_in_1_bits_fun_amominu_w,
  input         io_in_1_bits_fun_amomaxu_w,
  input         io_in_1_bits_fun_lr_d,
  input         io_in_1_bits_fun_sc_d,
  input         io_in_1_bits_fun_amoswap_d,
  input         io_in_1_bits_fun_amoadd_d,
  input         io_in_1_bits_fun_amoxor_d,
  input         io_in_1_bits_fun_amoand_d,
  input         io_in_1_bits_fun_amoor_d,
  input         io_in_1_bits_fun_amomin_d,
  input         io_in_1_bits_fun_amomax_d,
  input         io_in_1_bits_fun_amominu_d,
  input         io_in_1_bits_fun_amomaxu_d,
  input         io_in_1_bits_fun_flw,
  input         io_in_1_bits_fun_fsw,
  input         io_in_1_bits_fun_fld,
  input         io_in_1_bits_fun_fsd,
  input         io_out_ready,
  output        io_out_valid,
  output        io_out_bits_chkIdx,
  output [31:0] io_out_bits_paddr,
  output        io_out_bits_fun_lb,
  output        io_out_bits_fun_lh,
  output        io_out_bits_fun_lw,
  output        io_out_bits_fun_ld,
  output        io_out_bits_fun_lbu,
  output        io_out_bits_fun_lhu,
  output        io_out_bits_fun_lwu,
  output        io_out_bits_fun_sb,
  output        io_out_bits_fun_sh,
  output        io_out_bits_fun_sw,
  output        io_out_bits_fun_sd,
  output        io_out_bits_fun_lr_w,
  output        io_out_bits_fun_sc_w,
  output        io_out_bits_fun_amoswap_w,
  output        io_out_bits_fun_amoadd_w,
  output        io_out_bits_fun_amoxor_w,
  output        io_out_bits_fun_amoand_w,
  output        io_out_bits_fun_amoor_w,
  output        io_out_bits_fun_amomin_w,
  output        io_out_bits_fun_amomax_w,
  output        io_out_bits_fun_amominu_w,
  output        io_out_bits_fun_amomaxu_w,
  output        io_out_bits_fun_lr_d,
  output        io_out_bits_fun_sc_d,
  output        io_out_bits_fun_amoswap_d,
  output        io_out_bits_fun_amoadd_d,
  output        io_out_bits_fun_amoxor_d,
  output        io_out_bits_fun_amoand_d,
  output        io_out_bits_fun_amoor_d,
  output        io_out_bits_fun_amomin_d,
  output        io_out_bits_fun_amomax_d,
  output        io_out_bits_fun_amominu_d,
  output        io_out_bits_fun_amomaxu_d,
  output        io_out_bits_fun_flw,
  output        io_out_bits_fun_fsw,
  output        io_out_bits_fun_fld,
  output        io_out_bits_fun_fsd,
  output        io_out_bits_fun_probe,
  output        io_out_bits_fun_grant,
  output        io_out_bits_fun_preft
);
  wire  grant_1 = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_1_ready = grant_1 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_out_valid = ~grant_1 | io_in_1_valid; // @[Arbiter.scala 147:31]
  assign io_out_bits_chkIdx = io_in_0_valid ? io_in_0_bits_chkIdx : io_in_1_bits_chkIdx; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_paddr = io_in_0_valid ? io_in_0_bits_paddr : io_in_1_bits_paddr; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lb = io_in_0_valid ? io_in_0_bits_fun_lb : io_in_1_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lh = io_in_0_valid ? io_in_0_bits_fun_lh : io_in_1_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lw = io_in_0_valid ? io_in_0_bits_fun_lw : io_in_1_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_ld = io_in_0_valid ? io_in_0_bits_fun_ld : io_in_1_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lbu = io_in_0_valid ? io_in_0_bits_fun_lbu : io_in_1_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lhu = io_in_0_valid ? io_in_0_bits_fun_lhu : io_in_1_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lwu = io_in_0_valid ? io_in_0_bits_fun_lwu : io_in_1_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sb = io_in_0_valid ? io_in_0_bits_fun_sb : io_in_1_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sh = io_in_0_valid ? io_in_0_bits_fun_sh : io_in_1_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sw = io_in_0_valid ? io_in_0_bits_fun_sw : io_in_1_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sd = io_in_0_valid ? io_in_0_bits_fun_sd : io_in_1_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lr_w = io_in_0_valid ? io_in_0_bits_fun_lr_w : io_in_1_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sc_w = io_in_0_valid ? io_in_0_bits_fun_sc_w : io_in_1_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoswap_w = io_in_0_valid ? io_in_0_bits_fun_amoswap_w : io_in_1_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoadd_w = io_in_0_valid ? io_in_0_bits_fun_amoadd_w : io_in_1_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoxor_w = io_in_0_valid ? io_in_0_bits_fun_amoxor_w : io_in_1_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoand_w = io_in_0_valid ? io_in_0_bits_fun_amoand_w : io_in_1_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoor_w = io_in_0_valid ? io_in_0_bits_fun_amoor_w : io_in_1_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomin_w = io_in_0_valid ? io_in_0_bits_fun_amomin_w : io_in_1_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomax_w = io_in_0_valid ? io_in_0_bits_fun_amomax_w : io_in_1_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amominu_w = io_in_0_valid ? io_in_0_bits_fun_amominu_w : io_in_1_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomaxu_w = io_in_0_valid ? io_in_0_bits_fun_amomaxu_w : io_in_1_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_lr_d = io_in_0_valid ? io_in_0_bits_fun_lr_d : io_in_1_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_sc_d = io_in_0_valid ? io_in_0_bits_fun_sc_d : io_in_1_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoswap_d = io_in_0_valid ? io_in_0_bits_fun_amoswap_d : io_in_1_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoadd_d = io_in_0_valid ? io_in_0_bits_fun_amoadd_d : io_in_1_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoxor_d = io_in_0_valid ? io_in_0_bits_fun_amoxor_d : io_in_1_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoand_d = io_in_0_valid ? io_in_0_bits_fun_amoand_d : io_in_1_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amoor_d = io_in_0_valid ? io_in_0_bits_fun_amoor_d : io_in_1_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomin_d = io_in_0_valid ? io_in_0_bits_fun_amomin_d : io_in_1_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomax_d = io_in_0_valid ? io_in_0_bits_fun_amomax_d : io_in_1_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amominu_d = io_in_0_valid ? io_in_0_bits_fun_amominu_d : io_in_1_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_amomaxu_d = io_in_0_valid ? io_in_0_bits_fun_amomaxu_d : io_in_1_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_flw = io_in_0_valid ? io_in_0_bits_fun_flw : io_in_1_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fsw = io_in_0_valid ? io_in_0_bits_fun_fsw : io_in_1_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fld = io_in_0_valid ? io_in_0_bits_fun_fld : io_in_1_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_fsd = io_in_0_valid ? io_in_0_bits_fun_fsd : io_in_1_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_probe = io_in_0_valid & io_in_0_bits_fun_probe; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_grant = io_in_0_valid & io_in_0_bits_fun_grant; // @[Arbiter.scala 136:15 138:26 140:19]
  assign io_out_bits_fun_preft = io_in_0_valid & io_in_0_bits_fun_preft; // @[Arbiter.scala 136:15 138:26 140:19]
endmodule
module Arbiter_2(
  input         io_in_0_valid,
  input  [31:0] io_in_0_bits_paddr,
  output        io_in_1_ready,
  input         io_in_1_valid,
  input  [31:0] io_in_1_bits_paddr,
  output        io_in_2_ready,
  input         io_in_2_valid,
  input         io_in_2_bits_chkIdx,
  input  [31:0] io_in_2_bits_paddr,
  input         io_in_2_bits_fun_lb,
  input         io_in_2_bits_fun_lh,
  input         io_in_2_bits_fun_lw,
  input         io_in_2_bits_fun_ld,
  input         io_in_2_bits_fun_lbu,
  input         io_in_2_bits_fun_lhu,
  input         io_in_2_bits_fun_lwu,
  input         io_in_2_bits_fun_sb,
  input         io_in_2_bits_fun_sh,
  input         io_in_2_bits_fun_sw,
  input         io_in_2_bits_fun_sd,
  input         io_in_2_bits_fun_lr_w,
  input         io_in_2_bits_fun_sc_w,
  input         io_in_2_bits_fun_amoswap_w,
  input         io_in_2_bits_fun_amoadd_w,
  input         io_in_2_bits_fun_amoxor_w,
  input         io_in_2_bits_fun_amoand_w,
  input         io_in_2_bits_fun_amoor_w,
  input         io_in_2_bits_fun_amomin_w,
  input         io_in_2_bits_fun_amomax_w,
  input         io_in_2_bits_fun_amominu_w,
  input         io_in_2_bits_fun_amomaxu_w,
  input         io_in_2_bits_fun_lr_d,
  input         io_in_2_bits_fun_sc_d,
  input         io_in_2_bits_fun_amoswap_d,
  input         io_in_2_bits_fun_amoadd_d,
  input         io_in_2_bits_fun_amoxor_d,
  input         io_in_2_bits_fun_amoand_d,
  input         io_in_2_bits_fun_amoor_d,
  input         io_in_2_bits_fun_amomin_d,
  input         io_in_2_bits_fun_amomax_d,
  input         io_in_2_bits_fun_amominu_d,
  input         io_in_2_bits_fun_amomaxu_d,
  input         io_in_2_bits_fun_flw,
  input         io_in_2_bits_fun_fsw,
  input         io_in_2_bits_fun_fld,
  input         io_in_2_bits_fun_fsd,
  input         io_in_2_bits_fun_probe,
  input         io_in_2_bits_fun_grant,
  input         io_in_2_bits_fun_preft,
  output        io_out_valid,
  output        io_out_bits_chkIdx,
  output [31:0] io_out_bits_paddr,
  output        io_out_bits_fun_lb,
  output        io_out_bits_fun_lh,
  output        io_out_bits_fun_lw,
  output        io_out_bits_fun_ld,
  output        io_out_bits_fun_lbu,
  output        io_out_bits_fun_lhu,
  output        io_out_bits_fun_lwu,
  output        io_out_bits_fun_sb,
  output        io_out_bits_fun_sh,
  output        io_out_bits_fun_sw,
  output        io_out_bits_fun_sd,
  output        io_out_bits_fun_lr_w,
  output        io_out_bits_fun_sc_w,
  output        io_out_bits_fun_amoswap_w,
  output        io_out_bits_fun_amoadd_w,
  output        io_out_bits_fun_amoxor_w,
  output        io_out_bits_fun_amoand_w,
  output        io_out_bits_fun_amoor_w,
  output        io_out_bits_fun_amomin_w,
  output        io_out_bits_fun_amomax_w,
  output        io_out_bits_fun_amominu_w,
  output        io_out_bits_fun_amomaxu_w,
  output        io_out_bits_fun_lr_d,
  output        io_out_bits_fun_sc_d,
  output        io_out_bits_fun_amoswap_d,
  output        io_out_bits_fun_amoadd_d,
  output        io_out_bits_fun_amoxor_d,
  output        io_out_bits_fun_amoand_d,
  output        io_out_bits_fun_amoor_d,
  output        io_out_bits_fun_amomin_d,
  output        io_out_bits_fun_amomax_d,
  output        io_out_bits_fun_amominu_d,
  output        io_out_bits_fun_amomaxu_d,
  output        io_out_bits_fun_flw,
  output        io_out_bits_fun_fsw,
  output        io_out_bits_fun_fld,
  output        io_out_bits_fun_fsd,
  output        io_out_bits_fun_probe,
  output        io_out_bits_fun_grant,
  output        io_out_bits_fun_preft
);
  wire  _GEN_1 = io_in_1_valid ? 1'h0 : io_in_2_bits_chkIdx; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [31:0] _GEN_2 = io_in_1_valid ? io_in_1_bits_paddr : io_in_2_bits_paddr; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_5 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_6 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_7 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_8 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_9 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_10 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_11 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_12 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_13 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_14 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_15 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_19 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_20 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_21 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_22 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_23 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_24 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_25 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_26 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_27 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_28 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_29 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_30 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_31 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_32 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_33 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_34 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_35 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_36 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_37 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_38 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_39 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_40 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_41 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_42 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_43 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_44 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_45 = io_in_1_valid | io_in_2_bits_fun_probe; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_46 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_grant; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_47 = io_in_1_valid ? 1'h0 : io_in_2_bits_fun_preft; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  grant_2 = ~(io_in_0_valid | io_in_1_valid); // @[Arbiter.scala 45:78]
  assign io_in_1_ready = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  assign io_in_2_ready = ~(io_in_0_valid | io_in_1_valid); // @[Arbiter.scala 45:78]
  assign io_out_valid = ~grant_2 | io_in_2_valid; // @[Arbiter.scala 147:31]
  assign io_out_bits_chkIdx = io_in_0_valid ? 1'h0 : _GEN_1; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_paddr = io_in_0_valid ? io_in_0_bits_paddr : _GEN_2; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lb = io_in_0_valid ? 1'h0 : _GEN_5; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lh = io_in_0_valid ? 1'h0 : _GEN_6; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lw = io_in_0_valid ? 1'h0 : _GEN_7; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_ld = io_in_0_valid ? 1'h0 : _GEN_8; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lbu = io_in_0_valid ? 1'h0 : _GEN_9; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lhu = io_in_0_valid ? 1'h0 : _GEN_10; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lwu = io_in_0_valid ? 1'h0 : _GEN_11; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sb = io_in_0_valid ? 1'h0 : _GEN_12; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sh = io_in_0_valid ? 1'h0 : _GEN_13; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sw = io_in_0_valid ? 1'h0 : _GEN_14; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sd = io_in_0_valid ? 1'h0 : _GEN_15; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lr_w = io_in_0_valid ? 1'h0 : _GEN_19; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sc_w = io_in_0_valid ? 1'h0 : _GEN_20; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoswap_w = io_in_0_valid ? 1'h0 : _GEN_21; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoadd_w = io_in_0_valid ? 1'h0 : _GEN_22; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoxor_w = io_in_0_valid ? 1'h0 : _GEN_23; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoand_w = io_in_0_valid ? 1'h0 : _GEN_24; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoor_w = io_in_0_valid ? 1'h0 : _GEN_25; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomin_w = io_in_0_valid ? 1'h0 : _GEN_26; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomax_w = io_in_0_valid ? 1'h0 : _GEN_27; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amominu_w = io_in_0_valid ? 1'h0 : _GEN_28; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomaxu_w = io_in_0_valid ? 1'h0 : _GEN_29; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_lr_d = io_in_0_valid ? 1'h0 : _GEN_30; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_sc_d = io_in_0_valid ? 1'h0 : _GEN_31; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoswap_d = io_in_0_valid ? 1'h0 : _GEN_32; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoadd_d = io_in_0_valid ? 1'h0 : _GEN_33; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoxor_d = io_in_0_valid ? 1'h0 : _GEN_34; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoand_d = io_in_0_valid ? 1'h0 : _GEN_35; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amoor_d = io_in_0_valid ? 1'h0 : _GEN_36; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomin_d = io_in_0_valid ? 1'h0 : _GEN_37; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomax_d = io_in_0_valid ? 1'h0 : _GEN_38; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amominu_d = io_in_0_valid ? 1'h0 : _GEN_39; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_amomaxu_d = io_in_0_valid ? 1'h0 : _GEN_40; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_flw = io_in_0_valid ? 1'h0 : _GEN_41; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_fsw = io_in_0_valid ? 1'h0 : _GEN_42; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_fld = io_in_0_valid ? 1'h0 : _GEN_43; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_fsd = io_in_0_valid ? 1'h0 : _GEN_44; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_probe = io_in_0_valid ? 1'h0 : _GEN_45; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_grant = io_in_0_valid | _GEN_46; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_fun_preft = io_in_0_valid ? 1'h0 : _GEN_47; // @[Arbiter.scala 138:26 140:19]
endmodule
module Queue_15(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input         io_enq_bits_chkIdx,
  input  [31:0] io_enq_bits_paddr,
  input         io_enq_bits_fun_lb,
  input         io_enq_bits_fun_lh,
  input         io_enq_bits_fun_lw,
  input         io_enq_bits_fun_ld,
  input         io_enq_bits_fun_lbu,
  input         io_enq_bits_fun_lhu,
  input         io_enq_bits_fun_lwu,
  input         io_enq_bits_fun_sb,
  input         io_enq_bits_fun_sh,
  input         io_enq_bits_fun_sw,
  input         io_enq_bits_fun_sd,
  input         io_enq_bits_fun_lr_w,
  input         io_enq_bits_fun_sc_w,
  input         io_enq_bits_fun_amoswap_w,
  input         io_enq_bits_fun_amoadd_w,
  input         io_enq_bits_fun_amoxor_w,
  input         io_enq_bits_fun_amoand_w,
  input         io_enq_bits_fun_amoor_w,
  input         io_enq_bits_fun_amomin_w,
  input         io_enq_bits_fun_amomax_w,
  input         io_enq_bits_fun_amominu_w,
  input         io_enq_bits_fun_amomaxu_w,
  input         io_enq_bits_fun_lr_d,
  input         io_enq_bits_fun_sc_d,
  input         io_enq_bits_fun_amoswap_d,
  input         io_enq_bits_fun_amoadd_d,
  input         io_enq_bits_fun_amoxor_d,
  input         io_enq_bits_fun_amoand_d,
  input         io_enq_bits_fun_amoor_d,
  input         io_enq_bits_fun_amomin_d,
  input         io_enq_bits_fun_amomax_d,
  input         io_enq_bits_fun_amominu_d,
  input         io_enq_bits_fun_amomaxu_d,
  input         io_enq_bits_fun_flw,
  input         io_enq_bits_fun_fsw,
  input         io_enq_bits_fun_fld,
  input         io_enq_bits_fun_fsd,
  input         io_enq_bits_fun_probe,
  input         io_enq_bits_fun_grant,
  input         io_enq_bits_fun_preft,
  input         io_deq_ready,
  output        io_deq_valid,
  output        io_deq_bits_chkIdx,
  output [31:0] io_deq_bits_paddr,
  output        io_deq_bits_fun_lb,
  output        io_deq_bits_fun_lh,
  output        io_deq_bits_fun_lw,
  output        io_deq_bits_fun_ld,
  output        io_deq_bits_fun_lbu,
  output        io_deq_bits_fun_lhu,
  output        io_deq_bits_fun_lwu,
  output        io_deq_bits_fun_sb,
  output        io_deq_bits_fun_sh,
  output        io_deq_bits_fun_sw,
  output        io_deq_bits_fun_sd,
  output        io_deq_bits_fun_lr_w,
  output        io_deq_bits_fun_sc_w,
  output        io_deq_bits_fun_amoswap_w,
  output        io_deq_bits_fun_amoadd_w,
  output        io_deq_bits_fun_amoxor_w,
  output        io_deq_bits_fun_amoand_w,
  output        io_deq_bits_fun_amoor_w,
  output        io_deq_bits_fun_amomin_w,
  output        io_deq_bits_fun_amomax_w,
  output        io_deq_bits_fun_amominu_w,
  output        io_deq_bits_fun_amomaxu_w,
  output        io_deq_bits_fun_lr_d,
  output        io_deq_bits_fun_sc_d,
  output        io_deq_bits_fun_amoswap_d,
  output        io_deq_bits_fun_amoadd_d,
  output        io_deq_bits_fun_amoxor_d,
  output        io_deq_bits_fun_amoand_d,
  output        io_deq_bits_fun_amoor_d,
  output        io_deq_bits_fun_amomin_d,
  output        io_deq_bits_fun_amomax_d,
  output        io_deq_bits_fun_amominu_d,
  output        io_deq_bits_fun_amomaxu_d,
  output        io_deq_bits_fun_flw,
  output        io_deq_bits_fun_fsw,
  output        io_deq_bits_fun_fld,
  output        io_deq_bits_fun_fsd,
  output        io_deq_bits_fun_probe,
  output        io_deq_bits_fun_grant,
  output        io_deq_bits_fun_preft
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_42;
`endif // RANDOMIZE_REG_INIT
  reg  ram_chkIdx [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_paddr [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_paddr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_paddr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_paddr_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lb [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lb_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lh [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lh_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lw [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_ld [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_ld_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lbu [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lbu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lhu [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lhu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lwu [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lwu_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sb [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sb_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sh [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sh_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sw [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sd [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sd_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lr_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sc_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoswap_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoadd_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoxor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoand_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomin_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomax_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amominu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomaxu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_w_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_lr_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_lr_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_sc_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_sc_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoswap_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoswap_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoadd_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoadd_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoxor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoxor_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoand_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoand_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amoor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amoor_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomin_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomin_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomax_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomax_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amominu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amominu_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_amomaxu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_amomaxu_d_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_flw [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_flw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fsw [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsw_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fld [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fld_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_fsd [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_fsd_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_probe [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_probe_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_grant [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_grant_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_fun_preft [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_fun_preft_MPORT_en; // @[Decoupled.scala 275:95]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign ram_chkIdx_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_chkIdx_io_deq_bits_MPORT_data = ram_chkIdx[ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_chkIdx_MPORT_data = io_enq_bits_chkIdx;
  assign ram_chkIdx_MPORT_addr = 1'h0;
  assign ram_chkIdx_MPORT_mask = 1'h1;
  assign ram_chkIdx_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_paddr_io_deq_bits_MPORT_en = 1'h1;
  assign ram_paddr_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_paddr_io_deq_bits_MPORT_data = ram_paddr[ram_paddr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_paddr_MPORT_data = io_enq_bits_paddr;
  assign ram_paddr_MPORT_addr = 1'h0;
  assign ram_paddr_MPORT_mask = 1'h1;
  assign ram_paddr_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lb_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lb_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lb_io_deq_bits_MPORT_data = ram_fun_lb[ram_fun_lb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lb_MPORT_data = io_enq_bits_fun_lb;
  assign ram_fun_lb_MPORT_addr = 1'h0;
  assign ram_fun_lb_MPORT_mask = 1'h1;
  assign ram_fun_lb_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lh_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lh_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lh_io_deq_bits_MPORT_data = ram_fun_lh[ram_fun_lh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lh_MPORT_data = io_enq_bits_fun_lh;
  assign ram_fun_lh_MPORT_addr = 1'h0;
  assign ram_fun_lh_MPORT_mask = 1'h1;
  assign ram_fun_lh_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lw_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lw_io_deq_bits_MPORT_data = ram_fun_lw[ram_fun_lw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lw_MPORT_data = io_enq_bits_fun_lw;
  assign ram_fun_lw_MPORT_addr = 1'h0;
  assign ram_fun_lw_MPORT_mask = 1'h1;
  assign ram_fun_lw_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_ld_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_ld_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_ld_io_deq_bits_MPORT_data = ram_fun_ld[ram_fun_ld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_ld_MPORT_data = io_enq_bits_fun_ld;
  assign ram_fun_ld_MPORT_addr = 1'h0;
  assign ram_fun_ld_MPORT_mask = 1'h1;
  assign ram_fun_ld_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lbu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lbu_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lbu_io_deq_bits_MPORT_data = ram_fun_lbu[ram_fun_lbu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lbu_MPORT_data = io_enq_bits_fun_lbu;
  assign ram_fun_lbu_MPORT_addr = 1'h0;
  assign ram_fun_lbu_MPORT_mask = 1'h1;
  assign ram_fun_lbu_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lhu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lhu_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lhu_io_deq_bits_MPORT_data = ram_fun_lhu[ram_fun_lhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lhu_MPORT_data = io_enq_bits_fun_lhu;
  assign ram_fun_lhu_MPORT_addr = 1'h0;
  assign ram_fun_lhu_MPORT_mask = 1'h1;
  assign ram_fun_lhu_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lwu_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lwu_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lwu_io_deq_bits_MPORT_data = ram_fun_lwu[ram_fun_lwu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lwu_MPORT_data = io_enq_bits_fun_lwu;
  assign ram_fun_lwu_MPORT_addr = 1'h0;
  assign ram_fun_lwu_MPORT_mask = 1'h1;
  assign ram_fun_lwu_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sb_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sb_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sb_io_deq_bits_MPORT_data = ram_fun_sb[ram_fun_sb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sb_MPORT_data = io_enq_bits_fun_sb;
  assign ram_fun_sb_MPORT_addr = 1'h0;
  assign ram_fun_sb_MPORT_mask = 1'h1;
  assign ram_fun_sb_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sh_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sh_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sh_io_deq_bits_MPORT_data = ram_fun_sh[ram_fun_sh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sh_MPORT_data = io_enq_bits_fun_sh;
  assign ram_fun_sh_MPORT_addr = 1'h0;
  assign ram_fun_sh_MPORT_mask = 1'h1;
  assign ram_fun_sh_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sw_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sw_io_deq_bits_MPORT_data = ram_fun_sw[ram_fun_sw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sw_MPORT_data = io_enq_bits_fun_sw;
  assign ram_fun_sw_MPORT_addr = 1'h0;
  assign ram_fun_sw_MPORT_mask = 1'h1;
  assign ram_fun_sw_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sd_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sd_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sd_io_deq_bits_MPORT_data = ram_fun_sd[ram_fun_sd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sd_MPORT_data = io_enq_bits_fun_sd;
  assign ram_fun_sd_MPORT_addr = 1'h0;
  assign ram_fun_sd_MPORT_mask = 1'h1;
  assign ram_fun_sd_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lr_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lr_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lr_w_io_deq_bits_MPORT_data = ram_fun_lr_w[ram_fun_lr_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lr_w_MPORT_data = io_enq_bits_fun_lr_w;
  assign ram_fun_lr_w_MPORT_addr = 1'h0;
  assign ram_fun_lr_w_MPORT_mask = 1'h1;
  assign ram_fun_lr_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sc_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sc_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sc_w_io_deq_bits_MPORT_data = ram_fun_sc_w[ram_fun_sc_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sc_w_MPORT_data = io_enq_bits_fun_sc_w;
  assign ram_fun_sc_w_MPORT_addr = 1'h0;
  assign ram_fun_sc_w_MPORT_mask = 1'h1;
  assign ram_fun_sc_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoswap_w_io_deq_bits_MPORT_data = ram_fun_amoswap_w[ram_fun_amoswap_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoswap_w_MPORT_data = io_enq_bits_fun_amoswap_w;
  assign ram_fun_amoswap_w_MPORT_addr = 1'h0;
  assign ram_fun_amoswap_w_MPORT_mask = 1'h1;
  assign ram_fun_amoswap_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoadd_w_io_deq_bits_MPORT_data = ram_fun_amoadd_w[ram_fun_amoadd_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoadd_w_MPORT_data = io_enq_bits_fun_amoadd_w;
  assign ram_fun_amoadd_w_MPORT_addr = 1'h0;
  assign ram_fun_amoadd_w_MPORT_mask = 1'h1;
  assign ram_fun_amoadd_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoxor_w_io_deq_bits_MPORT_data = ram_fun_amoxor_w[ram_fun_amoxor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoxor_w_MPORT_data = io_enq_bits_fun_amoxor_w;
  assign ram_fun_amoxor_w_MPORT_addr = 1'h0;
  assign ram_fun_amoxor_w_MPORT_mask = 1'h1;
  assign ram_fun_amoxor_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoand_w_io_deq_bits_MPORT_data = ram_fun_amoand_w[ram_fun_amoand_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoand_w_MPORT_data = io_enq_bits_fun_amoand_w;
  assign ram_fun_amoand_w_MPORT_addr = 1'h0;
  assign ram_fun_amoand_w_MPORT_mask = 1'h1;
  assign ram_fun_amoand_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoor_w_io_deq_bits_MPORT_data = ram_fun_amoor_w[ram_fun_amoor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoor_w_MPORT_data = io_enq_bits_fun_amoor_w;
  assign ram_fun_amoor_w_MPORT_addr = 1'h0;
  assign ram_fun_amoor_w_MPORT_mask = 1'h1;
  assign ram_fun_amoor_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomin_w_io_deq_bits_MPORT_data = ram_fun_amomin_w[ram_fun_amomin_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomin_w_MPORT_data = io_enq_bits_fun_amomin_w;
  assign ram_fun_amomin_w_MPORT_addr = 1'h0;
  assign ram_fun_amomin_w_MPORT_mask = 1'h1;
  assign ram_fun_amomin_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomax_w_io_deq_bits_MPORT_data = ram_fun_amomax_w[ram_fun_amomax_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomax_w_MPORT_data = io_enq_bits_fun_amomax_w;
  assign ram_fun_amomax_w_MPORT_addr = 1'h0;
  assign ram_fun_amomax_w_MPORT_mask = 1'h1;
  assign ram_fun_amomax_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amominu_w_io_deq_bits_MPORT_data = ram_fun_amominu_w[ram_fun_amominu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amominu_w_MPORT_data = io_enq_bits_fun_amominu_w;
  assign ram_fun_amominu_w_MPORT_addr = 1'h0;
  assign ram_fun_amominu_w_MPORT_mask = 1'h1;
  assign ram_fun_amominu_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomaxu_w_io_deq_bits_MPORT_data = ram_fun_amomaxu_w[ram_fun_amomaxu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomaxu_w_MPORT_data = io_enq_bits_fun_amomaxu_w;
  assign ram_fun_amomaxu_w_MPORT_addr = 1'h0;
  assign ram_fun_amomaxu_w_MPORT_mask = 1'h1;
  assign ram_fun_amomaxu_w_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_lr_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_lr_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_lr_d_io_deq_bits_MPORT_data = ram_fun_lr_d[ram_fun_lr_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_lr_d_MPORT_data = io_enq_bits_fun_lr_d;
  assign ram_fun_lr_d_MPORT_addr = 1'h0;
  assign ram_fun_lr_d_MPORT_mask = 1'h1;
  assign ram_fun_lr_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_sc_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_sc_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_sc_d_io_deq_bits_MPORT_data = ram_fun_sc_d[ram_fun_sc_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_sc_d_MPORT_data = io_enq_bits_fun_sc_d;
  assign ram_fun_sc_d_MPORT_addr = 1'h0;
  assign ram_fun_sc_d_MPORT_mask = 1'h1;
  assign ram_fun_sc_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoswap_d_io_deq_bits_MPORT_data = ram_fun_amoswap_d[ram_fun_amoswap_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoswap_d_MPORT_data = io_enq_bits_fun_amoswap_d;
  assign ram_fun_amoswap_d_MPORT_addr = 1'h0;
  assign ram_fun_amoswap_d_MPORT_mask = 1'h1;
  assign ram_fun_amoswap_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoadd_d_io_deq_bits_MPORT_data = ram_fun_amoadd_d[ram_fun_amoadd_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoadd_d_MPORT_data = io_enq_bits_fun_amoadd_d;
  assign ram_fun_amoadd_d_MPORT_addr = 1'h0;
  assign ram_fun_amoadd_d_MPORT_mask = 1'h1;
  assign ram_fun_amoadd_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoxor_d_io_deq_bits_MPORT_data = ram_fun_amoxor_d[ram_fun_amoxor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoxor_d_MPORT_data = io_enq_bits_fun_amoxor_d;
  assign ram_fun_amoxor_d_MPORT_addr = 1'h0;
  assign ram_fun_amoxor_d_MPORT_mask = 1'h1;
  assign ram_fun_amoxor_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoand_d_io_deq_bits_MPORT_data = ram_fun_amoand_d[ram_fun_amoand_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoand_d_MPORT_data = io_enq_bits_fun_amoand_d;
  assign ram_fun_amoand_d_MPORT_addr = 1'h0;
  assign ram_fun_amoand_d_MPORT_mask = 1'h1;
  assign ram_fun_amoand_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amoor_d_io_deq_bits_MPORT_data = ram_fun_amoor_d[ram_fun_amoor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amoor_d_MPORT_data = io_enq_bits_fun_amoor_d;
  assign ram_fun_amoor_d_MPORT_addr = 1'h0;
  assign ram_fun_amoor_d_MPORT_mask = 1'h1;
  assign ram_fun_amoor_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomin_d_io_deq_bits_MPORT_data = ram_fun_amomin_d[ram_fun_amomin_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomin_d_MPORT_data = io_enq_bits_fun_amomin_d;
  assign ram_fun_amomin_d_MPORT_addr = 1'h0;
  assign ram_fun_amomin_d_MPORT_mask = 1'h1;
  assign ram_fun_amomin_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomax_d_io_deq_bits_MPORT_data = ram_fun_amomax_d[ram_fun_amomax_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomax_d_MPORT_data = io_enq_bits_fun_amomax_d;
  assign ram_fun_amomax_d_MPORT_addr = 1'h0;
  assign ram_fun_amomax_d_MPORT_mask = 1'h1;
  assign ram_fun_amomax_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amominu_d_io_deq_bits_MPORT_data = ram_fun_amominu_d[ram_fun_amominu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amominu_d_MPORT_data = io_enq_bits_fun_amominu_d;
  assign ram_fun_amominu_d_MPORT_addr = 1'h0;
  assign ram_fun_amominu_d_MPORT_mask = 1'h1;
  assign ram_fun_amominu_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_amomaxu_d_io_deq_bits_MPORT_data = ram_fun_amomaxu_d[ram_fun_amomaxu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_amomaxu_d_MPORT_data = io_enq_bits_fun_amomaxu_d;
  assign ram_fun_amomaxu_d_MPORT_addr = 1'h0;
  assign ram_fun_amomaxu_d_MPORT_mask = 1'h1;
  assign ram_fun_amomaxu_d_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_flw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_flw_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_flw_io_deq_bits_MPORT_data = ram_fun_flw[ram_fun_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_flw_MPORT_data = io_enq_bits_fun_flw;
  assign ram_fun_flw_MPORT_addr = 1'h0;
  assign ram_fun_flw_MPORT_mask = 1'h1;
  assign ram_fun_flw_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_fsw_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fsw_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_fsw_io_deq_bits_MPORT_data = ram_fun_fsw[ram_fun_fsw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fsw_MPORT_data = io_enq_bits_fun_fsw;
  assign ram_fun_fsw_MPORT_addr = 1'h0;
  assign ram_fun_fsw_MPORT_mask = 1'h1;
  assign ram_fun_fsw_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_fld_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fld_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_fld_io_deq_bits_MPORT_data = ram_fun_fld[ram_fun_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fld_MPORT_data = io_enq_bits_fun_fld;
  assign ram_fun_fld_MPORT_addr = 1'h0;
  assign ram_fun_fld_MPORT_mask = 1'h1;
  assign ram_fun_fld_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_fsd_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_fsd_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_fsd_io_deq_bits_MPORT_data = ram_fun_fsd[ram_fun_fsd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_fsd_MPORT_data = io_enq_bits_fun_fsd;
  assign ram_fun_fsd_MPORT_addr = 1'h0;
  assign ram_fun_fsd_MPORT_mask = 1'h1;
  assign ram_fun_fsd_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_probe_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_probe_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_probe_io_deq_bits_MPORT_data = ram_fun_probe[ram_fun_probe_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_probe_MPORT_data = io_enq_bits_fun_probe;
  assign ram_fun_probe_MPORT_addr = 1'h0;
  assign ram_fun_probe_MPORT_mask = 1'h1;
  assign ram_fun_probe_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_grant_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_grant_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_grant_io_deq_bits_MPORT_data = ram_fun_grant[ram_fun_grant_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_grant_MPORT_data = io_enq_bits_fun_grant;
  assign ram_fun_grant_MPORT_addr = 1'h0;
  assign ram_fun_grant_MPORT_mask = 1'h1;
  assign ram_fun_grant_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_fun_preft_io_deq_bits_MPORT_en = 1'h1;
  assign ram_fun_preft_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_fun_preft_io_deq_bits_MPORT_data = ram_fun_preft[ram_fun_preft_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_fun_preft_MPORT_data = io_enq_bits_fun_preft;
  assign ram_fun_preft_MPORT_addr = 1'h0;
  assign ram_fun_preft_MPORT_mask = 1'h1;
  assign ram_fun_preft_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = io_deq_ready | empty; // @[Decoupled.scala 305:16 325:{24,39}]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_chkIdx = ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_paddr = ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lb = ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lh = ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lw = ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_ld = ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lbu = ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lhu = ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lwu = ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sb = ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sh = ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sw = ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sd = ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lr_w = ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sc_w = ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoswap_w = ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoadd_w = ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoxor_w = ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoand_w = ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoor_w = ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomin_w = ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomax_w = ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amominu_w = ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomaxu_w = ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_lr_d = ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_sc_d = ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoswap_d = ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoadd_d = ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoxor_d = ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoand_d = ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amoor_d = ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomin_d = ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomax_d = ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amominu_d = ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_amomaxu_d = ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_flw = ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_fsw = ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_fld = ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_fsd = ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_probe = ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_grant = ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_fun_preft = ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_chkIdx_MPORT_en & ram_chkIdx_MPORT_mask) begin
      ram_chkIdx[ram_chkIdx_MPORT_addr] <= ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_paddr_MPORT_en & ram_paddr_MPORT_mask) begin
      ram_paddr[ram_paddr_MPORT_addr] <= ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lb_MPORT_en & ram_fun_lb_MPORT_mask) begin
      ram_fun_lb[ram_fun_lb_MPORT_addr] <= ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lh_MPORT_en & ram_fun_lh_MPORT_mask) begin
      ram_fun_lh[ram_fun_lh_MPORT_addr] <= ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lw_MPORT_en & ram_fun_lw_MPORT_mask) begin
      ram_fun_lw[ram_fun_lw_MPORT_addr] <= ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_ld_MPORT_en & ram_fun_ld_MPORT_mask) begin
      ram_fun_ld[ram_fun_ld_MPORT_addr] <= ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lbu_MPORT_en & ram_fun_lbu_MPORT_mask) begin
      ram_fun_lbu[ram_fun_lbu_MPORT_addr] <= ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lhu_MPORT_en & ram_fun_lhu_MPORT_mask) begin
      ram_fun_lhu[ram_fun_lhu_MPORT_addr] <= ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lwu_MPORT_en & ram_fun_lwu_MPORT_mask) begin
      ram_fun_lwu[ram_fun_lwu_MPORT_addr] <= ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sb_MPORT_en & ram_fun_sb_MPORT_mask) begin
      ram_fun_sb[ram_fun_sb_MPORT_addr] <= ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sh_MPORT_en & ram_fun_sh_MPORT_mask) begin
      ram_fun_sh[ram_fun_sh_MPORT_addr] <= ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sw_MPORT_en & ram_fun_sw_MPORT_mask) begin
      ram_fun_sw[ram_fun_sw_MPORT_addr] <= ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sd_MPORT_en & ram_fun_sd_MPORT_mask) begin
      ram_fun_sd[ram_fun_sd_MPORT_addr] <= ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lr_w_MPORT_en & ram_fun_lr_w_MPORT_mask) begin
      ram_fun_lr_w[ram_fun_lr_w_MPORT_addr] <= ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sc_w_MPORT_en & ram_fun_sc_w_MPORT_mask) begin
      ram_fun_sc_w[ram_fun_sc_w_MPORT_addr] <= ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoswap_w_MPORT_en & ram_fun_amoswap_w_MPORT_mask) begin
      ram_fun_amoswap_w[ram_fun_amoswap_w_MPORT_addr] <= ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoadd_w_MPORT_en & ram_fun_amoadd_w_MPORT_mask) begin
      ram_fun_amoadd_w[ram_fun_amoadd_w_MPORT_addr] <= ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoxor_w_MPORT_en & ram_fun_amoxor_w_MPORT_mask) begin
      ram_fun_amoxor_w[ram_fun_amoxor_w_MPORT_addr] <= ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoand_w_MPORT_en & ram_fun_amoand_w_MPORT_mask) begin
      ram_fun_amoand_w[ram_fun_amoand_w_MPORT_addr] <= ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoor_w_MPORT_en & ram_fun_amoor_w_MPORT_mask) begin
      ram_fun_amoor_w[ram_fun_amoor_w_MPORT_addr] <= ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomin_w_MPORT_en & ram_fun_amomin_w_MPORT_mask) begin
      ram_fun_amomin_w[ram_fun_amomin_w_MPORT_addr] <= ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomax_w_MPORT_en & ram_fun_amomax_w_MPORT_mask) begin
      ram_fun_amomax_w[ram_fun_amomax_w_MPORT_addr] <= ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amominu_w_MPORT_en & ram_fun_amominu_w_MPORT_mask) begin
      ram_fun_amominu_w[ram_fun_amominu_w_MPORT_addr] <= ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomaxu_w_MPORT_en & ram_fun_amomaxu_w_MPORT_mask) begin
      ram_fun_amomaxu_w[ram_fun_amomaxu_w_MPORT_addr] <= ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_lr_d_MPORT_en & ram_fun_lr_d_MPORT_mask) begin
      ram_fun_lr_d[ram_fun_lr_d_MPORT_addr] <= ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_sc_d_MPORT_en & ram_fun_sc_d_MPORT_mask) begin
      ram_fun_sc_d[ram_fun_sc_d_MPORT_addr] <= ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoswap_d_MPORT_en & ram_fun_amoswap_d_MPORT_mask) begin
      ram_fun_amoswap_d[ram_fun_amoswap_d_MPORT_addr] <= ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoadd_d_MPORT_en & ram_fun_amoadd_d_MPORT_mask) begin
      ram_fun_amoadd_d[ram_fun_amoadd_d_MPORT_addr] <= ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoxor_d_MPORT_en & ram_fun_amoxor_d_MPORT_mask) begin
      ram_fun_amoxor_d[ram_fun_amoxor_d_MPORT_addr] <= ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoand_d_MPORT_en & ram_fun_amoand_d_MPORT_mask) begin
      ram_fun_amoand_d[ram_fun_amoand_d_MPORT_addr] <= ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amoor_d_MPORT_en & ram_fun_amoor_d_MPORT_mask) begin
      ram_fun_amoor_d[ram_fun_amoor_d_MPORT_addr] <= ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomin_d_MPORT_en & ram_fun_amomin_d_MPORT_mask) begin
      ram_fun_amomin_d[ram_fun_amomin_d_MPORT_addr] <= ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomax_d_MPORT_en & ram_fun_amomax_d_MPORT_mask) begin
      ram_fun_amomax_d[ram_fun_amomax_d_MPORT_addr] <= ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amominu_d_MPORT_en & ram_fun_amominu_d_MPORT_mask) begin
      ram_fun_amominu_d[ram_fun_amominu_d_MPORT_addr] <= ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_amomaxu_d_MPORT_en & ram_fun_amomaxu_d_MPORT_mask) begin
      ram_fun_amomaxu_d[ram_fun_amomaxu_d_MPORT_addr] <= ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_flw_MPORT_en & ram_fun_flw_MPORT_mask) begin
      ram_fun_flw[ram_fun_flw_MPORT_addr] <= ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fsw_MPORT_en & ram_fun_fsw_MPORT_mask) begin
      ram_fun_fsw[ram_fun_fsw_MPORT_addr] <= ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fld_MPORT_en & ram_fun_fld_MPORT_mask) begin
      ram_fun_fld[ram_fun_fld_MPORT_addr] <= ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_fsd_MPORT_en & ram_fun_fsd_MPORT_mask) begin
      ram_fun_fsd[ram_fun_fsd_MPORT_addr] <= ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_probe_MPORT_en & ram_fun_probe_MPORT_mask) begin
      ram_fun_probe[ram_fun_probe_MPORT_addr] <= ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_grant_MPORT_en & ram_fun_grant_MPORT_mask) begin
      ram_fun_grant[ram_fun_grant_MPORT_addr] <= ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_fun_preft_MPORT_en & ram_fun_preft_MPORT_mask) begin
      ram_fun_preft[ram_fun_preft_MPORT_addr] <= ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_chkIdx[initvar] = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_paddr[initvar] = _RAND_1[31:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lb[initvar] = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lh[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lw[initvar] = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_ld[initvar] = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lbu[initvar] = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lhu[initvar] = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lwu[initvar] = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sb[initvar] = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sh[initvar] = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sw[initvar] = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sd[initvar] = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lr_w[initvar] = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sc_w[initvar] = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoswap_w[initvar] = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoadd_w[initvar] = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoxor_w[initvar] = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoand_w[initvar] = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoor_w[initvar] = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomin_w[initvar] = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomax_w[initvar] = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amominu_w[initvar] = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomaxu_w[initvar] = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_lr_d[initvar] = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_sc_d[initvar] = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoswap_d[initvar] = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoadd_d[initvar] = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoxor_d[initvar] = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoand_d[initvar] = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amoor_d[initvar] = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomin_d[initvar] = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomax_d[initvar] = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amominu_d[initvar] = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_amomaxu_d[initvar] = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_flw[initvar] = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_fsw[initvar] = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_fld[initvar] = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_fsd[initvar] = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_probe[initvar] = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_grant[initvar] = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_fun_preft[initvar] = _RAND_41[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  maybe_full = _RAND_42[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module DcacheStage(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input         io_enq_bits_chkIdx,
  input  [31:0] io_enq_bits_paddr,
  input         io_enq_bits_fun_lb,
  input         io_enq_bits_fun_lh,
  input         io_enq_bits_fun_lw,
  input         io_enq_bits_fun_ld,
  input         io_enq_bits_fun_lbu,
  input         io_enq_bits_fun_lhu,
  input         io_enq_bits_fun_lwu,
  input         io_enq_bits_fun_sb,
  input         io_enq_bits_fun_sh,
  input         io_enq_bits_fun_sw,
  input         io_enq_bits_fun_sd,
  input         io_enq_bits_fun_lr_w,
  input         io_enq_bits_fun_sc_w,
  input         io_enq_bits_fun_amoswap_w,
  input         io_enq_bits_fun_amoadd_w,
  input         io_enq_bits_fun_amoxor_w,
  input         io_enq_bits_fun_amoand_w,
  input         io_enq_bits_fun_amoor_w,
  input         io_enq_bits_fun_amomin_w,
  input         io_enq_bits_fun_amomax_w,
  input         io_enq_bits_fun_amominu_w,
  input         io_enq_bits_fun_amomaxu_w,
  input         io_enq_bits_fun_lr_d,
  input         io_enq_bits_fun_sc_d,
  input         io_enq_bits_fun_amoswap_d,
  input         io_enq_bits_fun_amoadd_d,
  input         io_enq_bits_fun_amoxor_d,
  input         io_enq_bits_fun_amoand_d,
  input         io_enq_bits_fun_amoor_d,
  input         io_enq_bits_fun_amomin_d,
  input         io_enq_bits_fun_amomax_d,
  input         io_enq_bits_fun_amominu_d,
  input         io_enq_bits_fun_amomaxu_d,
  input         io_enq_bits_fun_flw,
  input         io_enq_bits_fun_fsw,
  input         io_enq_bits_fun_fld,
  input         io_enq_bits_fun_fsd,
  input         io_enq_bits_fun_probe,
  input         io_enq_bits_fun_grant,
  input         io_enq_bits_fun_preft,
  output        io_reload_valid,
  output        io_reload_bits_chkIdx,
  output [31:0] io_reload_bits_paddr,
  output        io_reload_bits_fun_lb,
  output        io_reload_bits_fun_lh,
  output        io_reload_bits_fun_lw,
  output        io_reload_bits_fun_ld,
  output        io_reload_bits_fun_lbu,
  output        io_reload_bits_fun_lhu,
  output        io_reload_bits_fun_lwu,
  output        io_reload_bits_fun_sb,
  output        io_reload_bits_fun_sh,
  output        io_reload_bits_fun_sw,
  output        io_reload_bits_fun_sd,
  output        io_reload_bits_fun_lr_w,
  output        io_reload_bits_fun_sc_w,
  output        io_reload_bits_fun_amoswap_w,
  output        io_reload_bits_fun_amoadd_w,
  output        io_reload_bits_fun_amoxor_w,
  output        io_reload_bits_fun_amoand_w,
  output        io_reload_bits_fun_amoor_w,
  output        io_reload_bits_fun_amomin_w,
  output        io_reload_bits_fun_amomax_w,
  output        io_reload_bits_fun_amominu_w,
  output        io_reload_bits_fun_amomaxu_w,
  output        io_reload_bits_fun_lr_d,
  output        io_reload_bits_fun_sc_d,
  output        io_reload_bits_fun_amoswap_d,
  output        io_reload_bits_fun_amoadd_d,
  output        io_reload_bits_fun_amoxor_d,
  output        io_reload_bits_fun_amoand_d,
  output        io_reload_bits_fun_amoor_d,
  output        io_reload_bits_fun_amomin_d,
  output        io_reload_bits_fun_amomax_d,
  output        io_reload_bits_fun_amominu_d,
  output        io_reload_bits_fun_amomaxu_d,
  output        io_reload_bits_fun_flw,
  output        io_reload_bits_fun_fsw,
  output        io_reload_bits_fun_fld,
  output        io_reload_bits_fun_fsd,
  output        io_reload_bits_fun_probe,
  output        io_reload_bits_fun_grant,
  output        io_reload_bits_fun_preft,
  output        io_deq_valid,
  output        io_deq_bits_chkIdx,
  output        io_deq_bits_is_load_amo,
  output        io_deq_bits_is_flw,
  output        io_deq_bits_is_fld,
  output        io_missUnit_req_valid,
  output [31:0] io_missUnit_req_bits_paddr,
  output        io_wb_req_valid,
  output        io_wb_req_bits_is_releaseData,
  output        io_wb_req_bits_is_release,
  output        io_wb_req_bits_is_probe,
  output        io_wb_req_bits_is_probeData,
  input         io_isCacheEmpty,
  input         io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_67;
  reg [31:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [31:0] _RAND_73;
  reg [31:0] _RAND_74;
  reg [31:0] _RAND_75;
  reg [31:0] _RAND_76;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_79;
  reg [31:0] _RAND_80;
  reg [31:0] _RAND_81;
  reg [31:0] _RAND_82;
  reg [31:0] _RAND_83;
  reg [31:0] _RAND_84;
  reg [31:0] _RAND_85;
  reg [31:0] _RAND_86;
  reg [31:0] _RAND_87;
  reg [31:0] _RAND_88;
  reg [31:0] _RAND_89;
  reg [31:0] _RAND_90;
  reg [31:0] _RAND_91;
  reg [31:0] _RAND_92;
  reg [31:0] _RAND_93;
  reg [31:0] _RAND_94;
  reg [31:0] _RAND_95;
  reg [31:0] _RAND_96;
  reg [31:0] _RAND_97;
  reg [31:0] _RAND_98;
  reg [31:0] _RAND_99;
  reg [31:0] _RAND_100;
  reg [31:0] _RAND_101;
  reg [31:0] _RAND_102;
  reg [31:0] _RAND_103;
  reg [31:0] _RAND_104;
  reg [31:0] _RAND_105;
  reg [31:0] _RAND_106;
  reg [31:0] _RAND_107;
  reg [31:0] _RAND_108;
  reg [31:0] _RAND_109;
  reg [31:0] _RAND_110;
  reg [31:0] _RAND_111;
  reg [31:0] _RAND_112;
  reg [31:0] _RAND_113;
  reg [31:0] _RAND_114;
  reg [31:0] _RAND_115;
  reg [31:0] _RAND_116;
`endif // RANDOMIZE_REG_INIT
  wire  tagRAM_0_clock; // @[DcacheStage.scala 63:54]
  wire [1:0] tagRAM_0_io_addrr; // @[DcacheStage.scala 63:54]
  wire [1:0] tagRAM_0_io_addrw; // @[DcacheStage.scala 63:54]
  wire [25:0] tagRAM_0_io_dataw; // @[DcacheStage.scala 63:54]
  wire [25:0] tagRAM_0_io_datar; // @[DcacheStage.scala 63:54]
  wire  tagRAM_0_io_enw; // @[DcacheStage.scala 63:54]
  wire  tagRAM_0_io_enr; // @[DcacheStage.scala 63:54]
  wire  tagRAM_1_clock; // @[DcacheStage.scala 63:54]
  wire [1:0] tagRAM_1_io_addrr; // @[DcacheStage.scala 63:54]
  wire [1:0] tagRAM_1_io_addrw; // @[DcacheStage.scala 63:54]
  wire [25:0] tagRAM_1_io_dataw; // @[DcacheStage.scala 63:54]
  wire [25:0] tagRAM_1_io_datar; // @[DcacheStage.scala 63:54]
  wire  tagRAM_1_io_enw; // @[DcacheStage.scala 63:54]
  wire  tagRAM_1_io_enr; // @[DcacheStage.scala 63:54]
  wire  rplSel_rpl_prng_clock; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_reset; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_increment; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_0; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_1; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_2; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_3; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_4; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_5; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_6; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_7; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_8; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_9; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_10; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_11; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_12; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_13; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_14; // @[PRNG.scala 91:22]
  wire  rplSel_rpl_prng_io_out_15; // @[PRNG.scala 91:22]
  wire  _pipeStage1Valid_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  reg  pipeStage1Valid; // @[DcacheStage.scala 71:32]
  reg  pipeStage1Bits_chkIdx; // @[DcacheStage.scala 72:32]
  reg [31:0] pipeStage1Bits_paddr; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lb; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lh; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lw; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_ld; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lbu; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lhu; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lwu; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sb; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sh; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sw; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sd; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lr_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sc_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoswap_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoadd_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoxor_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoand_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoor_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomin_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomax_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amominu_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomaxu_w; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_lr_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_sc_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoswap_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoadd_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoxor_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoand_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amoor_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomin_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomax_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amominu_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_amomaxu_d; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_flw; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_fsw; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_fld; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_fsd; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_probe; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_grant; // @[DcacheStage.scala 72:32]
  reg  pipeStage1Bits_fun_preft; // @[DcacheStage.scala 72:32]
  reg  isTagBypass_1; // @[Reg.scala 19:16]
  reg [25:0] tagBypassData_1; // @[Reg.scala 19:16]
  wire [25:0] tagInfoR_1 = isTagBypass_1 ? tagBypassData_1 : tagRAM_1_io_datar; // @[DcacheStage.scala 127:31]
  wire [25:0] tagInfoW = pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  wire [1:0] addrSelW = pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  reg  isCBValid_3_1; // @[DcacheStage.scala 84:26]
  reg  isCBValid_2_1; // @[DcacheStage.scala 84:26]
  reg  isCBValid_1_1; // @[DcacheStage.scala 84:26]
  reg  isCBValid_0_1; // @[DcacheStage.scala 84:26]
  wire  _GEN_203 = 2'h1 == addrSelW ? isCBValid_1_1 : isCBValid_0_1; // @[DcacheStage.scala 241:{73,73}]
  wire  _GEN_204 = 2'h2 == addrSelW ? isCBValid_2_1 : _GEN_203; // @[DcacheStage.scala 241:{73,73}]
  wire  _GEN_205 = 2'h3 == addrSelW ? isCBValid_3_1 : _GEN_204; // @[DcacheStage.scala 241:{73,73}]
  wire  res_1 = tagInfoR_1 == tagInfoW & _GEN_205; // @[DcacheStage.scala 241:73]
  reg  isTagBypass; // @[Reg.scala 19:16]
  reg [25:0] tagBypassData; // @[Reg.scala 19:16]
  wire [25:0] tagInfoR_0 = isTagBypass ? tagBypassData : tagRAM_0_io_datar; // @[DcacheStage.scala 127:31]
  reg  isCBValid_3_0; // @[DcacheStage.scala 84:26]
  reg  isCBValid_2_0; // @[DcacheStage.scala 84:26]
  reg  isCBValid_1_0; // @[DcacheStage.scala 84:26]
  reg  isCBValid_0_0; // @[DcacheStage.scala 84:26]
  wire  _GEN_199 = 2'h1 == addrSelW ? isCBValid_1_0 : isCBValid_0_0; // @[DcacheStage.scala 241:{73,73}]
  wire  _GEN_200 = 2'h2 == addrSelW ? isCBValid_2_0 : _GEN_199; // @[DcacheStage.scala 241:{73,73}]
  wire  _GEN_201 = 2'h3 == addrSelW ? isCBValid_3_0 : _GEN_200; // @[DcacheStage.scala 241:{73,73}]
  wire  res_0 = tagInfoR_0 == tagInfoW & _GEN_201; // @[DcacheStage.scala 241:73]
  wire [1:0] _isHit_T = {res_1,res_0}; // @[DcacheStage.scala 77:23]
  wire  isHit = |_isHit_T; // @[DcacheStage.scala 77:30]
  wire  hitSel = _isHit_T[1]; // @[CircuitMath.scala 28:8]
  reg  isCBDirty_0_0; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_0_1; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_1_0; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_1_1; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_2_0; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_2_1; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_3_0; // @[DcacheStage.scala 86:26]
  reg  isCBDirty_3_1; // @[DcacheStage.scala 86:26]
  wire [1:0] addrSelR = io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  wire  _cbSel_T_17 = pipeStage1Bits_fun_sc_d | pipeStage1Bits_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  _cbSel_T_18 = pipeStage1Bits_fun_amoswap_w | pipeStage1Bits_fun_amoadd_w | pipeStage1Bits_fun_amoxor_w |
    pipeStage1Bits_fun_amoand_w | pipeStage1Bits_fun_amoor_w | pipeStage1Bits_fun_amomin_w | pipeStage1Bits_fun_amomax_w
     | pipeStage1Bits_fun_amominu_w | pipeStage1Bits_fun_amomaxu_w | pipeStage1Bits_fun_amoswap_d |
    pipeStage1Bits_fun_amoadd_d | pipeStage1Bits_fun_amoxor_d | pipeStage1Bits_fun_amoand_d | pipeStage1Bits_fun_amoor_d
     | pipeStage1Bits_fun_amomin_d | pipeStage1Bits_fun_amomax_d | pipeStage1Bits_fun_amominu_d |
    pipeStage1Bits_fun_amomaxu_d | _cbSel_T_17; // @[riscv_isa.scala 148:205]
  wire  _cbSel_T_27 = pipeStage1Bits_fun_lr_d | pipeStage1Bits_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  _cbSel_T_28 = pipeStage1Bits_fun_lb | pipeStage1Bits_fun_lh | pipeStage1Bits_fun_lw | pipeStage1Bits_fun_ld |
    pipeStage1Bits_fun_lbu | pipeStage1Bits_fun_lhu | pipeStage1Bits_fun_lwu | pipeStage1Bits_fun_flw |
    pipeStage1Bits_fun_fld | _cbSel_T_27; // @[riscv_isa.scala 143:65]
  wire  _cbSel_T_29 = _cbSel_T_18 | _cbSel_T_28; // @[Dcache.scala 50:27]
  wire  _cbSel_T_34 = pipeStage1Bits_fun_sb | pipeStage1Bits_fun_sh | pipeStage1Bits_fun_sw | pipeStage1Bits_fun_sd |
    pipeStage1Bits_fun_fsw | pipeStage1Bits_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  _cbSel_T_39 = _cbSel_T_18 | _cbSel_T_28 | _cbSel_T_34 | _cbSel_T_27 | _cbSel_T_17; // @[Dcache.scala 50:51]
  wire  _rplSel_is_emptyBlock_exist_T = ~_GEN_201; // @[DcacheStage.scala 263:61]
  wire  rplSel_is_emptyBlock_exist = ~_GEN_201 | ~_GEN_205; // @[DcacheStage.scala 263:61]
  wire  rplSel_emptyBlock_sel = _rplSel_is_emptyBlock_exist_T ? 1'h0 : 1'h1; // @[DcacheStage.scala 264:58]
  wire [7:0] rplSel_rpl_lo = {rplSel_rpl_prng_io_out_7,rplSel_rpl_prng_io_out_6,rplSel_rpl_prng_io_out_5,
    rplSel_rpl_prng_io_out_4,rplSel_rpl_prng_io_out_3,rplSel_rpl_prng_io_out_2,rplSel_rpl_prng_io_out_1,
    rplSel_rpl_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire [15:0] rplSel_rpl = {rplSel_rpl_prng_io_out_15,rplSel_rpl_prng_io_out_14,rplSel_rpl_prng_io_out_13,
    rplSel_rpl_prng_io_out_12,rplSel_rpl_prng_io_out_11,rplSel_rpl_prng_io_out_10,rplSel_rpl_prng_io_out_9,
    rplSel_rpl_prng_io_out_8,rplSel_rpl_lo}; // @[PRNG.scala 95:17]
  wire [15:0] _rplSel_T = rplSel_is_emptyBlock_exist ? {{15'd0}, rplSel_emptyBlock_sel} : rplSel_rpl; // @[DcacheStage.scala 275:10]
  wire  rplSel = _rplSel_T[0]; // @[DcacheStage.scala 261:10 79:20]
  wire  cbSel = _cbSel_T_39 & hitSel | pipeStage1Bits_fun_preft & hitSel | pipeStage1Bits_fun_probe & hitSel |
    pipeStage1Bits_fun_grant & rplSel; // @[Mux.scala 27:73]
  wire  _tagEnW_0_T = ~cbSel; // @[DcacheStage.scala 106:23]
  wire  tagEnW_0 = ~cbSel & pipeStage1Valid & pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  wire  tagEnW_1 = cbSel & pipeStage1Valid & pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  wire  _isTagBypass_T = addrSelR == addrSelW; // @[DcacheStage.scala 117:58]
  wire  _isTagBypass_T_1 = tagEnW_0 & addrSelR == addrSelW; // @[DcacheStage.scala 117:46]
  wire  _tagBypassData_T_3 = _pipeStage1Valid_T & tagEnW_0 & _isTagBypass_T; // @[DcacheStage.scala 118:70]
  wire  _isTagBypass_T_4 = tagEnW_1 & addrSelR == addrSelW; // @[DcacheStage.scala 117:46]
  wire  _tagBypassData_T_7 = _pipeStage1Valid_T & tagEnW_1 & _isTagBypass_T; // @[DcacheStage.scala 118:70]
  reg  killTrans; // @[DcacheStage.scala 146:26]
  wire  _T_124 = io_flush | killTrans; // @[DcacheStage.scala 157:18]
  wire  _T_165 = pipeStage1Valid & _cbSel_T_39; // @[DcacheStage.scala 159:32]
  wire  _T_166 = pipeStage1Valid & _cbSel_T_39 & isHit; // @[DcacheStage.scala 159:63]
  wire  _T_181 = pipeStage1Bits_fun_ld | pipeStage1Bits_fun_lr_d | pipeStage1Bits_fun_fld | pipeStage1Bits_fun_sd |
    pipeStage1Bits_fun_sc_d | pipeStage1Bits_fun_fsd | pipeStage1Bits_fun_amoswap_d | pipeStage1Bits_fun_amoadd_d |
    pipeStage1Bits_fun_amoxor_d | pipeStage1Bits_fun_amoand_d | pipeStage1Bits_fun_amoor_d | pipeStage1Bits_fun_amomin_d
     | pipeStage1Bits_fun_amomax_d | pipeStage1Bits_fun_amominu_d | pipeStage1Bits_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire  _T_196 = pipeStage1Bits_fun_lw | pipeStage1Bits_fun_lwu | pipeStage1Bits_fun_sw | pipeStage1Bits_fun_amoswap_w
     | pipeStage1Bits_fun_amoadd_w | pipeStage1Bits_fun_amoxor_w | pipeStage1Bits_fun_amoand_w |
    pipeStage1Bits_fun_amoor_w | pipeStage1Bits_fun_amomin_w | pipeStage1Bits_fun_amomax_w |
    pipeStage1Bits_fun_amominu_w | pipeStage1Bits_fun_amomaxu_w | pipeStage1Bits_fun_flw | pipeStage1Bits_fun_fsw |
    pipeStage1Bits_fun_lr_w | pipeStage1Bits_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire  _T_199 = ~reset; // @[DcacheStage.scala 164:13]
  wire  _GEN_84 = io_isCacheEmpty ? 1'h0 : killTrans; // @[DcacheStage.scala 180:34 181:15 146:26]
  wire  _GEN_85 = io_flush | _GEN_84; // @[DcacheStage.scala 178:20 179:15]
  wire  _GEN_2 = 2'h0 == addrSelW; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_4 = 2'h0 == addrSelW & _tagEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_118 = 2'h0 == addrSelW & _tagEnW_0_T | isCBValid_0_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_6 = 2'h0 == addrSelW & cbSel; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_119 = 2'h0 == addrSelW & cbSel | isCBValid_0_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_7 = 2'h1 == addrSelW; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_9 = 2'h1 == addrSelW & _tagEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_120 = 2'h1 == addrSelW & _tagEnW_0_T | isCBValid_1_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_11 = 2'h1 == addrSelW & cbSel; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_121 = 2'h1 == addrSelW & cbSel | isCBValid_1_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_12 = 2'h2 == addrSelW; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_14 = 2'h2 == addrSelW & _tagEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_122 = 2'h2 == addrSelW & _tagEnW_0_T | isCBValid_2_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_16 = 2'h2 == addrSelW & cbSel; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_123 = 2'h2 == addrSelW & cbSel | isCBValid_2_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_17 = 2'h3 == addrSelW; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_19 = 2'h3 == addrSelW & _tagEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_124 = 2'h3 == addrSelW & _tagEnW_0_T | isCBValid_3_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_21 = 2'h3 == addrSelW & cbSel; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_125 = 2'h3 == addrSelW & cbSel | isCBValid_3_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_126 = _GEN_2 & _tagEnW_0_T ? 1'h0 : isCBDirty_0_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_127 = _GEN_2 & cbSel ? 1'h0 : isCBDirty_0_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_128 = _GEN_7 & _tagEnW_0_T ? 1'h0 : isCBDirty_1_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_129 = _GEN_7 & cbSel ? 1'h0 : isCBDirty_1_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_130 = _GEN_12 & _tagEnW_0_T ? 1'h0 : isCBDirty_2_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_131 = _GEN_12 & cbSel ? 1'h0 : isCBDirty_2_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_132 = _GEN_17 & _tagEnW_0_T ? 1'h0 : isCBDirty_3_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_133 = _GEN_17 & cbSel ? 1'h0 : isCBDirty_3_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  _GEN_134 = pipeStage1Bits_fun_grant ? _GEN_118 : isCBValid_0_0; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_135 = pipeStage1Bits_fun_grant ? _GEN_119 : isCBValid_0_1; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_136 = pipeStage1Bits_fun_grant ? _GEN_120 : isCBValid_1_0; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_137 = pipeStage1Bits_fun_grant ? _GEN_121 : isCBValid_1_1; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_138 = pipeStage1Bits_fun_grant ? _GEN_122 : isCBValid_2_0; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_139 = pipeStage1Bits_fun_grant ? _GEN_123 : isCBValid_2_1; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_140 = pipeStage1Bits_fun_grant ? _GEN_124 : isCBValid_3_0; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_141 = pipeStage1Bits_fun_grant ? _GEN_125 : isCBValid_3_1; // @[DcacheStage.scala 227:38 84:26]
  wire  _GEN_142 = pipeStage1Bits_fun_grant ? _GEN_126 : isCBDirty_0_0; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_143 = pipeStage1Bits_fun_grant ? _GEN_127 : isCBDirty_0_1; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_144 = pipeStage1Bits_fun_grant ? _GEN_128 : isCBDirty_1_0; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_145 = pipeStage1Bits_fun_grant ? _GEN_129 : isCBDirty_1_1; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_146 = pipeStage1Bits_fun_grant ? _GEN_130 : isCBDirty_2_0; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_147 = pipeStage1Bits_fun_grant ? _GEN_131 : isCBDirty_2_1; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_148 = pipeStage1Bits_fun_grant ? _GEN_132 : isCBDirty_3_0; // @[DcacheStage.scala 227:38 86:26]
  wire  _GEN_149 = pipeStage1Bits_fun_grant ? _GEN_133 : isCBDirty_3_1; // @[DcacheStage.scala 227:38 86:26]
  wire  _T_279 = _cbSel_T_18 | _cbSel_T_34 | _cbSel_T_17; // @[Dcache.scala 55:35]
  wire  _GEN_150 = _GEN_4 | _GEN_142; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_151 = _GEN_6 | _GEN_143; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_152 = _GEN_9 | _GEN_144; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_153 = _GEN_11 | _GEN_145; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_154 = _GEN_14 | _GEN_146; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_155 = _GEN_16 | _GEN_147; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_156 = _GEN_19 | _GEN_148; // @[DcacheStage.scala 232:{34,34}]
  wire  _GEN_157 = _GEN_21 | _GEN_149; // @[DcacheStage.scala 232:{34,34}]
  wire [1:0] _T_281 = res_0 + res_1; // @[Bitwise.scala 51:90]
  wire  _T_287 = ~isHit; // @[DcacheStage.scala 283:46]
  reg  missUnitReqValid; // @[DcacheStage.scala 291:33]
  reg [31:0] missUnitReqPaddr; // @[DcacheStage.scala 292:29]
  wire  _T_333 = pipeStage1Valid & (_cbSel_T_39 | pipeStage1Bits_fun_preft) & _T_287; // @[DcacheStage.scala 297:87]
  wire [31:0] _missUnitReqPaddr_T = {{4'd0}, pipeStage1Bits_paddr[31:4]}; // @[DcacheStage.scala 299:46]
  wire [35:0] _GEN_69 = {_missUnitReqPaddr_T, 4'h0}; // @[DcacheStage.scala 299:60]
  wire [38:0] _missUnitReqPaddr_T_1 = {{3'd0}, _GEN_69}; // @[DcacheStage.scala 299:60]
  wire [38:0] _GEN_207 = pipeStage1Valid & (_cbSel_T_39 | pipeStage1Bits_fun_preft) & _T_287 ? _missUnitReqPaddr_T_1 :
    {{7'd0}, missUnitReqPaddr}; // @[DcacheStage.scala 297:102 299:22 292:29]
  reg  wbReqValid; // @[DcacheStage.scala 307:27]
  reg  wbReqisData; // @[DcacheStage.scala 310:24]
  reg  isPb; // @[DcacheStage.scala 311:24]
  wire  _io_wb_req_bits_is_releaseData_T = ~isPb; // @[DcacheStage.scala 317:51]
  wire  _io_wb_req_bits_is_release_T = ~wbReqisData; // @[DcacheStage.scala 318:36]
  wire  _GEN_211 = _GEN_2 & cbSel ? isCBDirty_0_1 : isCBDirty_0_0; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_212 = _GEN_7 & _tagEnW_0_T ? isCBDirty_1_0 : _GEN_211; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_213 = _GEN_7 & cbSel ? isCBDirty_1_1 : _GEN_212; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_214 = _GEN_12 & _tagEnW_0_T ? isCBDirty_2_0 : _GEN_213; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_215 = _GEN_12 & cbSel ? isCBDirty_2_1 : _GEN_214; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_216 = _GEN_17 & _tagEnW_0_T ? isCBDirty_3_0 : _GEN_215; // @[DcacheStage.scala 326:{17,17}]
  wire  _GEN_217 = _GEN_17 & cbSel ? isCBDirty_3_1 : _GEN_216; // @[DcacheStage.scala 326:{17,17}]
  wire  _T_341 = pipeStage1Valid & pipeStage1Bits_fun_probe; // @[DcacheStage.scala 328:32]
  wire  _GEN_222 = pipeStage1Valid & pipeStage1Bits_fun_probe | isPb; // @[DcacheStage.scala 328:60 333:17 311:24]
  wire  _GEN_223 = pipeStage1Valid & (pipeStage1Bits_fun_grant & ~rplSel_is_emptyBlock_exist) | _T_341; // @[DcacheStage.scala 322:99 323:17]
  reg  reloadValid; // @[DcacheStage.scala 347:28]
  reg  reloadBits_chkIdx; // @[DcacheStage.scala 348:24]
  reg [31:0] reloadBits_paddr; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lb; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lh; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lw; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_ld; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lbu; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lhu; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lwu; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sb; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sh; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sw; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sd; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lr_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sc_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoswap_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoadd_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoxor_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoand_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoor_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomin_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomax_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amominu_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomaxu_w; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_lr_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_sc_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoswap_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoadd_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoxor_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoand_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amoor_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomin_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomax_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amominu_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_amomaxu_d; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_flw; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_fsw; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_fld; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_fsd; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_probe; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_grant; // @[DcacheStage.scala 348:24]
  reg  reloadBits_fun_preft; // @[DcacheStage.scala 348:24]
  wire  _T_384 = _T_165 & _T_287; // @[DcacheStage.scala 350:56]
  reg  deqValid; // @[DcacheStage.scala 362:25]
  reg  deqBits_chkIdx; // @[DcacheStage.scala 363:21]
  reg  deqBits_is_load_amo; // @[DcacheStage.scala 363:21]
  reg  deqBits_is_flw; // @[DcacheStage.scala 363:21]
  reg  deqBits_is_fld; // @[DcacheStage.scala 363:21]
  wire  _deqBits_is_load_amo_T_31 = _cbSel_T_29 | _cbSel_T_27; // @[Dcache.scala 56:31]
  TagRAM tagRAM_0 ( // @[DcacheStage.scala 63:54]
    .clock(tagRAM_0_clock),
    .io_addrr(tagRAM_0_io_addrr),
    .io_addrw(tagRAM_0_io_addrw),
    .io_dataw(tagRAM_0_io_dataw),
    .io_datar(tagRAM_0_io_datar),
    .io_enw(tagRAM_0_io_enw),
    .io_enr(tagRAM_0_io_enr)
  );
  TagRAM tagRAM_1 ( // @[DcacheStage.scala 63:54]
    .clock(tagRAM_1_clock),
    .io_addrr(tagRAM_1_io_addrr),
    .io_addrw(tagRAM_1_io_addrw),
    .io_dataw(tagRAM_1_io_dataw),
    .io_datar(tagRAM_1_io_datar),
    .io_enw(tagRAM_1_io_enw),
    .io_enr(tagRAM_1_io_enr)
  );
  MaxPeriodFibonacciLFSR rplSel_rpl_prng ( // @[PRNG.scala 91:22]
    .clock(rplSel_rpl_prng_clock),
    .reset(rplSel_rpl_prng_reset),
    .io_increment(rplSel_rpl_prng_io_increment),
    .io_out_0(rplSel_rpl_prng_io_out_0),
    .io_out_1(rplSel_rpl_prng_io_out_1),
    .io_out_2(rplSel_rpl_prng_io_out_2),
    .io_out_3(rplSel_rpl_prng_io_out_3),
    .io_out_4(rplSel_rpl_prng_io_out_4),
    .io_out_5(rplSel_rpl_prng_io_out_5),
    .io_out_6(rplSel_rpl_prng_io_out_6),
    .io_out_7(rplSel_rpl_prng_io_out_7),
    .io_out_8(rplSel_rpl_prng_io_out_8),
    .io_out_9(rplSel_rpl_prng_io_out_9),
    .io_out_10(rplSel_rpl_prng_io_out_10),
    .io_out_11(rplSel_rpl_prng_io_out_11),
    .io_out_12(rplSel_rpl_prng_io_out_12),
    .io_out_13(rplSel_rpl_prng_io_out_13),
    .io_out_14(rplSel_rpl_prng_io_out_14),
    .io_out_15(rplSel_rpl_prng_io_out_15)
  );
  assign io_enq_ready = 1'h1; // @[DcacheStage.scala 70:16]
  assign io_reload_valid = reloadValid; // @[DcacheStage.scala 359:19]
  assign io_reload_bits_chkIdx = reloadBits_chkIdx; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_paddr = reloadBits_paddr; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lb = reloadBits_fun_lb; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lh = reloadBits_fun_lh; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lw = reloadBits_fun_lw; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_ld = reloadBits_fun_ld; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lbu = reloadBits_fun_lbu; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lhu = reloadBits_fun_lhu; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lwu = reloadBits_fun_lwu; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sb = reloadBits_fun_sb; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sh = reloadBits_fun_sh; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sw = reloadBits_fun_sw; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sd = reloadBits_fun_sd; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lr_w = reloadBits_fun_lr_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sc_w = reloadBits_fun_sc_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoswap_w = reloadBits_fun_amoswap_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoadd_w = reloadBits_fun_amoadd_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoxor_w = reloadBits_fun_amoxor_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoand_w = reloadBits_fun_amoand_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoor_w = reloadBits_fun_amoor_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomin_w = reloadBits_fun_amomin_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomax_w = reloadBits_fun_amomax_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amominu_w = reloadBits_fun_amominu_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomaxu_w = reloadBits_fun_amomaxu_w; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_lr_d = reloadBits_fun_lr_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_sc_d = reloadBits_fun_sc_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoswap_d = reloadBits_fun_amoswap_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoadd_d = reloadBits_fun_amoadd_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoxor_d = reloadBits_fun_amoxor_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoand_d = reloadBits_fun_amoand_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amoor_d = reloadBits_fun_amoor_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomin_d = reloadBits_fun_amomin_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomax_d = reloadBits_fun_amomax_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amominu_d = reloadBits_fun_amominu_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_amomaxu_d = reloadBits_fun_amomaxu_d; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_flw = reloadBits_fun_flw; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_fsw = reloadBits_fun_fsw; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_fld = reloadBits_fun_fld; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_fsd = reloadBits_fun_fsd; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_probe = reloadBits_fun_probe; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_grant = reloadBits_fun_grant; // @[DcacheStage.scala 360:19]
  assign io_reload_bits_fun_preft = reloadBits_fun_preft; // @[DcacheStage.scala 360:19]
  assign io_deq_valid = deqValid; // @[DcacheStage.scala 365:16]
  assign io_deq_bits_chkIdx = deqBits_chkIdx; // @[DcacheStage.scala 366:16]
  assign io_deq_bits_is_load_amo = deqBits_is_load_amo; // @[DcacheStage.scala 366:16]
  assign io_deq_bits_is_flw = deqBits_is_flw; // @[DcacheStage.scala 366:16]
  assign io_deq_bits_is_fld = deqBits_is_fld; // @[DcacheStage.scala 366:16]
  assign io_missUnit_req_valid = missUnitReqValid; // @[DcacheStage.scala 294:25]
  assign io_missUnit_req_bits_paddr = missUnitReqPaddr; // @[DcacheStage.scala 295:30]
  assign io_wb_req_valid = wbReqValid; // @[DcacheStage.scala 313:19]
  assign io_wb_req_bits_is_releaseData = wbReqisData & ~isPb; // @[DcacheStage.scala 317:49]
  assign io_wb_req_bits_is_release = ~wbReqisData & _io_wb_req_bits_is_releaseData_T; // @[DcacheStage.scala 318:49]
  assign io_wb_req_bits_is_probe = _io_wb_req_bits_is_release_T & isPb; // @[DcacheStage.scala 320:49]
  assign io_wb_req_bits_is_probeData = wbReqisData & isPb; // @[DcacheStage.scala 319:49]
  assign tagRAM_0_clock = clock;
  assign tagRAM_0_io_addrr = io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign tagRAM_0_io_addrw = pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign tagRAM_0_io_dataw = pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  assign tagRAM_0_io_enw = ~cbSel & pipeStage1Valid & pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  assign tagRAM_0_io_enr = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  assign tagRAM_1_clock = clock;
  assign tagRAM_1_io_addrr = io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign tagRAM_1_io_addrw = pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign tagRAM_1_io_dataw = pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  assign tagRAM_1_io_enw = cbSel & pipeStage1Valid & pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  assign tagRAM_1_io_enr = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  assign rplSel_rpl_prng_clock = clock;
  assign rplSel_rpl_prng_reset = reset;
  assign rplSel_rpl_prng_io_increment = 1'h1; // @[PRNG.scala 94:23]
  always @(posedge clock) begin
    if (reset) begin // @[DcacheStage.scala 71:32]
      pipeStage1Valid <= 1'h0; // @[DcacheStage.scala 71:32]
    end else begin
      pipeStage1Valid <= _pipeStage1Valid_T; // @[DcacheStage.scala 71:32]
    end
    pipeStage1Bits_chkIdx <= io_enq_bits_chkIdx; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_paddr <= io_enq_bits_paddr; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lb <= io_enq_bits_fun_lb; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lh <= io_enq_bits_fun_lh; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lw <= io_enq_bits_fun_lw; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_ld <= io_enq_bits_fun_ld; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lbu <= io_enq_bits_fun_lbu; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lhu <= io_enq_bits_fun_lhu; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lwu <= io_enq_bits_fun_lwu; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sb <= io_enq_bits_fun_sb; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sh <= io_enq_bits_fun_sh; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sw <= io_enq_bits_fun_sw; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sd <= io_enq_bits_fun_sd; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lr_w <= io_enq_bits_fun_lr_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sc_w <= io_enq_bits_fun_sc_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoswap_w <= io_enq_bits_fun_amoswap_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoadd_w <= io_enq_bits_fun_amoadd_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoxor_w <= io_enq_bits_fun_amoxor_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoand_w <= io_enq_bits_fun_amoand_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoor_w <= io_enq_bits_fun_amoor_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomin_w <= io_enq_bits_fun_amomin_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomax_w <= io_enq_bits_fun_amomax_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amominu_w <= io_enq_bits_fun_amominu_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomaxu_w <= io_enq_bits_fun_amomaxu_w; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_lr_d <= io_enq_bits_fun_lr_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_sc_d <= io_enq_bits_fun_sc_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoswap_d <= io_enq_bits_fun_amoswap_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoadd_d <= io_enq_bits_fun_amoadd_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoxor_d <= io_enq_bits_fun_amoxor_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoand_d <= io_enq_bits_fun_amoand_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amoor_d <= io_enq_bits_fun_amoor_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomin_d <= io_enq_bits_fun_amomin_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomax_d <= io_enq_bits_fun_amomax_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amominu_d <= io_enq_bits_fun_amominu_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_amomaxu_d <= io_enq_bits_fun_amomaxu_d; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_flw <= io_enq_bits_fun_flw; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_fsw <= io_enq_bits_fun_fsw; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_fld <= io_enq_bits_fun_fld; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_fsd <= io_enq_bits_fun_fsd; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_probe <= io_enq_bits_fun_probe; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_grant <= io_enq_bits_fun_grant; // @[DcacheStage.scala 72:32]
    pipeStage1Bits_fun_preft <= io_enq_bits_fun_preft; // @[DcacheStage.scala 72:32]
    if (_pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      isTagBypass_1 <= _isTagBypass_T_4; // @[Reg.scala 20:22]
    end
    if (_tagBypassData_T_7) begin // @[Reg.scala 20:18]
      tagBypassData_1 <= tagInfoW; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_3_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_17 & cbSel) begin // @[DcacheStage.scala 236:34]
          isCBValid_3_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_3_1 <= _GEN_141;
        end
      end else begin
        isCBValid_3_1 <= _GEN_141;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_2_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_12 & cbSel) begin // @[DcacheStage.scala 236:34]
          isCBValid_2_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_2_1 <= _GEN_139;
        end
      end else begin
        isCBValid_2_1 <= _GEN_139;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_1_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_7 & cbSel) begin // @[DcacheStage.scala 236:34]
          isCBValid_1_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_1_1 <= _GEN_137;
        end
      end else begin
        isCBValid_1_1 <= _GEN_137;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_0_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_2 & cbSel) begin // @[DcacheStage.scala 236:34]
          isCBValid_0_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_0_1 <= _GEN_135;
        end
      end else begin
        isCBValid_0_1 <= _GEN_135;
      end
    end
    if (_pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      isTagBypass <= _isTagBypass_T_1; // @[Reg.scala 20:22]
    end
    if (_tagBypassData_T_3) begin // @[Reg.scala 20:18]
      tagBypassData <= tagInfoW; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_3_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_17 & _tagEnW_0_T) begin // @[DcacheStage.scala 236:34]
          isCBValid_3_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_3_0 <= _GEN_140;
        end
      end else begin
        isCBValid_3_0 <= _GEN_140;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_2_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_12 & _tagEnW_0_T) begin // @[DcacheStage.scala 236:34]
          isCBValid_2_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_2_0 <= _GEN_138;
        end
      end else begin
        isCBValid_2_0 <= _GEN_138;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_1_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_7 & _tagEnW_0_T) begin // @[DcacheStage.scala 236:34]
          isCBValid_1_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_1_0 <= _GEN_136;
        end
      end else begin
        isCBValid_1_0 <= _GEN_136;
      end
    end
    if (reset) begin // @[DcacheStage.scala 84:26]
      isCBValid_0_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (pipeStage1Bits_fun_probe & isHit) begin // @[DcacheStage.scala 235:46]
        if (_GEN_2 & _tagEnW_0_T) begin // @[DcacheStage.scala 236:34]
          isCBValid_0_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          isCBValid_0_0 <= _GEN_134;
        end
      end else begin
        isCBValid_0_0 <= _GEN_134;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_0_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_0_0 <= _GEN_150;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_0_0 <= _GEN_126;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_0_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_0_1 <= _GEN_151;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_0_1 <= _GEN_127;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_1_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_1_0 <= _GEN_152;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_1_0 <= _GEN_128;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_1_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_1_1 <= _GEN_153;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_1_1 <= _GEN_129;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_2_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_2_0 <= _GEN_154;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_2_0 <= _GEN_130;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_2_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_2_1 <= _GEN_155;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_2_1 <= _GEN_131;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_3_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_3_0 <= _GEN_156;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_3_0 <= _GEN_132;
      end
    end
    if (reset) begin // @[DcacheStage.scala 86:26]
      isCBDirty_3_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (_T_279) begin // @[DcacheStage.scala 231:42]
        isCBDirty_3_1 <= _GEN_157;
      end else if (pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        isCBDirty_3_1 <= _GEN_133;
      end
    end
    if (reset) begin // @[DcacheStage.scala 146:26]
      killTrans <= 1'h0; // @[DcacheStage.scala 146:26]
    end else begin
      killTrans <= _GEN_85;
    end
    if (reset) begin // @[DcacheStage.scala 291:33]
      missUnitReqValid <= 1'h0; // @[DcacheStage.scala 291:33]
    end else begin
      missUnitReqValid <= _T_333;
    end
    missUnitReqPaddr <= _GEN_207[31:0];
    if (reset) begin // @[DcacheStage.scala 307:27]
      wbReqValid <= 1'h0; // @[DcacheStage.scala 307:27]
    end else begin
      wbReqValid <= _GEN_223;
    end
    if (pipeStage1Valid & (pipeStage1Bits_fun_grant & ~rplSel_is_emptyBlock_exist)) begin // @[DcacheStage.scala 322:99]
      if (_GEN_17 & cbSel) begin // @[DcacheStage.scala 326:17]
        wbReqisData <= isCBDirty_3_1; // @[DcacheStage.scala 326:17]
      end else if (_GEN_17 & _tagEnW_0_T) begin // @[DcacheStage.scala 326:17]
        wbReqisData <= isCBDirty_3_0; // @[DcacheStage.scala 326:17]
      end else if (_GEN_12 & cbSel) begin // @[DcacheStage.scala 326:17]
        wbReqisData <= isCBDirty_2_1; // @[DcacheStage.scala 326:17]
      end else begin
        wbReqisData <= _GEN_214;
      end
    end else if (pipeStage1Valid & pipeStage1Bits_fun_probe) begin // @[DcacheStage.scala 328:60]
      wbReqisData <= _GEN_217 & isHit; // @[DcacheStage.scala 332:17]
    end
    if (pipeStage1Valid & (pipeStage1Bits_fun_grant & ~rplSel_is_emptyBlock_exist)) begin // @[DcacheStage.scala 322:99]
      isPb <= 1'h0; // @[DcacheStage.scala 327:17]
    end else begin
      isPb <= _GEN_222;
    end
    if (reset) begin // @[DcacheStage.scala 347:28]
      reloadValid <= 1'h0; // @[DcacheStage.scala 347:28]
    end else begin
      reloadValid <= _T_384;
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_chkIdx <= pipeStage1Bits_chkIdx; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_paddr <= pipeStage1Bits_paddr; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lb <= pipeStage1Bits_fun_lb; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lh <= pipeStage1Bits_fun_lh; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lw <= pipeStage1Bits_fun_lw; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_ld <= pipeStage1Bits_fun_ld; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lbu <= pipeStage1Bits_fun_lbu; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lhu <= pipeStage1Bits_fun_lhu; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lwu <= pipeStage1Bits_fun_lwu; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sb <= pipeStage1Bits_fun_sb; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sh <= pipeStage1Bits_fun_sh; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sw <= pipeStage1Bits_fun_sw; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sd <= pipeStage1Bits_fun_sd; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lr_w <= pipeStage1Bits_fun_lr_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sc_w <= pipeStage1Bits_fun_sc_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoswap_w <= pipeStage1Bits_fun_amoswap_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoadd_w <= pipeStage1Bits_fun_amoadd_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoxor_w <= pipeStage1Bits_fun_amoxor_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoand_w <= pipeStage1Bits_fun_amoand_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoor_w <= pipeStage1Bits_fun_amoor_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomin_w <= pipeStage1Bits_fun_amomin_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomax_w <= pipeStage1Bits_fun_amomax_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amominu_w <= pipeStage1Bits_fun_amominu_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomaxu_w <= pipeStage1Bits_fun_amomaxu_w; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_lr_d <= pipeStage1Bits_fun_lr_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_sc_d <= pipeStage1Bits_fun_sc_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoswap_d <= pipeStage1Bits_fun_amoswap_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoadd_d <= pipeStage1Bits_fun_amoadd_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoxor_d <= pipeStage1Bits_fun_amoxor_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoand_d <= pipeStage1Bits_fun_amoand_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amoor_d <= pipeStage1Bits_fun_amoor_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomin_d <= pipeStage1Bits_fun_amomin_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomax_d <= pipeStage1Bits_fun_amomax_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amominu_d <= pipeStage1Bits_fun_amominu_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_amomaxu_d <= pipeStage1Bits_fun_amomaxu_d; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_flw <= pipeStage1Bits_fun_flw; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_fsw <= pipeStage1Bits_fun_fsw; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_fld <= pipeStage1Bits_fun_fld; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_fsd <= pipeStage1Bits_fun_fsd; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_probe <= pipeStage1Bits_fun_probe; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_grant <= pipeStage1Bits_fun_grant; // @[DcacheStage.scala 352:17]
    end
    if (_T_165 & _T_287) begin // @[DcacheStage.scala 350:67]
      reloadBits_fun_preft <= pipeStage1Bits_fun_preft; // @[DcacheStage.scala 352:17]
    end
    if (reset) begin // @[DcacheStage.scala 362:25]
      deqValid <= 1'h0; // @[DcacheStage.scala 362:25]
    end else begin
      deqValid <= _T_166;
    end
    if (_T_166) begin // @[DcacheStage.scala 368:66]
      deqBits_chkIdx <= pipeStage1Bits_chkIdx; // @[DcacheStage.scala 395:24]
    end
    if (_T_166) begin // @[DcacheStage.scala 368:66]
      deqBits_is_load_amo <= _deqBits_is_load_amo_T_31; // @[DcacheStage.scala 396:25]
    end
    if (_T_166) begin // @[DcacheStage.scala 368:66]
      deqBits_is_flw <= pipeStage1Bits_fun_flw; // @[DcacheStage.scala 397:25]
    end
    if (_T_166) begin // @[DcacheStage.scala 368:66]
      deqBits_is_fld <= pipeStage1Bits_fun_fld; // @[DcacheStage.scala 398:25]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T_124 & _T_166 & _cbSel_T_27 & ~reset & ~(_T_181 | _T_196)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at DcacheStage.scala:164 assert( pipeStage1Bits.fun.is_dubl | pipeStage1Bits.fun.is_word )\n"
            ); // @[DcacheStage.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_181 | _T_196) & (~_T_124 & _T_166 & _cbSel_T_27 & ~reset)) begin
          $fatal; // @[DcacheStage.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (pipeStage1Valid & _T_199 & ~(_T_281 <= 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at DcacheStage.scala:242 when( pipeStage1Valid ) {assert(PopCount(res) <= 1.U)}\n"); // @[DcacheStage.scala 242:36]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_281 <= 2'h1) & (pipeStage1Valid & _T_199)) begin
          $fatal; // @[DcacheStage.scala 242:36]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_341 & ~isHit & _T_199) begin
          $fwrite(32'h80000002,"Warning, l2 will never request a empty probe, is it in writeback unit?\n"); // @[DcacheStage.scala 283:63]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  pipeStage1Valid = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  pipeStage1Bits_chkIdx = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  pipeStage1Bits_paddr = _RAND_2[31:0];
  _RAND_3 = {1{`RANDOM}};
  pipeStage1Bits_fun_lb = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  pipeStage1Bits_fun_lh = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  pipeStage1Bits_fun_lw = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  pipeStage1Bits_fun_ld = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  pipeStage1Bits_fun_lbu = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  pipeStage1Bits_fun_lhu = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  pipeStage1Bits_fun_lwu = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  pipeStage1Bits_fun_sb = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  pipeStage1Bits_fun_sh = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  pipeStage1Bits_fun_sw = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  pipeStage1Bits_fun_sd = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  pipeStage1Bits_fun_lr_w = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  pipeStage1Bits_fun_sc_w = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoswap_w = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoadd_w = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoxor_w = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoand_w = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoor_w = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomin_w = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomax_w = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  pipeStage1Bits_fun_amominu_w = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomaxu_w = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  pipeStage1Bits_fun_lr_d = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  pipeStage1Bits_fun_sc_d = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoswap_d = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoadd_d = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoxor_d = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoand_d = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  pipeStage1Bits_fun_amoor_d = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomin_d = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomax_d = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  pipeStage1Bits_fun_amominu_d = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  pipeStage1Bits_fun_amomaxu_d = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  pipeStage1Bits_fun_flw = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  pipeStage1Bits_fun_fsw = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  pipeStage1Bits_fun_fld = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  pipeStage1Bits_fun_fsd = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  pipeStage1Bits_fun_probe = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  pipeStage1Bits_fun_grant = _RAND_41[0:0];
  _RAND_42 = {1{`RANDOM}};
  pipeStage1Bits_fun_preft = _RAND_42[0:0];
  _RAND_43 = {1{`RANDOM}};
  isTagBypass_1 = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  tagBypassData_1 = _RAND_44[25:0];
  _RAND_45 = {1{`RANDOM}};
  isCBValid_3_1 = _RAND_45[0:0];
  _RAND_46 = {1{`RANDOM}};
  isCBValid_2_1 = _RAND_46[0:0];
  _RAND_47 = {1{`RANDOM}};
  isCBValid_1_1 = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  isCBValid_0_1 = _RAND_48[0:0];
  _RAND_49 = {1{`RANDOM}};
  isTagBypass = _RAND_49[0:0];
  _RAND_50 = {1{`RANDOM}};
  tagBypassData = _RAND_50[25:0];
  _RAND_51 = {1{`RANDOM}};
  isCBValid_3_0 = _RAND_51[0:0];
  _RAND_52 = {1{`RANDOM}};
  isCBValid_2_0 = _RAND_52[0:0];
  _RAND_53 = {1{`RANDOM}};
  isCBValid_1_0 = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  isCBValid_0_0 = _RAND_54[0:0];
  _RAND_55 = {1{`RANDOM}};
  isCBDirty_0_0 = _RAND_55[0:0];
  _RAND_56 = {1{`RANDOM}};
  isCBDirty_0_1 = _RAND_56[0:0];
  _RAND_57 = {1{`RANDOM}};
  isCBDirty_1_0 = _RAND_57[0:0];
  _RAND_58 = {1{`RANDOM}};
  isCBDirty_1_1 = _RAND_58[0:0];
  _RAND_59 = {1{`RANDOM}};
  isCBDirty_2_0 = _RAND_59[0:0];
  _RAND_60 = {1{`RANDOM}};
  isCBDirty_2_1 = _RAND_60[0:0];
  _RAND_61 = {1{`RANDOM}};
  isCBDirty_3_0 = _RAND_61[0:0];
  _RAND_62 = {1{`RANDOM}};
  isCBDirty_3_1 = _RAND_62[0:0];
  _RAND_63 = {1{`RANDOM}};
  killTrans = _RAND_63[0:0];
  _RAND_64 = {1{`RANDOM}};
  missUnitReqValid = _RAND_64[0:0];
  _RAND_65 = {1{`RANDOM}};
  missUnitReqPaddr = _RAND_65[31:0];
  _RAND_66 = {1{`RANDOM}};
  wbReqValid = _RAND_66[0:0];
  _RAND_67 = {1{`RANDOM}};
  wbReqisData = _RAND_67[0:0];
  _RAND_68 = {1{`RANDOM}};
  isPb = _RAND_68[0:0];
  _RAND_69 = {1{`RANDOM}};
  reloadValid = _RAND_69[0:0];
  _RAND_70 = {1{`RANDOM}};
  reloadBits_chkIdx = _RAND_70[0:0];
  _RAND_71 = {1{`RANDOM}};
  reloadBits_paddr = _RAND_71[31:0];
  _RAND_72 = {1{`RANDOM}};
  reloadBits_fun_lb = _RAND_72[0:0];
  _RAND_73 = {1{`RANDOM}};
  reloadBits_fun_lh = _RAND_73[0:0];
  _RAND_74 = {1{`RANDOM}};
  reloadBits_fun_lw = _RAND_74[0:0];
  _RAND_75 = {1{`RANDOM}};
  reloadBits_fun_ld = _RAND_75[0:0];
  _RAND_76 = {1{`RANDOM}};
  reloadBits_fun_lbu = _RAND_76[0:0];
  _RAND_77 = {1{`RANDOM}};
  reloadBits_fun_lhu = _RAND_77[0:0];
  _RAND_78 = {1{`RANDOM}};
  reloadBits_fun_lwu = _RAND_78[0:0];
  _RAND_79 = {1{`RANDOM}};
  reloadBits_fun_sb = _RAND_79[0:0];
  _RAND_80 = {1{`RANDOM}};
  reloadBits_fun_sh = _RAND_80[0:0];
  _RAND_81 = {1{`RANDOM}};
  reloadBits_fun_sw = _RAND_81[0:0];
  _RAND_82 = {1{`RANDOM}};
  reloadBits_fun_sd = _RAND_82[0:0];
  _RAND_83 = {1{`RANDOM}};
  reloadBits_fun_lr_w = _RAND_83[0:0];
  _RAND_84 = {1{`RANDOM}};
  reloadBits_fun_sc_w = _RAND_84[0:0];
  _RAND_85 = {1{`RANDOM}};
  reloadBits_fun_amoswap_w = _RAND_85[0:0];
  _RAND_86 = {1{`RANDOM}};
  reloadBits_fun_amoadd_w = _RAND_86[0:0];
  _RAND_87 = {1{`RANDOM}};
  reloadBits_fun_amoxor_w = _RAND_87[0:0];
  _RAND_88 = {1{`RANDOM}};
  reloadBits_fun_amoand_w = _RAND_88[0:0];
  _RAND_89 = {1{`RANDOM}};
  reloadBits_fun_amoor_w = _RAND_89[0:0];
  _RAND_90 = {1{`RANDOM}};
  reloadBits_fun_amomin_w = _RAND_90[0:0];
  _RAND_91 = {1{`RANDOM}};
  reloadBits_fun_amomax_w = _RAND_91[0:0];
  _RAND_92 = {1{`RANDOM}};
  reloadBits_fun_amominu_w = _RAND_92[0:0];
  _RAND_93 = {1{`RANDOM}};
  reloadBits_fun_amomaxu_w = _RAND_93[0:0];
  _RAND_94 = {1{`RANDOM}};
  reloadBits_fun_lr_d = _RAND_94[0:0];
  _RAND_95 = {1{`RANDOM}};
  reloadBits_fun_sc_d = _RAND_95[0:0];
  _RAND_96 = {1{`RANDOM}};
  reloadBits_fun_amoswap_d = _RAND_96[0:0];
  _RAND_97 = {1{`RANDOM}};
  reloadBits_fun_amoadd_d = _RAND_97[0:0];
  _RAND_98 = {1{`RANDOM}};
  reloadBits_fun_amoxor_d = _RAND_98[0:0];
  _RAND_99 = {1{`RANDOM}};
  reloadBits_fun_amoand_d = _RAND_99[0:0];
  _RAND_100 = {1{`RANDOM}};
  reloadBits_fun_amoor_d = _RAND_100[0:0];
  _RAND_101 = {1{`RANDOM}};
  reloadBits_fun_amomin_d = _RAND_101[0:0];
  _RAND_102 = {1{`RANDOM}};
  reloadBits_fun_amomax_d = _RAND_102[0:0];
  _RAND_103 = {1{`RANDOM}};
  reloadBits_fun_amominu_d = _RAND_103[0:0];
  _RAND_104 = {1{`RANDOM}};
  reloadBits_fun_amomaxu_d = _RAND_104[0:0];
  _RAND_105 = {1{`RANDOM}};
  reloadBits_fun_flw = _RAND_105[0:0];
  _RAND_106 = {1{`RANDOM}};
  reloadBits_fun_fsw = _RAND_106[0:0];
  _RAND_107 = {1{`RANDOM}};
  reloadBits_fun_fld = _RAND_107[0:0];
  _RAND_108 = {1{`RANDOM}};
  reloadBits_fun_fsd = _RAND_108[0:0];
  _RAND_109 = {1{`RANDOM}};
  reloadBits_fun_probe = _RAND_109[0:0];
  _RAND_110 = {1{`RANDOM}};
  reloadBits_fun_grant = _RAND_110[0:0];
  _RAND_111 = {1{`RANDOM}};
  reloadBits_fun_preft = _RAND_111[0:0];
  _RAND_112 = {1{`RANDOM}};
  deqValid = _RAND_112[0:0];
  _RAND_113 = {1{`RANDOM}};
  deqBits_chkIdx = _RAND_113[0:0];
  _RAND_114 = {1{`RANDOM}};
  deqBits_is_load_amo = _RAND_114[0:0];
  _RAND_115 = {1{`RANDOM}};
  deqBits_is_flw = _RAND_115[0:0];
  _RAND_116 = {1{`RANDOM}};
  deqBits_is_fld = _RAND_116[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Dcache(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [31:0] io_enq_bits_paddr,
  input         io_enq_bits_fun_lb,
  input         io_enq_bits_fun_lh,
  input         io_enq_bits_fun_lw,
  input         io_enq_bits_fun_ld,
  input         io_enq_bits_fun_lbu,
  input         io_enq_bits_fun_lhu,
  input         io_enq_bits_fun_lwu,
  input         io_enq_bits_fun_sb,
  input         io_enq_bits_fun_sh,
  input         io_enq_bits_fun_sw,
  input         io_enq_bits_fun_sd,
  input         io_enq_bits_fun_lr_w,
  input         io_enq_bits_fun_sc_w,
  input         io_enq_bits_fun_amoswap_w,
  input         io_enq_bits_fun_amoadd_w,
  input         io_enq_bits_fun_amoxor_w,
  input         io_enq_bits_fun_amoand_w,
  input         io_enq_bits_fun_amoor_w,
  input         io_enq_bits_fun_amomin_w,
  input         io_enq_bits_fun_amomax_w,
  input         io_enq_bits_fun_amominu_w,
  input         io_enq_bits_fun_amomaxu_w,
  input         io_enq_bits_fun_lr_d,
  input         io_enq_bits_fun_sc_d,
  input         io_enq_bits_fun_amoswap_d,
  input         io_enq_bits_fun_amoadd_d,
  input         io_enq_bits_fun_amoxor_d,
  input         io_enq_bits_fun_amoand_d,
  input         io_enq_bits_fun_amoor_d,
  input         io_enq_bits_fun_amomin_d,
  input         io_enq_bits_fun_amomax_d,
  input         io_enq_bits_fun_amominu_d,
  input         io_enq_bits_fun_amomaxu_d,
  input         io_enq_bits_fun_flw,
  input         io_enq_bits_fun_fsw,
  input         io_enq_bits_fun_fld,
  input         io_enq_bits_fun_fsd,
  input         io_deq_ready,
  output        io_deq_valid,
  output        io_deq_bits_chkIdx,
  output        io_deq_bits_is_load_amo,
  output        io_deq_bits_is_flw,
  output        io_deq_bits_is_fld,
  output        io_is_empty,
  input         io_flush,
  input         io_missUnit_dcache_acquire_ready,
  input         io_missUnit_dcache_grant_valid,
  input  [2:0]  io_missUnit_dcache_grant_bits_opcode,
  input  [2:0]  io_missUnit_dcache_grant_bits_size,
  input         io_missUnit_dcache_grant_bits_source,
  input         io_missUnit_dcache_grantAck_ready,
  input         io_probeUnit_dcache_probe_valid,
  input  [31:0] io_probeUnit_dcache_probe_bits_address,
  input         io_writeBackUnit_dcache_release_ready,
  output        io_writeBackUnit_dcache_release_valid,
  output [2:0]  io_writeBackUnit_dcache_release_bits_opcode,
  output [2:0]  io_writeBackUnit_dcache_release_bits_size,
  input         io_writeBackUnit_dcache_grant_valid,
  input         io_writeBackUnit_dcache_grant_bits_source
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  wire  missUnit_clock; // @[Dcache.scala 116:46]
  wire  missUnit_reset; // @[Dcache.scala 116:46]
  wire  missUnit_io_req_valid; // @[Dcache.scala 116:46]
  wire [31:0] missUnit_io_req_bits_paddr; // @[Dcache.scala 116:46]
  wire  missUnit_io_rsp_valid; // @[Dcache.scala 116:46]
  wire [31:0] missUnit_io_rsp_bits_paddr; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_acquire_ready; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_acquire_valid; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_grant_ready; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_grant_valid; // @[Dcache.scala 116:46]
  wire [2:0] missUnit_io_cache_grant_bits_opcode; // @[Dcache.scala 116:46]
  wire [2:0] missUnit_io_cache_grant_bits_size; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_grant_bits_source; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_grantAck_ready; // @[Dcache.scala 116:46]
  wire  missUnit_io_cache_grantAck_valid; // @[Dcache.scala 116:46]
  wire  missUnit_io_miss_ban; // @[Dcache.scala 116:46]
  wire  missUnit_io_release_ban; // @[Dcache.scala 116:46]
  wire  probeUnit_clock; // @[Dcache.scala 117:46]
  wire  probeUnit_reset; // @[Dcache.scala 117:46]
  wire  probeUnit_io_cache_probe_valid; // @[Dcache.scala 117:46]
  wire [31:0] probeUnit_io_cache_probe_bits_address; // @[Dcache.scala 117:46]
  wire  probeUnit_io_req_ready; // @[Dcache.scala 117:46]
  wire  probeUnit_io_req_valid; // @[Dcache.scala 117:46]
  wire [31:0] probeUnit_io_req_bits_paddr; // @[Dcache.scala 117:46]
  wire  probeUnit_io_probeBan; // @[Dcache.scala 117:46]
  wire  writeBackUnit_clock; // @[Dcache.scala 118:46]
  wire  writeBackUnit_reset; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_wb_req_valid; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_wb_req_bits_is_releaseData; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_wb_req_bits_is_release; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_wb_req_bits_is_probe; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_wb_req_bits_is_probeData; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_cache_release_ready; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_cache_release_valid; // @[Dcache.scala 118:46]
  wire [2:0] writeBackUnit_io_cache_release_bits_opcode; // @[Dcache.scala 118:46]
  wire [2:0] writeBackUnit_io_cache_release_bits_size; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_cache_grant_ready; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_cache_grant_valid; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_cache_grant_bits_source; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_release_ban; // @[Dcache.scala 118:46]
  wire  writeBackUnit_io_miss_ban; // @[Dcache.scala 118:46]
  wire  lsEntry_clock; // @[Dcache.scala 123:23]
  wire  lsEntry_reset; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_ready; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_valid; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_chkIdx; // @[Dcache.scala 123:23]
  wire [31:0] lsEntry_io_enq_bits_paddr; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lb; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lh; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_ld; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lbu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lhu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lwu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sb; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sh; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sd; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lr_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sc_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoswap_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoadd_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoxor_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoand_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoor_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomin_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomax_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amominu_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomaxu_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_lr_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_sc_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoswap_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoadd_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoxor_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoand_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amoor_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomin_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomax_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amominu_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_amomaxu_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_flw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_fsw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_fld; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_fsd; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_probe; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_grant; // @[Dcache.scala 123:23]
  wire  lsEntry_io_enq_bits_fun_preft; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_ready; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_valid; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_chkIdx; // @[Dcache.scala 123:23]
  wire [31:0] lsEntry_io_deq_bits_paddr; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lb; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lh; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_ld; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lbu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lhu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lwu; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sb; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sh; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sd; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lr_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sc_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoadd_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoxor_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoand_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoor_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomin_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomax_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amominu_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_lr_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_sc_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoadd_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoxor_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoand_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amoor_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomin_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomax_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amominu_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_flw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_fsw; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_fld; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_fsd; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_probe; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_grant; // @[Dcache.scala 123:23]
  wire  lsEntry_io_deq_bits_fun_preft; // @[Dcache.scala 123:23]
  wire  rtn_fifo_clock; // @[Dcache.scala 126:24]
  wire  rtn_fifo_reset; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_ready; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_valid; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_bits_chkIdx; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_bits_is_load_amo; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_bits_is_flw; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_enq_bits_is_fld; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_ready; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_valid; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_bits_is_load_amo; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_bits_is_flw; // @[Dcache.scala 126:24]
  wire  rtn_fifo_io_deq_bits_is_fld; // @[Dcache.scala 126:24]
  wire  op_arb_io_in_0_ready; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_valid; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_chkIdx; // @[Dcache.scala 127:22]
  wire [31:0] op_arb_io_in_0_bits_paddr; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lb; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lh; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_ld; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lbu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lhu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lwu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sb; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sh; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sd; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lr_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sc_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoswap_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoadd_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoxor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoand_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomin_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomax_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amominu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomaxu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_lr_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_sc_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoswap_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoadd_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoxor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoand_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amoor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomin_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomax_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amominu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_amomaxu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_flw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_fsw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_fld; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_fsd; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_probe; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_grant; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_0_bits_fun_preft; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_ready; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_valid; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_chkIdx; // @[Dcache.scala 127:22]
  wire [31:0] op_arb_io_in_1_bits_paddr; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lb; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lh; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_ld; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lbu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lhu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lwu; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sb; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sh; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sd; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lr_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sc_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoswap_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoadd_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoxor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoand_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomin_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomax_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amominu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomaxu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_lr_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_sc_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoswap_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoadd_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoxor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoand_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amoor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomin_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomax_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amominu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_amomaxu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_flw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_fsw; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_fld; // @[Dcache.scala 127:22]
  wire  op_arb_io_in_1_bits_fun_fsd; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_ready; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_valid; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_chkIdx; // @[Dcache.scala 127:22]
  wire [31:0] op_arb_io_out_bits_paddr; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lb; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lh; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lw; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_ld; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lbu; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lhu; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lwu; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sb; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sh; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sw; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sd; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_flw; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_fsw; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_fld; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_fsd; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_probe; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_grant; // @[Dcache.scala 127:22]
  wire  op_arb_io_out_bits_fun_preft; // @[Dcache.scala 127:22]
  wire  rd_arb_io_in_0_valid; // @[Dcache.scala 128:22]
  wire [31:0] rd_arb_io_in_0_bits_paddr; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_1_ready; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_1_valid; // @[Dcache.scala 128:22]
  wire [31:0] rd_arb_io_in_1_bits_paddr; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_ready; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_valid; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_chkIdx; // @[Dcache.scala 128:22]
  wire [31:0] rd_arb_io_in_2_bits_paddr; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lb; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lh; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_ld; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lbu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lhu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lwu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sb; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sh; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sd; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lr_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sc_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoswap_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoadd_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoxor_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoand_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoor_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomin_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomax_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amominu_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomaxu_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_lr_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_sc_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoswap_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoadd_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoxor_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoand_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amoor_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomin_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomax_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amominu_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_amomaxu_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_flw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_fsw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_fld; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_fsd; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_probe; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_grant; // @[Dcache.scala 128:22]
  wire  rd_arb_io_in_2_bits_fun_preft; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_valid; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_chkIdx; // @[Dcache.scala 128:22]
  wire [31:0] rd_arb_io_out_bits_paddr; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lb; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lh; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_ld; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lbu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lhu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lwu; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sb; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sh; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sd; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_flw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_fsw; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_fld; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_fsd; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_probe; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_grant; // @[Dcache.scala 128:22]
  wire  rd_arb_io_out_bits_fun_preft; // @[Dcache.scala 128:22]
  wire  reload_fifo_clock; // @[Dcache.scala 130:27]
  wire  reload_fifo_reset; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_ready; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_valid; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_chkIdx; // @[Dcache.scala 130:27]
  wire [31:0] reload_fifo_io_enq_bits_paddr; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lb; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lh; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_ld; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lbu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lhu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lwu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sb; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sh; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sd; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lr_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sc_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoswap_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoadd_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoxor_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoand_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoor_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomin_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomax_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amominu_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomaxu_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_lr_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_sc_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoswap_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoadd_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoxor_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoand_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amoor_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomin_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomax_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amominu_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_amomaxu_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_flw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_fsw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_fld; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_fsd; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_probe; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_grant; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_enq_bits_fun_preft; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_ready; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_valid; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 130:27]
  wire [31:0] reload_fifo_io_deq_bits_paddr; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lb; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lh; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_ld; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lbu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lhu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lwu; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sb; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sh; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sd; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lr_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sc_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoadd_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoxor_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoand_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoor_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomin_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomax_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amominu_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_lr_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_sc_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoadd_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoxor_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoand_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amoor_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomin_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomax_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amominu_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_flw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_fsw; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_fld; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_fsd; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_probe; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_grant; // @[Dcache.scala 130:27]
  wire  reload_fifo_io_deq_bits_fun_preft; // @[Dcache.scala 130:27]
  wire  stage_clock; // @[Dcache.scala 132:21]
  wire  stage_reset; // @[Dcache.scala 132:21]
  wire  stage_io_enq_ready; // @[Dcache.scala 132:21]
  wire  stage_io_enq_valid; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_chkIdx; // @[Dcache.scala 132:21]
  wire [31:0] stage_io_enq_bits_paddr; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lb; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lh; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lw; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_ld; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lbu; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lhu; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lwu; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sb; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sh; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sw; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sd; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lr_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sc_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoswap_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoadd_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoxor_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoand_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoor_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomin_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomax_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amominu_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomaxu_w; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_lr_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_sc_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoswap_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoadd_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoxor_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoand_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amoor_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomin_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomax_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amominu_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_amomaxu_d; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_flw; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_fsw; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_fld; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_fsd; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_probe; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_grant; // @[Dcache.scala 132:21]
  wire  stage_io_enq_bits_fun_preft; // @[Dcache.scala 132:21]
  wire  stage_io_reload_valid; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_chkIdx; // @[Dcache.scala 132:21]
  wire [31:0] stage_io_reload_bits_paddr; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lb; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lh; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lw; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_ld; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lbu; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lhu; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lwu; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sb; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sh; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sw; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sd; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lr_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sc_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoswap_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoadd_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoxor_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoand_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoor_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomin_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomax_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amominu_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomaxu_w; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_lr_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_sc_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoswap_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoadd_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoxor_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoand_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amoor_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomin_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomax_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amominu_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_amomaxu_d; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_flw; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_fsw; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_fld; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_fsd; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_probe; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_grant; // @[Dcache.scala 132:21]
  wire  stage_io_reload_bits_fun_preft; // @[Dcache.scala 132:21]
  wire  stage_io_deq_valid; // @[Dcache.scala 132:21]
  wire  stage_io_deq_bits_chkIdx; // @[Dcache.scala 132:21]
  wire  stage_io_deq_bits_is_load_amo; // @[Dcache.scala 132:21]
  wire  stage_io_deq_bits_is_flw; // @[Dcache.scala 132:21]
  wire  stage_io_deq_bits_is_fld; // @[Dcache.scala 132:21]
  wire  stage_io_missUnit_req_valid; // @[Dcache.scala 132:21]
  wire [31:0] stage_io_missUnit_req_bits_paddr; // @[Dcache.scala 132:21]
  wire  stage_io_wb_req_valid; // @[Dcache.scala 132:21]
  wire  stage_io_wb_req_bits_is_releaseData; // @[Dcache.scala 132:21]
  wire  stage_io_wb_req_bits_is_release; // @[Dcache.scala 132:21]
  wire  stage_io_wb_req_bits_is_probe; // @[Dcache.scala 132:21]
  wire  stage_io_wb_req_bits_is_probeData; // @[Dcache.scala 132:21]
  wire  stage_io_isCacheEmpty; // @[Dcache.scala 132:21]
  wire  stage_io_flush; // @[Dcache.scala 132:21]
  reg [31:0] sbBuff_0_paddr; // @[Dcache.scala 138:23]
  reg [31:0] sbBuff_1_paddr; // @[Dcache.scala 138:23]
  reg  sbValid_0; // @[Dcache.scala 139:24]
  reg  sbValid_1; // @[Dcache.scala 139:24]
  wire  isHazard = sbBuff_0_paddr[31:3] == io_enq_bits_paddr[31:3] | sbBuff_1_paddr[31:3] == io_enq_bits_paddr[31:3]; // @[Dcache.scala 142:106]
  wire  _sbIdx_T = ~sbValid_0; // @[Dcache.scala 143:50]
  wire  sbIdx = ~sbValid_0 ? 1'h0 : 1'h1; // @[Dcache.scala 143:33]
  wire  _sbEnqReady_T_1 = ~sbValid_1; // @[Dcache.scala 147:36]
  wire  _sbEnqReady_T_4 = ~isHazard; // @[Dcache.scala 148:5]
  wire  sbEnqReady = (_sbIdx_T | ~sbValid_1) & _sbEnqReady_T_4; // @[Dcache.scala 147:51]
  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire [31:0] _GEN_2 = ~sbIdx ? io_enq_bits_paddr : sbBuff_0_paddr; // @[Dcache.scala 151:{20,20} 138:23]
  wire [31:0] _GEN_3 = sbIdx ? io_enq_bits_paddr : sbBuff_1_paddr; // @[Dcache.scala 151:{20,20} 138:23]
  wire  _GEN_96 = ~sbIdx | sbValid_0; // @[Dcache.scala 152:{20,20} 139:24]
  wire  _GEN_97 = sbIdx | sbValid_1; // @[Dcache.scala 152:{20,20} 139:24]
  wire [31:0] _GEN_100 = _T ? _GEN_2 : sbBuff_0_paddr; // @[Dcache.scala 138:23 150:23]
  wire [31:0] _GEN_101 = _T ? _GEN_3 : sbBuff_1_paddr; // @[Dcache.scala 138:23 150:23]
  wire  _GEN_194 = _T ? _GEN_96 : sbValid_0; // @[Dcache.scala 150:23 139:24]
  wire  _GEN_195 = _T ? _GEN_97 : sbValid_1; // @[Dcache.scala 150:23 139:24]
  wire  _T_1 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  isSBEmpty = _sbIdx_T & _sbEnqReady_T_1; // @[Dcache.scala 160:33]
  wire  _T_5 = ~reset; // @[Dcache.scala 161:31]
  wire [1:0] _T_10 = 1'h1 + (sbBuff_1_paddr == sbBuff_0_paddr); // @[Dcache.scala 168:27]
  wire [1:0] _T_19 = (sbBuff_0_paddr == sbBuff_1_paddr) + 1'h1; // @[Dcache.scala 168:27]
  MissUnit missUnit ( // @[Dcache.scala 116:46]
    .clock(missUnit_clock),
    .reset(missUnit_reset),
    .io_req_valid(missUnit_io_req_valid),
    .io_req_bits_paddr(missUnit_io_req_bits_paddr),
    .io_rsp_valid(missUnit_io_rsp_valid),
    .io_rsp_bits_paddr(missUnit_io_rsp_bits_paddr),
    .io_cache_acquire_ready(missUnit_io_cache_acquire_ready),
    .io_cache_acquire_valid(missUnit_io_cache_acquire_valid),
    .io_cache_grant_ready(missUnit_io_cache_grant_ready),
    .io_cache_grant_valid(missUnit_io_cache_grant_valid),
    .io_cache_grant_bits_opcode(missUnit_io_cache_grant_bits_opcode),
    .io_cache_grant_bits_size(missUnit_io_cache_grant_bits_size),
    .io_cache_grant_bits_source(missUnit_io_cache_grant_bits_source),
    .io_cache_grantAck_ready(missUnit_io_cache_grantAck_ready),
    .io_cache_grantAck_valid(missUnit_io_cache_grantAck_valid),
    .io_miss_ban(missUnit_io_miss_ban),
    .io_release_ban(missUnit_io_release_ban)
  );
  ProbeUnit probeUnit ( // @[Dcache.scala 117:46]
    .clock(probeUnit_clock),
    .reset(probeUnit_reset),
    .io_cache_probe_valid(probeUnit_io_cache_probe_valid),
    .io_cache_probe_bits_address(probeUnit_io_cache_probe_bits_address),
    .io_req_ready(probeUnit_io_req_ready),
    .io_req_valid(probeUnit_io_req_valid),
    .io_req_bits_paddr(probeUnit_io_req_bits_paddr),
    .io_probeBan(probeUnit_io_probeBan)
  );
  WriteBackUnit writeBackUnit ( // @[Dcache.scala 118:46]
    .clock(writeBackUnit_clock),
    .reset(writeBackUnit_reset),
    .io_wb_req_valid(writeBackUnit_io_wb_req_valid),
    .io_wb_req_bits_is_releaseData(writeBackUnit_io_wb_req_bits_is_releaseData),
    .io_wb_req_bits_is_release(writeBackUnit_io_wb_req_bits_is_release),
    .io_wb_req_bits_is_probe(writeBackUnit_io_wb_req_bits_is_probe),
    .io_wb_req_bits_is_probeData(writeBackUnit_io_wb_req_bits_is_probeData),
    .io_cache_release_ready(writeBackUnit_io_cache_release_ready),
    .io_cache_release_valid(writeBackUnit_io_cache_release_valid),
    .io_cache_release_bits_opcode(writeBackUnit_io_cache_release_bits_opcode),
    .io_cache_release_bits_size(writeBackUnit_io_cache_release_bits_size),
    .io_cache_grant_ready(writeBackUnit_io_cache_grant_ready),
    .io_cache_grant_valid(writeBackUnit_io_cache_grant_valid),
    .io_cache_grant_bits_source(writeBackUnit_io_cache_grant_bits_source),
    .io_release_ban(writeBackUnit_io_release_ban),
    .io_miss_ban(writeBackUnit_io_miss_ban)
  );
  Queue_13 lsEntry ( // @[Dcache.scala 123:23]
    .clock(lsEntry_clock),
    .reset(lsEntry_reset),
    .io_enq_ready(lsEntry_io_enq_ready),
    .io_enq_valid(lsEntry_io_enq_valid),
    .io_enq_bits_chkIdx(lsEntry_io_enq_bits_chkIdx),
    .io_enq_bits_paddr(lsEntry_io_enq_bits_paddr),
    .io_enq_bits_fun_lb(lsEntry_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(lsEntry_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(lsEntry_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(lsEntry_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(lsEntry_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(lsEntry_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(lsEntry_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(lsEntry_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(lsEntry_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(lsEntry_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(lsEntry_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(lsEntry_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(lsEntry_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_amoswap_w(lsEntry_io_enq_bits_fun_amoswap_w),
    .io_enq_bits_fun_amoadd_w(lsEntry_io_enq_bits_fun_amoadd_w),
    .io_enq_bits_fun_amoxor_w(lsEntry_io_enq_bits_fun_amoxor_w),
    .io_enq_bits_fun_amoand_w(lsEntry_io_enq_bits_fun_amoand_w),
    .io_enq_bits_fun_amoor_w(lsEntry_io_enq_bits_fun_amoor_w),
    .io_enq_bits_fun_amomin_w(lsEntry_io_enq_bits_fun_amomin_w),
    .io_enq_bits_fun_amomax_w(lsEntry_io_enq_bits_fun_amomax_w),
    .io_enq_bits_fun_amominu_w(lsEntry_io_enq_bits_fun_amominu_w),
    .io_enq_bits_fun_amomaxu_w(lsEntry_io_enq_bits_fun_amomaxu_w),
    .io_enq_bits_fun_lr_d(lsEntry_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(lsEntry_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_amoswap_d(lsEntry_io_enq_bits_fun_amoswap_d),
    .io_enq_bits_fun_amoadd_d(lsEntry_io_enq_bits_fun_amoadd_d),
    .io_enq_bits_fun_amoxor_d(lsEntry_io_enq_bits_fun_amoxor_d),
    .io_enq_bits_fun_amoand_d(lsEntry_io_enq_bits_fun_amoand_d),
    .io_enq_bits_fun_amoor_d(lsEntry_io_enq_bits_fun_amoor_d),
    .io_enq_bits_fun_amomin_d(lsEntry_io_enq_bits_fun_amomin_d),
    .io_enq_bits_fun_amomax_d(lsEntry_io_enq_bits_fun_amomax_d),
    .io_enq_bits_fun_amominu_d(lsEntry_io_enq_bits_fun_amominu_d),
    .io_enq_bits_fun_amomaxu_d(lsEntry_io_enq_bits_fun_amomaxu_d),
    .io_enq_bits_fun_flw(lsEntry_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(lsEntry_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(lsEntry_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(lsEntry_io_enq_bits_fun_fsd),
    .io_enq_bits_fun_probe(lsEntry_io_enq_bits_fun_probe),
    .io_enq_bits_fun_grant(lsEntry_io_enq_bits_fun_grant),
    .io_enq_bits_fun_preft(lsEntry_io_enq_bits_fun_preft),
    .io_deq_ready(lsEntry_io_deq_ready),
    .io_deq_valid(lsEntry_io_deq_valid),
    .io_deq_bits_chkIdx(lsEntry_io_deq_bits_chkIdx),
    .io_deq_bits_paddr(lsEntry_io_deq_bits_paddr),
    .io_deq_bits_fun_lb(lsEntry_io_deq_bits_fun_lb),
    .io_deq_bits_fun_lh(lsEntry_io_deq_bits_fun_lh),
    .io_deq_bits_fun_lw(lsEntry_io_deq_bits_fun_lw),
    .io_deq_bits_fun_ld(lsEntry_io_deq_bits_fun_ld),
    .io_deq_bits_fun_lbu(lsEntry_io_deq_bits_fun_lbu),
    .io_deq_bits_fun_lhu(lsEntry_io_deq_bits_fun_lhu),
    .io_deq_bits_fun_lwu(lsEntry_io_deq_bits_fun_lwu),
    .io_deq_bits_fun_sb(lsEntry_io_deq_bits_fun_sb),
    .io_deq_bits_fun_sh(lsEntry_io_deq_bits_fun_sh),
    .io_deq_bits_fun_sw(lsEntry_io_deq_bits_fun_sw),
    .io_deq_bits_fun_sd(lsEntry_io_deq_bits_fun_sd),
    .io_deq_bits_fun_lr_w(lsEntry_io_deq_bits_fun_lr_w),
    .io_deq_bits_fun_sc_w(lsEntry_io_deq_bits_fun_sc_w),
    .io_deq_bits_fun_amoswap_w(lsEntry_io_deq_bits_fun_amoswap_w),
    .io_deq_bits_fun_amoadd_w(lsEntry_io_deq_bits_fun_amoadd_w),
    .io_deq_bits_fun_amoxor_w(lsEntry_io_deq_bits_fun_amoxor_w),
    .io_deq_bits_fun_amoand_w(lsEntry_io_deq_bits_fun_amoand_w),
    .io_deq_bits_fun_amoor_w(lsEntry_io_deq_bits_fun_amoor_w),
    .io_deq_bits_fun_amomin_w(lsEntry_io_deq_bits_fun_amomin_w),
    .io_deq_bits_fun_amomax_w(lsEntry_io_deq_bits_fun_amomax_w),
    .io_deq_bits_fun_amominu_w(lsEntry_io_deq_bits_fun_amominu_w),
    .io_deq_bits_fun_amomaxu_w(lsEntry_io_deq_bits_fun_amomaxu_w),
    .io_deq_bits_fun_lr_d(lsEntry_io_deq_bits_fun_lr_d),
    .io_deq_bits_fun_sc_d(lsEntry_io_deq_bits_fun_sc_d),
    .io_deq_bits_fun_amoswap_d(lsEntry_io_deq_bits_fun_amoswap_d),
    .io_deq_bits_fun_amoadd_d(lsEntry_io_deq_bits_fun_amoadd_d),
    .io_deq_bits_fun_amoxor_d(lsEntry_io_deq_bits_fun_amoxor_d),
    .io_deq_bits_fun_amoand_d(lsEntry_io_deq_bits_fun_amoand_d),
    .io_deq_bits_fun_amoor_d(lsEntry_io_deq_bits_fun_amoor_d),
    .io_deq_bits_fun_amomin_d(lsEntry_io_deq_bits_fun_amomin_d),
    .io_deq_bits_fun_amomax_d(lsEntry_io_deq_bits_fun_amomax_d),
    .io_deq_bits_fun_amominu_d(lsEntry_io_deq_bits_fun_amominu_d),
    .io_deq_bits_fun_amomaxu_d(lsEntry_io_deq_bits_fun_amomaxu_d),
    .io_deq_bits_fun_flw(lsEntry_io_deq_bits_fun_flw),
    .io_deq_bits_fun_fsw(lsEntry_io_deq_bits_fun_fsw),
    .io_deq_bits_fun_fld(lsEntry_io_deq_bits_fun_fld),
    .io_deq_bits_fun_fsd(lsEntry_io_deq_bits_fun_fsd),
    .io_deq_bits_fun_probe(lsEntry_io_deq_bits_fun_probe),
    .io_deq_bits_fun_grant(lsEntry_io_deq_bits_fun_grant),
    .io_deq_bits_fun_preft(lsEntry_io_deq_bits_fun_preft)
  );
  Queue_14 rtn_fifo ( // @[Dcache.scala 126:24]
    .clock(rtn_fifo_clock),
    .reset(rtn_fifo_reset),
    .io_enq_ready(rtn_fifo_io_enq_ready),
    .io_enq_valid(rtn_fifo_io_enq_valid),
    .io_enq_bits_chkIdx(rtn_fifo_io_enq_bits_chkIdx),
    .io_enq_bits_is_load_amo(rtn_fifo_io_enq_bits_is_load_amo),
    .io_enq_bits_is_flw(rtn_fifo_io_enq_bits_is_flw),
    .io_enq_bits_is_fld(rtn_fifo_io_enq_bits_is_fld),
    .io_deq_ready(rtn_fifo_io_deq_ready),
    .io_deq_valid(rtn_fifo_io_deq_valid),
    .io_deq_bits_chkIdx(rtn_fifo_io_deq_bits_chkIdx),
    .io_deq_bits_is_load_amo(rtn_fifo_io_deq_bits_is_load_amo),
    .io_deq_bits_is_flw(rtn_fifo_io_deq_bits_is_flw),
    .io_deq_bits_is_fld(rtn_fifo_io_deq_bits_is_fld)
  );
  Arbiter_1 op_arb ( // @[Dcache.scala 127:22]
    .io_in_0_ready(op_arb_io_in_0_ready),
    .io_in_0_valid(op_arb_io_in_0_valid),
    .io_in_0_bits_chkIdx(op_arb_io_in_0_bits_chkIdx),
    .io_in_0_bits_paddr(op_arb_io_in_0_bits_paddr),
    .io_in_0_bits_fun_lb(op_arb_io_in_0_bits_fun_lb),
    .io_in_0_bits_fun_lh(op_arb_io_in_0_bits_fun_lh),
    .io_in_0_bits_fun_lw(op_arb_io_in_0_bits_fun_lw),
    .io_in_0_bits_fun_ld(op_arb_io_in_0_bits_fun_ld),
    .io_in_0_bits_fun_lbu(op_arb_io_in_0_bits_fun_lbu),
    .io_in_0_bits_fun_lhu(op_arb_io_in_0_bits_fun_lhu),
    .io_in_0_bits_fun_lwu(op_arb_io_in_0_bits_fun_lwu),
    .io_in_0_bits_fun_sb(op_arb_io_in_0_bits_fun_sb),
    .io_in_0_bits_fun_sh(op_arb_io_in_0_bits_fun_sh),
    .io_in_0_bits_fun_sw(op_arb_io_in_0_bits_fun_sw),
    .io_in_0_bits_fun_sd(op_arb_io_in_0_bits_fun_sd),
    .io_in_0_bits_fun_lr_w(op_arb_io_in_0_bits_fun_lr_w),
    .io_in_0_bits_fun_sc_w(op_arb_io_in_0_bits_fun_sc_w),
    .io_in_0_bits_fun_amoswap_w(op_arb_io_in_0_bits_fun_amoswap_w),
    .io_in_0_bits_fun_amoadd_w(op_arb_io_in_0_bits_fun_amoadd_w),
    .io_in_0_bits_fun_amoxor_w(op_arb_io_in_0_bits_fun_amoxor_w),
    .io_in_0_bits_fun_amoand_w(op_arb_io_in_0_bits_fun_amoand_w),
    .io_in_0_bits_fun_amoor_w(op_arb_io_in_0_bits_fun_amoor_w),
    .io_in_0_bits_fun_amomin_w(op_arb_io_in_0_bits_fun_amomin_w),
    .io_in_0_bits_fun_amomax_w(op_arb_io_in_0_bits_fun_amomax_w),
    .io_in_0_bits_fun_amominu_w(op_arb_io_in_0_bits_fun_amominu_w),
    .io_in_0_bits_fun_amomaxu_w(op_arb_io_in_0_bits_fun_amomaxu_w),
    .io_in_0_bits_fun_lr_d(op_arb_io_in_0_bits_fun_lr_d),
    .io_in_0_bits_fun_sc_d(op_arb_io_in_0_bits_fun_sc_d),
    .io_in_0_bits_fun_amoswap_d(op_arb_io_in_0_bits_fun_amoswap_d),
    .io_in_0_bits_fun_amoadd_d(op_arb_io_in_0_bits_fun_amoadd_d),
    .io_in_0_bits_fun_amoxor_d(op_arb_io_in_0_bits_fun_amoxor_d),
    .io_in_0_bits_fun_amoand_d(op_arb_io_in_0_bits_fun_amoand_d),
    .io_in_0_bits_fun_amoor_d(op_arb_io_in_0_bits_fun_amoor_d),
    .io_in_0_bits_fun_amomin_d(op_arb_io_in_0_bits_fun_amomin_d),
    .io_in_0_bits_fun_amomax_d(op_arb_io_in_0_bits_fun_amomax_d),
    .io_in_0_bits_fun_amominu_d(op_arb_io_in_0_bits_fun_amominu_d),
    .io_in_0_bits_fun_amomaxu_d(op_arb_io_in_0_bits_fun_amomaxu_d),
    .io_in_0_bits_fun_flw(op_arb_io_in_0_bits_fun_flw),
    .io_in_0_bits_fun_fsw(op_arb_io_in_0_bits_fun_fsw),
    .io_in_0_bits_fun_fld(op_arb_io_in_0_bits_fun_fld),
    .io_in_0_bits_fun_fsd(op_arb_io_in_0_bits_fun_fsd),
    .io_in_0_bits_fun_probe(op_arb_io_in_0_bits_fun_probe),
    .io_in_0_bits_fun_grant(op_arb_io_in_0_bits_fun_grant),
    .io_in_0_bits_fun_preft(op_arb_io_in_0_bits_fun_preft),
    .io_in_1_ready(op_arb_io_in_1_ready),
    .io_in_1_valid(op_arb_io_in_1_valid),
    .io_in_1_bits_chkIdx(op_arb_io_in_1_bits_chkIdx),
    .io_in_1_bits_paddr(op_arb_io_in_1_bits_paddr),
    .io_in_1_bits_fun_lb(op_arb_io_in_1_bits_fun_lb),
    .io_in_1_bits_fun_lh(op_arb_io_in_1_bits_fun_lh),
    .io_in_1_bits_fun_lw(op_arb_io_in_1_bits_fun_lw),
    .io_in_1_bits_fun_ld(op_arb_io_in_1_bits_fun_ld),
    .io_in_1_bits_fun_lbu(op_arb_io_in_1_bits_fun_lbu),
    .io_in_1_bits_fun_lhu(op_arb_io_in_1_bits_fun_lhu),
    .io_in_1_bits_fun_lwu(op_arb_io_in_1_bits_fun_lwu),
    .io_in_1_bits_fun_sb(op_arb_io_in_1_bits_fun_sb),
    .io_in_1_bits_fun_sh(op_arb_io_in_1_bits_fun_sh),
    .io_in_1_bits_fun_sw(op_arb_io_in_1_bits_fun_sw),
    .io_in_1_bits_fun_sd(op_arb_io_in_1_bits_fun_sd),
    .io_in_1_bits_fun_lr_w(op_arb_io_in_1_bits_fun_lr_w),
    .io_in_1_bits_fun_sc_w(op_arb_io_in_1_bits_fun_sc_w),
    .io_in_1_bits_fun_amoswap_w(op_arb_io_in_1_bits_fun_amoswap_w),
    .io_in_1_bits_fun_amoadd_w(op_arb_io_in_1_bits_fun_amoadd_w),
    .io_in_1_bits_fun_amoxor_w(op_arb_io_in_1_bits_fun_amoxor_w),
    .io_in_1_bits_fun_amoand_w(op_arb_io_in_1_bits_fun_amoand_w),
    .io_in_1_bits_fun_amoor_w(op_arb_io_in_1_bits_fun_amoor_w),
    .io_in_1_bits_fun_amomin_w(op_arb_io_in_1_bits_fun_amomin_w),
    .io_in_1_bits_fun_amomax_w(op_arb_io_in_1_bits_fun_amomax_w),
    .io_in_1_bits_fun_amominu_w(op_arb_io_in_1_bits_fun_amominu_w),
    .io_in_1_bits_fun_amomaxu_w(op_arb_io_in_1_bits_fun_amomaxu_w),
    .io_in_1_bits_fun_lr_d(op_arb_io_in_1_bits_fun_lr_d),
    .io_in_1_bits_fun_sc_d(op_arb_io_in_1_bits_fun_sc_d),
    .io_in_1_bits_fun_amoswap_d(op_arb_io_in_1_bits_fun_amoswap_d),
    .io_in_1_bits_fun_amoadd_d(op_arb_io_in_1_bits_fun_amoadd_d),
    .io_in_1_bits_fun_amoxor_d(op_arb_io_in_1_bits_fun_amoxor_d),
    .io_in_1_bits_fun_amoand_d(op_arb_io_in_1_bits_fun_amoand_d),
    .io_in_1_bits_fun_amoor_d(op_arb_io_in_1_bits_fun_amoor_d),
    .io_in_1_bits_fun_amomin_d(op_arb_io_in_1_bits_fun_amomin_d),
    .io_in_1_bits_fun_amomax_d(op_arb_io_in_1_bits_fun_amomax_d),
    .io_in_1_bits_fun_amominu_d(op_arb_io_in_1_bits_fun_amominu_d),
    .io_in_1_bits_fun_amomaxu_d(op_arb_io_in_1_bits_fun_amomaxu_d),
    .io_in_1_bits_fun_flw(op_arb_io_in_1_bits_fun_flw),
    .io_in_1_bits_fun_fsw(op_arb_io_in_1_bits_fun_fsw),
    .io_in_1_bits_fun_fld(op_arb_io_in_1_bits_fun_fld),
    .io_in_1_bits_fun_fsd(op_arb_io_in_1_bits_fun_fsd),
    .io_out_ready(op_arb_io_out_ready),
    .io_out_valid(op_arb_io_out_valid),
    .io_out_bits_chkIdx(op_arb_io_out_bits_chkIdx),
    .io_out_bits_paddr(op_arb_io_out_bits_paddr),
    .io_out_bits_fun_lb(op_arb_io_out_bits_fun_lb),
    .io_out_bits_fun_lh(op_arb_io_out_bits_fun_lh),
    .io_out_bits_fun_lw(op_arb_io_out_bits_fun_lw),
    .io_out_bits_fun_ld(op_arb_io_out_bits_fun_ld),
    .io_out_bits_fun_lbu(op_arb_io_out_bits_fun_lbu),
    .io_out_bits_fun_lhu(op_arb_io_out_bits_fun_lhu),
    .io_out_bits_fun_lwu(op_arb_io_out_bits_fun_lwu),
    .io_out_bits_fun_sb(op_arb_io_out_bits_fun_sb),
    .io_out_bits_fun_sh(op_arb_io_out_bits_fun_sh),
    .io_out_bits_fun_sw(op_arb_io_out_bits_fun_sw),
    .io_out_bits_fun_sd(op_arb_io_out_bits_fun_sd),
    .io_out_bits_fun_lr_w(op_arb_io_out_bits_fun_lr_w),
    .io_out_bits_fun_sc_w(op_arb_io_out_bits_fun_sc_w),
    .io_out_bits_fun_amoswap_w(op_arb_io_out_bits_fun_amoswap_w),
    .io_out_bits_fun_amoadd_w(op_arb_io_out_bits_fun_amoadd_w),
    .io_out_bits_fun_amoxor_w(op_arb_io_out_bits_fun_amoxor_w),
    .io_out_bits_fun_amoand_w(op_arb_io_out_bits_fun_amoand_w),
    .io_out_bits_fun_amoor_w(op_arb_io_out_bits_fun_amoor_w),
    .io_out_bits_fun_amomin_w(op_arb_io_out_bits_fun_amomin_w),
    .io_out_bits_fun_amomax_w(op_arb_io_out_bits_fun_amomax_w),
    .io_out_bits_fun_amominu_w(op_arb_io_out_bits_fun_amominu_w),
    .io_out_bits_fun_amomaxu_w(op_arb_io_out_bits_fun_amomaxu_w),
    .io_out_bits_fun_lr_d(op_arb_io_out_bits_fun_lr_d),
    .io_out_bits_fun_sc_d(op_arb_io_out_bits_fun_sc_d),
    .io_out_bits_fun_amoswap_d(op_arb_io_out_bits_fun_amoswap_d),
    .io_out_bits_fun_amoadd_d(op_arb_io_out_bits_fun_amoadd_d),
    .io_out_bits_fun_amoxor_d(op_arb_io_out_bits_fun_amoxor_d),
    .io_out_bits_fun_amoand_d(op_arb_io_out_bits_fun_amoand_d),
    .io_out_bits_fun_amoor_d(op_arb_io_out_bits_fun_amoor_d),
    .io_out_bits_fun_amomin_d(op_arb_io_out_bits_fun_amomin_d),
    .io_out_bits_fun_amomax_d(op_arb_io_out_bits_fun_amomax_d),
    .io_out_bits_fun_amominu_d(op_arb_io_out_bits_fun_amominu_d),
    .io_out_bits_fun_amomaxu_d(op_arb_io_out_bits_fun_amomaxu_d),
    .io_out_bits_fun_flw(op_arb_io_out_bits_fun_flw),
    .io_out_bits_fun_fsw(op_arb_io_out_bits_fun_fsw),
    .io_out_bits_fun_fld(op_arb_io_out_bits_fun_fld),
    .io_out_bits_fun_fsd(op_arb_io_out_bits_fun_fsd),
    .io_out_bits_fun_probe(op_arb_io_out_bits_fun_probe),
    .io_out_bits_fun_grant(op_arb_io_out_bits_fun_grant),
    .io_out_bits_fun_preft(op_arb_io_out_bits_fun_preft)
  );
  Arbiter_2 rd_arb ( // @[Dcache.scala 128:22]
    .io_in_0_valid(rd_arb_io_in_0_valid),
    .io_in_0_bits_paddr(rd_arb_io_in_0_bits_paddr),
    .io_in_1_ready(rd_arb_io_in_1_ready),
    .io_in_1_valid(rd_arb_io_in_1_valid),
    .io_in_1_bits_paddr(rd_arb_io_in_1_bits_paddr),
    .io_in_2_ready(rd_arb_io_in_2_ready),
    .io_in_2_valid(rd_arb_io_in_2_valid),
    .io_in_2_bits_chkIdx(rd_arb_io_in_2_bits_chkIdx),
    .io_in_2_bits_paddr(rd_arb_io_in_2_bits_paddr),
    .io_in_2_bits_fun_lb(rd_arb_io_in_2_bits_fun_lb),
    .io_in_2_bits_fun_lh(rd_arb_io_in_2_bits_fun_lh),
    .io_in_2_bits_fun_lw(rd_arb_io_in_2_bits_fun_lw),
    .io_in_2_bits_fun_ld(rd_arb_io_in_2_bits_fun_ld),
    .io_in_2_bits_fun_lbu(rd_arb_io_in_2_bits_fun_lbu),
    .io_in_2_bits_fun_lhu(rd_arb_io_in_2_bits_fun_lhu),
    .io_in_2_bits_fun_lwu(rd_arb_io_in_2_bits_fun_lwu),
    .io_in_2_bits_fun_sb(rd_arb_io_in_2_bits_fun_sb),
    .io_in_2_bits_fun_sh(rd_arb_io_in_2_bits_fun_sh),
    .io_in_2_bits_fun_sw(rd_arb_io_in_2_bits_fun_sw),
    .io_in_2_bits_fun_sd(rd_arb_io_in_2_bits_fun_sd),
    .io_in_2_bits_fun_lr_w(rd_arb_io_in_2_bits_fun_lr_w),
    .io_in_2_bits_fun_sc_w(rd_arb_io_in_2_bits_fun_sc_w),
    .io_in_2_bits_fun_amoswap_w(rd_arb_io_in_2_bits_fun_amoswap_w),
    .io_in_2_bits_fun_amoadd_w(rd_arb_io_in_2_bits_fun_amoadd_w),
    .io_in_2_bits_fun_amoxor_w(rd_arb_io_in_2_bits_fun_amoxor_w),
    .io_in_2_bits_fun_amoand_w(rd_arb_io_in_2_bits_fun_amoand_w),
    .io_in_2_bits_fun_amoor_w(rd_arb_io_in_2_bits_fun_amoor_w),
    .io_in_2_bits_fun_amomin_w(rd_arb_io_in_2_bits_fun_amomin_w),
    .io_in_2_bits_fun_amomax_w(rd_arb_io_in_2_bits_fun_amomax_w),
    .io_in_2_bits_fun_amominu_w(rd_arb_io_in_2_bits_fun_amominu_w),
    .io_in_2_bits_fun_amomaxu_w(rd_arb_io_in_2_bits_fun_amomaxu_w),
    .io_in_2_bits_fun_lr_d(rd_arb_io_in_2_bits_fun_lr_d),
    .io_in_2_bits_fun_sc_d(rd_arb_io_in_2_bits_fun_sc_d),
    .io_in_2_bits_fun_amoswap_d(rd_arb_io_in_2_bits_fun_amoswap_d),
    .io_in_2_bits_fun_amoadd_d(rd_arb_io_in_2_bits_fun_amoadd_d),
    .io_in_2_bits_fun_amoxor_d(rd_arb_io_in_2_bits_fun_amoxor_d),
    .io_in_2_bits_fun_amoand_d(rd_arb_io_in_2_bits_fun_amoand_d),
    .io_in_2_bits_fun_amoor_d(rd_arb_io_in_2_bits_fun_amoor_d),
    .io_in_2_bits_fun_amomin_d(rd_arb_io_in_2_bits_fun_amomin_d),
    .io_in_2_bits_fun_amomax_d(rd_arb_io_in_2_bits_fun_amomax_d),
    .io_in_2_bits_fun_amominu_d(rd_arb_io_in_2_bits_fun_amominu_d),
    .io_in_2_bits_fun_amomaxu_d(rd_arb_io_in_2_bits_fun_amomaxu_d),
    .io_in_2_bits_fun_flw(rd_arb_io_in_2_bits_fun_flw),
    .io_in_2_bits_fun_fsw(rd_arb_io_in_2_bits_fun_fsw),
    .io_in_2_bits_fun_fld(rd_arb_io_in_2_bits_fun_fld),
    .io_in_2_bits_fun_fsd(rd_arb_io_in_2_bits_fun_fsd),
    .io_in_2_bits_fun_probe(rd_arb_io_in_2_bits_fun_probe),
    .io_in_2_bits_fun_grant(rd_arb_io_in_2_bits_fun_grant),
    .io_in_2_bits_fun_preft(rd_arb_io_in_2_bits_fun_preft),
    .io_out_valid(rd_arb_io_out_valid),
    .io_out_bits_chkIdx(rd_arb_io_out_bits_chkIdx),
    .io_out_bits_paddr(rd_arb_io_out_bits_paddr),
    .io_out_bits_fun_lb(rd_arb_io_out_bits_fun_lb),
    .io_out_bits_fun_lh(rd_arb_io_out_bits_fun_lh),
    .io_out_bits_fun_lw(rd_arb_io_out_bits_fun_lw),
    .io_out_bits_fun_ld(rd_arb_io_out_bits_fun_ld),
    .io_out_bits_fun_lbu(rd_arb_io_out_bits_fun_lbu),
    .io_out_bits_fun_lhu(rd_arb_io_out_bits_fun_lhu),
    .io_out_bits_fun_lwu(rd_arb_io_out_bits_fun_lwu),
    .io_out_bits_fun_sb(rd_arb_io_out_bits_fun_sb),
    .io_out_bits_fun_sh(rd_arb_io_out_bits_fun_sh),
    .io_out_bits_fun_sw(rd_arb_io_out_bits_fun_sw),
    .io_out_bits_fun_sd(rd_arb_io_out_bits_fun_sd),
    .io_out_bits_fun_lr_w(rd_arb_io_out_bits_fun_lr_w),
    .io_out_bits_fun_sc_w(rd_arb_io_out_bits_fun_sc_w),
    .io_out_bits_fun_amoswap_w(rd_arb_io_out_bits_fun_amoswap_w),
    .io_out_bits_fun_amoadd_w(rd_arb_io_out_bits_fun_amoadd_w),
    .io_out_bits_fun_amoxor_w(rd_arb_io_out_bits_fun_amoxor_w),
    .io_out_bits_fun_amoand_w(rd_arb_io_out_bits_fun_amoand_w),
    .io_out_bits_fun_amoor_w(rd_arb_io_out_bits_fun_amoor_w),
    .io_out_bits_fun_amomin_w(rd_arb_io_out_bits_fun_amomin_w),
    .io_out_bits_fun_amomax_w(rd_arb_io_out_bits_fun_amomax_w),
    .io_out_bits_fun_amominu_w(rd_arb_io_out_bits_fun_amominu_w),
    .io_out_bits_fun_amomaxu_w(rd_arb_io_out_bits_fun_amomaxu_w),
    .io_out_bits_fun_lr_d(rd_arb_io_out_bits_fun_lr_d),
    .io_out_bits_fun_sc_d(rd_arb_io_out_bits_fun_sc_d),
    .io_out_bits_fun_amoswap_d(rd_arb_io_out_bits_fun_amoswap_d),
    .io_out_bits_fun_amoadd_d(rd_arb_io_out_bits_fun_amoadd_d),
    .io_out_bits_fun_amoxor_d(rd_arb_io_out_bits_fun_amoxor_d),
    .io_out_bits_fun_amoand_d(rd_arb_io_out_bits_fun_amoand_d),
    .io_out_bits_fun_amoor_d(rd_arb_io_out_bits_fun_amoor_d),
    .io_out_bits_fun_amomin_d(rd_arb_io_out_bits_fun_amomin_d),
    .io_out_bits_fun_amomax_d(rd_arb_io_out_bits_fun_amomax_d),
    .io_out_bits_fun_amominu_d(rd_arb_io_out_bits_fun_amominu_d),
    .io_out_bits_fun_amomaxu_d(rd_arb_io_out_bits_fun_amomaxu_d),
    .io_out_bits_fun_flw(rd_arb_io_out_bits_fun_flw),
    .io_out_bits_fun_fsw(rd_arb_io_out_bits_fun_fsw),
    .io_out_bits_fun_fld(rd_arb_io_out_bits_fun_fld),
    .io_out_bits_fun_fsd(rd_arb_io_out_bits_fun_fsd),
    .io_out_bits_fun_probe(rd_arb_io_out_bits_fun_probe),
    .io_out_bits_fun_grant(rd_arb_io_out_bits_fun_grant),
    .io_out_bits_fun_preft(rd_arb_io_out_bits_fun_preft)
  );
  Queue_15 reload_fifo ( // @[Dcache.scala 130:27]
    .clock(reload_fifo_clock),
    .reset(reload_fifo_reset),
    .io_enq_ready(reload_fifo_io_enq_ready),
    .io_enq_valid(reload_fifo_io_enq_valid),
    .io_enq_bits_chkIdx(reload_fifo_io_enq_bits_chkIdx),
    .io_enq_bits_paddr(reload_fifo_io_enq_bits_paddr),
    .io_enq_bits_fun_lb(reload_fifo_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(reload_fifo_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(reload_fifo_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(reload_fifo_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(reload_fifo_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(reload_fifo_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(reload_fifo_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(reload_fifo_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(reload_fifo_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(reload_fifo_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(reload_fifo_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(reload_fifo_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(reload_fifo_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_amoswap_w(reload_fifo_io_enq_bits_fun_amoswap_w),
    .io_enq_bits_fun_amoadd_w(reload_fifo_io_enq_bits_fun_amoadd_w),
    .io_enq_bits_fun_amoxor_w(reload_fifo_io_enq_bits_fun_amoxor_w),
    .io_enq_bits_fun_amoand_w(reload_fifo_io_enq_bits_fun_amoand_w),
    .io_enq_bits_fun_amoor_w(reload_fifo_io_enq_bits_fun_amoor_w),
    .io_enq_bits_fun_amomin_w(reload_fifo_io_enq_bits_fun_amomin_w),
    .io_enq_bits_fun_amomax_w(reload_fifo_io_enq_bits_fun_amomax_w),
    .io_enq_bits_fun_amominu_w(reload_fifo_io_enq_bits_fun_amominu_w),
    .io_enq_bits_fun_amomaxu_w(reload_fifo_io_enq_bits_fun_amomaxu_w),
    .io_enq_bits_fun_lr_d(reload_fifo_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(reload_fifo_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_amoswap_d(reload_fifo_io_enq_bits_fun_amoswap_d),
    .io_enq_bits_fun_amoadd_d(reload_fifo_io_enq_bits_fun_amoadd_d),
    .io_enq_bits_fun_amoxor_d(reload_fifo_io_enq_bits_fun_amoxor_d),
    .io_enq_bits_fun_amoand_d(reload_fifo_io_enq_bits_fun_amoand_d),
    .io_enq_bits_fun_amoor_d(reload_fifo_io_enq_bits_fun_amoor_d),
    .io_enq_bits_fun_amomin_d(reload_fifo_io_enq_bits_fun_amomin_d),
    .io_enq_bits_fun_amomax_d(reload_fifo_io_enq_bits_fun_amomax_d),
    .io_enq_bits_fun_amominu_d(reload_fifo_io_enq_bits_fun_amominu_d),
    .io_enq_bits_fun_amomaxu_d(reload_fifo_io_enq_bits_fun_amomaxu_d),
    .io_enq_bits_fun_flw(reload_fifo_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(reload_fifo_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(reload_fifo_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(reload_fifo_io_enq_bits_fun_fsd),
    .io_enq_bits_fun_probe(reload_fifo_io_enq_bits_fun_probe),
    .io_enq_bits_fun_grant(reload_fifo_io_enq_bits_fun_grant),
    .io_enq_bits_fun_preft(reload_fifo_io_enq_bits_fun_preft),
    .io_deq_ready(reload_fifo_io_deq_ready),
    .io_deq_valid(reload_fifo_io_deq_valid),
    .io_deq_bits_chkIdx(reload_fifo_io_deq_bits_chkIdx),
    .io_deq_bits_paddr(reload_fifo_io_deq_bits_paddr),
    .io_deq_bits_fun_lb(reload_fifo_io_deq_bits_fun_lb),
    .io_deq_bits_fun_lh(reload_fifo_io_deq_bits_fun_lh),
    .io_deq_bits_fun_lw(reload_fifo_io_deq_bits_fun_lw),
    .io_deq_bits_fun_ld(reload_fifo_io_deq_bits_fun_ld),
    .io_deq_bits_fun_lbu(reload_fifo_io_deq_bits_fun_lbu),
    .io_deq_bits_fun_lhu(reload_fifo_io_deq_bits_fun_lhu),
    .io_deq_bits_fun_lwu(reload_fifo_io_deq_bits_fun_lwu),
    .io_deq_bits_fun_sb(reload_fifo_io_deq_bits_fun_sb),
    .io_deq_bits_fun_sh(reload_fifo_io_deq_bits_fun_sh),
    .io_deq_bits_fun_sw(reload_fifo_io_deq_bits_fun_sw),
    .io_deq_bits_fun_sd(reload_fifo_io_deq_bits_fun_sd),
    .io_deq_bits_fun_lr_w(reload_fifo_io_deq_bits_fun_lr_w),
    .io_deq_bits_fun_sc_w(reload_fifo_io_deq_bits_fun_sc_w),
    .io_deq_bits_fun_amoswap_w(reload_fifo_io_deq_bits_fun_amoswap_w),
    .io_deq_bits_fun_amoadd_w(reload_fifo_io_deq_bits_fun_amoadd_w),
    .io_deq_bits_fun_amoxor_w(reload_fifo_io_deq_bits_fun_amoxor_w),
    .io_deq_bits_fun_amoand_w(reload_fifo_io_deq_bits_fun_amoand_w),
    .io_deq_bits_fun_amoor_w(reload_fifo_io_deq_bits_fun_amoor_w),
    .io_deq_bits_fun_amomin_w(reload_fifo_io_deq_bits_fun_amomin_w),
    .io_deq_bits_fun_amomax_w(reload_fifo_io_deq_bits_fun_amomax_w),
    .io_deq_bits_fun_amominu_w(reload_fifo_io_deq_bits_fun_amominu_w),
    .io_deq_bits_fun_amomaxu_w(reload_fifo_io_deq_bits_fun_amomaxu_w),
    .io_deq_bits_fun_lr_d(reload_fifo_io_deq_bits_fun_lr_d),
    .io_deq_bits_fun_sc_d(reload_fifo_io_deq_bits_fun_sc_d),
    .io_deq_bits_fun_amoswap_d(reload_fifo_io_deq_bits_fun_amoswap_d),
    .io_deq_bits_fun_amoadd_d(reload_fifo_io_deq_bits_fun_amoadd_d),
    .io_deq_bits_fun_amoxor_d(reload_fifo_io_deq_bits_fun_amoxor_d),
    .io_deq_bits_fun_amoand_d(reload_fifo_io_deq_bits_fun_amoand_d),
    .io_deq_bits_fun_amoor_d(reload_fifo_io_deq_bits_fun_amoor_d),
    .io_deq_bits_fun_amomin_d(reload_fifo_io_deq_bits_fun_amomin_d),
    .io_deq_bits_fun_amomax_d(reload_fifo_io_deq_bits_fun_amomax_d),
    .io_deq_bits_fun_amominu_d(reload_fifo_io_deq_bits_fun_amominu_d),
    .io_deq_bits_fun_amomaxu_d(reload_fifo_io_deq_bits_fun_amomaxu_d),
    .io_deq_bits_fun_flw(reload_fifo_io_deq_bits_fun_flw),
    .io_deq_bits_fun_fsw(reload_fifo_io_deq_bits_fun_fsw),
    .io_deq_bits_fun_fld(reload_fifo_io_deq_bits_fun_fld),
    .io_deq_bits_fun_fsd(reload_fifo_io_deq_bits_fun_fsd),
    .io_deq_bits_fun_probe(reload_fifo_io_deq_bits_fun_probe),
    .io_deq_bits_fun_grant(reload_fifo_io_deq_bits_fun_grant),
    .io_deq_bits_fun_preft(reload_fifo_io_deq_bits_fun_preft)
  );
  DcacheStage stage ( // @[Dcache.scala 132:21]
    .clock(stage_clock),
    .reset(stage_reset),
    .io_enq_ready(stage_io_enq_ready),
    .io_enq_valid(stage_io_enq_valid),
    .io_enq_bits_chkIdx(stage_io_enq_bits_chkIdx),
    .io_enq_bits_paddr(stage_io_enq_bits_paddr),
    .io_enq_bits_fun_lb(stage_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(stage_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(stage_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(stage_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(stage_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(stage_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(stage_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(stage_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(stage_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(stage_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(stage_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(stage_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(stage_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_amoswap_w(stage_io_enq_bits_fun_amoswap_w),
    .io_enq_bits_fun_amoadd_w(stage_io_enq_bits_fun_amoadd_w),
    .io_enq_bits_fun_amoxor_w(stage_io_enq_bits_fun_amoxor_w),
    .io_enq_bits_fun_amoand_w(stage_io_enq_bits_fun_amoand_w),
    .io_enq_bits_fun_amoor_w(stage_io_enq_bits_fun_amoor_w),
    .io_enq_bits_fun_amomin_w(stage_io_enq_bits_fun_amomin_w),
    .io_enq_bits_fun_amomax_w(stage_io_enq_bits_fun_amomax_w),
    .io_enq_bits_fun_amominu_w(stage_io_enq_bits_fun_amominu_w),
    .io_enq_bits_fun_amomaxu_w(stage_io_enq_bits_fun_amomaxu_w),
    .io_enq_bits_fun_lr_d(stage_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(stage_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_amoswap_d(stage_io_enq_bits_fun_amoswap_d),
    .io_enq_bits_fun_amoadd_d(stage_io_enq_bits_fun_amoadd_d),
    .io_enq_bits_fun_amoxor_d(stage_io_enq_bits_fun_amoxor_d),
    .io_enq_bits_fun_amoand_d(stage_io_enq_bits_fun_amoand_d),
    .io_enq_bits_fun_amoor_d(stage_io_enq_bits_fun_amoor_d),
    .io_enq_bits_fun_amomin_d(stage_io_enq_bits_fun_amomin_d),
    .io_enq_bits_fun_amomax_d(stage_io_enq_bits_fun_amomax_d),
    .io_enq_bits_fun_amominu_d(stage_io_enq_bits_fun_amominu_d),
    .io_enq_bits_fun_amomaxu_d(stage_io_enq_bits_fun_amomaxu_d),
    .io_enq_bits_fun_flw(stage_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(stage_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(stage_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(stage_io_enq_bits_fun_fsd),
    .io_enq_bits_fun_probe(stage_io_enq_bits_fun_probe),
    .io_enq_bits_fun_grant(stage_io_enq_bits_fun_grant),
    .io_enq_bits_fun_preft(stage_io_enq_bits_fun_preft),
    .io_reload_valid(stage_io_reload_valid),
    .io_reload_bits_chkIdx(stage_io_reload_bits_chkIdx),
    .io_reload_bits_paddr(stage_io_reload_bits_paddr),
    .io_reload_bits_fun_lb(stage_io_reload_bits_fun_lb),
    .io_reload_bits_fun_lh(stage_io_reload_bits_fun_lh),
    .io_reload_bits_fun_lw(stage_io_reload_bits_fun_lw),
    .io_reload_bits_fun_ld(stage_io_reload_bits_fun_ld),
    .io_reload_bits_fun_lbu(stage_io_reload_bits_fun_lbu),
    .io_reload_bits_fun_lhu(stage_io_reload_bits_fun_lhu),
    .io_reload_bits_fun_lwu(stage_io_reload_bits_fun_lwu),
    .io_reload_bits_fun_sb(stage_io_reload_bits_fun_sb),
    .io_reload_bits_fun_sh(stage_io_reload_bits_fun_sh),
    .io_reload_bits_fun_sw(stage_io_reload_bits_fun_sw),
    .io_reload_bits_fun_sd(stage_io_reload_bits_fun_sd),
    .io_reload_bits_fun_lr_w(stage_io_reload_bits_fun_lr_w),
    .io_reload_bits_fun_sc_w(stage_io_reload_bits_fun_sc_w),
    .io_reload_bits_fun_amoswap_w(stage_io_reload_bits_fun_amoswap_w),
    .io_reload_bits_fun_amoadd_w(stage_io_reload_bits_fun_amoadd_w),
    .io_reload_bits_fun_amoxor_w(stage_io_reload_bits_fun_amoxor_w),
    .io_reload_bits_fun_amoand_w(stage_io_reload_bits_fun_amoand_w),
    .io_reload_bits_fun_amoor_w(stage_io_reload_bits_fun_amoor_w),
    .io_reload_bits_fun_amomin_w(stage_io_reload_bits_fun_amomin_w),
    .io_reload_bits_fun_amomax_w(stage_io_reload_bits_fun_amomax_w),
    .io_reload_bits_fun_amominu_w(stage_io_reload_bits_fun_amominu_w),
    .io_reload_bits_fun_amomaxu_w(stage_io_reload_bits_fun_amomaxu_w),
    .io_reload_bits_fun_lr_d(stage_io_reload_bits_fun_lr_d),
    .io_reload_bits_fun_sc_d(stage_io_reload_bits_fun_sc_d),
    .io_reload_bits_fun_amoswap_d(stage_io_reload_bits_fun_amoswap_d),
    .io_reload_bits_fun_amoadd_d(stage_io_reload_bits_fun_amoadd_d),
    .io_reload_bits_fun_amoxor_d(stage_io_reload_bits_fun_amoxor_d),
    .io_reload_bits_fun_amoand_d(stage_io_reload_bits_fun_amoand_d),
    .io_reload_bits_fun_amoor_d(stage_io_reload_bits_fun_amoor_d),
    .io_reload_bits_fun_amomin_d(stage_io_reload_bits_fun_amomin_d),
    .io_reload_bits_fun_amomax_d(stage_io_reload_bits_fun_amomax_d),
    .io_reload_bits_fun_amominu_d(stage_io_reload_bits_fun_amominu_d),
    .io_reload_bits_fun_amomaxu_d(stage_io_reload_bits_fun_amomaxu_d),
    .io_reload_bits_fun_flw(stage_io_reload_bits_fun_flw),
    .io_reload_bits_fun_fsw(stage_io_reload_bits_fun_fsw),
    .io_reload_bits_fun_fld(stage_io_reload_bits_fun_fld),
    .io_reload_bits_fun_fsd(stage_io_reload_bits_fun_fsd),
    .io_reload_bits_fun_probe(stage_io_reload_bits_fun_probe),
    .io_reload_bits_fun_grant(stage_io_reload_bits_fun_grant),
    .io_reload_bits_fun_preft(stage_io_reload_bits_fun_preft),
    .io_deq_valid(stage_io_deq_valid),
    .io_deq_bits_chkIdx(stage_io_deq_bits_chkIdx),
    .io_deq_bits_is_load_amo(stage_io_deq_bits_is_load_amo),
    .io_deq_bits_is_flw(stage_io_deq_bits_is_flw),
    .io_deq_bits_is_fld(stage_io_deq_bits_is_fld),
    .io_missUnit_req_valid(stage_io_missUnit_req_valid),
    .io_missUnit_req_bits_paddr(stage_io_missUnit_req_bits_paddr),
    .io_wb_req_valid(stage_io_wb_req_valid),
    .io_wb_req_bits_is_releaseData(stage_io_wb_req_bits_is_releaseData),
    .io_wb_req_bits_is_release(stage_io_wb_req_bits_is_release),
    .io_wb_req_bits_is_probe(stage_io_wb_req_bits_is_probe),
    .io_wb_req_bits_is_probeData(stage_io_wb_req_bits_is_probeData),
    .io_isCacheEmpty(stage_io_isCacheEmpty),
    .io_flush(stage_io_flush)
  );
  assign io_enq_ready = op_arb_io_in_1_ready & sbEnqReady; // @[Dcache.scala 253:41]
  assign io_deq_valid = rtn_fifo_io_deq_valid; // @[Dcache.scala 273:19]
  assign io_deq_bits_chkIdx = rtn_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 273:19]
  assign io_deq_bits_is_load_amo = rtn_fifo_io_deq_bits_is_load_amo; // @[Dcache.scala 273:19]
  assign io_deq_bits_is_flw = rtn_fifo_io_deq_bits_is_flw; // @[Dcache.scala 273:19]
  assign io_deq_bits_is_fld = rtn_fifo_io_deq_bits_is_fld; // @[Dcache.scala 273:19]
  assign io_is_empty = _sbIdx_T & _sbEnqReady_T_1; // @[Dcache.scala 160:33]
  assign io_writeBackUnit_dcache_release_valid = writeBackUnit_io_cache_release_valid; // @[Dcache.scala 188:41]
  assign io_writeBackUnit_dcache_release_bits_opcode = writeBackUnit_io_cache_release_bits_opcode; // @[Dcache.scala 188:41]
  assign io_writeBackUnit_dcache_release_bits_size = writeBackUnit_io_cache_release_bits_size; // @[Dcache.scala 188:41]
  assign missUnit_clock = clock;
  assign missUnit_reset = reset;
  assign missUnit_io_req_valid = stage_io_missUnit_req_valid; // @[Dcache.scala 216:32]
  assign missUnit_io_req_bits_paddr = stage_io_missUnit_req_bits_paddr; // @[Dcache.scala 216:32]
  assign missUnit_io_cache_acquire_ready = io_missUnit_dcache_acquire_ready; // @[Dcache.scala 184:37]
  assign missUnit_io_cache_grant_valid = io_missUnit_dcache_grant_valid; // @[Dcache.scala 185:33]
  assign missUnit_io_cache_grant_bits_opcode = io_missUnit_dcache_grant_bits_opcode; // @[Dcache.scala 185:33]
  assign missUnit_io_cache_grant_bits_size = io_missUnit_dcache_grant_bits_size; // @[Dcache.scala 185:33]
  assign missUnit_io_cache_grant_bits_source = io_missUnit_dcache_grant_bits_source; // @[Dcache.scala 185:33]
  assign missUnit_io_cache_grantAck_ready = io_missUnit_dcache_grantAck_ready; // @[Dcache.scala 186:37]
  assign missUnit_io_miss_ban = writeBackUnit_io_miss_ban; // @[Dcache.scala 220:30]
  assign probeUnit_clock = clock;
  assign probeUnit_reset = reset;
  assign probeUnit_io_cache_probe_valid = io_probeUnit_dcache_probe_valid; // @[Dcache.scala 187:34]
  assign probeUnit_io_cache_probe_bits_address = io_probeUnit_dcache_probe_bits_address; // @[Dcache.scala 187:34]
  assign probeUnit_io_req_ready = rd_arb_io_in_1_ready; // @[Dcache.scala 229:32]
  assign probeUnit_io_probeBan = writeBackUnit_io_miss_ban; // @[Dcache.scala 219:31]
  assign writeBackUnit_clock = clock;
  assign writeBackUnit_reset = reset;
  assign writeBackUnit_io_wb_req_valid = stage_io_wb_req_valid; // @[Dcache.scala 217:21]
  assign writeBackUnit_io_wb_req_bits_is_releaseData = stage_io_wb_req_bits_is_releaseData; // @[Dcache.scala 217:21]
  assign writeBackUnit_io_wb_req_bits_is_release = stage_io_wb_req_bits_is_release; // @[Dcache.scala 217:21]
  assign writeBackUnit_io_wb_req_bits_is_probe = stage_io_wb_req_bits_is_probe; // @[Dcache.scala 217:21]
  assign writeBackUnit_io_wb_req_bits_is_probeData = stage_io_wb_req_bits_is_probeData; // @[Dcache.scala 217:21]
  assign writeBackUnit_io_cache_release_ready = io_writeBackUnit_dcache_release_ready; // @[Dcache.scala 188:41]
  assign writeBackUnit_io_cache_grant_valid = io_writeBackUnit_dcache_grant_valid; // @[Dcache.scala 189:38]
  assign writeBackUnit_io_cache_grant_bits_source = io_writeBackUnit_dcache_grant_bits_source; // @[Dcache.scala 189:38]
  assign writeBackUnit_io_release_ban = missUnit_io_release_ban; // @[Dcache.scala 221:38]
  assign lsEntry_clock = clock;
  assign lsEntry_reset = reset;
  assign lsEntry_io_enq_valid = op_arb_io_out_valid; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_chkIdx = op_arb_io_out_bits_chkIdx; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_paddr = op_arb_io_out_bits_paddr; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lb = op_arb_io_out_bits_fun_lb; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lh = op_arb_io_out_bits_fun_lh; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lw = op_arb_io_out_bits_fun_lw; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_ld = op_arb_io_out_bits_fun_ld; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lbu = op_arb_io_out_bits_fun_lbu; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lhu = op_arb_io_out_bits_fun_lhu; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lwu = op_arb_io_out_bits_fun_lwu; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sb = op_arb_io_out_bits_fun_sb; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sh = op_arb_io_out_bits_fun_sh; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sw = op_arb_io_out_bits_fun_sw; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sd = op_arb_io_out_bits_fun_sd; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lr_w = op_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sc_w = op_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoswap_w = op_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoadd_w = op_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoxor_w = op_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoand_w = op_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoor_w = op_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomin_w = op_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomax_w = op_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amominu_w = op_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomaxu_w = op_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_lr_d = op_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_sc_d = op_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoswap_d = op_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoadd_d = op_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoxor_d = op_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoand_d = op_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amoor_d = op_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomin_d = op_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomax_d = op_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amominu_d = op_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_amomaxu_d = op_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_flw = op_arb_io_out_bits_fun_flw; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_fsw = op_arb_io_out_bits_fun_fsw; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_fld = op_arb_io_out_bits_fun_fld; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_fsd = op_arb_io_out_bits_fun_fsd; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_probe = op_arb_io_out_bits_fun_probe; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_grant = op_arb_io_out_bits_fun_grant; // @[Dcache.scala 257:17]
  assign lsEntry_io_enq_bits_fun_preft = op_arb_io_out_bits_fun_preft; // @[Dcache.scala 257:17]
  assign lsEntry_io_deq_ready = rd_arb_io_in_2_ready; // @[Dcache.scala 264:18]
  assign rtn_fifo_clock = clock;
  assign rtn_fifo_reset = reset;
  assign rtn_fifo_io_enq_valid = stage_io_deq_valid; // @[Dcache.scala 270:25]
  assign rtn_fifo_io_enq_bits_chkIdx = stage_io_deq_bits_chkIdx; // @[Dcache.scala 271:25]
  assign rtn_fifo_io_enq_bits_is_load_amo = stage_io_deq_bits_is_load_amo; // @[Dcache.scala 271:25]
  assign rtn_fifo_io_enq_bits_is_flw = stage_io_deq_bits_is_flw; // @[Dcache.scala 271:25]
  assign rtn_fifo_io_enq_bits_is_fld = stage_io_deq_bits_is_fld; // @[Dcache.scala 271:25]
  assign rtn_fifo_io_deq_ready = io_deq_ready; // @[Dcache.scala 273:19]
  assign op_arb_io_in_0_valid = reload_fifo_io_deq_valid; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_chkIdx = reload_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_paddr = reload_fifo_io_deq_bits_paddr; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lb = reload_fifo_io_deq_bits_fun_lb; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lh = reload_fifo_io_deq_bits_fun_lh; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lw = reload_fifo_io_deq_bits_fun_lw; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_ld = reload_fifo_io_deq_bits_fun_ld; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lbu = reload_fifo_io_deq_bits_fun_lbu; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lhu = reload_fifo_io_deq_bits_fun_lhu; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lwu = reload_fifo_io_deq_bits_fun_lwu; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sb = reload_fifo_io_deq_bits_fun_sb; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sh = reload_fifo_io_deq_bits_fun_sh; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sw = reload_fifo_io_deq_bits_fun_sw; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sd = reload_fifo_io_deq_bits_fun_sd; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lr_w = reload_fifo_io_deq_bits_fun_lr_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sc_w = reload_fifo_io_deq_bits_fun_sc_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoswap_w = reload_fifo_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoadd_w = reload_fifo_io_deq_bits_fun_amoadd_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoxor_w = reload_fifo_io_deq_bits_fun_amoxor_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoand_w = reload_fifo_io_deq_bits_fun_amoand_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoor_w = reload_fifo_io_deq_bits_fun_amoor_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomin_w = reload_fifo_io_deq_bits_fun_amomin_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomax_w = reload_fifo_io_deq_bits_fun_amomax_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amominu_w = reload_fifo_io_deq_bits_fun_amominu_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomaxu_w = reload_fifo_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_lr_d = reload_fifo_io_deq_bits_fun_lr_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_sc_d = reload_fifo_io_deq_bits_fun_sc_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoswap_d = reload_fifo_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoadd_d = reload_fifo_io_deq_bits_fun_amoadd_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoxor_d = reload_fifo_io_deq_bits_fun_amoxor_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoand_d = reload_fifo_io_deq_bits_fun_amoand_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amoor_d = reload_fifo_io_deq_bits_fun_amoor_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomin_d = reload_fifo_io_deq_bits_fun_amomin_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomax_d = reload_fifo_io_deq_bits_fun_amomax_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amominu_d = reload_fifo_io_deq_bits_fun_amominu_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_amomaxu_d = reload_fifo_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_flw = reload_fifo_io_deq_bits_fun_flw; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_fsw = reload_fifo_io_deq_bits_fun_fsw; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_fld = reload_fifo_io_deq_bits_fun_fld; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_fsd = reload_fifo_io_deq_bits_fun_fsd; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_probe = reload_fifo_io_deq_bits_fun_probe; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_grant = reload_fifo_io_deq_bits_fun_grant; // @[Dcache.scala 252:22]
  assign op_arb_io_in_0_bits_fun_preft = reload_fifo_io_deq_bits_fun_preft; // @[Dcache.scala 252:22]
  assign op_arb_io_in_1_valid = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  assign op_arb_io_in_1_bits_chkIdx = ~sbValid_0 ? 1'h0 : 1'h1; // @[Dcache.scala 143:33]
  assign op_arb_io_in_1_bits_paddr = io_enq_bits_paddr; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lb = io_enq_bits_fun_lb; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lh = io_enq_bits_fun_lh; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lw = io_enq_bits_fun_lw; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_ld = io_enq_bits_fun_ld; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lbu = io_enq_bits_fun_lbu; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lhu = io_enq_bits_fun_lhu; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lwu = io_enq_bits_fun_lwu; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sb = io_enq_bits_fun_sb; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sh = io_enq_bits_fun_sh; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sw = io_enq_bits_fun_sw; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sd = io_enq_bits_fun_sd; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lr_w = io_enq_bits_fun_lr_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sc_w = io_enq_bits_fun_sc_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoswap_w = io_enq_bits_fun_amoswap_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoadd_w = io_enq_bits_fun_amoadd_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoxor_w = io_enq_bits_fun_amoxor_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoand_w = io_enq_bits_fun_amoand_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoor_w = io_enq_bits_fun_amoor_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomin_w = io_enq_bits_fun_amomin_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomax_w = io_enq_bits_fun_amomax_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amominu_w = io_enq_bits_fun_amominu_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomaxu_w = io_enq_bits_fun_amomaxu_w; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_lr_d = io_enq_bits_fun_lr_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_sc_d = io_enq_bits_fun_sc_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoswap_d = io_enq_bits_fun_amoswap_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoadd_d = io_enq_bits_fun_amoadd_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoxor_d = io_enq_bits_fun_amoxor_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoand_d = io_enq_bits_fun_amoand_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amoor_d = io_enq_bits_fun_amoor_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomin_d = io_enq_bits_fun_amomin_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomax_d = io_enq_bits_fun_amomax_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amominu_d = io_enq_bits_fun_amominu_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_amomaxu_d = io_enq_bits_fun_amomaxu_d; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_flw = io_enq_bits_fun_flw; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_fsw = io_enq_bits_fun_fsw; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_fld = io_enq_bits_fun_fld; // @[Dcache.scala 255:25]
  assign op_arb_io_in_1_bits_fun_fsd = io_enq_bits_fun_fsd; // @[Dcache.scala 255:25]
  assign op_arb_io_out_ready = lsEntry_io_enq_ready; // @[Dcache.scala 257:17]
  assign rd_arb_io_in_0_valid = missUnit_io_rsp_valid; // @[Dcache.scala 224:27]
  assign rd_arb_io_in_0_bits_paddr = missUnit_io_rsp_bits_paddr; // @[Util.scala 48:19 50:15]
  assign rd_arb_io_in_1_valid = probeUnit_io_req_valid; // @[Dcache.scala 228:27]
  assign rd_arb_io_in_1_bits_paddr = probeUnit_io_req_bits_paddr; // @[Util.scala 64:19 65:15]
  assign rd_arb_io_in_2_valid = lsEntry_io_deq_valid; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_chkIdx = lsEntry_io_deq_bits_chkIdx; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_paddr = lsEntry_io_deq_bits_paddr; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lb = lsEntry_io_deq_bits_fun_lb; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lh = lsEntry_io_deq_bits_fun_lh; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lw = lsEntry_io_deq_bits_fun_lw; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_ld = lsEntry_io_deq_bits_fun_ld; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lbu = lsEntry_io_deq_bits_fun_lbu; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lhu = lsEntry_io_deq_bits_fun_lhu; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lwu = lsEntry_io_deq_bits_fun_lwu; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sb = lsEntry_io_deq_bits_fun_sb; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sh = lsEntry_io_deq_bits_fun_sh; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sw = lsEntry_io_deq_bits_fun_sw; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sd = lsEntry_io_deq_bits_fun_sd; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lr_w = lsEntry_io_deq_bits_fun_lr_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sc_w = lsEntry_io_deq_bits_fun_sc_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoswap_w = lsEntry_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoadd_w = lsEntry_io_deq_bits_fun_amoadd_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoxor_w = lsEntry_io_deq_bits_fun_amoxor_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoand_w = lsEntry_io_deq_bits_fun_amoand_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoor_w = lsEntry_io_deq_bits_fun_amoor_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomin_w = lsEntry_io_deq_bits_fun_amomin_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomax_w = lsEntry_io_deq_bits_fun_amomax_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amominu_w = lsEntry_io_deq_bits_fun_amominu_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomaxu_w = lsEntry_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_lr_d = lsEntry_io_deq_bits_fun_lr_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_sc_d = lsEntry_io_deq_bits_fun_sc_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoswap_d = lsEntry_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoadd_d = lsEntry_io_deq_bits_fun_amoadd_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoxor_d = lsEntry_io_deq_bits_fun_amoxor_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoand_d = lsEntry_io_deq_bits_fun_amoand_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amoor_d = lsEntry_io_deq_bits_fun_amoor_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomin_d = lsEntry_io_deq_bits_fun_amomin_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomax_d = lsEntry_io_deq_bits_fun_amomax_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amominu_d = lsEntry_io_deq_bits_fun_amominu_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_amomaxu_d = lsEntry_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_flw = lsEntry_io_deq_bits_fun_flw; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_fsw = lsEntry_io_deq_bits_fun_fsw; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_fld = lsEntry_io_deq_bits_fun_fld; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_fsd = lsEntry_io_deq_bits_fun_fsd; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_probe = lsEntry_io_deq_bits_fun_probe; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_grant = lsEntry_io_deq_bits_fun_grant; // @[Dcache.scala 264:18]
  assign rd_arb_io_in_2_bits_fun_preft = lsEntry_io_deq_bits_fun_preft; // @[Dcache.scala 264:18]
  assign reload_fifo_clock = clock;
  assign reload_fifo_reset = reset;
  assign reload_fifo_io_enq_valid = stage_io_reload_valid; // @[Dcache.scala 248:28]
  assign reload_fifo_io_enq_bits_chkIdx = stage_io_reload_bits_chkIdx; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_paddr = stage_io_reload_bits_paddr; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lb = stage_io_reload_bits_fun_lb; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lh = stage_io_reload_bits_fun_lh; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lw = stage_io_reload_bits_fun_lw; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_ld = stage_io_reload_bits_fun_ld; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lbu = stage_io_reload_bits_fun_lbu; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lhu = stage_io_reload_bits_fun_lhu; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lwu = stage_io_reload_bits_fun_lwu; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sb = stage_io_reload_bits_fun_sb; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sh = stage_io_reload_bits_fun_sh; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sw = stage_io_reload_bits_fun_sw; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sd = stage_io_reload_bits_fun_sd; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lr_w = stage_io_reload_bits_fun_lr_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sc_w = stage_io_reload_bits_fun_sc_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoswap_w = stage_io_reload_bits_fun_amoswap_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoadd_w = stage_io_reload_bits_fun_amoadd_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoxor_w = stage_io_reload_bits_fun_amoxor_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoand_w = stage_io_reload_bits_fun_amoand_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoor_w = stage_io_reload_bits_fun_amoor_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomin_w = stage_io_reload_bits_fun_amomin_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomax_w = stage_io_reload_bits_fun_amomax_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amominu_w = stage_io_reload_bits_fun_amominu_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomaxu_w = stage_io_reload_bits_fun_amomaxu_w; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_lr_d = stage_io_reload_bits_fun_lr_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_sc_d = stage_io_reload_bits_fun_sc_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoswap_d = stage_io_reload_bits_fun_amoswap_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoadd_d = stage_io_reload_bits_fun_amoadd_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoxor_d = stage_io_reload_bits_fun_amoxor_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoand_d = stage_io_reload_bits_fun_amoand_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amoor_d = stage_io_reload_bits_fun_amoor_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomin_d = stage_io_reload_bits_fun_amomin_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomax_d = stage_io_reload_bits_fun_amomax_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amominu_d = stage_io_reload_bits_fun_amominu_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_amomaxu_d = stage_io_reload_bits_fun_amomaxu_d; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_flw = stage_io_reload_bits_fun_flw; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_fsw = stage_io_reload_bits_fun_fsw; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_fld = stage_io_reload_bits_fun_fld; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_fsd = stage_io_reload_bits_fun_fsd; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_probe = stage_io_reload_bits_fun_probe; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_grant = stage_io_reload_bits_fun_grant; // @[Dcache.scala 249:28]
  assign reload_fifo_io_enq_bits_fun_preft = stage_io_reload_bits_fun_preft; // @[Dcache.scala 249:28]
  assign reload_fifo_io_deq_ready = op_arb_io_in_0_ready; // @[Dcache.scala 252:22]
  assign stage_clock = clock;
  assign stage_reset = reset;
  assign stage_io_enq_valid = rd_arb_io_out_valid; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_chkIdx = rd_arb_io_out_bits_chkIdx; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_paddr = rd_arb_io_out_bits_paddr; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lb = rd_arb_io_out_bits_fun_lb; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lh = rd_arb_io_out_bits_fun_lh; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lw = rd_arb_io_out_bits_fun_lw; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_ld = rd_arb_io_out_bits_fun_ld; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lbu = rd_arb_io_out_bits_fun_lbu; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lhu = rd_arb_io_out_bits_fun_lhu; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lwu = rd_arb_io_out_bits_fun_lwu; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sb = rd_arb_io_out_bits_fun_sb; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sh = rd_arb_io_out_bits_fun_sh; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sw = rd_arb_io_out_bits_fun_sw; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sd = rd_arb_io_out_bits_fun_sd; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lr_w = rd_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sc_w = rd_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoswap_w = rd_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoadd_w = rd_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoxor_w = rd_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoand_w = rd_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoor_w = rd_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomin_w = rd_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomax_w = rd_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amominu_w = rd_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomaxu_w = rd_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_lr_d = rd_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_sc_d = rd_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoswap_d = rd_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoadd_d = rd_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoxor_d = rd_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoand_d = rd_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amoor_d = rd_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomin_d = rd_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomax_d = rd_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amominu_d = rd_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_amomaxu_d = rd_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_flw = rd_arb_io_out_bits_fun_flw; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_fsw = rd_arb_io_out_bits_fun_fsw; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_fld = rd_arb_io_out_bits_fun_fld; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_fsd = rd_arb_io_out_bits_fun_fsd; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_probe = rd_arb_io_out_bits_fun_probe; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_grant = rd_arb_io_out_bits_fun_grant; // @[Dcache.scala 265:16]
  assign stage_io_enq_bits_fun_preft = rd_arb_io_out_bits_fun_preft; // @[Dcache.scala 265:16]
  assign stage_io_isCacheEmpty = _sbIdx_T & _sbEnqReady_T_1; // @[Dcache.scala 160:33]
  assign stage_io_flush = io_flush; // @[Dcache.scala 259:18]
  always @(posedge clock) begin
    if (reset) begin // @[Dcache.scala 138:23]
      sbBuff_0_paddr <= 32'h0; // @[Dcache.scala 138:23]
    end else if (_T_1) begin // @[Dcache.scala 155:23]
      if (~io_deq_bits_chkIdx) begin // @[Dcache.scala 156:33]
        sbBuff_0_paddr <= 32'h0; // @[Dcache.scala 156:33]
      end else begin
        sbBuff_0_paddr <= _GEN_100;
      end
    end else begin
      sbBuff_0_paddr <= _GEN_100;
    end
    if (reset) begin // @[Dcache.scala 138:23]
      sbBuff_1_paddr <= 32'h0; // @[Dcache.scala 138:23]
    end else if (_T_1) begin // @[Dcache.scala 155:23]
      if (io_deq_bits_chkIdx) begin // @[Dcache.scala 156:33]
        sbBuff_1_paddr <= 32'h0; // @[Dcache.scala 156:33]
      end else begin
        sbBuff_1_paddr <= _GEN_101;
      end
    end else begin
      sbBuff_1_paddr <= _GEN_101;
    end
    if (reset) begin // @[Dcache.scala 139:24]
      sbValid_0 <= 1'h0; // @[Dcache.scala 139:24]
    end else if (_T_1) begin // @[Dcache.scala 155:23]
      if (~io_deq_bits_chkIdx) begin // @[Dcache.scala 157:33]
        sbValid_0 <= 1'h0; // @[Dcache.scala 157:33]
      end else begin
        sbValid_0 <= _GEN_194;
      end
    end else begin
      sbValid_0 <= _GEN_194;
    end
    if (reset) begin // @[Dcache.scala 139:24]
      sbValid_1 <= 1'h0; // @[Dcache.scala 139:24]
    end else if (_T_1) begin // @[Dcache.scala 155:23]
      if (io_deq_bits_chkIdx) begin // @[Dcache.scala 157:33]
        sbValid_1 <= 1'h0; // @[Dcache.scala 157:33]
      end else begin
        sbValid_1 <= _GEN_195;
      end
    end else begin
      sbValid_1 <= _GEN_195;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1 & ~reset & ~(~isSBEmpty)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Dcache.scala:161 when( io.deq.fire ) { assert(~isSBEmpty) }\n"
            ); // @[Dcache.scala 161:31]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~isSBEmpty) & (_T_1 & ~reset)) begin
          $fatal; // @[Dcache.scala 161:31]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (sbValid_0 & _T_5 & ~(_T_10 == 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Dcache.scala:168 assert( sbBuff.count( (x: Dcache_Enq_Bundle) => (x.paddr === sbBuff(i).paddr) ) === 1.U )\n"
            ); // @[Dcache.scala 168:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_10 == 2'h1) & (sbValid_0 & _T_5)) begin
          $fatal; // @[Dcache.scala 168:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (sbValid_1 & _T_5 & ~(_T_19 == 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Dcache.scala:168 assert( sbBuff.count( (x: Dcache_Enq_Bundle) => (x.paddr === sbBuff(i).paddr) ) === 1.U )\n"
            ); // @[Dcache.scala 168:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_19 == 2'h1) & (sbValid_1 & _T_5)) begin
          $fatal; // @[Dcache.scala 168:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (reload_fifo_io_enq_valid & _T_5 & ~reload_fifo_io_enq_ready) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at Dcache, Pipeline stuck!\n    at Dcache.scala:281 when(reload_fifo.io.enq.valid) {assert(reload_fifo.io.enq.ready, \"Assert Failed at Dcache, Pipeline stuck!\")}\n"
            ); // @[Dcache.scala 281:41]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~reload_fifo_io_enq_ready & (reload_fifo_io_enq_valid & _T_5)) begin
          $fatal; // @[Dcache.scala 281:41]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rtn_fifo_io_enq_valid & _T_5 & ~rtn_fifo_io_enq_ready) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at Dcache, Pipeline stuck!\n    at Dcache.scala:282 when(rtn_fifo.io.enq.valid) {assert(rtn_fifo.io.enq.ready, \"Assert Failed at Dcache, Pipeline stuck!\")}\n"
            ); // @[Dcache.scala 282:38]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rtn_fifo_io_enq_ready & (rtn_fifo_io_enq_valid & _T_5)) begin
          $fatal; // @[Dcache.scala 282:38]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sbBuff_0_paddr = _RAND_0[31:0];
  _RAND_1 = {1{`RANDOM}};
  sbBuff_1_paddr = _RAND_1[31:0];
  _RAND_2 = {1{`RANDOM}};
  sbValid_0 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  sbValid_1 = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Arbiter_3(
  output  io_in_0_ready,
  input   io_in_0_valid,
  input   io_in_0_bits_is_flw,
  input   io_in_0_bits_is_fld,
  output  io_in_1_ready,
  input   io_in_1_valid,
  input   io_in_1_bits_is_flw,
  input   io_in_1_bits_is_fld,
  output  io_in_2_ready,
  input   io_in_2_valid,
  input   io_in_2_bits_is_flw,
  input   io_in_2_bits_is_fld,
  input   io_out_ready,
  output  io_out_valid,
  output  io_out_bits_is_flw,
  output  io_out_bits_is_fld
);
  wire  _GEN_5 = io_in_1_valid ? io_in_1_bits_is_flw : io_in_2_bits_is_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  _GEN_6 = io_in_1_valid ? io_in_1_bits_is_fld : io_in_2_bits_is_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  grant_1 = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  grant_2 = ~(io_in_0_valid | io_in_1_valid); // @[Arbiter.scala 45:78]
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_1_ready = grant_1 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_2_ready = grant_2 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_out_valid = ~grant_2 | io_in_2_valid; // @[Arbiter.scala 147:31]
  assign io_out_bits_is_flw = io_in_0_valid ? io_in_0_bits_is_flw : _GEN_5; // @[Arbiter.scala 138:26 140:19]
  assign io_out_bits_is_fld = io_in_0_valid ? io_in_0_bits_is_fld : _GEN_6; // @[Arbiter.scala 138:26 140:19]
endmodule
module Queue_16(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_10 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_10 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_17(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_10 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_10 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Arbiter_4(
  output  io_in_0_ready,
  input   io_in_0_valid,
  output  io_in_1_ready,
  input   io_in_1_valid,
  output  io_in_2_ready,
  input   io_out_ready
);
  wire  grant_1 = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  grant_2 = ~(io_in_0_valid | io_in_1_valid); // @[Arbiter.scala 45:78]
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_1_ready = grant_1 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_2_ready = grant_2 & io_out_ready; // @[Arbiter.scala 146:19]
endmodule
module Arbiter_5(
  output  io_in_0_ready,
  input   io_out_ready
);
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
endmodule
module Arbiter_6(
  output  io_in_0_ready,
  input   io_out_ready
);
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
endmodule
module Arbiter_7(
  output  io_in_0_ready,
  input   io_out_ready
);
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
endmodule
module Lsu(
  input         clock,
  input         reset,
  input         io_lsu_iss_exe_valid,
  input         io_lsu_iss_exe_bits_fun_lb,
  input         io_lsu_iss_exe_bits_fun_lh,
  input         io_lsu_iss_exe_bits_fun_lw,
  input         io_lsu_iss_exe_bits_fun_ld,
  input         io_lsu_iss_exe_bits_fun_lbu,
  input         io_lsu_iss_exe_bits_fun_lhu,
  input         io_lsu_iss_exe_bits_fun_lwu,
  input         io_lsu_iss_exe_bits_fun_sb,
  input         io_lsu_iss_exe_bits_fun_sh,
  input         io_lsu_iss_exe_bits_fun_sw,
  input         io_lsu_iss_exe_bits_fun_sd,
  input         io_lsu_iss_exe_bits_fun_fence,
  input         io_lsu_iss_exe_bits_fun_fence_i,
  input         io_lsu_iss_exe_bits_fun_sfence_vma,
  input         io_lsu_iss_exe_bits_fun_lr_w,
  input         io_lsu_iss_exe_bits_fun_sc_w,
  input         io_lsu_iss_exe_bits_fun_amoswap_w,
  input         io_lsu_iss_exe_bits_fun_amoadd_w,
  input         io_lsu_iss_exe_bits_fun_amoxor_w,
  input         io_lsu_iss_exe_bits_fun_amoand_w,
  input         io_lsu_iss_exe_bits_fun_amoor_w,
  input         io_lsu_iss_exe_bits_fun_amomin_w,
  input         io_lsu_iss_exe_bits_fun_amomax_w,
  input         io_lsu_iss_exe_bits_fun_amominu_w,
  input         io_lsu_iss_exe_bits_fun_amomaxu_w,
  input         io_lsu_iss_exe_bits_fun_lr_d,
  input         io_lsu_iss_exe_bits_fun_sc_d,
  input         io_lsu_iss_exe_bits_fun_amoswap_d,
  input         io_lsu_iss_exe_bits_fun_amoadd_d,
  input         io_lsu_iss_exe_bits_fun_amoxor_d,
  input         io_lsu_iss_exe_bits_fun_amoand_d,
  input         io_lsu_iss_exe_bits_fun_amoor_d,
  input         io_lsu_iss_exe_bits_fun_amomin_d,
  input         io_lsu_iss_exe_bits_fun_amomax_d,
  input         io_lsu_iss_exe_bits_fun_amominu_d,
  input         io_lsu_iss_exe_bits_fun_amomaxu_d,
  input         io_lsu_iss_exe_bits_fun_flw,
  input         io_lsu_iss_exe_bits_fun_fsw,
  input         io_lsu_iss_exe_bits_fun_fld,
  input         io_lsu_iss_exe_bits_fun_fsd,
  input  [63:0] io_lsu_iss_exe_bits_param_dat_op1,
  input         io_lsu_exe_iwb_ready,
  input         io_lsu_exe_fwb_ready,
  input         io_cmm_lsu_is_amo_pending,
  input         io_cmm_lsu_is_store_commit_0,
  input         io_mmu_lsu_valid,
  input  [63:0] io_mmu_lsu_bits_paddr,
  input         io_mmu_lsu_bits_is_paging_fault,
  input         io_mmu_lsu_bits_is_access_fault,
  input         io_missUnit_dcache_acquire_ready,
  input         io_missUnit_dcache_grant_valid,
  input  [2:0]  io_missUnit_dcache_grant_bits_opcode,
  input  [2:0]  io_missUnit_dcache_grant_bits_size,
  input         io_missUnit_dcache_grant_bits_source,
  input         io_missUnit_dcache_grantAck_ready,
  input         io_probeUnit_dcache_probe_valid,
  input  [31:0] io_probeUnit_dcache_probe_bits_address,
  input         io_writeBackUnit_dcache_release_ready,
  input         io_writeBackUnit_dcache_grant_valid,
  input         io_writeBackUnit_dcache_grant_bits_source,
  input         io_system_getPut_ready,
  input         io_system_access_valid,
  input  [2:0]  io_system_access_bits_opcode,
  input         io_periph_getPut_ready,
  input         io_periph_access_valid,
  input  [2:0]  io_periph_access_bits_opcode,
  input         io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  wire  stQueue_clock; // @[Lsu.scala 84:23]
  wire  stQueue_reset; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_ready; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_valid; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lb; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lh; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lw; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_ld; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lbu; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lhu; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lwu; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sb; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sh; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sw; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sd; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lr_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sc_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoswap_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoadd_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoxor_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoand_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoor_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomin_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomax_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amominu_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomaxu_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_lr_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_sc_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoswap_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoadd_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoxor_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoand_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amoor_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomin_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomax_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amominu_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_amomaxu_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_flw; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_fsw; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_fld; // @[Lsu.scala 84:23]
  wire  stQueue_io_enq_bits_fun_fsd; // @[Lsu.scala 84:23]
  wire [63:0] stQueue_io_enq_bits_param_dat_op1; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_ready; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_valid; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lb; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lh; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lw; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_ld; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lbu; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lhu; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lwu; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sb; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sh; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sw; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sd; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lr_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sc_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoswap_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoadd_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoxor_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoand_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoor_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomin_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomax_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amominu_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomaxu_w; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_lr_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_sc_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoswap_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoadd_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoxor_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoand_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amoor_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomin_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomax_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amominu_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_amomaxu_d; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_flw; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_fsw; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_fld; // @[Lsu.scala 84:23]
  wire  stQueue_io_deq_bits_fun_fsd; // @[Lsu.scala 84:23]
  wire [63:0] stQueue_io_deq_bits_param_dat_op1; // @[Lsu.scala 84:23]
  wire  stQueue_io_cmm_lsu_is_amo_pending; // @[Lsu.scala 84:23]
  wire  stQueue_io_cmm_lsu_is_store_commit_0; // @[Lsu.scala 84:23]
  wire  stQueue_io_is_empty; // @[Lsu.scala 84:23]
  wire  stQueue_io_overlapReq_valid; // @[Lsu.scala 84:23]
  wire [31:0] stQueue_io_overlapReq_bits_paddr; // @[Lsu.scala 84:23]
  wire  stQueue_io_overlapResp_valid; // @[Lsu.scala 84:23]
  wire  stQueue_io_flush; // @[Lsu.scala 84:23]
  wire  ls_arb_io_in_0_valid; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_ld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lbu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lhu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lwu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sd; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lr_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sc_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoswap_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoadd_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoxor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoand_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomin_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomax_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amominu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomaxu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_lr_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_sc_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoswap_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoadd_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoxor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoand_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amoor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomin_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomax_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amominu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_amomaxu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_flw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_fsw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_fld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_0_bits_fun_fsd; // @[Lsu.scala 87:22]
  wire [63:0] ls_arb_io_in_0_bits_param_dat_op1; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_ready; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_valid; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_ld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lbu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lhu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lwu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sd; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lr_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sc_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoswap_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoadd_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoxor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoand_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomin_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomax_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amominu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomaxu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_lr_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_sc_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoswap_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoadd_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoxor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoand_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amoor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomin_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomax_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amominu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_amomaxu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_flw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_fsw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_fld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_in_1_bits_fun_fsd; // @[Lsu.scala 87:22]
  wire [63:0] ls_arb_io_in_1_bits_param_dat_op1; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_ready; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_valid; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 87:22]
  wire  ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 87:22]
  wire [63:0] ls_arb_io_out_bits_param_dat_op1; // @[Lsu.scala 87:22]
  wire  system_clock; // @[Lsu.scala 95:22]
  wire  system_reset; // @[Lsu.scala 95:22]
  wire  system_io_enq_ready; // @[Lsu.scala 95:22]
  wire  system_io_enq_valid; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lb; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lh; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lw; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_ld; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lbu; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lhu; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lwu; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sb; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sh; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sw; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sd; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lr_w; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sc_w; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_lr_d; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_sc_d; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_flw; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_fsw; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_fld; // @[Lsu.scala 95:22]
  wire  system_io_enq_bits_fun_fsd; // @[Lsu.scala 95:22]
  wire  system_io_deq_ready; // @[Lsu.scala 95:22]
  wire  system_io_deq_valid; // @[Lsu.scala 95:22]
  wire  system_io_deq_bits_is_load_amo; // @[Lsu.scala 95:22]
  wire  system_io_deq_bits_is_flw; // @[Lsu.scala 95:22]
  wire  system_io_deq_bits_is_fld; // @[Lsu.scala 95:22]
  wire  system_io_is_empty; // @[Lsu.scala 95:22]
  wire  system_io_getPut_ready; // @[Lsu.scala 95:22]
  wire  system_io_getPut_valid; // @[Lsu.scala 95:22]
  wire  system_io_access_ready; // @[Lsu.scala 95:22]
  wire  system_io_access_valid; // @[Lsu.scala 95:22]
  wire [2:0] system_io_access_bits_opcode; // @[Lsu.scala 95:22]
  wire  periph_clock; // @[Lsu.scala 96:22]
  wire  periph_reset; // @[Lsu.scala 96:22]
  wire  periph_io_enq_ready; // @[Lsu.scala 96:22]
  wire  periph_io_enq_valid; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lb; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lh; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lw; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_ld; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lbu; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lhu; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lwu; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sb; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sh; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sw; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sd; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lr_w; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sc_w; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_lr_d; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_sc_d; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_flw; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_fsw; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_fld; // @[Lsu.scala 96:22]
  wire  periph_io_enq_bits_fun_fsd; // @[Lsu.scala 96:22]
  wire  periph_io_deq_ready; // @[Lsu.scala 96:22]
  wire  periph_io_deq_valid; // @[Lsu.scala 96:22]
  wire  periph_io_deq_bits_is_load_amo; // @[Lsu.scala 96:22]
  wire  periph_io_deq_bits_is_flw; // @[Lsu.scala 96:22]
  wire  periph_io_deq_bits_is_fld; // @[Lsu.scala 96:22]
  wire  periph_io_is_empty; // @[Lsu.scala 96:22]
  wire  periph_io_getPut_ready; // @[Lsu.scala 96:22]
  wire  periph_io_getPut_valid; // @[Lsu.scala 96:22]
  wire  periph_io_access_ready; // @[Lsu.scala 96:22]
  wire  periph_io_access_valid; // @[Lsu.scala 96:22]
  wire [2:0] periph_io_access_bits_opcode; // @[Lsu.scala 96:22]
  wire  cache_0_clock; // @[Lsu.scala 97:63]
  wire  cache_0_reset; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_ready; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_valid; // @[Lsu.scala 97:63]
  wire [31:0] cache_0_io_enq_bits_paddr; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lb; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lh; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lw; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_ld; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lbu; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lhu; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lwu; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sb; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sh; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sw; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sd; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lr_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sc_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoswap_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoadd_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoxor_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoand_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoor_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomin_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomax_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amominu_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomaxu_w; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_lr_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_sc_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoswap_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoadd_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoxor_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoand_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amoor_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomin_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomax_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amominu_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_amomaxu_d; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_flw; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_fsw; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_fld; // @[Lsu.scala 97:63]
  wire  cache_0_io_enq_bits_fun_fsd; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_ready; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_valid; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_bits_chkIdx; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_bits_is_load_amo; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_bits_is_flw; // @[Lsu.scala 97:63]
  wire  cache_0_io_deq_bits_is_fld; // @[Lsu.scala 97:63]
  wire  cache_0_io_is_empty; // @[Lsu.scala 97:63]
  wire  cache_0_io_flush; // @[Lsu.scala 97:63]
  wire  cache_0_io_missUnit_dcache_acquire_ready; // @[Lsu.scala 97:63]
  wire  cache_0_io_missUnit_dcache_grant_valid; // @[Lsu.scala 97:63]
  wire [2:0] cache_0_io_missUnit_dcache_grant_bits_opcode; // @[Lsu.scala 97:63]
  wire [2:0] cache_0_io_missUnit_dcache_grant_bits_size; // @[Lsu.scala 97:63]
  wire  cache_0_io_missUnit_dcache_grant_bits_source; // @[Lsu.scala 97:63]
  wire  cache_0_io_missUnit_dcache_grantAck_ready; // @[Lsu.scala 97:63]
  wire  cache_0_io_probeUnit_dcache_probe_valid; // @[Lsu.scala 97:63]
  wire [31:0] cache_0_io_probeUnit_dcache_probe_bits_address; // @[Lsu.scala 97:63]
  wire  cache_0_io_writeBackUnit_dcache_release_ready; // @[Lsu.scala 97:63]
  wire  cache_0_io_writeBackUnit_dcache_release_valid; // @[Lsu.scala 97:63]
  wire [2:0] cache_0_io_writeBackUnit_dcache_release_bits_opcode; // @[Lsu.scala 97:63]
  wire [2:0] cache_0_io_writeBackUnit_dcache_release_bits_size; // @[Lsu.scala 97:63]
  wire  cache_0_io_writeBackUnit_dcache_grant_valid; // @[Lsu.scala 97:63]
  wire  cache_0_io_writeBackUnit_dcache_grant_bits_source; // @[Lsu.scala 97:63]
  wire  lu_wb_arb_io_in_0_ready; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_0_valid; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_0_bits_is_flw; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_0_bits_is_fld; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_1_ready; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_1_valid; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_1_bits_is_flw; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_1_bits_is_fld; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_2_ready; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_2_valid; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_2_bits_is_flw; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_in_2_bits_is_fld; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_out_ready; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_out_valid; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_out_bits_is_flw; // @[Lsu.scala 103:25]
  wire  lu_wb_arb_io_out_bits_is_fld; // @[Lsu.scala 103:25]
  wire  lu_wb_fifo_clock; // @[Lsu.scala 110:26]
  wire  lu_wb_fifo_reset; // @[Lsu.scala 110:26]
  wire  lu_wb_fifo_io_enq_ready; // @[Lsu.scala 110:26]
  wire  lu_wb_fifo_io_enq_valid; // @[Lsu.scala 110:26]
  wire  lu_wb_fifo_io_deq_ready; // @[Lsu.scala 110:26]
  wire  lu_wb_fifo_io_deq_valid; // @[Lsu.scala 110:26]
  wire  flu_wb_fifo_clock; // @[Lsu.scala 112:27]
  wire  flu_wb_fifo_reset; // @[Lsu.scala 112:27]
  wire  flu_wb_fifo_io_enq_ready; // @[Lsu.scala 112:27]
  wire  flu_wb_fifo_io_enq_valid; // @[Lsu.scala 112:27]
  wire  flu_wb_fifo_io_deq_ready; // @[Lsu.scala 112:27]
  wire  flu_wb_fifo_io_deq_valid; // @[Lsu.scala 112:27]
  wire  su_wb_fifo_clock; // @[Lsu.scala 118:26]
  wire  su_wb_fifo_reset; // @[Lsu.scala 118:26]
  wire  su_wb_fifo_io_enq_ready; // @[Lsu.scala 118:26]
  wire  su_wb_fifo_io_enq_valid; // @[Lsu.scala 118:26]
  wire  su_wb_fifo_io_deq_ready; // @[Lsu.scala 118:26]
  wire  su_wb_fifo_io_deq_valid; // @[Lsu.scala 118:26]
  wire  fe_wb_fifo_clock; // @[Lsu.scala 119:26]
  wire  fe_wb_fifo_reset; // @[Lsu.scala 119:26]
  wire  fe_wb_fifo_io_enq_ready; // @[Lsu.scala 119:26]
  wire  fe_wb_fifo_io_enq_valid; // @[Lsu.scala 119:26]
  wire  fe_wb_fifo_io_deq_ready; // @[Lsu.scala 119:26]
  wire  fe_wb_fifo_io_deq_valid; // @[Lsu.scala 119:26]
  wire  rtn_arb_io_in_0_ready; // @[Lsu.scala 125:23]
  wire  rtn_arb_io_in_0_valid; // @[Lsu.scala 125:23]
  wire  rtn_arb_io_in_1_ready; // @[Lsu.scala 125:23]
  wire  rtn_arb_io_in_1_valid; // @[Lsu.scala 125:23]
  wire  rtn_arb_io_in_2_ready; // @[Lsu.scala 125:23]
  wire  rtn_arb_io_out_ready; // @[Lsu.scala 125:23]
  wire  acquireArb_io_in_0_ready; // @[Lsu.scala 277:29]
  wire  acquireArb_io_out_ready; // @[Lsu.scala 277:29]
  wire  grantAckArb_io_in_0_ready; // @[Lsu.scala 278:29]
  wire  grantAckArb_io_out_ready; // @[Lsu.scala 278:29]
  wire  releaseArb_io_in_0_ready; // @[Lsu.scala 279:29]
  wire  releaseArb_io_out_ready; // @[Lsu.scala 279:29]
  reg  trans_kill; // @[Lsu.scala 73:27]
  wire  _addrTransIO_valid_T = io_mmu_lsu_bits_is_access_fault | io_mmu_lsu_bits_is_paging_fault; // @[MMU.scala 77:34]
  wire  _addrTransIO_valid_T_4 = io_lsu_iss_exe_bits_fun_lh | io_lsu_iss_exe_bits_fun_lhu | io_lsu_iss_exe_bits_fun_sh; // @[riscv_isa.scala 154:26]
  wire  _addrTransIO_valid_T_21 = io_lsu_iss_exe_bits_fun_lw | io_lsu_iss_exe_bits_fun_lwu | io_lsu_iss_exe_bits_fun_sw
     | io_lsu_iss_exe_bits_fun_amoswap_w | io_lsu_iss_exe_bits_fun_amoadd_w | io_lsu_iss_exe_bits_fun_amoxor_w |
    io_lsu_iss_exe_bits_fun_amoand_w | io_lsu_iss_exe_bits_fun_amoor_w | io_lsu_iss_exe_bits_fun_amomin_w |
    io_lsu_iss_exe_bits_fun_amomax_w | io_lsu_iss_exe_bits_fun_amominu_w | io_lsu_iss_exe_bits_fun_amomaxu_w |
    io_lsu_iss_exe_bits_fun_flw | io_lsu_iss_exe_bits_fun_fsw | io_lsu_iss_exe_bits_fun_lr_w |
    io_lsu_iss_exe_bits_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire  _addrTransIO_valid_T_23 = io_lsu_iss_exe_bits_param_dat_op1[1:0] != 2'h0; // @[riscv_isa.scala 899:42]
  wire  _addrTransIO_valid_T_37 = io_lsu_iss_exe_bits_fun_ld | io_lsu_iss_exe_bits_fun_lr_d |
    io_lsu_iss_exe_bits_fun_fld | io_lsu_iss_exe_bits_fun_sd | io_lsu_iss_exe_bits_fun_sc_d |
    io_lsu_iss_exe_bits_fun_fsd | io_lsu_iss_exe_bits_fun_amoswap_d | io_lsu_iss_exe_bits_fun_amoadd_d |
    io_lsu_iss_exe_bits_fun_amoxor_d | io_lsu_iss_exe_bits_fun_amoand_d | io_lsu_iss_exe_bits_fun_amoor_d |
    io_lsu_iss_exe_bits_fun_amomin_d | io_lsu_iss_exe_bits_fun_amomax_d | io_lsu_iss_exe_bits_fun_amominu_d |
    io_lsu_iss_exe_bits_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire  _addrTransIO_valid_T_39 = io_lsu_iss_exe_bits_param_dat_op1[2:0] != 3'h0; // @[riscv_isa.scala 900:42]
  wire  _addrTransIO_valid_T_44 = _addrTransIO_valid_T_4 & io_lsu_iss_exe_bits_param_dat_op1[0] |
    _addrTransIO_valid_T_21 & _addrTransIO_valid_T_23 | _addrTransIO_valid_T_37 & _addrTransIO_valid_T_39; // @[Mux.scala 27:73]
  wire  _addrTransIO_valid_T_48 = io_lsu_iss_exe_bits_fun_fence | io_lsu_iss_exe_bits_fun_fence_i |
    io_lsu_iss_exe_bits_fun_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  addrTransIO_valid = io_mmu_lsu_valid & ~_addrTransIO_valid_T & ~_addrTransIO_valid_T_44 & ~(trans_kill |
    _addrTransIO_valid_T_48); // @[Lsu.scala 136:104]
  wire  _T_32 = io_lsu_iss_exe_bits_fun_sc_d | io_lsu_iss_exe_bits_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  _T_33 = io_lsu_iss_exe_bits_fun_amoswap_w | io_lsu_iss_exe_bits_fun_amoadd_w | io_lsu_iss_exe_bits_fun_amoxor_w
     | io_lsu_iss_exe_bits_fun_amoand_w | io_lsu_iss_exe_bits_fun_amoor_w | io_lsu_iss_exe_bits_fun_amomin_w |
    io_lsu_iss_exe_bits_fun_amomax_w | io_lsu_iss_exe_bits_fun_amominu_w | io_lsu_iss_exe_bits_fun_amomaxu_w |
    io_lsu_iss_exe_bits_fun_amoswap_d | io_lsu_iss_exe_bits_fun_amoadd_d | io_lsu_iss_exe_bits_fun_amoxor_d |
    io_lsu_iss_exe_bits_fun_amoand_d | io_lsu_iss_exe_bits_fun_amoor_d | io_lsu_iss_exe_bits_fun_amomin_d |
    io_lsu_iss_exe_bits_fun_amomax_d | io_lsu_iss_exe_bits_fun_amominu_d | io_lsu_iss_exe_bits_fun_amomaxu_d | _T_32; // @[riscv_isa.scala 148:205]
  wire  opAmIO_ready = stQueue_io_enq_ready; // @[Lsu.scala 463:16 81:20]
  wire  _T_14 = io_lsu_iss_exe_bits_fun_sb | io_lsu_iss_exe_bits_fun_sh | io_lsu_iss_exe_bits_fun_sw |
    io_lsu_iss_exe_bits_fun_sd | io_lsu_iss_exe_bits_fun_fsw | io_lsu_iss_exe_bits_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  opStIO_ready = su_wb_fifo_io_enq_ready & stQueue_io_enq_ready; // @[Lsu.scala 462:43]
  wire  _T_8 = io_lsu_iss_exe_bits_fun_lr_d | io_lsu_iss_exe_bits_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  _T_9 = io_lsu_iss_exe_bits_fun_lb | io_lsu_iss_exe_bits_fun_lh | io_lsu_iss_exe_bits_fun_lw |
    io_lsu_iss_exe_bits_fun_ld | io_lsu_iss_exe_bits_fun_lbu | io_lsu_iss_exe_bits_fun_lhu | io_lsu_iss_exe_bits_fun_lwu
     | io_lsu_iss_exe_bits_fun_flw | io_lsu_iss_exe_bits_fun_fld | _T_8; // @[riscv_isa.scala 143:65]
  wire  opLdIO_valid = _T_9 & addrTransIO_valid; // @[Lsu.scala 162:38 163:23 167:18]
  wire [63:0] opLdIO_bits_param_dat_op1 = _T_9 ? io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 162:38 164:23 168:18]
  wire  opStIO_valid = _T_14 & addrTransIO_valid; // @[Lsu.scala 171:38 172:23 176:18]
  wire  opStIO_bits_fun_lb = _T_14 & io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lh = _T_14 & io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lw = _T_14 & io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_ld = _T_14 & io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lbu = _T_14 & io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lhu = _T_14 & io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lwu = _T_14 & io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sb = _T_14 & io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sh = _T_14 & io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sw = _T_14 & io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sd = _T_14 & io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lr_w = _T_14 & io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sc_w = _T_14 & io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoswap_w = _T_14 & io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoadd_w = _T_14 & io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoxor_w = _T_14 & io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoand_w = _T_14 & io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoor_w = _T_14 & io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomin_w = _T_14 & io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomax_w = _T_14 & io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amominu_w = _T_14 & io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomaxu_w = _T_14 & io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_lr_d = _T_14 & io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_sc_d = _T_14 & io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoswap_d = _T_14 & io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoadd_d = _T_14 & io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoxor_d = _T_14 & io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoand_d = _T_14 & io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amoor_d = _T_14 & io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomin_d = _T_14 & io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomax_d = _T_14 & io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amominu_d = _T_14 & io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_amomaxu_d = _T_14 & io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_flw = _T_14 & io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_fsw = _T_14 & io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_fld = _T_14 & io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opStIO_bits_fun_fsd = _T_14 & io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 171:38 173:23 177:18]
  wire [63:0] opStIO_bits_param_dat_op1 = _T_14 ? io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 171:38 173:23 177:18]
  wire  opAmIO_valid = _T_33 & addrTransIO_valid; // @[Lsu.scala 180:39 181:23 185:18]
  wire  opAmIO_bits_fun_lb = _T_33 & io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lh = _T_33 & io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lw = _T_33 & io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_ld = _T_33 & io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lbu = _T_33 & io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lhu = _T_33 & io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lwu = _T_33 & io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sb = _T_33 & io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sh = _T_33 & io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sw = _T_33 & io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sd = _T_33 & io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lr_w = _T_33 & io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sc_w = _T_33 & io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoswap_w = _T_33 & io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoadd_w = _T_33 & io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoxor_w = _T_33 & io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoand_w = _T_33 & io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoor_w = _T_33 & io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomin_w = _T_33 & io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomax_w = _T_33 & io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amominu_w = _T_33 & io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomaxu_w = _T_33 & io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_lr_d = _T_33 & io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_sc_d = _T_33 & io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoswap_d = _T_33 & io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoadd_d = _T_33 & io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoxor_d = _T_33 & io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoand_d = _T_33 & io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amoor_d = _T_33 & io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomin_d = _T_33 & io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomax_d = _T_33 & io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amominu_d = _T_33 & io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_amomaxu_d = _T_33 & io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_flw = _T_33 & io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_fsw = _T_33 & io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_fld = _T_33 & io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 180:39 182:23 186:18]
  wire  opAmIO_bits_fun_fsd = _T_33 & io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 180:39 182:23 186:18]
  wire [63:0] opAmIO_bits_param_dat_op1 = _T_33 ? io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 180:39 182:23 186:18]
  wire  _stQueue_io_enq_valid_T = opStIO_ready & opStIO_valid; // @[Decoupled.scala 52:35]
  wire  _stQueue_io_enq_valid_T_1 = opAmIO_ready & opAmIO_valid; // @[Decoupled.scala 52:35]
  wire [63:0] _stQueue_io_enq_bits_T_8 = _stQueue_io_enq_valid_T ? opStIO_bits_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _stQueue_io_enq_bits_T_9 = _stQueue_io_enq_valid_T_1 ? opAmIO_bits_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [3:0] psel = ls_arb_io_out_bits_param_dat_op1[31:28]; // @[Lsu.scala 222:46]
  wire [1:0] _sel_T_2 = psel[2] ? 2'h1 : 2'h2; // @[Lsu.scala 223:35]
  wire [1:0] sel = psel[3] ? 2'h0 : _sel_T_2; // @[Lsu.scala 223:16]
  wire  regionPeriphIO_ready = periph_io_enq_ready; // @[Lsu.scala 398:24 91:28]
  wire  _GEN_183 = sel == 2'h2 & regionPeriphIO_ready; // @[Lsu.scala 226:23 228:23 231:26]
  wire  regionSystemIO_ready = system_io_enq_ready; // @[Lsu.scala 387:24 90:28]
  wire  _GEN_229 = sel == 2'h1 ? regionSystemIO_ready : _GEN_183; // @[Lsu.scala 237:23 240:26]
  wire [63:0] regionDCacheIO_bits_param_dat_op1 = sel == 2'h0 ? ls_arb_io_out_bits_param_dat_op1 : 64'h0; // @[Lsu.scala 246:23 248:26 252:26]
  wire  cacheBankIO_0_ready = cache_0_io_enq_ready; // @[Lsu.scala 93:25 381:27]
  reg  is_chnc_busy_0; // @[Lsu.scala 325:33]
  wire  _is_release_done_T = cache_0_io_writeBackUnit_dcache_release_ready &
    cache_0_io_writeBackUnit_dcache_release_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _is_release_done_beats1_decode_T_1 = 11'hf << cache_0_io_writeBackUnit_dcache_release_bits_size; // @[package.scala 234:77]
  wire [3:0] _is_release_done_beats1_decode_T_3 = ~_is_release_done_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  is_release_done_beats1_decode = _is_release_done_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  is_release_done_beats1_opdata = cache_0_io_writeBackUnit_dcache_release_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  is_release_done_beats1 = is_release_done_beats1_opdata & is_release_done_beats1_decode; // @[Edges.scala 220:14]
  reg  is_release_done_counter; // @[Edges.scala 228:27]
  wire  is_release_done_counter1 = is_release_done_counter - 1'h1; // @[Edges.scala 229:28]
  wire  is_release_done_first = ~is_release_done_counter; // @[Edges.scala 230:25]
  wire  is_release_done_last = is_release_done_counter | ~is_release_done_beats1; // @[Edges.scala 231:37]
  wire  is_release_done_0 = is_release_done_last & _is_release_done_T; // @[Edges.scala 232:22]
  wire  _GEN_366 = is_chnc_busy_0 ? io_writeBackUnit_dcache_release_ready : releaseArb_io_in_0_ready; // @[Lsu.scala 332:29 339:{47,85}]
  wire  _T_47 = ~reset; // @[Lsu.scala 342:13]
  wire  _is_empty_WIRE_0 = cache_0_io_is_empty; // @[Lsu.scala 537:{12,12}]
  wire  _is_empty_T_2 = stQueue_io_is_empty & _is_empty_WIRE_0; // @[Lsu.scala 536:25]
  wire  _is_empty_T_3 = _is_empty_T_2 & system_io_is_empty; // @[Lsu.scala 537:79]
  wire  _is_empty_T_4 = _is_empty_T_3 & periph_io_is_empty; // @[Lsu.scala 538:24]
  wire  _is_empty_T_5 = ~su_wb_fifo_io_deq_valid; // @[Lsu.scala 540:5]
  wire  _is_empty_T_6 = _is_empty_T_4 & _is_empty_T_5; // @[Lsu.scala 539:24]
  wire  _is_empty_T_7 = ~lu_wb_fifo_io_deq_valid; // @[Lsu.scala 541:5]
  wire  is_empty = _is_empty_T_6 & _is_empty_T_7; // @[Lsu.scala 540:30]
  wire  _GEN_377 = is_empty ? 1'h0 : trans_kill; // @[Lsu.scala 412:{25,38} 73:27]
  wire  _GEN_378 = io_flush | _GEN_377; // @[Lsu.scala 411:{20,33}]
  wire  _T_49 = cache_0_io_deq_ready & cache_0_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _T_50 = lu_wb_arb_io_in_0_ready & lu_wb_arb_io_in_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_55 = system_io_deq_ready & system_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _T_56 = lu_wb_arb_io_in_1_ready & lu_wb_arb_io_in_1_valid; // @[Decoupled.scala 52:35]
  wire  _T_61 = periph_io_deq_ready & periph_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _T_62 = lu_wb_arb_io_in_2_ready & lu_wb_arb_io_in_2_valid; // @[Decoupled.scala 52:35]
  wire  _lu_wb_fifo_io_enq_valid_T = lu_wb_arb_io_out_bits_is_flw | lu_wb_arb_io_out_bits_is_fld; // @[Dcache.scala 88:23]
  wire  _lu_wb_fifo_io_enq_valid_T_1 = ~_lu_wb_fifo_io_enq_valid_T; // @[Dcache.scala 87:16]
  wire  _lu_wb_fifo_io_enq_valid_T_3 = ~trans_kill; // @[Lsu.scala 437:87]
  Store_queue stQueue ( // @[Lsu.scala 84:23]
    .clock(stQueue_clock),
    .reset(stQueue_reset),
    .io_enq_ready(stQueue_io_enq_ready),
    .io_enq_valid(stQueue_io_enq_valid),
    .io_enq_bits_fun_lb(stQueue_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(stQueue_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(stQueue_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(stQueue_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(stQueue_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(stQueue_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(stQueue_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(stQueue_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(stQueue_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(stQueue_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(stQueue_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(stQueue_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(stQueue_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_amoswap_w(stQueue_io_enq_bits_fun_amoswap_w),
    .io_enq_bits_fun_amoadd_w(stQueue_io_enq_bits_fun_amoadd_w),
    .io_enq_bits_fun_amoxor_w(stQueue_io_enq_bits_fun_amoxor_w),
    .io_enq_bits_fun_amoand_w(stQueue_io_enq_bits_fun_amoand_w),
    .io_enq_bits_fun_amoor_w(stQueue_io_enq_bits_fun_amoor_w),
    .io_enq_bits_fun_amomin_w(stQueue_io_enq_bits_fun_amomin_w),
    .io_enq_bits_fun_amomax_w(stQueue_io_enq_bits_fun_amomax_w),
    .io_enq_bits_fun_amominu_w(stQueue_io_enq_bits_fun_amominu_w),
    .io_enq_bits_fun_amomaxu_w(stQueue_io_enq_bits_fun_amomaxu_w),
    .io_enq_bits_fun_lr_d(stQueue_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(stQueue_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_amoswap_d(stQueue_io_enq_bits_fun_amoswap_d),
    .io_enq_bits_fun_amoadd_d(stQueue_io_enq_bits_fun_amoadd_d),
    .io_enq_bits_fun_amoxor_d(stQueue_io_enq_bits_fun_amoxor_d),
    .io_enq_bits_fun_amoand_d(stQueue_io_enq_bits_fun_amoand_d),
    .io_enq_bits_fun_amoor_d(stQueue_io_enq_bits_fun_amoor_d),
    .io_enq_bits_fun_amomin_d(stQueue_io_enq_bits_fun_amomin_d),
    .io_enq_bits_fun_amomax_d(stQueue_io_enq_bits_fun_amomax_d),
    .io_enq_bits_fun_amominu_d(stQueue_io_enq_bits_fun_amominu_d),
    .io_enq_bits_fun_amomaxu_d(stQueue_io_enq_bits_fun_amomaxu_d),
    .io_enq_bits_fun_flw(stQueue_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(stQueue_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(stQueue_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(stQueue_io_enq_bits_fun_fsd),
    .io_enq_bits_param_dat_op1(stQueue_io_enq_bits_param_dat_op1),
    .io_deq_ready(stQueue_io_deq_ready),
    .io_deq_valid(stQueue_io_deq_valid),
    .io_deq_bits_fun_lb(stQueue_io_deq_bits_fun_lb),
    .io_deq_bits_fun_lh(stQueue_io_deq_bits_fun_lh),
    .io_deq_bits_fun_lw(stQueue_io_deq_bits_fun_lw),
    .io_deq_bits_fun_ld(stQueue_io_deq_bits_fun_ld),
    .io_deq_bits_fun_lbu(stQueue_io_deq_bits_fun_lbu),
    .io_deq_bits_fun_lhu(stQueue_io_deq_bits_fun_lhu),
    .io_deq_bits_fun_lwu(stQueue_io_deq_bits_fun_lwu),
    .io_deq_bits_fun_sb(stQueue_io_deq_bits_fun_sb),
    .io_deq_bits_fun_sh(stQueue_io_deq_bits_fun_sh),
    .io_deq_bits_fun_sw(stQueue_io_deq_bits_fun_sw),
    .io_deq_bits_fun_sd(stQueue_io_deq_bits_fun_sd),
    .io_deq_bits_fun_lr_w(stQueue_io_deq_bits_fun_lr_w),
    .io_deq_bits_fun_sc_w(stQueue_io_deq_bits_fun_sc_w),
    .io_deq_bits_fun_amoswap_w(stQueue_io_deq_bits_fun_amoswap_w),
    .io_deq_bits_fun_amoadd_w(stQueue_io_deq_bits_fun_amoadd_w),
    .io_deq_bits_fun_amoxor_w(stQueue_io_deq_bits_fun_amoxor_w),
    .io_deq_bits_fun_amoand_w(stQueue_io_deq_bits_fun_amoand_w),
    .io_deq_bits_fun_amoor_w(stQueue_io_deq_bits_fun_amoor_w),
    .io_deq_bits_fun_amomin_w(stQueue_io_deq_bits_fun_amomin_w),
    .io_deq_bits_fun_amomax_w(stQueue_io_deq_bits_fun_amomax_w),
    .io_deq_bits_fun_amominu_w(stQueue_io_deq_bits_fun_amominu_w),
    .io_deq_bits_fun_amomaxu_w(stQueue_io_deq_bits_fun_amomaxu_w),
    .io_deq_bits_fun_lr_d(stQueue_io_deq_bits_fun_lr_d),
    .io_deq_bits_fun_sc_d(stQueue_io_deq_bits_fun_sc_d),
    .io_deq_bits_fun_amoswap_d(stQueue_io_deq_bits_fun_amoswap_d),
    .io_deq_bits_fun_amoadd_d(stQueue_io_deq_bits_fun_amoadd_d),
    .io_deq_bits_fun_amoxor_d(stQueue_io_deq_bits_fun_amoxor_d),
    .io_deq_bits_fun_amoand_d(stQueue_io_deq_bits_fun_amoand_d),
    .io_deq_bits_fun_amoor_d(stQueue_io_deq_bits_fun_amoor_d),
    .io_deq_bits_fun_amomin_d(stQueue_io_deq_bits_fun_amomin_d),
    .io_deq_bits_fun_amomax_d(stQueue_io_deq_bits_fun_amomax_d),
    .io_deq_bits_fun_amominu_d(stQueue_io_deq_bits_fun_amominu_d),
    .io_deq_bits_fun_amomaxu_d(stQueue_io_deq_bits_fun_amomaxu_d),
    .io_deq_bits_fun_flw(stQueue_io_deq_bits_fun_flw),
    .io_deq_bits_fun_fsw(stQueue_io_deq_bits_fun_fsw),
    .io_deq_bits_fun_fld(stQueue_io_deq_bits_fun_fld),
    .io_deq_bits_fun_fsd(stQueue_io_deq_bits_fun_fsd),
    .io_deq_bits_param_dat_op1(stQueue_io_deq_bits_param_dat_op1),
    .io_cmm_lsu_is_amo_pending(stQueue_io_cmm_lsu_is_amo_pending),
    .io_cmm_lsu_is_store_commit_0(stQueue_io_cmm_lsu_is_store_commit_0),
    .io_is_empty(stQueue_io_is_empty),
    .io_overlapReq_valid(stQueue_io_overlapReq_valid),
    .io_overlapReq_bits_paddr(stQueue_io_overlapReq_bits_paddr),
    .io_overlapResp_valid(stQueue_io_overlapResp_valid),
    .io_flush(stQueue_io_flush)
  );
  Arbiter ls_arb ( // @[Lsu.scala 87:22]
    .io_in_0_valid(ls_arb_io_in_0_valid),
    .io_in_0_bits_fun_lb(ls_arb_io_in_0_bits_fun_lb),
    .io_in_0_bits_fun_lh(ls_arb_io_in_0_bits_fun_lh),
    .io_in_0_bits_fun_lw(ls_arb_io_in_0_bits_fun_lw),
    .io_in_0_bits_fun_ld(ls_arb_io_in_0_bits_fun_ld),
    .io_in_0_bits_fun_lbu(ls_arb_io_in_0_bits_fun_lbu),
    .io_in_0_bits_fun_lhu(ls_arb_io_in_0_bits_fun_lhu),
    .io_in_0_bits_fun_lwu(ls_arb_io_in_0_bits_fun_lwu),
    .io_in_0_bits_fun_sb(ls_arb_io_in_0_bits_fun_sb),
    .io_in_0_bits_fun_sh(ls_arb_io_in_0_bits_fun_sh),
    .io_in_0_bits_fun_sw(ls_arb_io_in_0_bits_fun_sw),
    .io_in_0_bits_fun_sd(ls_arb_io_in_0_bits_fun_sd),
    .io_in_0_bits_fun_lr_w(ls_arb_io_in_0_bits_fun_lr_w),
    .io_in_0_bits_fun_sc_w(ls_arb_io_in_0_bits_fun_sc_w),
    .io_in_0_bits_fun_amoswap_w(ls_arb_io_in_0_bits_fun_amoswap_w),
    .io_in_0_bits_fun_amoadd_w(ls_arb_io_in_0_bits_fun_amoadd_w),
    .io_in_0_bits_fun_amoxor_w(ls_arb_io_in_0_bits_fun_amoxor_w),
    .io_in_0_bits_fun_amoand_w(ls_arb_io_in_0_bits_fun_amoand_w),
    .io_in_0_bits_fun_amoor_w(ls_arb_io_in_0_bits_fun_amoor_w),
    .io_in_0_bits_fun_amomin_w(ls_arb_io_in_0_bits_fun_amomin_w),
    .io_in_0_bits_fun_amomax_w(ls_arb_io_in_0_bits_fun_amomax_w),
    .io_in_0_bits_fun_amominu_w(ls_arb_io_in_0_bits_fun_amominu_w),
    .io_in_0_bits_fun_amomaxu_w(ls_arb_io_in_0_bits_fun_amomaxu_w),
    .io_in_0_bits_fun_lr_d(ls_arb_io_in_0_bits_fun_lr_d),
    .io_in_0_bits_fun_sc_d(ls_arb_io_in_0_bits_fun_sc_d),
    .io_in_0_bits_fun_amoswap_d(ls_arb_io_in_0_bits_fun_amoswap_d),
    .io_in_0_bits_fun_amoadd_d(ls_arb_io_in_0_bits_fun_amoadd_d),
    .io_in_0_bits_fun_amoxor_d(ls_arb_io_in_0_bits_fun_amoxor_d),
    .io_in_0_bits_fun_amoand_d(ls_arb_io_in_0_bits_fun_amoand_d),
    .io_in_0_bits_fun_amoor_d(ls_arb_io_in_0_bits_fun_amoor_d),
    .io_in_0_bits_fun_amomin_d(ls_arb_io_in_0_bits_fun_amomin_d),
    .io_in_0_bits_fun_amomax_d(ls_arb_io_in_0_bits_fun_amomax_d),
    .io_in_0_bits_fun_amominu_d(ls_arb_io_in_0_bits_fun_amominu_d),
    .io_in_0_bits_fun_amomaxu_d(ls_arb_io_in_0_bits_fun_amomaxu_d),
    .io_in_0_bits_fun_flw(ls_arb_io_in_0_bits_fun_flw),
    .io_in_0_bits_fun_fsw(ls_arb_io_in_0_bits_fun_fsw),
    .io_in_0_bits_fun_fld(ls_arb_io_in_0_bits_fun_fld),
    .io_in_0_bits_fun_fsd(ls_arb_io_in_0_bits_fun_fsd),
    .io_in_0_bits_param_dat_op1(ls_arb_io_in_0_bits_param_dat_op1),
    .io_in_1_ready(ls_arb_io_in_1_ready),
    .io_in_1_valid(ls_arb_io_in_1_valid),
    .io_in_1_bits_fun_lb(ls_arb_io_in_1_bits_fun_lb),
    .io_in_1_bits_fun_lh(ls_arb_io_in_1_bits_fun_lh),
    .io_in_1_bits_fun_lw(ls_arb_io_in_1_bits_fun_lw),
    .io_in_1_bits_fun_ld(ls_arb_io_in_1_bits_fun_ld),
    .io_in_1_bits_fun_lbu(ls_arb_io_in_1_bits_fun_lbu),
    .io_in_1_bits_fun_lhu(ls_arb_io_in_1_bits_fun_lhu),
    .io_in_1_bits_fun_lwu(ls_arb_io_in_1_bits_fun_lwu),
    .io_in_1_bits_fun_sb(ls_arb_io_in_1_bits_fun_sb),
    .io_in_1_bits_fun_sh(ls_arb_io_in_1_bits_fun_sh),
    .io_in_1_bits_fun_sw(ls_arb_io_in_1_bits_fun_sw),
    .io_in_1_bits_fun_sd(ls_arb_io_in_1_bits_fun_sd),
    .io_in_1_bits_fun_lr_w(ls_arb_io_in_1_bits_fun_lr_w),
    .io_in_1_bits_fun_sc_w(ls_arb_io_in_1_bits_fun_sc_w),
    .io_in_1_bits_fun_amoswap_w(ls_arb_io_in_1_bits_fun_amoswap_w),
    .io_in_1_bits_fun_amoadd_w(ls_arb_io_in_1_bits_fun_amoadd_w),
    .io_in_1_bits_fun_amoxor_w(ls_arb_io_in_1_bits_fun_amoxor_w),
    .io_in_1_bits_fun_amoand_w(ls_arb_io_in_1_bits_fun_amoand_w),
    .io_in_1_bits_fun_amoor_w(ls_arb_io_in_1_bits_fun_amoor_w),
    .io_in_1_bits_fun_amomin_w(ls_arb_io_in_1_bits_fun_amomin_w),
    .io_in_1_bits_fun_amomax_w(ls_arb_io_in_1_bits_fun_amomax_w),
    .io_in_1_bits_fun_amominu_w(ls_arb_io_in_1_bits_fun_amominu_w),
    .io_in_1_bits_fun_amomaxu_w(ls_arb_io_in_1_bits_fun_amomaxu_w),
    .io_in_1_bits_fun_lr_d(ls_arb_io_in_1_bits_fun_lr_d),
    .io_in_1_bits_fun_sc_d(ls_arb_io_in_1_bits_fun_sc_d),
    .io_in_1_bits_fun_amoswap_d(ls_arb_io_in_1_bits_fun_amoswap_d),
    .io_in_1_bits_fun_amoadd_d(ls_arb_io_in_1_bits_fun_amoadd_d),
    .io_in_1_bits_fun_amoxor_d(ls_arb_io_in_1_bits_fun_amoxor_d),
    .io_in_1_bits_fun_amoand_d(ls_arb_io_in_1_bits_fun_amoand_d),
    .io_in_1_bits_fun_amoor_d(ls_arb_io_in_1_bits_fun_amoor_d),
    .io_in_1_bits_fun_amomin_d(ls_arb_io_in_1_bits_fun_amomin_d),
    .io_in_1_bits_fun_amomax_d(ls_arb_io_in_1_bits_fun_amomax_d),
    .io_in_1_bits_fun_amominu_d(ls_arb_io_in_1_bits_fun_amominu_d),
    .io_in_1_bits_fun_amomaxu_d(ls_arb_io_in_1_bits_fun_amomaxu_d),
    .io_in_1_bits_fun_flw(ls_arb_io_in_1_bits_fun_flw),
    .io_in_1_bits_fun_fsw(ls_arb_io_in_1_bits_fun_fsw),
    .io_in_1_bits_fun_fld(ls_arb_io_in_1_bits_fun_fld),
    .io_in_1_bits_fun_fsd(ls_arb_io_in_1_bits_fun_fsd),
    .io_in_1_bits_param_dat_op1(ls_arb_io_in_1_bits_param_dat_op1),
    .io_out_ready(ls_arb_io_out_ready),
    .io_out_valid(ls_arb_io_out_valid),
    .io_out_bits_fun_lb(ls_arb_io_out_bits_fun_lb),
    .io_out_bits_fun_lh(ls_arb_io_out_bits_fun_lh),
    .io_out_bits_fun_lw(ls_arb_io_out_bits_fun_lw),
    .io_out_bits_fun_ld(ls_arb_io_out_bits_fun_ld),
    .io_out_bits_fun_lbu(ls_arb_io_out_bits_fun_lbu),
    .io_out_bits_fun_lhu(ls_arb_io_out_bits_fun_lhu),
    .io_out_bits_fun_lwu(ls_arb_io_out_bits_fun_lwu),
    .io_out_bits_fun_sb(ls_arb_io_out_bits_fun_sb),
    .io_out_bits_fun_sh(ls_arb_io_out_bits_fun_sh),
    .io_out_bits_fun_sw(ls_arb_io_out_bits_fun_sw),
    .io_out_bits_fun_sd(ls_arb_io_out_bits_fun_sd),
    .io_out_bits_fun_lr_w(ls_arb_io_out_bits_fun_lr_w),
    .io_out_bits_fun_sc_w(ls_arb_io_out_bits_fun_sc_w),
    .io_out_bits_fun_amoswap_w(ls_arb_io_out_bits_fun_amoswap_w),
    .io_out_bits_fun_amoadd_w(ls_arb_io_out_bits_fun_amoadd_w),
    .io_out_bits_fun_amoxor_w(ls_arb_io_out_bits_fun_amoxor_w),
    .io_out_bits_fun_amoand_w(ls_arb_io_out_bits_fun_amoand_w),
    .io_out_bits_fun_amoor_w(ls_arb_io_out_bits_fun_amoor_w),
    .io_out_bits_fun_amomin_w(ls_arb_io_out_bits_fun_amomin_w),
    .io_out_bits_fun_amomax_w(ls_arb_io_out_bits_fun_amomax_w),
    .io_out_bits_fun_amominu_w(ls_arb_io_out_bits_fun_amominu_w),
    .io_out_bits_fun_amomaxu_w(ls_arb_io_out_bits_fun_amomaxu_w),
    .io_out_bits_fun_lr_d(ls_arb_io_out_bits_fun_lr_d),
    .io_out_bits_fun_sc_d(ls_arb_io_out_bits_fun_sc_d),
    .io_out_bits_fun_amoswap_d(ls_arb_io_out_bits_fun_amoswap_d),
    .io_out_bits_fun_amoadd_d(ls_arb_io_out_bits_fun_amoadd_d),
    .io_out_bits_fun_amoxor_d(ls_arb_io_out_bits_fun_amoxor_d),
    .io_out_bits_fun_amoand_d(ls_arb_io_out_bits_fun_amoand_d),
    .io_out_bits_fun_amoor_d(ls_arb_io_out_bits_fun_amoor_d),
    .io_out_bits_fun_amomin_d(ls_arb_io_out_bits_fun_amomin_d),
    .io_out_bits_fun_amomax_d(ls_arb_io_out_bits_fun_amomax_d),
    .io_out_bits_fun_amominu_d(ls_arb_io_out_bits_fun_amominu_d),
    .io_out_bits_fun_amomaxu_d(ls_arb_io_out_bits_fun_amomaxu_d),
    .io_out_bits_fun_flw(ls_arb_io_out_bits_fun_flw),
    .io_out_bits_fun_fsw(ls_arb_io_out_bits_fun_fsw),
    .io_out_bits_fun_fld(ls_arb_io_out_bits_fun_fld),
    .io_out_bits_fun_fsd(ls_arb_io_out_bits_fun_fsd),
    .io_out_bits_param_dat_op1(ls_arb_io_out_bits_param_dat_op1)
  );
  IO_Lsu system ( // @[Lsu.scala 95:22]
    .clock(system_clock),
    .reset(system_reset),
    .io_enq_ready(system_io_enq_ready),
    .io_enq_valid(system_io_enq_valid),
    .io_enq_bits_fun_lb(system_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(system_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(system_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(system_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(system_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(system_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(system_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(system_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(system_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(system_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(system_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(system_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(system_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_lr_d(system_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(system_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_flw(system_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(system_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(system_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(system_io_enq_bits_fun_fsd),
    .io_deq_ready(system_io_deq_ready),
    .io_deq_valid(system_io_deq_valid),
    .io_deq_bits_is_load_amo(system_io_deq_bits_is_load_amo),
    .io_deq_bits_is_flw(system_io_deq_bits_is_flw),
    .io_deq_bits_is_fld(system_io_deq_bits_is_fld),
    .io_is_empty(system_io_is_empty),
    .io_getPut_ready(system_io_getPut_ready),
    .io_getPut_valid(system_io_getPut_valid),
    .io_access_ready(system_io_access_ready),
    .io_access_valid(system_io_access_valid),
    .io_access_bits_opcode(system_io_access_bits_opcode)
  );
  IO_Lsu periph ( // @[Lsu.scala 96:22]
    .clock(periph_clock),
    .reset(periph_reset),
    .io_enq_ready(periph_io_enq_ready),
    .io_enq_valid(periph_io_enq_valid),
    .io_enq_bits_fun_lb(periph_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(periph_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(periph_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(periph_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(periph_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(periph_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(periph_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(periph_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(periph_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(periph_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(periph_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(periph_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(periph_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_lr_d(periph_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(periph_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_flw(periph_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(periph_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(periph_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(periph_io_enq_bits_fun_fsd),
    .io_deq_ready(periph_io_deq_ready),
    .io_deq_valid(periph_io_deq_valid),
    .io_deq_bits_is_load_amo(periph_io_deq_bits_is_load_amo),
    .io_deq_bits_is_flw(periph_io_deq_bits_is_flw),
    .io_deq_bits_is_fld(periph_io_deq_bits_is_fld),
    .io_is_empty(periph_io_is_empty),
    .io_getPut_ready(periph_io_getPut_ready),
    .io_getPut_valid(periph_io_getPut_valid),
    .io_access_ready(periph_io_access_ready),
    .io_access_valid(periph_io_access_valid),
    .io_access_bits_opcode(periph_io_access_bits_opcode)
  );
  Dcache cache_0 ( // @[Lsu.scala 97:63]
    .clock(cache_0_clock),
    .reset(cache_0_reset),
    .io_enq_ready(cache_0_io_enq_ready),
    .io_enq_valid(cache_0_io_enq_valid),
    .io_enq_bits_paddr(cache_0_io_enq_bits_paddr),
    .io_enq_bits_fun_lb(cache_0_io_enq_bits_fun_lb),
    .io_enq_bits_fun_lh(cache_0_io_enq_bits_fun_lh),
    .io_enq_bits_fun_lw(cache_0_io_enq_bits_fun_lw),
    .io_enq_bits_fun_ld(cache_0_io_enq_bits_fun_ld),
    .io_enq_bits_fun_lbu(cache_0_io_enq_bits_fun_lbu),
    .io_enq_bits_fun_lhu(cache_0_io_enq_bits_fun_lhu),
    .io_enq_bits_fun_lwu(cache_0_io_enq_bits_fun_lwu),
    .io_enq_bits_fun_sb(cache_0_io_enq_bits_fun_sb),
    .io_enq_bits_fun_sh(cache_0_io_enq_bits_fun_sh),
    .io_enq_bits_fun_sw(cache_0_io_enq_bits_fun_sw),
    .io_enq_bits_fun_sd(cache_0_io_enq_bits_fun_sd),
    .io_enq_bits_fun_lr_w(cache_0_io_enq_bits_fun_lr_w),
    .io_enq_bits_fun_sc_w(cache_0_io_enq_bits_fun_sc_w),
    .io_enq_bits_fun_amoswap_w(cache_0_io_enq_bits_fun_amoswap_w),
    .io_enq_bits_fun_amoadd_w(cache_0_io_enq_bits_fun_amoadd_w),
    .io_enq_bits_fun_amoxor_w(cache_0_io_enq_bits_fun_amoxor_w),
    .io_enq_bits_fun_amoand_w(cache_0_io_enq_bits_fun_amoand_w),
    .io_enq_bits_fun_amoor_w(cache_0_io_enq_bits_fun_amoor_w),
    .io_enq_bits_fun_amomin_w(cache_0_io_enq_bits_fun_amomin_w),
    .io_enq_bits_fun_amomax_w(cache_0_io_enq_bits_fun_amomax_w),
    .io_enq_bits_fun_amominu_w(cache_0_io_enq_bits_fun_amominu_w),
    .io_enq_bits_fun_amomaxu_w(cache_0_io_enq_bits_fun_amomaxu_w),
    .io_enq_bits_fun_lr_d(cache_0_io_enq_bits_fun_lr_d),
    .io_enq_bits_fun_sc_d(cache_0_io_enq_bits_fun_sc_d),
    .io_enq_bits_fun_amoswap_d(cache_0_io_enq_bits_fun_amoswap_d),
    .io_enq_bits_fun_amoadd_d(cache_0_io_enq_bits_fun_amoadd_d),
    .io_enq_bits_fun_amoxor_d(cache_0_io_enq_bits_fun_amoxor_d),
    .io_enq_bits_fun_amoand_d(cache_0_io_enq_bits_fun_amoand_d),
    .io_enq_bits_fun_amoor_d(cache_0_io_enq_bits_fun_amoor_d),
    .io_enq_bits_fun_amomin_d(cache_0_io_enq_bits_fun_amomin_d),
    .io_enq_bits_fun_amomax_d(cache_0_io_enq_bits_fun_amomax_d),
    .io_enq_bits_fun_amominu_d(cache_0_io_enq_bits_fun_amominu_d),
    .io_enq_bits_fun_amomaxu_d(cache_0_io_enq_bits_fun_amomaxu_d),
    .io_enq_bits_fun_flw(cache_0_io_enq_bits_fun_flw),
    .io_enq_bits_fun_fsw(cache_0_io_enq_bits_fun_fsw),
    .io_enq_bits_fun_fld(cache_0_io_enq_bits_fun_fld),
    .io_enq_bits_fun_fsd(cache_0_io_enq_bits_fun_fsd),
    .io_deq_ready(cache_0_io_deq_ready),
    .io_deq_valid(cache_0_io_deq_valid),
    .io_deq_bits_chkIdx(cache_0_io_deq_bits_chkIdx),
    .io_deq_bits_is_load_amo(cache_0_io_deq_bits_is_load_amo),
    .io_deq_bits_is_flw(cache_0_io_deq_bits_is_flw),
    .io_deq_bits_is_fld(cache_0_io_deq_bits_is_fld),
    .io_is_empty(cache_0_io_is_empty),
    .io_flush(cache_0_io_flush),
    .io_missUnit_dcache_acquire_ready(cache_0_io_missUnit_dcache_acquire_ready),
    .io_missUnit_dcache_grant_valid(cache_0_io_missUnit_dcache_grant_valid),
    .io_missUnit_dcache_grant_bits_opcode(cache_0_io_missUnit_dcache_grant_bits_opcode),
    .io_missUnit_dcache_grant_bits_size(cache_0_io_missUnit_dcache_grant_bits_size),
    .io_missUnit_dcache_grant_bits_source(cache_0_io_missUnit_dcache_grant_bits_source),
    .io_missUnit_dcache_grantAck_ready(cache_0_io_missUnit_dcache_grantAck_ready),
    .io_probeUnit_dcache_probe_valid(cache_0_io_probeUnit_dcache_probe_valid),
    .io_probeUnit_dcache_probe_bits_address(cache_0_io_probeUnit_dcache_probe_bits_address),
    .io_writeBackUnit_dcache_release_ready(cache_0_io_writeBackUnit_dcache_release_ready),
    .io_writeBackUnit_dcache_release_valid(cache_0_io_writeBackUnit_dcache_release_valid),
    .io_writeBackUnit_dcache_release_bits_opcode(cache_0_io_writeBackUnit_dcache_release_bits_opcode),
    .io_writeBackUnit_dcache_release_bits_size(cache_0_io_writeBackUnit_dcache_release_bits_size),
    .io_writeBackUnit_dcache_grant_valid(cache_0_io_writeBackUnit_dcache_grant_valid),
    .io_writeBackUnit_dcache_grant_bits_source(cache_0_io_writeBackUnit_dcache_grant_bits_source)
  );
  Arbiter_3 lu_wb_arb ( // @[Lsu.scala 103:25]
    .io_in_0_ready(lu_wb_arb_io_in_0_ready),
    .io_in_0_valid(lu_wb_arb_io_in_0_valid),
    .io_in_0_bits_is_flw(lu_wb_arb_io_in_0_bits_is_flw),
    .io_in_0_bits_is_fld(lu_wb_arb_io_in_0_bits_is_fld),
    .io_in_1_ready(lu_wb_arb_io_in_1_ready),
    .io_in_1_valid(lu_wb_arb_io_in_1_valid),
    .io_in_1_bits_is_flw(lu_wb_arb_io_in_1_bits_is_flw),
    .io_in_1_bits_is_fld(lu_wb_arb_io_in_1_bits_is_fld),
    .io_in_2_ready(lu_wb_arb_io_in_2_ready),
    .io_in_2_valid(lu_wb_arb_io_in_2_valid),
    .io_in_2_bits_is_flw(lu_wb_arb_io_in_2_bits_is_flw),
    .io_in_2_bits_is_fld(lu_wb_arb_io_in_2_bits_is_fld),
    .io_out_ready(lu_wb_arb_io_out_ready),
    .io_out_valid(lu_wb_arb_io_out_valid),
    .io_out_bits_is_flw(lu_wb_arb_io_out_bits_is_flw),
    .io_out_bits_is_fld(lu_wb_arb_io_out_bits_is_fld)
  );
  Queue_16 lu_wb_fifo ( // @[Lsu.scala 110:26]
    .clock(lu_wb_fifo_clock),
    .reset(lu_wb_fifo_reset),
    .io_enq_ready(lu_wb_fifo_io_enq_ready),
    .io_enq_valid(lu_wb_fifo_io_enq_valid),
    .io_deq_ready(lu_wb_fifo_io_deq_ready),
    .io_deq_valid(lu_wb_fifo_io_deq_valid)
  );
  Queue_17 flu_wb_fifo ( // @[Lsu.scala 112:27]
    .clock(flu_wb_fifo_clock),
    .reset(flu_wb_fifo_reset),
    .io_enq_ready(flu_wb_fifo_io_enq_ready),
    .io_enq_valid(flu_wb_fifo_io_enq_valid),
    .io_deq_ready(flu_wb_fifo_io_deq_ready),
    .io_deq_valid(flu_wb_fifo_io_deq_valid)
  );
  Queue_16 su_wb_fifo ( // @[Lsu.scala 118:26]
    .clock(su_wb_fifo_clock),
    .reset(su_wb_fifo_reset),
    .io_enq_ready(su_wb_fifo_io_enq_ready),
    .io_enq_valid(su_wb_fifo_io_enq_valid),
    .io_deq_ready(su_wb_fifo_io_deq_ready),
    .io_deq_valid(su_wb_fifo_io_deq_valid)
  );
  Queue_16 fe_wb_fifo ( // @[Lsu.scala 119:26]
    .clock(fe_wb_fifo_clock),
    .reset(fe_wb_fifo_reset),
    .io_enq_ready(fe_wb_fifo_io_enq_ready),
    .io_enq_valid(fe_wb_fifo_io_enq_valid),
    .io_deq_ready(fe_wb_fifo_io_deq_ready),
    .io_deq_valid(fe_wb_fifo_io_deq_valid)
  );
  Arbiter_4 rtn_arb ( // @[Lsu.scala 125:23]
    .io_in_0_ready(rtn_arb_io_in_0_ready),
    .io_in_0_valid(rtn_arb_io_in_0_valid),
    .io_in_1_ready(rtn_arb_io_in_1_ready),
    .io_in_1_valid(rtn_arb_io_in_1_valid),
    .io_in_2_ready(rtn_arb_io_in_2_ready),
    .io_out_ready(rtn_arb_io_out_ready)
  );
  Arbiter_5 acquireArb ( // @[Lsu.scala 277:29]
    .io_in_0_ready(acquireArb_io_in_0_ready),
    .io_out_ready(acquireArb_io_out_ready)
  );
  Arbiter_6 grantAckArb ( // @[Lsu.scala 278:29]
    .io_in_0_ready(grantAckArb_io_in_0_ready),
    .io_out_ready(grantAckArb_io_out_ready)
  );
  Arbiter_7 releaseArb ( // @[Lsu.scala 279:29]
    .io_in_0_ready(releaseArb_io_in_0_ready),
    .io_out_ready(releaseArb_io_out_ready)
  );
  assign stQueue_clock = clock;
  assign stQueue_reset = reset;
  assign stQueue_io_enq_valid = _stQueue_io_enq_valid_T | _stQueue_io_enq_valid_T_1; // @[Lsu.scala 194:39]
  assign stQueue_io_enq_bits_fun_lb = _stQueue_io_enq_valid_T & opStIO_bits_fun_lb | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lb; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lh = _stQueue_io_enq_valid_T & opStIO_bits_fun_lh | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lh; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lw = _stQueue_io_enq_valid_T & opStIO_bits_fun_lw | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lw; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_ld = _stQueue_io_enq_valid_T & opStIO_bits_fun_ld | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_ld; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lbu = _stQueue_io_enq_valid_T & opStIO_bits_fun_lbu | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lbu; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lhu = _stQueue_io_enq_valid_T & opStIO_bits_fun_lhu | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lhu; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lwu = _stQueue_io_enq_valid_T & opStIO_bits_fun_lwu | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lwu; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sb = _stQueue_io_enq_valid_T & opStIO_bits_fun_sb | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sb; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sh = _stQueue_io_enq_valid_T & opStIO_bits_fun_sh | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sh; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sw = _stQueue_io_enq_valid_T & opStIO_bits_fun_sw | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sw; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sd = _stQueue_io_enq_valid_T & opStIO_bits_fun_sd | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sd; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lr_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_lr_w | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lr_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sc_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_sc_w | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sc_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoswap_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoswap_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoswap_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoadd_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoadd_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoadd_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoxor_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoxor_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoxor_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoand_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoand_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoand_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoor_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoor_w | _stQueue_io_enq_valid_T_1
     & opAmIO_bits_fun_amoor_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomin_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomin_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomin_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomax_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomax_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomax_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amominu_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amominu_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amominu_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomaxu_w = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomaxu_w |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomaxu_w; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_lr_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_lr_d | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_lr_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_sc_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_sc_d | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_sc_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoswap_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoswap_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoswap_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoadd_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoadd_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoadd_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoxor_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoxor_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoxor_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoand_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoand_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amoand_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amoor_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amoor_d | _stQueue_io_enq_valid_T_1
     & opAmIO_bits_fun_amoor_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomin_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomin_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomin_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomax_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomax_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomax_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amominu_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amominu_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amominu_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_amomaxu_d = _stQueue_io_enq_valid_T & opStIO_bits_fun_amomaxu_d |
    _stQueue_io_enq_valid_T_1 & opAmIO_bits_fun_amomaxu_d; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_flw = _stQueue_io_enq_valid_T & opStIO_bits_fun_flw | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_flw; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_fsw = _stQueue_io_enq_valid_T & opStIO_bits_fun_fsw | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_fsw; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_fld = _stQueue_io_enq_valid_T & opStIO_bits_fun_fld | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_fld; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_fun_fsd = _stQueue_io_enq_valid_T & opStIO_bits_fun_fsd | _stQueue_io_enq_valid_T_1 &
    opAmIO_bits_fun_fsd; // @[Mux.scala 27:73]
  assign stQueue_io_enq_bits_param_dat_op1 = _stQueue_io_enq_bits_T_8 | _stQueue_io_enq_bits_T_9; // @[Mux.scala 27:73]
  assign stQueue_io_deq_ready = ls_arb_io_in_1_ready; // @[Lsu.scala 215:19]
  assign stQueue_io_cmm_lsu_is_amo_pending = io_cmm_lsu_is_amo_pending; // @[Lsu.scala 200:22]
  assign stQueue_io_cmm_lsu_is_store_commit_0 = io_cmm_lsu_is_store_commit_0; // @[Lsu.scala 200:22]
  assign stQueue_io_overlapReq_valid = _T_9 & addrTransIO_valid; // @[Lsu.scala 162:38 163:23 167:18]
  assign stQueue_io_overlapReq_bits_paddr = opLdIO_bits_param_dat_op1[31:0]; // @[Lsu.scala 208:36]
  assign stQueue_io_flush = io_flush; // @[Lsu.scala 202:20]
  assign ls_arb_io_in_0_valid = opLdIO_valid & stQueue_io_overlapResp_valid; // @[Lsu.scala 211:41]
  assign ls_arb_io_in_0_bits_fun_lb = _T_9 & io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lh = _T_9 & io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lw = _T_9 & io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_ld = _T_9 & io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lbu = _T_9 & io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lhu = _T_9 & io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lwu = _T_9 & io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sb = _T_9 & io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sh = _T_9 & io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sw = _T_9 & io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sd = _T_9 & io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lr_w = _T_9 & io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sc_w = _T_9 & io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoswap_w = _T_9 & io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoadd_w = _T_9 & io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoxor_w = _T_9 & io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoand_w = _T_9 & io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoor_w = _T_9 & io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomin_w = _T_9 & io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomax_w = _T_9 & io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amominu_w = _T_9 & io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomaxu_w = _T_9 & io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_lr_d = _T_9 & io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_sc_d = _T_9 & io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoswap_d = _T_9 & io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoadd_d = _T_9 & io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoxor_d = _T_9 & io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoand_d = _T_9 & io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amoor_d = _T_9 & io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomin_d = _T_9 & io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomax_d = _T_9 & io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amominu_d = _T_9 & io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_amomaxu_d = _T_9 & io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_flw = _T_9 & io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_fsw = _T_9 & io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_fld = _T_9 & io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_fun_fsd = _T_9 & io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_0_bits_param_dat_op1 = _T_9 ? io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 162:38 164:23 168:18]
  assign ls_arb_io_in_1_valid = stQueue_io_deq_valid; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lb = stQueue_io_deq_bits_fun_lb; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lh = stQueue_io_deq_bits_fun_lh; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lw = stQueue_io_deq_bits_fun_lw; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_ld = stQueue_io_deq_bits_fun_ld; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lbu = stQueue_io_deq_bits_fun_lbu; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lhu = stQueue_io_deq_bits_fun_lhu; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lwu = stQueue_io_deq_bits_fun_lwu; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sb = stQueue_io_deq_bits_fun_sb; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sh = stQueue_io_deq_bits_fun_sh; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sw = stQueue_io_deq_bits_fun_sw; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sd = stQueue_io_deq_bits_fun_sd; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lr_w = stQueue_io_deq_bits_fun_lr_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sc_w = stQueue_io_deq_bits_fun_sc_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoswap_w = stQueue_io_deq_bits_fun_amoswap_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoadd_w = stQueue_io_deq_bits_fun_amoadd_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoxor_w = stQueue_io_deq_bits_fun_amoxor_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoand_w = stQueue_io_deq_bits_fun_amoand_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoor_w = stQueue_io_deq_bits_fun_amoor_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomin_w = stQueue_io_deq_bits_fun_amomin_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomax_w = stQueue_io_deq_bits_fun_amomax_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amominu_w = stQueue_io_deq_bits_fun_amominu_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomaxu_w = stQueue_io_deq_bits_fun_amomaxu_w; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_lr_d = stQueue_io_deq_bits_fun_lr_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_sc_d = stQueue_io_deq_bits_fun_sc_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoswap_d = stQueue_io_deq_bits_fun_amoswap_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoadd_d = stQueue_io_deq_bits_fun_amoadd_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoxor_d = stQueue_io_deq_bits_fun_amoxor_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoand_d = stQueue_io_deq_bits_fun_amoand_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amoor_d = stQueue_io_deq_bits_fun_amoor_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomin_d = stQueue_io_deq_bits_fun_amomin_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomax_d = stQueue_io_deq_bits_fun_amomax_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amominu_d = stQueue_io_deq_bits_fun_amominu_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_amomaxu_d = stQueue_io_deq_bits_fun_amomaxu_d; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_flw = stQueue_io_deq_bits_fun_flw; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_fsw = stQueue_io_deq_bits_fun_fsw; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_fld = stQueue_io_deq_bits_fun_fld; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_fun_fsd = stQueue_io_deq_bits_fun_fsd; // @[Lsu.scala 215:19]
  assign ls_arb_io_in_1_bits_param_dat_op1 = stQueue_io_deq_bits_param_dat_op1; // @[Lsu.scala 215:19]
  assign ls_arb_io_out_ready = sel == 2'h0 ? cacheBankIO_0_ready : _GEN_229; // @[Lsu.scala 246:23 249:26]
  assign system_clock = clock;
  assign system_reset = reset;
  assign system_io_enq_valid = sel == 2'h1 & ls_arb_io_out_valid; // @[Lsu.scala 237:23 238:26 242:26]
  assign system_io_enq_bits_fun_lb = sel == 2'h1 & ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lh = sel == 2'h1 & ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lw = sel == 2'h1 & ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_ld = sel == 2'h1 & ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lbu = sel == 2'h1 & ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lhu = sel == 2'h1 & ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lwu = sel == 2'h1 & ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sb = sel == 2'h1 & ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sh = sel == 2'h1 & ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sw = sel == 2'h1 & ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sd = sel == 2'h1 & ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lr_w = sel == 2'h1 & ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sc_w = sel == 2'h1 & ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_lr_d = sel == 2'h1 & ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_sc_d = sel == 2'h1 & ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_flw = sel == 2'h1 & ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_fsw = sel == 2'h1 & ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_fld = sel == 2'h1 & ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_enq_bits_fun_fsd = sel == 2'h1 & ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 237:23 239:26 243:26]
  assign system_io_deq_ready = lu_wb_arb_io_in_1_ready | ~system_io_deq_bits_is_load_amo; // @[Lsu.scala 427:52]
  assign system_io_getPut_ready = io_system_getPut_ready; // @[Lsu.scala 391:26]
  assign system_io_access_valid = io_system_access_valid; // @[Lsu.scala 392:26]
  assign system_io_access_bits_opcode = io_system_access_bits_opcode; // @[Lsu.scala 393:26]
  assign periph_clock = clock;
  assign periph_reset = reset;
  assign periph_io_enq_valid = sel == 2'h2 & ls_arb_io_out_valid; // @[Lsu.scala 228:23 229:26 233:26]
  assign periph_io_enq_bits_fun_lb = sel == 2'h2 & ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lh = sel == 2'h2 & ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lw = sel == 2'h2 & ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_ld = sel == 2'h2 & ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lbu = sel == 2'h2 & ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lhu = sel == 2'h2 & ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lwu = sel == 2'h2 & ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sb = sel == 2'h2 & ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sh = sel == 2'h2 & ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sw = sel == 2'h2 & ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sd = sel == 2'h2 & ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lr_w = sel == 2'h2 & ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sc_w = sel == 2'h2 & ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_lr_d = sel == 2'h2 & ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_sc_d = sel == 2'h2 & ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_flw = sel == 2'h2 & ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_fsw = sel == 2'h2 & ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_fld = sel == 2'h2 & ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_enq_bits_fun_fsd = sel == 2'h2 & ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 228:23 230:26 234:26]
  assign periph_io_deq_ready = lu_wb_arb_io_in_2_ready | ~periph_io_deq_bits_is_load_amo; // @[Lsu.scala 432:54]
  assign periph_io_getPut_ready = io_periph_getPut_ready; // @[Lsu.scala 402:26]
  assign periph_io_access_valid = io_periph_access_valid; // @[Lsu.scala 403:26]
  assign periph_io_access_bits_opcode = io_periph_access_bits_opcode; // @[Lsu.scala 404:26]
  assign cache_0_clock = clock;
  assign cache_0_reset = reset;
  assign cache_0_io_enq_valid = sel == 2'h0 & ls_arb_io_out_valid; // @[Lsu.scala 246:23 247:26 251:26]
  assign cache_0_io_enq_bits_paddr = regionDCacheIO_bits_param_dat_op1[31:0]; // @[Util.scala 81:19 84:15]
  assign cache_0_io_enq_bits_fun_lb = sel == 2'h0 & ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lh = sel == 2'h0 & ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lw = sel == 2'h0 & ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_ld = sel == 2'h0 & ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lbu = sel == 2'h0 & ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lhu = sel == 2'h0 & ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lwu = sel == 2'h0 & ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sb = sel == 2'h0 & ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sh = sel == 2'h0 & ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sw = sel == 2'h0 & ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sd = sel == 2'h0 & ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lr_w = sel == 2'h0 & ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sc_w = sel == 2'h0 & ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoswap_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoadd_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoxor_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoand_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoor_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomin_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomax_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amominu_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomaxu_w = sel == 2'h0 & ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_lr_d = sel == 2'h0 & ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_sc_d = sel == 2'h0 & ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoswap_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoadd_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoxor_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoand_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amoor_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomin_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomax_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amominu_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_amomaxu_d = sel == 2'h0 & ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_flw = sel == 2'h0 & ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_fsw = sel == 2'h0 & ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_fld = sel == 2'h0 & ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_enq_bits_fun_fsd = sel == 2'h0 & ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 246:23 248:26 252:26]
  assign cache_0_io_deq_ready = lu_wb_arb_io_in_0_ready | ~cache_0_io_deq_bits_is_load_amo; // @[Lsu.scala 421:55]
  assign cache_0_io_flush = io_flush; // @[Lsu.scala 382:23]
  assign cache_0_io_missUnit_dcache_acquire_ready = acquireArb_io_in_0_ready; // @[Lsu.scala 305:27]
  assign cache_0_io_missUnit_dcache_grant_valid = ~io_missUnit_dcache_grant_bits_source & io_missUnit_dcache_grant_valid
    ; // @[Lsu.scala 307:64 308:47 292:54]
  assign cache_0_io_missUnit_dcache_grant_bits_opcode = ~io_missUnit_dcache_grant_bits_source ?
    io_missUnit_dcache_grant_bits_opcode : 3'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign cache_0_io_missUnit_dcache_grant_bits_size = ~io_missUnit_dcache_grant_bits_source ?
    io_missUnit_dcache_grant_bits_size : 3'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign cache_0_io_missUnit_dcache_grant_bits_source = ~io_missUnit_dcache_grant_bits_source &
    io_missUnit_dcache_grant_bits_source; // @[Lsu.scala 307:64 308:47 293:54]
  assign cache_0_io_missUnit_dcache_grantAck_ready = grantAckArb_io_in_0_ready; // @[Lsu.scala 311:28]
  assign cache_0_io_probeUnit_dcache_probe_valid = io_probeUnit_dcache_probe_valid; // @[Lsu.scala 313:120 314:48 295:54]
  assign cache_0_io_probeUnit_dcache_probe_bits_address = io_probeUnit_dcache_probe_bits_address; // @[Lsu.scala 313:120 314:48 296:54]
  assign cache_0_io_writeBackUnit_dcache_release_ready = ~is_chnc_busy_0 ? releaseArb_io_in_0_ready : _GEN_366; // @[Lsu.scala 332:29 334:64]
  assign cache_0_io_writeBackUnit_dcache_grant_valid = ~io_writeBackUnit_dcache_grant_bits_source &
    io_writeBackUnit_dcache_grant_valid; // @[Lsu.scala 317:69 318:52 298:58]
  assign cache_0_io_writeBackUnit_dcache_grant_bits_source = ~io_writeBackUnit_dcache_grant_bits_source &
    io_writeBackUnit_dcache_grant_bits_source; // @[Lsu.scala 317:69 318:52 299:58]
  assign lu_wb_arb_io_in_0_valid = cache_0_io_deq_valid & cache_0_io_deq_bits_is_load_amo; // @[Lsu.scala 419:55]
  assign lu_wb_arb_io_in_0_bits_is_flw = lu_wb_arb_io_in_0_valid & cache_0_io_deq_bits_is_flw; // @[Lsu.scala 420:35]
  assign lu_wb_arb_io_in_0_bits_is_fld = lu_wb_arb_io_in_0_valid & cache_0_io_deq_bits_is_fld; // @[Lsu.scala 420:35]
  assign lu_wb_arb_io_in_1_valid = system_io_deq_valid & system_io_deq_bits_is_load_amo; // @[Lsu.scala 425:52]
  assign lu_wb_arb_io_in_1_bits_is_flw = lu_wb_arb_io_in_1_valid & system_io_deq_bits_is_flw; // @[Lsu.scala 426:34]
  assign lu_wb_arb_io_in_1_bits_is_fld = lu_wb_arb_io_in_1_valid & system_io_deq_bits_is_fld; // @[Lsu.scala 426:34]
  assign lu_wb_arb_io_in_2_valid = periph_io_deq_valid & periph_io_deq_bits_is_load_amo; // @[Lsu.scala 430:54]
  assign lu_wb_arb_io_in_2_bits_is_flw = lu_wb_arb_io_in_2_valid & periph_io_deq_bits_is_flw; // @[Lsu.scala 431:36]
  assign lu_wb_arb_io_in_2_bits_is_fld = lu_wb_arb_io_in_2_valid & periph_io_deq_bits_is_fld; // @[Lsu.scala 431:36]
  assign lu_wb_arb_io_out_ready = lu_wb_fifo_io_enq_ready & flu_wb_fifo_io_enq_ready | trans_kill; // @[Lsu.scala 454:82]
  assign lu_wb_fifo_clock = clock;
  assign lu_wb_fifo_reset = reset | io_flush; // @[Lsu.scala 440:36]
  assign lu_wb_fifo_io_enq_valid = lu_wb_arb_io_out_valid & _lu_wb_fifo_io_enq_valid_T_1 & ~trans_kill; // @[Lsu.scala 437:84]
  assign lu_wb_fifo_io_deq_ready = rtn_arb_io_in_1_ready; // @[Lsu.scala 475:20]
  assign flu_wb_fifo_clock = clock;
  assign flu_wb_fifo_reset = reset | io_flush; // @[Lsu.scala 451:37]
  assign flu_wb_fifo_io_enq_valid = lu_wb_arb_io_out_valid & _lu_wb_fifo_io_enq_valid_T & _lu_wb_fifo_io_enq_valid_T_3; // @[Lsu.scala 443:85]
  assign flu_wb_fifo_io_deq_ready = io_lsu_exe_fwb_ready; // @[Lsu.scala 450:22]
  assign su_wb_fifo_clock = clock;
  assign su_wb_fifo_reset = reset | io_flush; // @[Lsu.scala 460:36]
  assign su_wb_fifo_io_enq_valid = opStIO_ready & opStIO_valid; // @[Decoupled.scala 52:35]
  assign su_wb_fifo_io_deq_ready = rtn_arb_io_in_0_ready; // @[Lsu.scala 474:20]
  assign fe_wb_fifo_clock = clock;
  assign fe_wb_fifo_reset = reset | io_flush; // @[Lsu.scala 470:36]
  assign fe_wb_fifo_io_enq_valid = is_empty & _addrTransIO_valid_T_48 & io_lsu_iss_exe_valid; // @[Lsu.scala 467:74]
  assign fe_wb_fifo_io_deq_ready = rtn_arb_io_in_2_ready; // @[Lsu.scala 476:20]
  assign rtn_arb_io_in_0_valid = su_wb_fifo_io_deq_valid; // @[Lsu.scala 474:20]
  assign rtn_arb_io_in_1_valid = lu_wb_fifo_io_deq_valid; // @[Lsu.scala 475:20]
  assign rtn_arb_io_out_ready = io_lsu_exe_iwb_ready; // @[Lsu.scala 477:18]
  assign acquireArb_io_out_ready = io_missUnit_dcache_acquire_ready; // @[Lsu.scala 302:37]
  assign grantAckArb_io_out_ready = io_missUnit_dcache_grantAck_ready; // @[Lsu.scala 303:37]
  assign releaseArb_io_out_ready = ~is_chnc_busy_0 & io_writeBackUnit_dcache_release_ready; // @[Lsu.scala 334:64 335:45 337:33]
  always @(posedge clock) begin
    if (reset) begin // @[Lsu.scala 73:27]
      trans_kill <= 1'h0; // @[Lsu.scala 73:27]
    end else begin
      trans_kill <= _GEN_378;
    end
    if (reset) begin // @[Lsu.scala 325:33]
      is_chnc_busy_0 <= 1'h0; // @[Lsu.scala 325:33]
    end else if (_is_release_done_T) begin // @[Lsu.scala 328:67]
      if (is_release_done_0) begin // @[Lsu.scala 328:91]
        is_chnc_busy_0 <= 1'h0;
      end else begin
        is_chnc_busy_0 <= 1'h1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      is_release_done_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_is_release_done_T) begin // @[Edges.scala 234:17]
      if (is_release_done_first) begin // @[Edges.scala 235:21]
        is_release_done_counter <= is_release_done_beats1;
      end else begin
        is_release_done_counter <= is_release_done_counter1;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Lsu.scala 342:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cache_0_io_deq_bits_is_load_amo & _T_47 & ~(_T_49 == _T_50)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:422 when( cache(i).io.deq.bits.is_load_amo ) { assert(cache(i).io.deq.fire === lu_wb_arb.io.in(i).fire) }\n"
            ); // @[Lsu.scala 422:54]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_49 == _T_50) & (cache_0_io_deq_bits_is_load_amo & _T_47)) begin
          $fatal; // @[Lsu.scala 422:54]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (system_io_deq_bits_is_load_amo & _T_47 & ~(_T_55 == _T_56)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:428 when( system.io.deq.bits.is_load_amo ) { assert(system.io.deq.fire === lu_wb_arb.io.in(bk).fire) }\n"
            ); // @[Lsu.scala 428:50]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_55 == _T_56) & (system_io_deq_bits_is_load_amo & _T_47)) begin
          $fatal; // @[Lsu.scala 428:50]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (periph_io_deq_bits_is_load_amo & _T_47 & ~(_T_61 == _T_62)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:433 when( periph.io.deq.bits.is_load_amo ) { assert(periph.io.deq.fire === lu_wb_arb.io.in(bk+1).fire) }\n"
            ); // @[Lsu.scala 433:50]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_61 == _T_62) & (periph_io_deq_bits_is_load_amo & _T_47)) begin
          $fatal; // @[Lsu.scala 433:50]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  trans_kill = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  is_chnc_busy_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  is_release_done_counter = _RAND_2[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_21(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INIT
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  always @(posedge clock) begin
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  maybe_full = _RAND_0[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Csr(
  input   clock,
  input   reset,
  input   io_csr_iss_exe_valid,
  input   io_csr_exe_iwb_ready,
  input   io_csr_data_valid,
  input   io_csr_cmm_op_ready,
  input   io_flush
);
  wire  csr_exe_iwb_fifo_clock; // @[Csr.scala 43:32]
  wire  csr_exe_iwb_fifo_reset; // @[Csr.scala 43:32]
  wire  csr_exe_iwb_fifo_io_enq_ready; // @[Csr.scala 43:32]
  wire  csr_exe_iwb_fifo_io_enq_valid; // @[Csr.scala 43:32]
  wire  csr_exe_iwb_fifo_io_deq_ready; // @[Csr.scala 43:32]
  wire  csr_exe_iwb_fifo_io_deq_valid; // @[Csr.scala 43:32]
  wire  csr_op_fifo_clock; // @[Csr.scala 47:27]
  wire  csr_op_fifo_reset; // @[Csr.scala 47:27]
  wire  csr_op_fifo_io_enq_ready; // @[Csr.scala 47:27]
  wire  csr_op_fifo_io_enq_valid; // @[Csr.scala 47:27]
  wire  csr_op_fifo_io_deq_ready; // @[Csr.scala 47:27]
  wire  csr_op_fifo_io_deq_valid; // @[Csr.scala 47:27]
  Queue_7 csr_exe_iwb_fifo ( // @[Csr.scala 43:32]
    .clock(csr_exe_iwb_fifo_clock),
    .reset(csr_exe_iwb_fifo_reset),
    .io_enq_ready(csr_exe_iwb_fifo_io_enq_ready),
    .io_enq_valid(csr_exe_iwb_fifo_io_enq_valid),
    .io_deq_ready(csr_exe_iwb_fifo_io_deq_ready),
    .io_deq_valid(csr_exe_iwb_fifo_io_deq_valid)
  );
  Queue_21 csr_op_fifo ( // @[Csr.scala 47:27]
    .clock(csr_op_fifo_clock),
    .reset(csr_op_fifo_reset),
    .io_enq_ready(csr_op_fifo_io_enq_ready),
    .io_enq_valid(csr_op_fifo_io_enq_valid),
    .io_deq_ready(csr_op_fifo_io_deq_ready),
    .io_deq_valid(csr_op_fifo_io_deq_valid)
  );
  assign csr_exe_iwb_fifo_clock = clock;
  assign csr_exe_iwb_fifo_reset = reset | io_flush; // @[Csr.scala 45:42]
  assign csr_exe_iwb_fifo_io_enq_valid = io_csr_iss_exe_valid & csr_op_fifo_io_enq_ready & io_csr_data_valid; // @[Csr.scala 74:84]
  assign csr_exe_iwb_fifo_io_deq_ready = io_csr_exe_iwb_ready; // @[Csr.scala 44:18]
  assign csr_op_fifo_clock = clock;
  assign csr_op_fifo_reset = reset | io_flush; // @[Csr.scala 49:37]
  assign csr_op_fifo_io_enq_valid = csr_exe_iwb_fifo_io_enq_ready & csr_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  assign csr_op_fifo_io_deq_ready = io_csr_cmm_op_ready; // @[Csr.scala 48:17]
endmodule
module NorMultiplier(
  input   io_enq_valid,
  output  io_deq_valid
);
  assign io_deq_valid = io_enq_valid; // @[Mul.scala 418:10]
endmodule
module NorDivider(
  input   clock,
  input   reset,
  output  io_enq_ready,
  input   io_enq_valid,
  input   io_deq_ready,
  output  io_deq_valid,
  input   io_flush
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
`endif // RANDOMIZE_REG_INIT
  reg  isDivBusy; // @[Mul.scala 582:26]
  reg [6:0] cnt; // @[Mul.scala 584:20]
  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire [6:0] _cnt_T_1 = cnt + 7'h1; // @[Mul.scala 588:16]
  wire  _T_4 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_2 = _T | isDivBusy; // @[Mul.scala 598:30 599:15 582:26]
  assign io_enq_ready = ~isDivBusy; // @[Mul.scala 594:19]
  assign io_deq_valid = isDivBusy & cnt == 7'h40; // @[Mul.scala 626:29]
  always @(posedge clock) begin
    if (reset) begin // @[Mul.scala 582:26]
      isDivBusy <= 1'h0; // @[Mul.scala 582:26]
    end else if (_T_4 | io_flush) begin // @[Mul.scala 596:34]
      isDivBusy <= 1'h0; // @[Mul.scala 597:15]
    end else begin
      isDivBusy <= _GEN_2;
    end
    if (reset) begin // @[Mul.scala 584:20]
      cnt <= 7'h0; // @[Mul.scala 584:20]
    end else if (_T | io_flush) begin // @[Mul.scala 585:34]
      cnt <= 7'h0; // @[Mul.scala 586:9]
    end else if (isDivBusy & cnt != 7'h40) begin // @[Mul.scala 587:43]
      cnt <= _cnt_T_1; // @[Mul.scala 588:9]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  isDivBusy = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  cnt = _RAND_1[6:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Arbiter_8(
  output  io_in_0_ready,
  input   io_in_0_valid,
  output  io_in_1_ready,
  input   io_in_1_valid,
  input   io_out_ready,
  output  io_out_valid
);
  wire  grant_1 = ~io_in_0_valid; // @[Arbiter.scala 45:78]
  assign io_in_0_ready = io_out_ready; // @[Arbiter.scala 146:19]
  assign io_in_1_ready = grant_1 & io_out_ready; // @[Arbiter.scala 146:19]
  assign io_out_valid = ~grant_1 | io_in_1_valid; // @[Arbiter.scala 147:31]
endmodule
module Dividor(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input         io_enq_bits_fun_div,
  input         io_enq_bits_fun_divu,
  input         io_enq_bits_fun_rem,
  input         io_enq_bits_fun_remu,
  input         io_enq_bits_fun_divw,
  input         io_enq_bits_fun_divuw,
  input         io_enq_bits_fun_remw,
  input         io_enq_bits_fun_remuw,
  input  [63:0] io_enq_bits_param_dat_op1,
  input  [63:0] io_enq_bits_param_dat_op2,
  input         io_deq_ready,
  output        io_deq_valid,
  input         io_flush
);
  wire  algDivider_clock; // @[Mul.scala 507:26]
  wire  algDivider_reset; // @[Mul.scala 507:26]
  wire  algDivider_io_enq_ready; // @[Mul.scala 507:26]
  wire  algDivider_io_enq_valid; // @[Mul.scala 507:26]
  wire  algDivider_io_deq_ready; // @[Mul.scala 507:26]
  wire  algDivider_io_deq_valid; // @[Mul.scala 507:26]
  wire  algDivider_io_flush; // @[Mul.scala 507:26]
  wire  divRtnArb_io_in_0_ready; // @[Mul.scala 548:25]
  wire  divRtnArb_io_in_0_valid; // @[Mul.scala 548:25]
  wire  divRtnArb_io_in_1_ready; // @[Mul.scala 548:25]
  wire  divRtnArb_io_in_1_valid; // @[Mul.scala 548:25]
  wire  divRtnArb_io_out_ready; // @[Mul.scala 548:25]
  wire  divRtnArb_io_out_valid; // @[Mul.scala 548:25]
  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_7 = io_enq_bits_fun_div | io_enq_bits_fun_divu | io_enq_bits_fun_divw | io_enq_bits_fun_divuw |
    io_enq_bits_fun_rem | io_enq_bits_fun_remu | io_enq_bits_fun_remw | io_enq_bits_fun_remuw; // @[riscv_isa.scala 204:61]
  wire  is32wPre = io_enq_bits_fun_divw | io_enq_bits_fun_divuw | io_enq_bits_fun_remw | io_enq_bits_fun_remuw; // @[riscv_isa.scala 199:39]
  wire  isUsiPre = io_enq_bits_fun_divu | io_enq_bits_fun_remu | io_enq_bits_fun_divuw | io_enq_bits_fun_remuw; // @[riscv_isa.scala 200:39]
  wire  isDivByZero = io_enq_bits_param_dat_op2 == 64'h0; // @[Mul.scala 480:29]
  wire  _isDivOverflow_T_10 = is32wPre & (io_enq_bits_param_dat_op1[31] & io_enq_bits_param_dat_op1[30:0] == 31'h0) & &
    io_enq_bits_param_dat_op2[31:0]; // @[Mul.scala 483:76]
  wire  _isDivOverflow_T_21 = ~is32wPre & (io_enq_bits_param_dat_op1[63] & io_enq_bits_param_dat_op1[62:0] == 63'h0) & &
    io_enq_bits_param_dat_op2; // @[Mul.scala 485:76]
  wire  _isDivOverflow_T_22 = _isDivOverflow_T_10 | _isDivOverflow_T_21; // @[Mul.scala 484:17]
  wire  isDivOverflow = ~isUsiPre & _isDivOverflow_T_22; // @[Mul.scala 481:33]
  wire  divBypass = isDivByZero | isDivOverflow; // @[Mul.scala 487:31]
  NorDivider algDivider ( // @[Mul.scala 507:26]
    .clock(algDivider_clock),
    .reset(algDivider_reset),
    .io_enq_ready(algDivider_io_enq_ready),
    .io_enq_valid(algDivider_io_enq_valid),
    .io_deq_ready(algDivider_io_deq_ready),
    .io_deq_valid(algDivider_io_deq_valid),
    .io_flush(algDivider_io_flush)
  );
  Arbiter_8 divRtnArb ( // @[Mul.scala 548:25]
    .io_in_0_ready(divRtnArb_io_in_0_ready),
    .io_in_0_valid(divRtnArb_io_in_0_valid),
    .io_in_1_ready(divRtnArb_io_in_1_ready),
    .io_in_1_valid(divRtnArb_io_in_1_valid),
    .io_out_ready(divRtnArb_io_out_ready),
    .io_out_valid(divRtnArb_io_out_valid)
  );
  assign io_enq_ready = divBypass ? divRtnArb_io_in_1_ready : algDivider_io_enq_ready; // @[Mul.scala 559:22]
  assign io_deq_valid = divRtnArb_io_out_valid; // @[Mul.scala 560:10]
  assign algDivider_clock = clock;
  assign algDivider_reset = reset;
  assign algDivider_io_enq_valid = io_enq_valid & ~divBypass; // @[Mul.scala 509:45]
  assign algDivider_io_deq_ready = divRtnArb_io_in_0_ready; // @[Mul.scala 557:28]
  assign algDivider_io_flush = io_flush; // @[Mul.scala 515:25]
  assign divRtnArb_io_in_0_valid = algDivider_io_deq_valid; // @[Mul.scala 554:28]
  assign divRtnArb_io_in_1_valid = io_enq_valid & divBypass; // @[Mul.scala 549:44]
  assign divRtnArb_io_out_ready = io_deq_ready; // @[Mul.scala 560:10]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T & ~reset & ~_T_7) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Mul.scala:430 when( io.enq.fire ) { assert( io.enq.bits.fun.isDiv ) }\n"); // @[Mul.scala 430:31]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_7 & (_T & ~reset)) begin
          $fatal; // @[Mul.scala 430:31]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MulDiv(
  input         clock,
  input         reset,
  input         io_mul_iss_exe_valid,
  input         io_mul_iss_exe_bits_fun_mul,
  input         io_mul_iss_exe_bits_fun_mulh,
  input         io_mul_iss_exe_bits_fun_mulhsu,
  input         io_mul_iss_exe_bits_fun_mulhu,
  input         io_mul_iss_exe_bits_fun_div,
  input         io_mul_iss_exe_bits_fun_divu,
  input         io_mul_iss_exe_bits_fun_rem,
  input         io_mul_iss_exe_bits_fun_remu,
  input         io_mul_iss_exe_bits_fun_mulw,
  input         io_mul_iss_exe_bits_fun_divw,
  input         io_mul_iss_exe_bits_fun_divuw,
  input         io_mul_iss_exe_bits_fun_remw,
  input         io_mul_iss_exe_bits_fun_remuw,
  input  [63:0] io_mul_iss_exe_bits_param_dat_op1,
  input  [63:0] io_mul_iss_exe_bits_param_dat_op2,
  input         io_mul_exe_iwb_ready,
  input         io_flush
);
  wire  mul_exe_iwb_fifo_clock; // @[Mul.scala 40:32]
  wire  mul_exe_iwb_fifo_reset; // @[Mul.scala 40:32]
  wire  mul_exe_iwb_fifo_io_enq_ready; // @[Mul.scala 40:32]
  wire  mul_exe_iwb_fifo_io_enq_valid; // @[Mul.scala 40:32]
  wire  mul_exe_iwb_fifo_io_deq_ready; // @[Mul.scala 40:32]
  wire  mul_exe_iwb_fifo_io_deq_valid; // @[Mul.scala 40:32]
  wire  multiplier_io_enq_valid; // @[Mul.scala 80:26]
  wire  multiplier_io_deq_valid; // @[Mul.scala 80:26]
  wire  dividor_clock; // @[Mul.scala 104:23]
  wire  dividor_reset; // @[Mul.scala 104:23]
  wire  dividor_io_enq_ready; // @[Mul.scala 104:23]
  wire  dividor_io_enq_valid; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_div; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_divu; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_rem; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_remu; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_divw; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_divuw; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_remw; // @[Mul.scala 104:23]
  wire  dividor_io_enq_bits_fun_remuw; // @[Mul.scala 104:23]
  wire [63:0] dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 104:23]
  wire [63:0] dividor_io_enq_bits_param_dat_op2; // @[Mul.scala 104:23]
  wire  dividor_io_deq_ready; // @[Mul.scala 104:23]
  wire  dividor_io_deq_valid; // @[Mul.scala 104:23]
  wire  dividor_io_flush; // @[Mul.scala 104:23]
  wire  iwbArb_io_in_0_ready; // @[Mul.scala 127:22]
  wire  iwbArb_io_in_0_valid; // @[Mul.scala 127:22]
  wire  iwbArb_io_in_1_ready; // @[Mul.scala 127:22]
  wire  iwbArb_io_in_1_valid; // @[Mul.scala 127:22]
  wire  iwbArb_io_out_ready; // @[Mul.scala 127:22]
  wire  iwbArb_io_out_valid; // @[Mul.scala 127:22]
  wire  _multiplier_io_enq_valid_T_3 = io_mul_iss_exe_bits_fun_mul | io_mul_iss_exe_bits_fun_mulh |
    io_mul_iss_exe_bits_fun_mulhsu | io_mul_iss_exe_bits_fun_mulhu | io_mul_iss_exe_bits_fun_mulw; // @[riscv_isa.scala 203:43]
  wire  _dividor_io_enq_valid_T_6 = io_mul_iss_exe_bits_fun_div | io_mul_iss_exe_bits_fun_divu |
    io_mul_iss_exe_bits_fun_divw | io_mul_iss_exe_bits_fun_divuw | io_mul_iss_exe_bits_fun_rem |
    io_mul_iss_exe_bits_fun_remu | io_mul_iss_exe_bits_fun_remw | io_mul_iss_exe_bits_fun_remuw; // @[riscv_isa.scala 204:61]
  Queue_7 mul_exe_iwb_fifo ( // @[Mul.scala 40:32]
    .clock(mul_exe_iwb_fifo_clock),
    .reset(mul_exe_iwb_fifo_reset),
    .io_enq_ready(mul_exe_iwb_fifo_io_enq_ready),
    .io_enq_valid(mul_exe_iwb_fifo_io_enq_valid),
    .io_deq_ready(mul_exe_iwb_fifo_io_deq_ready),
    .io_deq_valid(mul_exe_iwb_fifo_io_deq_valid)
  );
  NorMultiplier multiplier ( // @[Mul.scala 80:26]
    .io_enq_valid(multiplier_io_enq_valid),
    .io_deq_valid(multiplier_io_deq_valid)
  );
  Dividor dividor ( // @[Mul.scala 104:23]
    .clock(dividor_clock),
    .reset(dividor_reset),
    .io_enq_ready(dividor_io_enq_ready),
    .io_enq_valid(dividor_io_enq_valid),
    .io_enq_bits_fun_div(dividor_io_enq_bits_fun_div),
    .io_enq_bits_fun_divu(dividor_io_enq_bits_fun_divu),
    .io_enq_bits_fun_rem(dividor_io_enq_bits_fun_rem),
    .io_enq_bits_fun_remu(dividor_io_enq_bits_fun_remu),
    .io_enq_bits_fun_divw(dividor_io_enq_bits_fun_divw),
    .io_enq_bits_fun_divuw(dividor_io_enq_bits_fun_divuw),
    .io_enq_bits_fun_remw(dividor_io_enq_bits_fun_remw),
    .io_enq_bits_fun_remuw(dividor_io_enq_bits_fun_remuw),
    .io_enq_bits_param_dat_op1(dividor_io_enq_bits_param_dat_op1),
    .io_enq_bits_param_dat_op2(dividor_io_enq_bits_param_dat_op2),
    .io_deq_ready(dividor_io_deq_ready),
    .io_deq_valid(dividor_io_deq_valid),
    .io_flush(dividor_io_flush)
  );
  Arbiter_8 iwbArb ( // @[Mul.scala 127:22]
    .io_in_0_ready(iwbArb_io_in_0_ready),
    .io_in_0_valid(iwbArb_io_in_0_valid),
    .io_in_1_ready(iwbArb_io_in_1_ready),
    .io_in_1_valid(iwbArb_io_in_1_valid),
    .io_out_ready(iwbArb_io_out_ready),
    .io_out_valid(iwbArb_io_out_valid)
  );
  assign mul_exe_iwb_fifo_clock = clock;
  assign mul_exe_iwb_fifo_reset = reset | io_flush; // @[Mul.scala 41:42]
  assign mul_exe_iwb_fifo_io_enq_valid = iwbArb_io_out_valid; // @[Mul.scala 139:27]
  assign mul_exe_iwb_fifo_io_deq_ready = io_mul_exe_iwb_ready; // @[Mul.scala 42:18]
  assign multiplier_io_enq_valid = io_mul_iss_exe_valid & _multiplier_io_enq_valid_T_3; // @[Mul.scala 84:51]
  assign dividor_clock = clock;
  assign dividor_reset = reset;
  assign dividor_io_enq_valid = _dividor_io_enq_valid_T_6 & io_mul_iss_exe_valid; // @[Mul.scala 107:57]
  assign dividor_io_enq_bits_fun_div = io_mul_iss_exe_bits_fun_div; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_divu = io_mul_iss_exe_bits_fun_divu; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_rem = io_mul_iss_exe_bits_fun_rem; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_remu = io_mul_iss_exe_bits_fun_remu; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_divw = io_mul_iss_exe_bits_fun_divw; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_divuw = io_mul_iss_exe_bits_fun_divuw; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_remw = io_mul_iss_exe_bits_fun_remw; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_fun_remuw = io_mul_iss_exe_bits_fun_remuw; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_param_dat_op1 = io_mul_iss_exe_bits_param_dat_op1; // @[Mul.scala 106:24]
  assign dividor_io_enq_bits_param_dat_op2 = io_mul_iss_exe_bits_param_dat_op2; // @[Mul.scala 106:24]
  assign dividor_io_deq_ready = iwbArb_io_in_1_ready; // @[Mul.scala 135:19]
  assign dividor_io_flush = io_flush; // @[Mul.scala 109:20]
  assign iwbArb_io_in_0_valid = multiplier_io_deq_valid; // @[Mul.scala 131:25]
  assign iwbArb_io_in_1_valid = dividor_io_deq_valid; // @[Mul.scala 135:19]
  assign iwbArb_io_out_ready = mul_exe_iwb_fifo_io_enq_ready; // @[Mul.scala 139:27]
endmodule
module FakeFAlu(
  input   clock,
  input   reset,
  input   io_fpu_iss_exe_valid
);
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_fpu_iss_exe_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at FAlu.scala:282 assert( ~io.fpu_iss_exe.valid )\n"); // @[FAlu.scala 282:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_fpu_iss_exe_valid) & ~reset) begin
          $fatal; // @[FAlu.scala 282:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Execute(
  input         clock,
  input         reset,
  input         io_alu_iss_exe_0_valid,
  input         io_alu_exe_iwb_0_ready,
  input         io_bru_iss_exe_valid,
  input         io_bru_iss_exe_bits_fun_jalr,
  input         io_bru_iss_exe_bits_fun_beq,
  input         io_bru_iss_exe_bits_fun_bne,
  input         io_bru_iss_exe_bits_fun_blt,
  input         io_bru_iss_exe_bits_fun_bge,
  input         io_bru_iss_exe_bits_fun_bltu,
  input         io_bru_iss_exe_bits_fun_bgeu,
  input  [63:0] io_bru_iss_exe_bits_param_imm,
  input  [63:0] io_bru_iss_exe_bits_param_dat_op1,
  input  [63:0] io_bru_iss_exe_bits_param_dat_op2,
  input         io_bru_exe_iwb_ready,
  input         io_csr_iss_exe_valid,
  input         io_csr_exe_iwb_ready,
  input         io_lsu_iss_exe_valid,
  input         io_lsu_iss_exe_bits_fun_lb,
  input         io_lsu_iss_exe_bits_fun_lh,
  input         io_lsu_iss_exe_bits_fun_lw,
  input         io_lsu_iss_exe_bits_fun_ld,
  input         io_lsu_iss_exe_bits_fun_lbu,
  input         io_lsu_iss_exe_bits_fun_lhu,
  input         io_lsu_iss_exe_bits_fun_lwu,
  input         io_lsu_iss_exe_bits_fun_sb,
  input         io_lsu_iss_exe_bits_fun_sh,
  input         io_lsu_iss_exe_bits_fun_sw,
  input         io_lsu_iss_exe_bits_fun_sd,
  input         io_lsu_iss_exe_bits_fun_fence,
  input         io_lsu_iss_exe_bits_fun_fence_i,
  input         io_lsu_iss_exe_bits_fun_sfence_vma,
  input         io_lsu_iss_exe_bits_fun_lr_w,
  input         io_lsu_iss_exe_bits_fun_sc_w,
  input         io_lsu_iss_exe_bits_fun_amoswap_w,
  input         io_lsu_iss_exe_bits_fun_amoadd_w,
  input         io_lsu_iss_exe_bits_fun_amoxor_w,
  input         io_lsu_iss_exe_bits_fun_amoand_w,
  input         io_lsu_iss_exe_bits_fun_amoor_w,
  input         io_lsu_iss_exe_bits_fun_amomin_w,
  input         io_lsu_iss_exe_bits_fun_amomax_w,
  input         io_lsu_iss_exe_bits_fun_amominu_w,
  input         io_lsu_iss_exe_bits_fun_amomaxu_w,
  input         io_lsu_iss_exe_bits_fun_lr_d,
  input         io_lsu_iss_exe_bits_fun_sc_d,
  input         io_lsu_iss_exe_bits_fun_amoswap_d,
  input         io_lsu_iss_exe_bits_fun_amoadd_d,
  input         io_lsu_iss_exe_bits_fun_amoxor_d,
  input         io_lsu_iss_exe_bits_fun_amoand_d,
  input         io_lsu_iss_exe_bits_fun_amoor_d,
  input         io_lsu_iss_exe_bits_fun_amomin_d,
  input         io_lsu_iss_exe_bits_fun_amomax_d,
  input         io_lsu_iss_exe_bits_fun_amominu_d,
  input         io_lsu_iss_exe_bits_fun_amomaxu_d,
  input         io_lsu_iss_exe_bits_fun_flw,
  input         io_lsu_iss_exe_bits_fun_fsw,
  input         io_lsu_iss_exe_bits_fun_fld,
  input         io_lsu_iss_exe_bits_fun_fsd,
  input  [63:0] io_lsu_iss_exe_bits_param_dat_op1,
  input         io_lsu_exe_iwb_ready,
  input         io_lsu_exe_fwb_ready,
  input         io_mul_iss_exe_0_valid,
  input         io_mul_iss_exe_0_bits_fun_mul,
  input         io_mul_iss_exe_0_bits_fun_mulh,
  input         io_mul_iss_exe_0_bits_fun_mulhsu,
  input         io_mul_iss_exe_0_bits_fun_mulhu,
  input         io_mul_iss_exe_0_bits_fun_div,
  input         io_mul_iss_exe_0_bits_fun_divu,
  input         io_mul_iss_exe_0_bits_fun_rem,
  input         io_mul_iss_exe_0_bits_fun_remu,
  input         io_mul_iss_exe_0_bits_fun_mulw,
  input         io_mul_iss_exe_0_bits_fun_divw,
  input         io_mul_iss_exe_0_bits_fun_divuw,
  input         io_mul_iss_exe_0_bits_fun_remw,
  input         io_mul_iss_exe_0_bits_fun_remuw,
  input  [63:0] io_mul_iss_exe_0_bits_param_dat_op1,
  input  [63:0] io_mul_iss_exe_0_bits_param_dat_op2,
  input         io_mul_exe_iwb_0_ready,
  input         io_fpu_iss_exe_0_valid,
  input         io_bftq_valid,
  input         io_bftq_bits_isPredictTaken,
  input         io_jftq_valid,
  input  [38:0] io_jftq_bits_btbResp_target,
  input  [38:0] io_jftq_bits_rasResp_target,
  input         io_jftq_bits_isRas,
  input         io_bctq_ready,
  input         io_jctq_ready,
  input         io_csr_data_valid,
  input         io_csr_cmm_op_ready,
  input         io_mmu_lsu_valid,
  input  [63:0] io_mmu_lsu_bits_paddr,
  input         io_mmu_lsu_bits_is_paging_fault,
  input         io_mmu_lsu_bits_is_access_fault,
  input         io_cmm_lsu_is_amo_pending,
  input         io_cmm_lsu_is_store_commit_0,
  input         io_missUnit_dcache_acquire_ready,
  input         io_missUnit_dcache_grant_valid,
  input  [2:0]  io_missUnit_dcache_grant_bits_opcode,
  input  [2:0]  io_missUnit_dcache_grant_bits_size,
  input         io_missUnit_dcache_grant_bits_source,
  input         io_missUnit_dcache_grantAck_ready,
  input         io_probeUnit_dcache_probe_valid,
  input  [31:0] io_probeUnit_dcache_probe_bits_address,
  input         io_writeBackUnit_dcache_release_ready,
  input         io_writeBackUnit_dcache_grant_valid,
  input         io_writeBackUnit_dcache_grant_bits_source,
  input         io_system_getPut_ready,
  input         io_system_access_valid,
  input  [2:0]  io_system_access_bits_opcode,
  input         io_periph_getPut_ready,
  input         io_periph_access_valid,
  input  [2:0]  io_periph_access_bits_opcode,
  input         io_flush
);
  wire  alu_0_clock; // @[Execute.scala 98:52]
  wire  alu_0_reset; // @[Execute.scala 98:52]
  wire  alu_0_io_alu_iss_exe_valid; // @[Execute.scala 98:52]
  wire  alu_0_io_alu_exe_iwb_ready; // @[Execute.scala 98:52]
  wire  alu_0_io_flush; // @[Execute.scala 98:52]
  wire  bru_clock; // @[Execute.scala 99:19]
  wire  bru_reset; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_ready; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_valid; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_jalr; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_beq; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_bne; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_blt; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_bge; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_bltu; // @[Execute.scala 99:19]
  wire  bru_io_bru_iss_exe_bits_fun_bgeu; // @[Execute.scala 99:19]
  wire [63:0] bru_io_bru_iss_exe_bits_param_imm; // @[Execute.scala 99:19]
  wire [63:0] bru_io_bru_iss_exe_bits_param_dat_op1; // @[Execute.scala 99:19]
  wire [63:0] bru_io_bru_iss_exe_bits_param_dat_op2; // @[Execute.scala 99:19]
  wire  bru_io_bru_exe_iwb_ready; // @[Execute.scala 99:19]
  wire  bru_io_bftq_ready; // @[Execute.scala 99:19]
  wire  bru_io_bftq_valid; // @[Execute.scala 99:19]
  wire  bru_io_bftq_bits_isPredictTaken; // @[Execute.scala 99:19]
  wire  bru_io_jftq_ready; // @[Execute.scala 99:19]
  wire  bru_io_jftq_valid; // @[Execute.scala 99:19]
  wire [38:0] bru_io_jftq_bits_btbResp_target; // @[Execute.scala 99:19]
  wire [38:0] bru_io_jftq_bits_rasResp_target; // @[Execute.scala 99:19]
  wire  bru_io_jftq_bits_isRas; // @[Execute.scala 99:19]
  wire  bru_io_bctq_ready; // @[Execute.scala 99:19]
  wire  bru_io_jctq_ready; // @[Execute.scala 99:19]
  wire  bru_io_flush; // @[Execute.scala 99:19]
  wire  lsu_clock; // @[Execute.scala 101:21]
  wire  lsu_reset; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_valid; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lb; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lh; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lw; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_ld; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lbu; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lhu; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lwu; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sb; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sh; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sw; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sd; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_fence; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_fence_i; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sfence_vma; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoswap_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_lr_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_sc_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_flw; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_fsw; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_fld; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_iss_exe_bits_fun_fsd; // @[Execute.scala 101:21]
  wire [63:0] lsu_io_lsu_iss_exe_bits_param_dat_op1; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_exe_iwb_ready; // @[Execute.scala 101:21]
  wire  lsu_io_lsu_exe_fwb_ready; // @[Execute.scala 101:21]
  wire  lsu_io_cmm_lsu_is_amo_pending; // @[Execute.scala 101:21]
  wire  lsu_io_cmm_lsu_is_store_commit_0; // @[Execute.scala 101:21]
  wire  lsu_io_mmu_lsu_valid; // @[Execute.scala 101:21]
  wire [63:0] lsu_io_mmu_lsu_bits_paddr; // @[Execute.scala 101:21]
  wire  lsu_io_mmu_lsu_bits_is_paging_fault; // @[Execute.scala 101:21]
  wire  lsu_io_mmu_lsu_bits_is_access_fault; // @[Execute.scala 101:21]
  wire  lsu_io_missUnit_dcache_acquire_ready; // @[Execute.scala 101:21]
  wire  lsu_io_missUnit_dcache_grant_valid; // @[Execute.scala 101:21]
  wire [2:0] lsu_io_missUnit_dcache_grant_bits_opcode; // @[Execute.scala 101:21]
  wire [2:0] lsu_io_missUnit_dcache_grant_bits_size; // @[Execute.scala 101:21]
  wire  lsu_io_missUnit_dcache_grant_bits_source; // @[Execute.scala 101:21]
  wire  lsu_io_missUnit_dcache_grantAck_ready; // @[Execute.scala 101:21]
  wire  lsu_io_probeUnit_dcache_probe_valid; // @[Execute.scala 101:21]
  wire [31:0] lsu_io_probeUnit_dcache_probe_bits_address; // @[Execute.scala 101:21]
  wire  lsu_io_writeBackUnit_dcache_release_ready; // @[Execute.scala 101:21]
  wire  lsu_io_writeBackUnit_dcache_grant_valid; // @[Execute.scala 101:21]
  wire  lsu_io_writeBackUnit_dcache_grant_bits_source; // @[Execute.scala 101:21]
  wire  lsu_io_system_getPut_ready; // @[Execute.scala 101:21]
  wire  lsu_io_system_access_valid; // @[Execute.scala 101:21]
  wire [2:0] lsu_io_system_access_bits_opcode; // @[Execute.scala 101:21]
  wire  lsu_io_periph_getPut_ready; // @[Execute.scala 101:21]
  wire  lsu_io_periph_access_valid; // @[Execute.scala 101:21]
  wire [2:0] lsu_io_periph_access_bits_opcode; // @[Execute.scala 101:21]
  wire  lsu_io_flush; // @[Execute.scala 101:21]
  wire  csr_clock; // @[Execute.scala 169:19]
  wire  csr_reset; // @[Execute.scala 169:19]
  wire  csr_io_csr_iss_exe_valid; // @[Execute.scala 169:19]
  wire  csr_io_csr_exe_iwb_ready; // @[Execute.scala 169:19]
  wire  csr_io_csr_data_valid; // @[Execute.scala 169:19]
  wire  csr_io_csr_cmm_op_ready; // @[Execute.scala 169:19]
  wire  csr_io_flush; // @[Execute.scala 169:19]
  wire  mulDiv_0_clock; // @[Execute.scala 170:76]
  wire  mulDiv_0_reset; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_valid; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_mul; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_mulh; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_mulhu; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_div; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_divu; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_rem; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_remu; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_mulw; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_divw; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_divuw; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_remw; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_iss_exe_bits_fun_remuw; // @[Execute.scala 170:76]
  wire [63:0] mulDiv_0_io_mul_iss_exe_bits_param_dat_op1; // @[Execute.scala 170:76]
  wire [63:0] mulDiv_0_io_mul_iss_exe_bits_param_dat_op2; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_mul_exe_iwb_ready; // @[Execute.scala 170:76]
  wire  mulDiv_0_io_flush; // @[Execute.scala 170:76]
  wire  fpu_0_clock; // @[Execute.scala 172:103]
  wire  fpu_0_reset; // @[Execute.scala 172:103]
  wire  fpu_0_io_fpu_iss_exe_valid; // @[Execute.scala 172:103]
  Alu alu_0 ( // @[Execute.scala 98:52]
    .clock(alu_0_clock),
    .reset(alu_0_reset),
    .io_alu_iss_exe_valid(alu_0_io_alu_iss_exe_valid),
    .io_alu_exe_iwb_ready(alu_0_io_alu_exe_iwb_ready),
    .io_flush(alu_0_io_flush)
  );
  Bru bru ( // @[Execute.scala 99:19]
    .clock(bru_clock),
    .reset(bru_reset),
    .io_bru_iss_exe_ready(bru_io_bru_iss_exe_ready),
    .io_bru_iss_exe_valid(bru_io_bru_iss_exe_valid),
    .io_bru_iss_exe_bits_fun_jalr(bru_io_bru_iss_exe_bits_fun_jalr),
    .io_bru_iss_exe_bits_fun_beq(bru_io_bru_iss_exe_bits_fun_beq),
    .io_bru_iss_exe_bits_fun_bne(bru_io_bru_iss_exe_bits_fun_bne),
    .io_bru_iss_exe_bits_fun_blt(bru_io_bru_iss_exe_bits_fun_blt),
    .io_bru_iss_exe_bits_fun_bge(bru_io_bru_iss_exe_bits_fun_bge),
    .io_bru_iss_exe_bits_fun_bltu(bru_io_bru_iss_exe_bits_fun_bltu),
    .io_bru_iss_exe_bits_fun_bgeu(bru_io_bru_iss_exe_bits_fun_bgeu),
    .io_bru_iss_exe_bits_param_imm(bru_io_bru_iss_exe_bits_param_imm),
    .io_bru_iss_exe_bits_param_dat_op1(bru_io_bru_iss_exe_bits_param_dat_op1),
    .io_bru_iss_exe_bits_param_dat_op2(bru_io_bru_iss_exe_bits_param_dat_op2),
    .io_bru_exe_iwb_ready(bru_io_bru_exe_iwb_ready),
    .io_bftq_ready(bru_io_bftq_ready),
    .io_bftq_valid(bru_io_bftq_valid),
    .io_bftq_bits_isPredictTaken(bru_io_bftq_bits_isPredictTaken),
    .io_jftq_ready(bru_io_jftq_ready),
    .io_jftq_valid(bru_io_jftq_valid),
    .io_jftq_bits_btbResp_target(bru_io_jftq_bits_btbResp_target),
    .io_jftq_bits_rasResp_target(bru_io_jftq_bits_rasResp_target),
    .io_jftq_bits_isRas(bru_io_jftq_bits_isRas),
    .io_bctq_ready(bru_io_bctq_ready),
    .io_jctq_ready(bru_io_jctq_ready),
    .io_flush(bru_io_flush)
  );
  Lsu lsu ( // @[Execute.scala 101:21]
    .clock(lsu_clock),
    .reset(lsu_reset),
    .io_lsu_iss_exe_valid(lsu_io_lsu_iss_exe_valid),
    .io_lsu_iss_exe_bits_fun_lb(lsu_io_lsu_iss_exe_bits_fun_lb),
    .io_lsu_iss_exe_bits_fun_lh(lsu_io_lsu_iss_exe_bits_fun_lh),
    .io_lsu_iss_exe_bits_fun_lw(lsu_io_lsu_iss_exe_bits_fun_lw),
    .io_lsu_iss_exe_bits_fun_ld(lsu_io_lsu_iss_exe_bits_fun_ld),
    .io_lsu_iss_exe_bits_fun_lbu(lsu_io_lsu_iss_exe_bits_fun_lbu),
    .io_lsu_iss_exe_bits_fun_lhu(lsu_io_lsu_iss_exe_bits_fun_lhu),
    .io_lsu_iss_exe_bits_fun_lwu(lsu_io_lsu_iss_exe_bits_fun_lwu),
    .io_lsu_iss_exe_bits_fun_sb(lsu_io_lsu_iss_exe_bits_fun_sb),
    .io_lsu_iss_exe_bits_fun_sh(lsu_io_lsu_iss_exe_bits_fun_sh),
    .io_lsu_iss_exe_bits_fun_sw(lsu_io_lsu_iss_exe_bits_fun_sw),
    .io_lsu_iss_exe_bits_fun_sd(lsu_io_lsu_iss_exe_bits_fun_sd),
    .io_lsu_iss_exe_bits_fun_fence(lsu_io_lsu_iss_exe_bits_fun_fence),
    .io_lsu_iss_exe_bits_fun_fence_i(lsu_io_lsu_iss_exe_bits_fun_fence_i),
    .io_lsu_iss_exe_bits_fun_sfence_vma(lsu_io_lsu_iss_exe_bits_fun_sfence_vma),
    .io_lsu_iss_exe_bits_fun_lr_w(lsu_io_lsu_iss_exe_bits_fun_lr_w),
    .io_lsu_iss_exe_bits_fun_sc_w(lsu_io_lsu_iss_exe_bits_fun_sc_w),
    .io_lsu_iss_exe_bits_fun_amoswap_w(lsu_io_lsu_iss_exe_bits_fun_amoswap_w),
    .io_lsu_iss_exe_bits_fun_amoadd_w(lsu_io_lsu_iss_exe_bits_fun_amoadd_w),
    .io_lsu_iss_exe_bits_fun_amoxor_w(lsu_io_lsu_iss_exe_bits_fun_amoxor_w),
    .io_lsu_iss_exe_bits_fun_amoand_w(lsu_io_lsu_iss_exe_bits_fun_amoand_w),
    .io_lsu_iss_exe_bits_fun_amoor_w(lsu_io_lsu_iss_exe_bits_fun_amoor_w),
    .io_lsu_iss_exe_bits_fun_amomin_w(lsu_io_lsu_iss_exe_bits_fun_amomin_w),
    .io_lsu_iss_exe_bits_fun_amomax_w(lsu_io_lsu_iss_exe_bits_fun_amomax_w),
    .io_lsu_iss_exe_bits_fun_amominu_w(lsu_io_lsu_iss_exe_bits_fun_amominu_w),
    .io_lsu_iss_exe_bits_fun_amomaxu_w(lsu_io_lsu_iss_exe_bits_fun_amomaxu_w),
    .io_lsu_iss_exe_bits_fun_lr_d(lsu_io_lsu_iss_exe_bits_fun_lr_d),
    .io_lsu_iss_exe_bits_fun_sc_d(lsu_io_lsu_iss_exe_bits_fun_sc_d),
    .io_lsu_iss_exe_bits_fun_amoswap_d(lsu_io_lsu_iss_exe_bits_fun_amoswap_d),
    .io_lsu_iss_exe_bits_fun_amoadd_d(lsu_io_lsu_iss_exe_bits_fun_amoadd_d),
    .io_lsu_iss_exe_bits_fun_amoxor_d(lsu_io_lsu_iss_exe_bits_fun_amoxor_d),
    .io_lsu_iss_exe_bits_fun_amoand_d(lsu_io_lsu_iss_exe_bits_fun_amoand_d),
    .io_lsu_iss_exe_bits_fun_amoor_d(lsu_io_lsu_iss_exe_bits_fun_amoor_d),
    .io_lsu_iss_exe_bits_fun_amomin_d(lsu_io_lsu_iss_exe_bits_fun_amomin_d),
    .io_lsu_iss_exe_bits_fun_amomax_d(lsu_io_lsu_iss_exe_bits_fun_amomax_d),
    .io_lsu_iss_exe_bits_fun_amominu_d(lsu_io_lsu_iss_exe_bits_fun_amominu_d),
    .io_lsu_iss_exe_bits_fun_amomaxu_d(lsu_io_lsu_iss_exe_bits_fun_amomaxu_d),
    .io_lsu_iss_exe_bits_fun_flw(lsu_io_lsu_iss_exe_bits_fun_flw),
    .io_lsu_iss_exe_bits_fun_fsw(lsu_io_lsu_iss_exe_bits_fun_fsw),
    .io_lsu_iss_exe_bits_fun_fld(lsu_io_lsu_iss_exe_bits_fun_fld),
    .io_lsu_iss_exe_bits_fun_fsd(lsu_io_lsu_iss_exe_bits_fun_fsd),
    .io_lsu_iss_exe_bits_param_dat_op1(lsu_io_lsu_iss_exe_bits_param_dat_op1),
    .io_lsu_exe_iwb_ready(lsu_io_lsu_exe_iwb_ready),
    .io_lsu_exe_fwb_ready(lsu_io_lsu_exe_fwb_ready),
    .io_cmm_lsu_is_amo_pending(lsu_io_cmm_lsu_is_amo_pending),
    .io_cmm_lsu_is_store_commit_0(lsu_io_cmm_lsu_is_store_commit_0),
    .io_mmu_lsu_valid(lsu_io_mmu_lsu_valid),
    .io_mmu_lsu_bits_paddr(lsu_io_mmu_lsu_bits_paddr),
    .io_mmu_lsu_bits_is_paging_fault(lsu_io_mmu_lsu_bits_is_paging_fault),
    .io_mmu_lsu_bits_is_access_fault(lsu_io_mmu_lsu_bits_is_access_fault),
    .io_missUnit_dcache_acquire_ready(lsu_io_missUnit_dcache_acquire_ready),
    .io_missUnit_dcache_grant_valid(lsu_io_missUnit_dcache_grant_valid),
    .io_missUnit_dcache_grant_bits_opcode(lsu_io_missUnit_dcache_grant_bits_opcode),
    .io_missUnit_dcache_grant_bits_size(lsu_io_missUnit_dcache_grant_bits_size),
    .io_missUnit_dcache_grant_bits_source(lsu_io_missUnit_dcache_grant_bits_source),
    .io_missUnit_dcache_grantAck_ready(lsu_io_missUnit_dcache_grantAck_ready),
    .io_probeUnit_dcache_probe_valid(lsu_io_probeUnit_dcache_probe_valid),
    .io_probeUnit_dcache_probe_bits_address(lsu_io_probeUnit_dcache_probe_bits_address),
    .io_writeBackUnit_dcache_release_ready(lsu_io_writeBackUnit_dcache_release_ready),
    .io_writeBackUnit_dcache_grant_valid(lsu_io_writeBackUnit_dcache_grant_valid),
    .io_writeBackUnit_dcache_grant_bits_source(lsu_io_writeBackUnit_dcache_grant_bits_source),
    .io_system_getPut_ready(lsu_io_system_getPut_ready),
    .io_system_access_valid(lsu_io_system_access_valid),
    .io_system_access_bits_opcode(lsu_io_system_access_bits_opcode),
    .io_periph_getPut_ready(lsu_io_periph_getPut_ready),
    .io_periph_access_valid(lsu_io_periph_access_valid),
    .io_periph_access_bits_opcode(lsu_io_periph_access_bits_opcode),
    .io_flush(lsu_io_flush)
  );
  Csr csr ( // @[Execute.scala 169:19]
    .clock(csr_clock),
    .reset(csr_reset),
    .io_csr_iss_exe_valid(csr_io_csr_iss_exe_valid),
    .io_csr_exe_iwb_ready(csr_io_csr_exe_iwb_ready),
    .io_csr_data_valid(csr_io_csr_data_valid),
    .io_csr_cmm_op_ready(csr_io_csr_cmm_op_ready),
    .io_flush(csr_io_flush)
  );
  MulDiv mulDiv_0 ( // @[Execute.scala 170:76]
    .clock(mulDiv_0_clock),
    .reset(mulDiv_0_reset),
    .io_mul_iss_exe_valid(mulDiv_0_io_mul_iss_exe_valid),
    .io_mul_iss_exe_bits_fun_mul(mulDiv_0_io_mul_iss_exe_bits_fun_mul),
    .io_mul_iss_exe_bits_fun_mulh(mulDiv_0_io_mul_iss_exe_bits_fun_mulh),
    .io_mul_iss_exe_bits_fun_mulhsu(mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu),
    .io_mul_iss_exe_bits_fun_mulhu(mulDiv_0_io_mul_iss_exe_bits_fun_mulhu),
    .io_mul_iss_exe_bits_fun_div(mulDiv_0_io_mul_iss_exe_bits_fun_div),
    .io_mul_iss_exe_bits_fun_divu(mulDiv_0_io_mul_iss_exe_bits_fun_divu),
    .io_mul_iss_exe_bits_fun_rem(mulDiv_0_io_mul_iss_exe_bits_fun_rem),
    .io_mul_iss_exe_bits_fun_remu(mulDiv_0_io_mul_iss_exe_bits_fun_remu),
    .io_mul_iss_exe_bits_fun_mulw(mulDiv_0_io_mul_iss_exe_bits_fun_mulw),
    .io_mul_iss_exe_bits_fun_divw(mulDiv_0_io_mul_iss_exe_bits_fun_divw),
    .io_mul_iss_exe_bits_fun_divuw(mulDiv_0_io_mul_iss_exe_bits_fun_divuw),
    .io_mul_iss_exe_bits_fun_remw(mulDiv_0_io_mul_iss_exe_bits_fun_remw),
    .io_mul_iss_exe_bits_fun_remuw(mulDiv_0_io_mul_iss_exe_bits_fun_remuw),
    .io_mul_iss_exe_bits_param_dat_op1(mulDiv_0_io_mul_iss_exe_bits_param_dat_op1),
    .io_mul_iss_exe_bits_param_dat_op2(mulDiv_0_io_mul_iss_exe_bits_param_dat_op2),
    .io_mul_exe_iwb_ready(mulDiv_0_io_mul_exe_iwb_ready),
    .io_flush(mulDiv_0_io_flush)
  );
  FakeFAlu fpu_0 ( // @[Execute.scala 172:103]
    .clock(fpu_0_clock),
    .reset(fpu_0_reset),
    .io_fpu_iss_exe_valid(fpu_0_io_fpu_iss_exe_valid)
  );
  assign alu_0_clock = clock;
  assign alu_0_reset = reset;
  assign alu_0_io_alu_iss_exe_valid = io_alu_iss_exe_0_valid; // @[Execute.scala 185:27]
  assign alu_0_io_alu_exe_iwb_ready = io_alu_exe_iwb_0_ready; // @[Execute.scala 186:27]
  assign alu_0_io_flush = io_flush; // @[Execute.scala 187:21]
  assign bru_clock = clock;
  assign bru_reset = reset;
  assign bru_io_bru_iss_exe_valid = io_bru_iss_exe_valid; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_jalr = io_bru_iss_exe_bits_fun_jalr; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_beq = io_bru_iss_exe_bits_fun_beq; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_bne = io_bru_iss_exe_bits_fun_bne; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_blt = io_bru_iss_exe_bits_fun_blt; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_bge = io_bru_iss_exe_bits_fun_bge; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_bltu = io_bru_iss_exe_bits_fun_bltu; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_fun_bgeu = io_bru_iss_exe_bits_fun_bgeu; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_param_imm = io_bru_iss_exe_bits_param_imm; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_param_dat_op1 = io_bru_iss_exe_bits_param_dat_op1; // @[Execute.scala 191:22]
  assign bru_io_bru_iss_exe_bits_param_dat_op2 = io_bru_iss_exe_bits_param_dat_op2; // @[Execute.scala 191:22]
  assign bru_io_bru_exe_iwb_ready = io_bru_exe_iwb_ready; // @[Execute.scala 192:22]
  assign bru_io_bftq_valid = io_bftq_valid; // @[Execute.scala 195:15]
  assign bru_io_bftq_bits_isPredictTaken = io_bftq_bits_isPredictTaken; // @[Execute.scala 195:15]
  assign bru_io_jftq_valid = io_jftq_valid; // @[Execute.scala 196:15]
  assign bru_io_jftq_bits_btbResp_target = io_jftq_bits_btbResp_target; // @[Execute.scala 196:15]
  assign bru_io_jftq_bits_rasResp_target = io_jftq_bits_rasResp_target; // @[Execute.scala 196:15]
  assign bru_io_jftq_bits_isRas = io_jftq_bits_isRas; // @[Execute.scala 196:15]
  assign bru_io_bctq_ready = io_bctq_ready; // @[Execute.scala 198:11]
  assign bru_io_jctq_ready = io_jctq_ready; // @[Execute.scala 199:11]
  assign bru_io_flush = io_flush; // @[Execute.scala 193:16]
  assign lsu_clock = clock;
  assign lsu_reset = reset;
  assign lsu_io_lsu_iss_exe_valid = io_lsu_iss_exe_valid; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lb = io_lsu_iss_exe_bits_fun_lb; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lh = io_lsu_iss_exe_bits_fun_lh; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lw = io_lsu_iss_exe_bits_fun_lw; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_ld = io_lsu_iss_exe_bits_fun_ld; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lbu = io_lsu_iss_exe_bits_fun_lbu; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lhu = io_lsu_iss_exe_bits_fun_lhu; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lwu = io_lsu_iss_exe_bits_fun_lwu; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sb = io_lsu_iss_exe_bits_fun_sb; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sh = io_lsu_iss_exe_bits_fun_sh; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sw = io_lsu_iss_exe_bits_fun_sw; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sd = io_lsu_iss_exe_bits_fun_sd; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_fence = io_lsu_iss_exe_bits_fun_fence; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_fence_i = io_lsu_iss_exe_bits_fun_fence_i; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sfence_vma = io_lsu_iss_exe_bits_fun_sfence_vma; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lr_w = io_lsu_iss_exe_bits_fun_lr_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sc_w = io_lsu_iss_exe_bits_fun_sc_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoswap_w = io_lsu_iss_exe_bits_fun_amoswap_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoadd_w = io_lsu_iss_exe_bits_fun_amoadd_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoxor_w = io_lsu_iss_exe_bits_fun_amoxor_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoand_w = io_lsu_iss_exe_bits_fun_amoand_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoor_w = io_lsu_iss_exe_bits_fun_amoor_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomin_w = io_lsu_iss_exe_bits_fun_amomin_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomax_w = io_lsu_iss_exe_bits_fun_amomax_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amominu_w = io_lsu_iss_exe_bits_fun_amominu_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomaxu_w = io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_lr_d = io_lsu_iss_exe_bits_fun_lr_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_sc_d = io_lsu_iss_exe_bits_fun_sc_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoswap_d = io_lsu_iss_exe_bits_fun_amoswap_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoadd_d = io_lsu_iss_exe_bits_fun_amoadd_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoxor_d = io_lsu_iss_exe_bits_fun_amoxor_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoand_d = io_lsu_iss_exe_bits_fun_amoand_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amoor_d = io_lsu_iss_exe_bits_fun_amoor_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomin_d = io_lsu_iss_exe_bits_fun_amomin_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomax_d = io_lsu_iss_exe_bits_fun_amomax_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amominu_d = io_lsu_iss_exe_bits_fun_amominu_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_amomaxu_d = io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_flw = io_lsu_iss_exe_bits_fun_flw; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_fsw = io_lsu_iss_exe_bits_fun_fsw; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_fld = io_lsu_iss_exe_bits_fun_fld; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_fun_fsd = io_lsu_iss_exe_bits_fun_fsd; // @[Execute.scala 103:24]
  assign lsu_io_lsu_iss_exe_bits_param_dat_op1 = io_lsu_iss_exe_bits_param_dat_op1; // @[Execute.scala 103:24]
  assign lsu_io_lsu_exe_iwb_ready = io_lsu_exe_iwb_ready; // @[Execute.scala 104:24]
  assign lsu_io_lsu_exe_fwb_ready = io_lsu_exe_fwb_ready; // @[Execute.scala 105:24]
  assign lsu_io_cmm_lsu_is_amo_pending = io_cmm_lsu_is_amo_pending; // @[Execute.scala 110:20]
  assign lsu_io_cmm_lsu_is_store_commit_0 = io_cmm_lsu_is_store_commit_0; // @[Execute.scala 110:20]
  assign lsu_io_mmu_lsu_valid = io_mmu_lsu_valid; // @[Execute.scala 108:20]
  assign lsu_io_mmu_lsu_bits_paddr = io_mmu_lsu_bits_paddr; // @[Execute.scala 108:20]
  assign lsu_io_mmu_lsu_bits_is_paging_fault = io_mmu_lsu_bits_is_paging_fault; // @[Execute.scala 108:20]
  assign lsu_io_mmu_lsu_bits_is_access_fault = io_mmu_lsu_bits_is_access_fault; // @[Execute.scala 108:20]
  assign lsu_io_missUnit_dcache_acquire_ready = io_missUnit_dcache_acquire_ready; // @[Execute.scala 116:46]
  assign lsu_io_missUnit_dcache_grant_valid = io_missUnit_dcache_grant_valid; // @[Execute.scala 118:44]
  assign lsu_io_missUnit_dcache_grant_bits_opcode = io_missUnit_dcache_grant_bits_opcode; // @[Execute.scala 119:44]
  assign lsu_io_missUnit_dcache_grant_bits_size = io_missUnit_dcache_grant_bits_size; // @[Execute.scala 119:44]
  assign lsu_io_missUnit_dcache_grant_bits_source = io_missUnit_dcache_grant_bits_source; // @[Execute.scala 119:44]
  assign lsu_io_missUnit_dcache_grantAck_ready = io_missUnit_dcache_grantAck_ready; // @[Execute.scala 124:47]
  assign lsu_io_probeUnit_dcache_probe_valid = io_probeUnit_dcache_probe_valid; // @[Execute.scala 126:45]
  assign lsu_io_probeUnit_dcache_probe_bits_address = io_probeUnit_dcache_probe_bits_address; // @[Execute.scala 127:44]
  assign lsu_io_writeBackUnit_dcache_release_ready = io_writeBackUnit_dcache_release_ready; // @[Execute.scala 132:51]
  assign lsu_io_writeBackUnit_dcache_grant_valid = io_writeBackUnit_dcache_grant_valid; // @[Execute.scala 134:49]
  assign lsu_io_writeBackUnit_dcache_grant_bits_source = io_writeBackUnit_dcache_grant_bits_source; // @[Execute.scala 135:48]
  assign lsu_io_system_getPut_ready = io_system_getPut_ready; // @[Execute.scala 151:32]
  assign lsu_io_system_access_valid = io_system_access_valid; // @[Execute.scala 152:32]
  assign lsu_io_system_access_bits_opcode = io_system_access_bits_opcode; // @[Execute.scala 153:31]
  assign lsu_io_periph_getPut_ready = io_periph_getPut_ready; // @[Execute.scala 158:32]
  assign lsu_io_periph_access_valid = io_periph_access_valid; // @[Execute.scala 159:32]
  assign lsu_io_periph_access_bits_opcode = io_periph_access_bits_opcode; // @[Execute.scala 160:31]
  assign lsu_io_flush = io_flush; // @[Execute.scala 165:18]
  assign csr_clock = clock;
  assign csr_reset = reset;
  assign csr_io_csr_iss_exe_valid = io_csr_iss_exe_valid; // @[Execute.scala 204:22]
  assign csr_io_csr_exe_iwb_ready = io_csr_exe_iwb_ready; // @[Execute.scala 205:22]
  assign csr_io_csr_data_valid = io_csr_data_valid; // @[Execute.scala 207:19]
  assign csr_io_csr_cmm_op_ready = io_csr_cmm_op_ready; // @[Execute.scala 208:21]
  assign csr_io_flush = io_flush; // @[Execute.scala 209:16]
  assign mulDiv_0_clock = clock;
  assign mulDiv_0_reset = reset;
  assign mulDiv_0_io_mul_iss_exe_valid = io_mul_iss_exe_0_valid; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_mul = io_mul_iss_exe_0_bits_fun_mul; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_mulh = io_mul_iss_exe_0_bits_fun_mulh; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu = io_mul_iss_exe_0_bits_fun_mulhsu; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_mulhu = io_mul_iss_exe_0_bits_fun_mulhu; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_div = io_mul_iss_exe_0_bits_fun_div; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_divu = io_mul_iss_exe_0_bits_fun_divu; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_rem = io_mul_iss_exe_0_bits_fun_rem; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_remu = io_mul_iss_exe_0_bits_fun_remu; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_mulw = io_mul_iss_exe_0_bits_fun_mulw; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_divw = io_mul_iss_exe_0_bits_fun_divw; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_divuw = io_mul_iss_exe_0_bits_fun_divuw; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_remw = io_mul_iss_exe_0_bits_fun_remw; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_fun_remuw = io_mul_iss_exe_0_bits_fun_remuw; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_param_dat_op1 = io_mul_iss_exe_0_bits_param_dat_op1; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_iss_exe_bits_param_dat_op2 = io_mul_iss_exe_0_bits_param_dat_op2; // @[Execute.scala 212:30]
  assign mulDiv_0_io_mul_exe_iwb_ready = io_mul_exe_iwb_0_ready; // @[Execute.scala 213:30]
  assign mulDiv_0_io_flush = io_flush; // @[Execute.scala 214:24]
  assign fpu_0_clock = clock;
  assign fpu_0_reset = reset;
  assign fpu_0_io_fpu_iss_exe_valid = io_fpu_iss_exe_0_valid; // @[Execute.scala 176:27]
endmodule
module XRegFiles(
  input        clock,
  input        reset,
  output       io_rename_0_req_ready,
  input        io_rename_0_req_valid,
  input        io_rgReq_0_valid,
  input  [5:0] io_rgReq_0_bits,
  input        io_rgReq_1_valid,
  input  [5:0] io_rgReq_1_bits,
  output       io_rgRsp_0_valid,
  output       io_rgRsp_1_valid,
  output       io_exe_writeBack_0_ready,
  input        io_exe_writeBack_0_valid,
  input  [5:0] io_exe_writeBack_0_bits_rd0,
  input        io_commit_0_is_comfirm,
  input        io_commit_0_is_MisPredict,
  input        io_commit_0_is_abort,
  input  [4:0] io_commit_0_raw,
  input  [5:0] io_commit_0_phy,
  output       io_commit_0_is_writeback
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
`endif // RANDOMIZE_REG_INIT
  reg [1:0] log_reg_0; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_1; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_2; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_3; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_4; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_5; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_6; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_7; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_8; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_9; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_10; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_11; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_12; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_13; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_14; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_15; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_16; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_17; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_18; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_19; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_20; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_21; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_22; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_23; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_24; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_25; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_26; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_27; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_28; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_29; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_30; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_31; // @[Regfiles.scala 101:12]
  reg [1:0] log_reg_32; // @[Regfiles.scala 101:12]
  reg [5:0] archit_ptr_0; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_1; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_2; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_3; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_4; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_5; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_6; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_7; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_8; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_9; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_10; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_11; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_12; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_13; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_14; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_15; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_16; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_17; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_18; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_19; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_20; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_21; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_22; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_23; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_24; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_25; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_26; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_27; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_28; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_29; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_30; // @[Regfiles.scala 130:27]
  reg [5:0] archit_ptr_31; // @[Regfiles.scala 130:27]
  wire  _T_1 = log_reg_32 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1089 = log_reg_32 == 2'h0 ? 6'h20 : 6'h0; // @[Regfiles.scala 150:{46,62}]
  wire  _T_2 = log_reg_31 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1090 = log_reg_31 == 2'h0 ? 6'h1f : _GEN_1089; // @[Regfiles.scala 150:{46,62}]
  wire  _T_3 = log_reg_30 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1091 = log_reg_30 == 2'h0 ? 6'h1e : _GEN_1090; // @[Regfiles.scala 150:{46,62}]
  wire  _T_4 = log_reg_29 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1092 = log_reg_29 == 2'h0 ? 6'h1d : _GEN_1091; // @[Regfiles.scala 150:{46,62}]
  wire  _T_5 = log_reg_28 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1093 = log_reg_28 == 2'h0 ? 6'h1c : _GEN_1092; // @[Regfiles.scala 150:{46,62}]
  wire  _T_6 = log_reg_27 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1094 = log_reg_27 == 2'h0 ? 6'h1b : _GEN_1093; // @[Regfiles.scala 150:{46,62}]
  wire  _T_7 = log_reg_26 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1095 = log_reg_26 == 2'h0 ? 6'h1a : _GEN_1094; // @[Regfiles.scala 150:{46,62}]
  wire  _T_8 = log_reg_25 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1096 = log_reg_25 == 2'h0 ? 6'h19 : _GEN_1095; // @[Regfiles.scala 150:{46,62}]
  wire  _T_9 = log_reg_24 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1097 = log_reg_24 == 2'h0 ? 6'h18 : _GEN_1096; // @[Regfiles.scala 150:{46,62}]
  wire  _T_10 = log_reg_23 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1098 = log_reg_23 == 2'h0 ? 6'h17 : _GEN_1097; // @[Regfiles.scala 150:{46,62}]
  wire  _T_11 = log_reg_22 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1099 = log_reg_22 == 2'h0 ? 6'h16 : _GEN_1098; // @[Regfiles.scala 150:{46,62}]
  wire  _T_12 = log_reg_21 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1100 = log_reg_21 == 2'h0 ? 6'h15 : _GEN_1099; // @[Regfiles.scala 150:{46,62}]
  wire  _T_13 = log_reg_20 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1101 = log_reg_20 == 2'h0 ? 6'h14 : _GEN_1100; // @[Regfiles.scala 150:{46,62}]
  wire  _T_14 = log_reg_19 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1102 = log_reg_19 == 2'h0 ? 6'h13 : _GEN_1101; // @[Regfiles.scala 150:{46,62}]
  wire  _T_15 = log_reg_18 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1103 = log_reg_18 == 2'h0 ? 6'h12 : _GEN_1102; // @[Regfiles.scala 150:{46,62}]
  wire  _T_16 = log_reg_17 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1104 = log_reg_17 == 2'h0 ? 6'h11 : _GEN_1103; // @[Regfiles.scala 150:{46,62}]
  wire  _T_17 = log_reg_16 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1105 = log_reg_16 == 2'h0 ? 6'h10 : _GEN_1104; // @[Regfiles.scala 150:{46,62}]
  wire  _T_18 = log_reg_15 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1106 = log_reg_15 == 2'h0 ? 6'hf : _GEN_1105; // @[Regfiles.scala 150:{46,62}]
  wire  _T_19 = log_reg_14 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1107 = log_reg_14 == 2'h0 ? 6'he : _GEN_1106; // @[Regfiles.scala 150:{46,62}]
  wire  _T_20 = log_reg_13 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1108 = log_reg_13 == 2'h0 ? 6'hd : _GEN_1107; // @[Regfiles.scala 150:{46,62}]
  wire  _T_21 = log_reg_12 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1109 = log_reg_12 == 2'h0 ? 6'hc : _GEN_1108; // @[Regfiles.scala 150:{46,62}]
  wire  _T_22 = log_reg_11 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1110 = log_reg_11 == 2'h0 ? 6'hb : _GEN_1109; // @[Regfiles.scala 150:{46,62}]
  wire  _T_23 = log_reg_10 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1111 = log_reg_10 == 2'h0 ? 6'ha : _GEN_1110; // @[Regfiles.scala 150:{46,62}]
  wire  _T_24 = log_reg_9 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1112 = log_reg_9 == 2'h0 ? 6'h9 : _GEN_1111; // @[Regfiles.scala 150:{46,62}]
  wire  _T_25 = log_reg_8 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1113 = log_reg_8 == 2'h0 ? 6'h8 : _GEN_1112; // @[Regfiles.scala 150:{46,62}]
  wire  _T_26 = log_reg_7 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1114 = log_reg_7 == 2'h0 ? 6'h7 : _GEN_1113; // @[Regfiles.scala 150:{46,62}]
  wire  _T_27 = log_reg_6 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1115 = log_reg_6 == 2'h0 ? 6'h6 : _GEN_1114; // @[Regfiles.scala 150:{46,62}]
  wire  _T_28 = log_reg_5 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1116 = log_reg_5 == 2'h0 ? 6'h5 : _GEN_1115; // @[Regfiles.scala 150:{46,62}]
  wire  _T_29 = log_reg_4 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1117 = log_reg_4 == 2'h0 ? 6'h4 : _GEN_1116; // @[Regfiles.scala 150:{46,62}]
  wire  _T_30 = log_reg_3 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1118 = log_reg_3 == 2'h0 ? 6'h3 : _GEN_1117; // @[Regfiles.scala 150:{46,62}]
  wire  _T_31 = log_reg_2 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1119 = log_reg_2 == 2'h0 ? 6'h2 : _GEN_1118; // @[Regfiles.scala 150:{46,62}]
  wire  _T_32 = log_reg_1 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] _GEN_1120 = log_reg_1 == 2'h0 ? 6'h1 : _GEN_1119; // @[Regfiles.scala 150:{46,62}]
  wire  _T_33 = log_reg_0 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] molloc_idx_0 = log_reg_0 == 2'h0 ? 6'h0 : _GEN_1120; // @[Regfiles.scala 150:{46,62}]
  wire  _T_34 = io_rename_0_req_ready & io_rename_0_req_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _GEN_1123 = 6'h1 == molloc_idx_0 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1124 = 6'h2 == molloc_idx_0 ? log_reg_2 : _GEN_1123; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1125 = 6'h3 == molloc_idx_0 ? log_reg_3 : _GEN_1124; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1126 = 6'h4 == molloc_idx_0 ? log_reg_4 : _GEN_1125; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1127 = 6'h5 == molloc_idx_0 ? log_reg_5 : _GEN_1126; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1128 = 6'h6 == molloc_idx_0 ? log_reg_6 : _GEN_1127; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1129 = 6'h7 == molloc_idx_0 ? log_reg_7 : _GEN_1128; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1130 = 6'h8 == molloc_idx_0 ? log_reg_8 : _GEN_1129; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1131 = 6'h9 == molloc_idx_0 ? log_reg_9 : _GEN_1130; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1132 = 6'ha == molloc_idx_0 ? log_reg_10 : _GEN_1131; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1133 = 6'hb == molloc_idx_0 ? log_reg_11 : _GEN_1132; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1134 = 6'hc == molloc_idx_0 ? log_reg_12 : _GEN_1133; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1135 = 6'hd == molloc_idx_0 ? log_reg_13 : _GEN_1134; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1136 = 6'he == molloc_idx_0 ? log_reg_14 : _GEN_1135; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1137 = 6'hf == molloc_idx_0 ? log_reg_15 : _GEN_1136; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1138 = 6'h10 == molloc_idx_0 ? log_reg_16 : _GEN_1137; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1139 = 6'h11 == molloc_idx_0 ? log_reg_17 : _GEN_1138; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1140 = 6'h12 == molloc_idx_0 ? log_reg_18 : _GEN_1139; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1141 = 6'h13 == molloc_idx_0 ? log_reg_19 : _GEN_1140; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1142 = 6'h14 == molloc_idx_0 ? log_reg_20 : _GEN_1141; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1143 = 6'h15 == molloc_idx_0 ? log_reg_21 : _GEN_1142; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1144 = 6'h16 == molloc_idx_0 ? log_reg_22 : _GEN_1143; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1145 = 6'h17 == molloc_idx_0 ? log_reg_23 : _GEN_1144; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1146 = 6'h18 == molloc_idx_0 ? log_reg_24 : _GEN_1145; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1147 = 6'h19 == molloc_idx_0 ? log_reg_25 : _GEN_1146; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1148 = 6'h1a == molloc_idx_0 ? log_reg_26 : _GEN_1147; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1149 = 6'h1b == molloc_idx_0 ? log_reg_27 : _GEN_1148; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1150 = 6'h1c == molloc_idx_0 ? log_reg_28 : _GEN_1149; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1151 = 6'h1d == molloc_idx_0 ? log_reg_29 : _GEN_1150; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1152 = 6'h1e == molloc_idx_0 ? log_reg_30 : _GEN_1151; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1153 = 6'h1f == molloc_idx_0 ? log_reg_31 : _GEN_1152; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1154 = 6'h20 == molloc_idx_0 ? log_reg_32 : _GEN_1153; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] _GEN_1155 = 6'h21 == molloc_idx_0 ? 2'h3 : _GEN_1154; // @[Regfiles.scala 160:{34,34}]
  wire  _T_37 = ~reset; // @[Regfiles.scala 160:13]
  wire [1:0] _GEN_1156 = 6'h0 == molloc_idx_0 ? 2'h1 : log_reg_0; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1157 = 6'h1 == molloc_idx_0 ? 2'h1 : log_reg_1; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1158 = 6'h2 == molloc_idx_0 ? 2'h1 : log_reg_2; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1159 = 6'h3 == molloc_idx_0 ? 2'h1 : log_reg_3; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1160 = 6'h4 == molloc_idx_0 ? 2'h1 : log_reg_4; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1161 = 6'h5 == molloc_idx_0 ? 2'h1 : log_reg_5; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1162 = 6'h6 == molloc_idx_0 ? 2'h1 : log_reg_6; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1163 = 6'h7 == molloc_idx_0 ? 2'h1 : log_reg_7; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1164 = 6'h8 == molloc_idx_0 ? 2'h1 : log_reg_8; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1165 = 6'h9 == molloc_idx_0 ? 2'h1 : log_reg_9; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1166 = 6'ha == molloc_idx_0 ? 2'h1 : log_reg_10; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1167 = 6'hb == molloc_idx_0 ? 2'h1 : log_reg_11; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1168 = 6'hc == molloc_idx_0 ? 2'h1 : log_reg_12; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1169 = 6'hd == molloc_idx_0 ? 2'h1 : log_reg_13; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1170 = 6'he == molloc_idx_0 ? 2'h1 : log_reg_14; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1171 = 6'hf == molloc_idx_0 ? 2'h1 : log_reg_15; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1172 = 6'h10 == molloc_idx_0 ? 2'h1 : log_reg_16; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1173 = 6'h11 == molloc_idx_0 ? 2'h1 : log_reg_17; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1174 = 6'h12 == molloc_idx_0 ? 2'h1 : log_reg_18; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1175 = 6'h13 == molloc_idx_0 ? 2'h1 : log_reg_19; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1176 = 6'h14 == molloc_idx_0 ? 2'h1 : log_reg_20; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1177 = 6'h15 == molloc_idx_0 ? 2'h1 : log_reg_21; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1178 = 6'h16 == molloc_idx_0 ? 2'h1 : log_reg_22; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1179 = 6'h17 == molloc_idx_0 ? 2'h1 : log_reg_23; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1180 = 6'h18 == molloc_idx_0 ? 2'h1 : log_reg_24; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1181 = 6'h19 == molloc_idx_0 ? 2'h1 : log_reg_25; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1182 = 6'h1a == molloc_idx_0 ? 2'h1 : log_reg_26; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1183 = 6'h1b == molloc_idx_0 ? 2'h1 : log_reg_27; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1184 = 6'h1c == molloc_idx_0 ? 2'h1 : log_reg_28; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1185 = 6'h1d == molloc_idx_0 ? 2'h1 : log_reg_29; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1186 = 6'h1e == molloc_idx_0 ? 2'h1 : log_reg_30; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1187 = 6'h1f == molloc_idx_0 ? 2'h1 : log_reg_31; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1188 = 6'h20 == molloc_idx_0 ? 2'h1 : log_reg_32; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] _GEN_1221 = _T_34 ? _GEN_1156 : log_reg_0; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1222 = _T_34 ? _GEN_1157 : log_reg_1; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1223 = _T_34 ? _GEN_1158 : log_reg_2; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1224 = _T_34 ? _GEN_1159 : log_reg_3; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1225 = _T_34 ? _GEN_1160 : log_reg_4; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1226 = _T_34 ? _GEN_1161 : log_reg_5; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1227 = _T_34 ? _GEN_1162 : log_reg_6; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1228 = _T_34 ? _GEN_1163 : log_reg_7; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1229 = _T_34 ? _GEN_1164 : log_reg_8; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1230 = _T_34 ? _GEN_1165 : log_reg_9; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1231 = _T_34 ? _GEN_1166 : log_reg_10; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1232 = _T_34 ? _GEN_1167 : log_reg_11; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1233 = _T_34 ? _GEN_1168 : log_reg_12; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1234 = _T_34 ? _GEN_1169 : log_reg_13; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1235 = _T_34 ? _GEN_1170 : log_reg_14; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1236 = _T_34 ? _GEN_1171 : log_reg_15; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1237 = _T_34 ? _GEN_1172 : log_reg_16; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1238 = _T_34 ? _GEN_1173 : log_reg_17; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1239 = _T_34 ? _GEN_1174 : log_reg_18; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1240 = _T_34 ? _GEN_1175 : log_reg_19; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1241 = _T_34 ? _GEN_1176 : log_reg_20; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1242 = _T_34 ? _GEN_1177 : log_reg_21; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1243 = _T_34 ? _GEN_1178 : log_reg_22; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1244 = _T_34 ? _GEN_1179 : log_reg_23; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1245 = _T_34 ? _GEN_1180 : log_reg_24; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1246 = _T_34 ? _GEN_1181 : log_reg_25; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1247 = _T_34 ? _GEN_1182 : log_reg_26; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1248 = _T_34 ? _GEN_1183 : log_reg_27; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1249 = _T_34 ? _GEN_1184 : log_reg_28; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1250 = _T_34 ? _GEN_1185 : log_reg_29; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1251 = _T_34 ? _GEN_1186 : log_reg_30; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1252 = _T_34 ? _GEN_1187 : log_reg_31; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _GEN_1253 = _T_34 ? _GEN_1188 : log_reg_32; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] _io_rename_0_req_ready_T_34 = _T_33 + _T_32; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_36 = _T_31 + _T_30; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_38 = _io_rename_0_req_ready_T_34 + _io_rename_0_req_ready_T_36; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_40 = _T_29 + _T_28; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_42 = _T_27 + _T_26; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_44 = _io_rename_0_req_ready_T_40 + _io_rename_0_req_ready_T_42; // @[Regfiles.scala 165:40]
  wire [3:0] _io_rename_0_req_ready_T_46 = _io_rename_0_req_ready_T_38 + _io_rename_0_req_ready_T_44; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_48 = _T_25 + _T_24; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_50 = _T_23 + _T_22; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_52 = _io_rename_0_req_ready_T_48 + _io_rename_0_req_ready_T_50; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_54 = _T_21 + _T_20; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_56 = _T_18 + _T_17; // @[Regfiles.scala 165:40]
  wire [1:0] _GEN_0 = {{1'd0}, _T_19}; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_58 = _GEN_0 + _io_rename_0_req_ready_T_56; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_60 = _io_rename_0_req_ready_T_54 + _io_rename_0_req_ready_T_58[1:0]; // @[Regfiles.scala 165:40]
  wire [3:0] _io_rename_0_req_ready_T_62 = _io_rename_0_req_ready_T_52 + _io_rename_0_req_ready_T_60; // @[Regfiles.scala 165:40]
  wire [4:0] _io_rename_0_req_ready_T_64 = _io_rename_0_req_ready_T_46 + _io_rename_0_req_ready_T_62; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_66 = _T_16 + _T_15; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_68 = _T_14 + _T_13; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_70 = _io_rename_0_req_ready_T_66 + _io_rename_0_req_ready_T_68; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_72 = _T_12 + _T_11; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_74 = _T_10 + _T_9; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_76 = _io_rename_0_req_ready_T_72 + _io_rename_0_req_ready_T_74; // @[Regfiles.scala 165:40]
  wire [3:0] _io_rename_0_req_ready_T_78 = _io_rename_0_req_ready_T_70 + _io_rename_0_req_ready_T_76; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_80 = _T_8 + _T_7; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_82 = _T_6 + _T_5; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_84 = _io_rename_0_req_ready_T_80 + _io_rename_0_req_ready_T_82; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_86 = _T_4 + _T_3; // @[Regfiles.scala 165:40]
  wire [1:0] _io_rename_0_req_ready_T_88 = {{1'd0}, _T_1}; // @[Regfiles.scala 165:40]
  wire [1:0] _GEN_1 = {{1'd0}, _T_2}; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_90 = _GEN_1 + _io_rename_0_req_ready_T_88; // @[Regfiles.scala 165:40]
  wire [2:0] _io_rename_0_req_ready_T_92 = _io_rename_0_req_ready_T_86 + _io_rename_0_req_ready_T_90[1:0]; // @[Regfiles.scala 165:40]
  wire [3:0] _io_rename_0_req_ready_T_94 = _io_rename_0_req_ready_T_84 + _io_rename_0_req_ready_T_92; // @[Regfiles.scala 165:40]
  wire [4:0] _io_rename_0_req_ready_T_96 = _io_rename_0_req_ready_T_78 + _io_rename_0_req_ready_T_94; // @[Regfiles.scala 165:40]
  wire [5:0] _io_rename_0_req_ready_T_98 = _io_rename_0_req_ready_T_64 + _io_rename_0_req_ready_T_96; // @[Regfiles.scala 165:40]
  reg  io_rgRsp_0_valid_REG; // @[Regfiles.scala 191:36]
  wire [1:0] _GEN_1387 = 6'h1 == io_rgReq_0_bits ? log_reg_1 : log_reg_0; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1388 = 6'h2 == io_rgReq_0_bits ? log_reg_2 : _GEN_1387; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1389 = 6'h3 == io_rgReq_0_bits ? log_reg_3 : _GEN_1388; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1390 = 6'h4 == io_rgReq_0_bits ? log_reg_4 : _GEN_1389; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1391 = 6'h5 == io_rgReq_0_bits ? log_reg_5 : _GEN_1390; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1392 = 6'h6 == io_rgReq_0_bits ? log_reg_6 : _GEN_1391; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1393 = 6'h7 == io_rgReq_0_bits ? log_reg_7 : _GEN_1392; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1394 = 6'h8 == io_rgReq_0_bits ? log_reg_8 : _GEN_1393; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1395 = 6'h9 == io_rgReq_0_bits ? log_reg_9 : _GEN_1394; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1396 = 6'ha == io_rgReq_0_bits ? log_reg_10 : _GEN_1395; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1397 = 6'hb == io_rgReq_0_bits ? log_reg_11 : _GEN_1396; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1398 = 6'hc == io_rgReq_0_bits ? log_reg_12 : _GEN_1397; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1399 = 6'hd == io_rgReq_0_bits ? log_reg_13 : _GEN_1398; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1400 = 6'he == io_rgReq_0_bits ? log_reg_14 : _GEN_1399; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1401 = 6'hf == io_rgReq_0_bits ? log_reg_15 : _GEN_1400; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1402 = 6'h10 == io_rgReq_0_bits ? log_reg_16 : _GEN_1401; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1403 = 6'h11 == io_rgReq_0_bits ? log_reg_17 : _GEN_1402; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1404 = 6'h12 == io_rgReq_0_bits ? log_reg_18 : _GEN_1403; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1405 = 6'h13 == io_rgReq_0_bits ? log_reg_19 : _GEN_1404; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1406 = 6'h14 == io_rgReq_0_bits ? log_reg_20 : _GEN_1405; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1407 = 6'h15 == io_rgReq_0_bits ? log_reg_21 : _GEN_1406; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1408 = 6'h16 == io_rgReq_0_bits ? log_reg_22 : _GEN_1407; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1409 = 6'h17 == io_rgReq_0_bits ? log_reg_23 : _GEN_1408; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1410 = 6'h18 == io_rgReq_0_bits ? log_reg_24 : _GEN_1409; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1411 = 6'h19 == io_rgReq_0_bits ? log_reg_25 : _GEN_1410; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1412 = 6'h1a == io_rgReq_0_bits ? log_reg_26 : _GEN_1411; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1413 = 6'h1b == io_rgReq_0_bits ? log_reg_27 : _GEN_1412; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1414 = 6'h1c == io_rgReq_0_bits ? log_reg_28 : _GEN_1413; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1415 = 6'h1d == io_rgReq_0_bits ? log_reg_29 : _GEN_1414; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1416 = 6'h1e == io_rgReq_0_bits ? log_reg_30 : _GEN_1415; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1417 = 6'h1f == io_rgReq_0_bits ? log_reg_31 : _GEN_1416; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1418 = 6'h20 == io_rgReq_0_bits ? log_reg_32 : _GEN_1417; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1419 = 6'h21 == io_rgReq_0_bits ? 2'h3 : _GEN_1418; // @[Regfiles.scala 194:{64,64}]
  reg  io_rgRsp_1_valid_REG; // @[Regfiles.scala 191:36]
  wire [1:0] _GEN_1457 = 6'h1 == io_rgReq_1_bits ? log_reg_1 : log_reg_0; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1458 = 6'h2 == io_rgReq_1_bits ? log_reg_2 : _GEN_1457; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1459 = 6'h3 == io_rgReq_1_bits ? log_reg_3 : _GEN_1458; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1460 = 6'h4 == io_rgReq_1_bits ? log_reg_4 : _GEN_1459; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1461 = 6'h5 == io_rgReq_1_bits ? log_reg_5 : _GEN_1460; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1462 = 6'h6 == io_rgReq_1_bits ? log_reg_6 : _GEN_1461; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1463 = 6'h7 == io_rgReq_1_bits ? log_reg_7 : _GEN_1462; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1464 = 6'h8 == io_rgReq_1_bits ? log_reg_8 : _GEN_1463; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1465 = 6'h9 == io_rgReq_1_bits ? log_reg_9 : _GEN_1464; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1466 = 6'ha == io_rgReq_1_bits ? log_reg_10 : _GEN_1465; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1467 = 6'hb == io_rgReq_1_bits ? log_reg_11 : _GEN_1466; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1468 = 6'hc == io_rgReq_1_bits ? log_reg_12 : _GEN_1467; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1469 = 6'hd == io_rgReq_1_bits ? log_reg_13 : _GEN_1468; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1470 = 6'he == io_rgReq_1_bits ? log_reg_14 : _GEN_1469; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1471 = 6'hf == io_rgReq_1_bits ? log_reg_15 : _GEN_1470; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1472 = 6'h10 == io_rgReq_1_bits ? log_reg_16 : _GEN_1471; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1473 = 6'h11 == io_rgReq_1_bits ? log_reg_17 : _GEN_1472; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1474 = 6'h12 == io_rgReq_1_bits ? log_reg_18 : _GEN_1473; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1475 = 6'h13 == io_rgReq_1_bits ? log_reg_19 : _GEN_1474; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1476 = 6'h14 == io_rgReq_1_bits ? log_reg_20 : _GEN_1475; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1477 = 6'h15 == io_rgReq_1_bits ? log_reg_21 : _GEN_1476; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1478 = 6'h16 == io_rgReq_1_bits ? log_reg_22 : _GEN_1477; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1479 = 6'h17 == io_rgReq_1_bits ? log_reg_23 : _GEN_1478; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1480 = 6'h18 == io_rgReq_1_bits ? log_reg_24 : _GEN_1479; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1481 = 6'h19 == io_rgReq_1_bits ? log_reg_25 : _GEN_1480; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1482 = 6'h1a == io_rgReq_1_bits ? log_reg_26 : _GEN_1481; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1483 = 6'h1b == io_rgReq_1_bits ? log_reg_27 : _GEN_1482; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1484 = 6'h1c == io_rgReq_1_bits ? log_reg_28 : _GEN_1483; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1485 = 6'h1d == io_rgReq_1_bits ? log_reg_29 : _GEN_1484; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1486 = 6'h1e == io_rgReq_1_bits ? log_reg_30 : _GEN_1485; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1487 = 6'h1f == io_rgReq_1_bits ? log_reg_31 : _GEN_1486; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1488 = 6'h20 == io_rgReq_1_bits ? log_reg_32 : _GEN_1487; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] _GEN_1489 = 6'h21 == io_rgReq_1_bits ? 2'h3 : _GEN_1488; // @[Regfiles.scala 194:{64,64}]
  wire  _T_112 = io_exe_writeBack_0_ready & io_exe_writeBack_0_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _GEN_1491 = 6'h1 == io_exe_writeBack_0_bits_rd0 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1492 = 6'h2 == io_exe_writeBack_0_bits_rd0 ? log_reg_2 : _GEN_1491; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1493 = 6'h3 == io_exe_writeBack_0_bits_rd0 ? log_reg_3 : _GEN_1492; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1494 = 6'h4 == io_exe_writeBack_0_bits_rd0 ? log_reg_4 : _GEN_1493; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1495 = 6'h5 == io_exe_writeBack_0_bits_rd0 ? log_reg_5 : _GEN_1494; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1496 = 6'h6 == io_exe_writeBack_0_bits_rd0 ? log_reg_6 : _GEN_1495; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1497 = 6'h7 == io_exe_writeBack_0_bits_rd0 ? log_reg_7 : _GEN_1496; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1498 = 6'h8 == io_exe_writeBack_0_bits_rd0 ? log_reg_8 : _GEN_1497; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1499 = 6'h9 == io_exe_writeBack_0_bits_rd0 ? log_reg_9 : _GEN_1498; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1500 = 6'ha == io_exe_writeBack_0_bits_rd0 ? log_reg_10 : _GEN_1499; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1501 = 6'hb == io_exe_writeBack_0_bits_rd0 ? log_reg_11 : _GEN_1500; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1502 = 6'hc == io_exe_writeBack_0_bits_rd0 ? log_reg_12 : _GEN_1501; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1503 = 6'hd == io_exe_writeBack_0_bits_rd0 ? log_reg_13 : _GEN_1502; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1504 = 6'he == io_exe_writeBack_0_bits_rd0 ? log_reg_14 : _GEN_1503; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1505 = 6'hf == io_exe_writeBack_0_bits_rd0 ? log_reg_15 : _GEN_1504; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1506 = 6'h10 == io_exe_writeBack_0_bits_rd0 ? log_reg_16 : _GEN_1505; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1507 = 6'h11 == io_exe_writeBack_0_bits_rd0 ? log_reg_17 : _GEN_1506; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1508 = 6'h12 == io_exe_writeBack_0_bits_rd0 ? log_reg_18 : _GEN_1507; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1509 = 6'h13 == io_exe_writeBack_0_bits_rd0 ? log_reg_19 : _GEN_1508; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1510 = 6'h14 == io_exe_writeBack_0_bits_rd0 ? log_reg_20 : _GEN_1509; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1511 = 6'h15 == io_exe_writeBack_0_bits_rd0 ? log_reg_21 : _GEN_1510; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1512 = 6'h16 == io_exe_writeBack_0_bits_rd0 ? log_reg_22 : _GEN_1511; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1513 = 6'h17 == io_exe_writeBack_0_bits_rd0 ? log_reg_23 : _GEN_1512; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1514 = 6'h18 == io_exe_writeBack_0_bits_rd0 ? log_reg_24 : _GEN_1513; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1515 = 6'h19 == io_exe_writeBack_0_bits_rd0 ? log_reg_25 : _GEN_1514; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1516 = 6'h1a == io_exe_writeBack_0_bits_rd0 ? log_reg_26 : _GEN_1515; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1517 = 6'h1b == io_exe_writeBack_0_bits_rd0 ? log_reg_27 : _GEN_1516; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1518 = 6'h1c == io_exe_writeBack_0_bits_rd0 ? log_reg_28 : _GEN_1517; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1519 = 6'h1d == io_exe_writeBack_0_bits_rd0 ? log_reg_29 : _GEN_1518; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1520 = 6'h1e == io_exe_writeBack_0_bits_rd0 ? log_reg_30 : _GEN_1519; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1521 = 6'h1f == io_exe_writeBack_0_bits_rd0 ? log_reg_31 : _GEN_1520; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1522 = 6'h20 == io_exe_writeBack_0_bits_rd0 ? log_reg_32 : _GEN_1521; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1523 = 6'h21 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1522; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] _GEN_1524 = 6'h0 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1221; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1525 = 6'h1 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1222; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1526 = 6'h2 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1223; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1527 = 6'h3 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1224; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1528 = 6'h4 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1225; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1529 = 6'h5 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1226; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1530 = 6'h6 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1227; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1531 = 6'h7 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1228; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1532 = 6'h8 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1229; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1533 = 6'h9 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1230; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1534 = 6'ha == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1231; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1535 = 6'hb == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1232; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1536 = 6'hc == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1233; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1537 = 6'hd == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1234; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1538 = 6'he == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1235; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1539 = 6'hf == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1236; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1540 = 6'h10 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1237; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1541 = 6'h11 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1238; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1542 = 6'h12 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1239; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1543 = 6'h13 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1240; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1544 = 6'h14 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1241; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1545 = 6'h15 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1242; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1546 = 6'h16 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1243; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1547 = 6'h17 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1244; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1548 = 6'h18 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1245; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1549 = 6'h19 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1246; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1550 = 6'h1a == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1247; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1551 = 6'h1b == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1248; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1552 = 6'h1c == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1249; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1553 = 6'h1d == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1250; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1554 = 6'h1e == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1251; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1555 = 6'h1f == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1252; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1556 = 6'h20 == io_exe_writeBack_0_bits_rd0 ? 2'h3 : _GEN_1253; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] _GEN_1590 = _T_112 ? _GEN_1524 : _GEN_1221; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1591 = _T_112 ? _GEN_1525 : _GEN_1222; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1592 = _T_112 ? _GEN_1526 : _GEN_1223; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1593 = _T_112 ? _GEN_1527 : _GEN_1224; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1594 = _T_112 ? _GEN_1528 : _GEN_1225; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1595 = _T_112 ? _GEN_1529 : _GEN_1226; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1596 = _T_112 ? _GEN_1530 : _GEN_1227; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1597 = _T_112 ? _GEN_1531 : _GEN_1228; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1598 = _T_112 ? _GEN_1532 : _GEN_1229; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1599 = _T_112 ? _GEN_1533 : _GEN_1230; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1600 = _T_112 ? _GEN_1534 : _GEN_1231; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1601 = _T_112 ? _GEN_1535 : _GEN_1232; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1602 = _T_112 ? _GEN_1536 : _GEN_1233; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1603 = _T_112 ? _GEN_1537 : _GEN_1234; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1604 = _T_112 ? _GEN_1538 : _GEN_1235; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1605 = _T_112 ? _GEN_1539 : _GEN_1236; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1606 = _T_112 ? _GEN_1540 : _GEN_1237; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1607 = _T_112 ? _GEN_1541 : _GEN_1238; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1608 = _T_112 ? _GEN_1542 : _GEN_1239; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1609 = _T_112 ? _GEN_1543 : _GEN_1240; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1610 = _T_112 ? _GEN_1544 : _GEN_1241; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1611 = _T_112 ? _GEN_1545 : _GEN_1242; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1612 = _T_112 ? _GEN_1546 : _GEN_1243; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1613 = _T_112 ? _GEN_1547 : _GEN_1244; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1614 = _T_112 ? _GEN_1548 : _GEN_1245; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1615 = _T_112 ? _GEN_1549 : _GEN_1246; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1616 = _T_112 ? _GEN_1550 : _GEN_1247; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1617 = _T_112 ? _GEN_1551 : _GEN_1248; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1618 = _T_112 ? _GEN_1552 : _GEN_1249; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1619 = _T_112 ? _GEN_1553 : _GEN_1250; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1620 = _T_112 ? _GEN_1554 : _GEN_1251; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1621 = _T_112 ? _GEN_1555 : _GEN_1252; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1622 = _T_112 ? _GEN_1556 : _GEN_1253; // @[Regfiles.scala 201:38]
  wire [1:0] _GEN_1657 = 6'h1 == io_commit_0_phy ? log_reg_1 : log_reg_0; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1658 = 6'h2 == io_commit_0_phy ? log_reg_2 : _GEN_1657; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1659 = 6'h3 == io_commit_0_phy ? log_reg_3 : _GEN_1658; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1660 = 6'h4 == io_commit_0_phy ? log_reg_4 : _GEN_1659; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1661 = 6'h5 == io_commit_0_phy ? log_reg_5 : _GEN_1660; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1662 = 6'h6 == io_commit_0_phy ? log_reg_6 : _GEN_1661; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1663 = 6'h7 == io_commit_0_phy ? log_reg_7 : _GEN_1662; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1664 = 6'h8 == io_commit_0_phy ? log_reg_8 : _GEN_1663; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1665 = 6'h9 == io_commit_0_phy ? log_reg_9 : _GEN_1664; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1666 = 6'ha == io_commit_0_phy ? log_reg_10 : _GEN_1665; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1667 = 6'hb == io_commit_0_phy ? log_reg_11 : _GEN_1666; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1668 = 6'hc == io_commit_0_phy ? log_reg_12 : _GEN_1667; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1669 = 6'hd == io_commit_0_phy ? log_reg_13 : _GEN_1668; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1670 = 6'he == io_commit_0_phy ? log_reg_14 : _GEN_1669; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1671 = 6'hf == io_commit_0_phy ? log_reg_15 : _GEN_1670; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1672 = 6'h10 == io_commit_0_phy ? log_reg_16 : _GEN_1671; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1673 = 6'h11 == io_commit_0_phy ? log_reg_17 : _GEN_1672; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1674 = 6'h12 == io_commit_0_phy ? log_reg_18 : _GEN_1673; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1675 = 6'h13 == io_commit_0_phy ? log_reg_19 : _GEN_1674; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1676 = 6'h14 == io_commit_0_phy ? log_reg_20 : _GEN_1675; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1677 = 6'h15 == io_commit_0_phy ? log_reg_21 : _GEN_1676; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1678 = 6'h16 == io_commit_0_phy ? log_reg_22 : _GEN_1677; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1679 = 6'h17 == io_commit_0_phy ? log_reg_23 : _GEN_1678; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1680 = 6'h18 == io_commit_0_phy ? log_reg_24 : _GEN_1679; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1681 = 6'h19 == io_commit_0_phy ? log_reg_25 : _GEN_1680; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1682 = 6'h1a == io_commit_0_phy ? log_reg_26 : _GEN_1681; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1683 = 6'h1b == io_commit_0_phy ? log_reg_27 : _GEN_1682; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1684 = 6'h1c == io_commit_0_phy ? log_reg_28 : _GEN_1683; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1685 = 6'h1d == io_commit_0_phy ? log_reg_29 : _GEN_1684; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1686 = 6'h1e == io_commit_0_phy ? log_reg_30 : _GEN_1685; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1687 = 6'h1f == io_commit_0_phy ? log_reg_31 : _GEN_1686; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1688 = 6'h20 == io_commit_0_phy ? log_reg_32 : _GEN_1687; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] _GEN_1689 = 6'h21 == io_commit_0_phy ? 2'h3 : _GEN_1688; // @[Regfiles.scala 219:{46,46}]
  wire  _log_reg_0_T_15 = archit_ptr_15 == 6'h0; // @[Regfiles.scala 223:99]
  wire  _log_reg_0_T_47 = archit_ptr_0 == 6'h0 | archit_ptr_1 == 6'h0 | archit_ptr_2 == 6'h0 | archit_ptr_3 == 6'h0 |
    archit_ptr_4 == 6'h0 | archit_ptr_5 == 6'h0 | archit_ptr_6 == 6'h0 | archit_ptr_7 == 6'h0 | archit_ptr_8 == 6'h0 |
    archit_ptr_9 == 6'h0 | archit_ptr_10 == 6'h0 | archit_ptr_11 == 6'h0 | archit_ptr_12 == 6'h0 | archit_ptr_13 == 6'h0
     | archit_ptr_14 == 6'h0 | _log_reg_0_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_0_T_62 = _log_reg_0_T_47 | archit_ptr_16 == 6'h0 | archit_ptr_17 == 6'h0 | archit_ptr_18 == 6'h0 |
    archit_ptr_19 == 6'h0 | archit_ptr_20 == 6'h0 | archit_ptr_21 == 6'h0 | archit_ptr_22 == 6'h0 | archit_ptr_23 == 6'h0
     | archit_ptr_24 == 6'h0 | archit_ptr_25 == 6'h0 | archit_ptr_26 == 6'h0 | archit_ptr_27 == 6'h0 | archit_ptr_28 == 6'h0
     | archit_ptr_29 == 6'h0 | archit_ptr_30 == 6'h0; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_0_T_64 = _log_reg_0_T_62 | archit_ptr_31 == 6'h0 ? log_reg_0 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_1_T_15 = archit_ptr_15 == 6'h1; // @[Regfiles.scala 223:99]
  wire  _log_reg_1_T_47 = archit_ptr_0 == 6'h1 | archit_ptr_1 == 6'h1 | archit_ptr_2 == 6'h1 | archit_ptr_3 == 6'h1 |
    archit_ptr_4 == 6'h1 | archit_ptr_5 == 6'h1 | archit_ptr_6 == 6'h1 | archit_ptr_7 == 6'h1 | archit_ptr_8 == 6'h1 |
    archit_ptr_9 == 6'h1 | archit_ptr_10 == 6'h1 | archit_ptr_11 == 6'h1 | archit_ptr_12 == 6'h1 | archit_ptr_13 == 6'h1
     | archit_ptr_14 == 6'h1 | _log_reg_1_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_1_T_62 = _log_reg_1_T_47 | archit_ptr_16 == 6'h1 | archit_ptr_17 == 6'h1 | archit_ptr_18 == 6'h1 |
    archit_ptr_19 == 6'h1 | archit_ptr_20 == 6'h1 | archit_ptr_21 == 6'h1 | archit_ptr_22 == 6'h1 | archit_ptr_23 == 6'h1
     | archit_ptr_24 == 6'h1 | archit_ptr_25 == 6'h1 | archit_ptr_26 == 6'h1 | archit_ptr_27 == 6'h1 | archit_ptr_28 == 6'h1
     | archit_ptr_29 == 6'h1 | archit_ptr_30 == 6'h1; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_1_T_64 = _log_reg_1_T_62 | archit_ptr_31 == 6'h1 ? log_reg_1 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_2_T_15 = archit_ptr_15 == 6'h2; // @[Regfiles.scala 223:99]
  wire  _log_reg_2_T_47 = archit_ptr_0 == 6'h2 | archit_ptr_1 == 6'h2 | archit_ptr_2 == 6'h2 | archit_ptr_3 == 6'h2 |
    archit_ptr_4 == 6'h2 | archit_ptr_5 == 6'h2 | archit_ptr_6 == 6'h2 | archit_ptr_7 == 6'h2 | archit_ptr_8 == 6'h2 |
    archit_ptr_9 == 6'h2 | archit_ptr_10 == 6'h2 | archit_ptr_11 == 6'h2 | archit_ptr_12 == 6'h2 | archit_ptr_13 == 6'h2
     | archit_ptr_14 == 6'h2 | _log_reg_2_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_2_T_62 = _log_reg_2_T_47 | archit_ptr_16 == 6'h2 | archit_ptr_17 == 6'h2 | archit_ptr_18 == 6'h2 |
    archit_ptr_19 == 6'h2 | archit_ptr_20 == 6'h2 | archit_ptr_21 == 6'h2 | archit_ptr_22 == 6'h2 | archit_ptr_23 == 6'h2
     | archit_ptr_24 == 6'h2 | archit_ptr_25 == 6'h2 | archit_ptr_26 == 6'h2 | archit_ptr_27 == 6'h2 | archit_ptr_28 == 6'h2
     | archit_ptr_29 == 6'h2 | archit_ptr_30 == 6'h2; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_2_T_64 = _log_reg_2_T_62 | archit_ptr_31 == 6'h2 ? log_reg_2 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_3_T_15 = archit_ptr_15 == 6'h3; // @[Regfiles.scala 223:99]
  wire  _log_reg_3_T_47 = archit_ptr_0 == 6'h3 | archit_ptr_1 == 6'h3 | archit_ptr_2 == 6'h3 | archit_ptr_3 == 6'h3 |
    archit_ptr_4 == 6'h3 | archit_ptr_5 == 6'h3 | archit_ptr_6 == 6'h3 | archit_ptr_7 == 6'h3 | archit_ptr_8 == 6'h3 |
    archit_ptr_9 == 6'h3 | archit_ptr_10 == 6'h3 | archit_ptr_11 == 6'h3 | archit_ptr_12 == 6'h3 | archit_ptr_13 == 6'h3
     | archit_ptr_14 == 6'h3 | _log_reg_3_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_3_T_62 = _log_reg_3_T_47 | archit_ptr_16 == 6'h3 | archit_ptr_17 == 6'h3 | archit_ptr_18 == 6'h3 |
    archit_ptr_19 == 6'h3 | archit_ptr_20 == 6'h3 | archit_ptr_21 == 6'h3 | archit_ptr_22 == 6'h3 | archit_ptr_23 == 6'h3
     | archit_ptr_24 == 6'h3 | archit_ptr_25 == 6'h3 | archit_ptr_26 == 6'h3 | archit_ptr_27 == 6'h3 | archit_ptr_28 == 6'h3
     | archit_ptr_29 == 6'h3 | archit_ptr_30 == 6'h3; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_3_T_64 = _log_reg_3_T_62 | archit_ptr_31 == 6'h3 ? log_reg_3 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_4_T_15 = archit_ptr_15 == 6'h4; // @[Regfiles.scala 223:99]
  wire  _log_reg_4_T_47 = archit_ptr_0 == 6'h4 | archit_ptr_1 == 6'h4 | archit_ptr_2 == 6'h4 | archit_ptr_3 == 6'h4 |
    archit_ptr_4 == 6'h4 | archit_ptr_5 == 6'h4 | archit_ptr_6 == 6'h4 | archit_ptr_7 == 6'h4 | archit_ptr_8 == 6'h4 |
    archit_ptr_9 == 6'h4 | archit_ptr_10 == 6'h4 | archit_ptr_11 == 6'h4 | archit_ptr_12 == 6'h4 | archit_ptr_13 == 6'h4
     | archit_ptr_14 == 6'h4 | _log_reg_4_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_4_T_62 = _log_reg_4_T_47 | archit_ptr_16 == 6'h4 | archit_ptr_17 == 6'h4 | archit_ptr_18 == 6'h4 |
    archit_ptr_19 == 6'h4 | archit_ptr_20 == 6'h4 | archit_ptr_21 == 6'h4 | archit_ptr_22 == 6'h4 | archit_ptr_23 == 6'h4
     | archit_ptr_24 == 6'h4 | archit_ptr_25 == 6'h4 | archit_ptr_26 == 6'h4 | archit_ptr_27 == 6'h4 | archit_ptr_28 == 6'h4
     | archit_ptr_29 == 6'h4 | archit_ptr_30 == 6'h4; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_4_T_64 = _log_reg_4_T_62 | archit_ptr_31 == 6'h4 ? log_reg_4 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_5_T_15 = archit_ptr_15 == 6'h5; // @[Regfiles.scala 223:99]
  wire  _log_reg_5_T_47 = archit_ptr_0 == 6'h5 | archit_ptr_1 == 6'h5 | archit_ptr_2 == 6'h5 | archit_ptr_3 == 6'h5 |
    archit_ptr_4 == 6'h5 | archit_ptr_5 == 6'h5 | archit_ptr_6 == 6'h5 | archit_ptr_7 == 6'h5 | archit_ptr_8 == 6'h5 |
    archit_ptr_9 == 6'h5 | archit_ptr_10 == 6'h5 | archit_ptr_11 == 6'h5 | archit_ptr_12 == 6'h5 | archit_ptr_13 == 6'h5
     | archit_ptr_14 == 6'h5 | _log_reg_5_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_5_T_62 = _log_reg_5_T_47 | archit_ptr_16 == 6'h5 | archit_ptr_17 == 6'h5 | archit_ptr_18 == 6'h5 |
    archit_ptr_19 == 6'h5 | archit_ptr_20 == 6'h5 | archit_ptr_21 == 6'h5 | archit_ptr_22 == 6'h5 | archit_ptr_23 == 6'h5
     | archit_ptr_24 == 6'h5 | archit_ptr_25 == 6'h5 | archit_ptr_26 == 6'h5 | archit_ptr_27 == 6'h5 | archit_ptr_28 == 6'h5
     | archit_ptr_29 == 6'h5 | archit_ptr_30 == 6'h5; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_5_T_64 = _log_reg_5_T_62 | archit_ptr_31 == 6'h5 ? log_reg_5 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_6_T_15 = archit_ptr_15 == 6'h6; // @[Regfiles.scala 223:99]
  wire  _log_reg_6_T_47 = archit_ptr_0 == 6'h6 | archit_ptr_1 == 6'h6 | archit_ptr_2 == 6'h6 | archit_ptr_3 == 6'h6 |
    archit_ptr_4 == 6'h6 | archit_ptr_5 == 6'h6 | archit_ptr_6 == 6'h6 | archit_ptr_7 == 6'h6 | archit_ptr_8 == 6'h6 |
    archit_ptr_9 == 6'h6 | archit_ptr_10 == 6'h6 | archit_ptr_11 == 6'h6 | archit_ptr_12 == 6'h6 | archit_ptr_13 == 6'h6
     | archit_ptr_14 == 6'h6 | _log_reg_6_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_6_T_62 = _log_reg_6_T_47 | archit_ptr_16 == 6'h6 | archit_ptr_17 == 6'h6 | archit_ptr_18 == 6'h6 |
    archit_ptr_19 == 6'h6 | archit_ptr_20 == 6'h6 | archit_ptr_21 == 6'h6 | archit_ptr_22 == 6'h6 | archit_ptr_23 == 6'h6
     | archit_ptr_24 == 6'h6 | archit_ptr_25 == 6'h6 | archit_ptr_26 == 6'h6 | archit_ptr_27 == 6'h6 | archit_ptr_28 == 6'h6
     | archit_ptr_29 == 6'h6 | archit_ptr_30 == 6'h6; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_6_T_64 = _log_reg_6_T_62 | archit_ptr_31 == 6'h6 ? log_reg_6 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_7_T_15 = archit_ptr_15 == 6'h7; // @[Regfiles.scala 223:99]
  wire  _log_reg_7_T_47 = archit_ptr_0 == 6'h7 | archit_ptr_1 == 6'h7 | archit_ptr_2 == 6'h7 | archit_ptr_3 == 6'h7 |
    archit_ptr_4 == 6'h7 | archit_ptr_5 == 6'h7 | archit_ptr_6 == 6'h7 | archit_ptr_7 == 6'h7 | archit_ptr_8 == 6'h7 |
    archit_ptr_9 == 6'h7 | archit_ptr_10 == 6'h7 | archit_ptr_11 == 6'h7 | archit_ptr_12 == 6'h7 | archit_ptr_13 == 6'h7
     | archit_ptr_14 == 6'h7 | _log_reg_7_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_7_T_62 = _log_reg_7_T_47 | archit_ptr_16 == 6'h7 | archit_ptr_17 == 6'h7 | archit_ptr_18 == 6'h7 |
    archit_ptr_19 == 6'h7 | archit_ptr_20 == 6'h7 | archit_ptr_21 == 6'h7 | archit_ptr_22 == 6'h7 | archit_ptr_23 == 6'h7
     | archit_ptr_24 == 6'h7 | archit_ptr_25 == 6'h7 | archit_ptr_26 == 6'h7 | archit_ptr_27 == 6'h7 | archit_ptr_28 == 6'h7
     | archit_ptr_29 == 6'h7 | archit_ptr_30 == 6'h7; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_7_T_64 = _log_reg_7_T_62 | archit_ptr_31 == 6'h7 ? log_reg_7 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_8_T_15 = archit_ptr_15 == 6'h8; // @[Regfiles.scala 223:99]
  wire  _log_reg_8_T_47 = archit_ptr_0 == 6'h8 | archit_ptr_1 == 6'h8 | archit_ptr_2 == 6'h8 | archit_ptr_3 == 6'h8 |
    archit_ptr_4 == 6'h8 | archit_ptr_5 == 6'h8 | archit_ptr_6 == 6'h8 | archit_ptr_7 == 6'h8 | archit_ptr_8 == 6'h8 |
    archit_ptr_9 == 6'h8 | archit_ptr_10 == 6'h8 | archit_ptr_11 == 6'h8 | archit_ptr_12 == 6'h8 | archit_ptr_13 == 6'h8
     | archit_ptr_14 == 6'h8 | _log_reg_8_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_8_T_62 = _log_reg_8_T_47 | archit_ptr_16 == 6'h8 | archit_ptr_17 == 6'h8 | archit_ptr_18 == 6'h8 |
    archit_ptr_19 == 6'h8 | archit_ptr_20 == 6'h8 | archit_ptr_21 == 6'h8 | archit_ptr_22 == 6'h8 | archit_ptr_23 == 6'h8
     | archit_ptr_24 == 6'h8 | archit_ptr_25 == 6'h8 | archit_ptr_26 == 6'h8 | archit_ptr_27 == 6'h8 | archit_ptr_28 == 6'h8
     | archit_ptr_29 == 6'h8 | archit_ptr_30 == 6'h8; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_8_T_64 = _log_reg_8_T_62 | archit_ptr_31 == 6'h8 ? log_reg_8 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_9_T_15 = archit_ptr_15 == 6'h9; // @[Regfiles.scala 223:99]
  wire  _log_reg_9_T_47 = archit_ptr_0 == 6'h9 | archit_ptr_1 == 6'h9 | archit_ptr_2 == 6'h9 | archit_ptr_3 == 6'h9 |
    archit_ptr_4 == 6'h9 | archit_ptr_5 == 6'h9 | archit_ptr_6 == 6'h9 | archit_ptr_7 == 6'h9 | archit_ptr_8 == 6'h9 |
    archit_ptr_9 == 6'h9 | archit_ptr_10 == 6'h9 | archit_ptr_11 == 6'h9 | archit_ptr_12 == 6'h9 | archit_ptr_13 == 6'h9
     | archit_ptr_14 == 6'h9 | _log_reg_9_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_9_T_62 = _log_reg_9_T_47 | archit_ptr_16 == 6'h9 | archit_ptr_17 == 6'h9 | archit_ptr_18 == 6'h9 |
    archit_ptr_19 == 6'h9 | archit_ptr_20 == 6'h9 | archit_ptr_21 == 6'h9 | archit_ptr_22 == 6'h9 | archit_ptr_23 == 6'h9
     | archit_ptr_24 == 6'h9 | archit_ptr_25 == 6'h9 | archit_ptr_26 == 6'h9 | archit_ptr_27 == 6'h9 | archit_ptr_28 == 6'h9
     | archit_ptr_29 == 6'h9 | archit_ptr_30 == 6'h9; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_9_T_64 = _log_reg_9_T_62 | archit_ptr_31 == 6'h9 ? log_reg_9 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_10_T_15 = archit_ptr_15 == 6'ha; // @[Regfiles.scala 223:99]
  wire  _log_reg_10_T_47 = archit_ptr_0 == 6'ha | archit_ptr_1 == 6'ha | archit_ptr_2 == 6'ha | archit_ptr_3 == 6'ha |
    archit_ptr_4 == 6'ha | archit_ptr_5 == 6'ha | archit_ptr_6 == 6'ha | archit_ptr_7 == 6'ha | archit_ptr_8 == 6'ha |
    archit_ptr_9 == 6'ha | archit_ptr_10 == 6'ha | archit_ptr_11 == 6'ha | archit_ptr_12 == 6'ha | archit_ptr_13 == 6'ha
     | archit_ptr_14 == 6'ha | _log_reg_10_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_10_T_62 = _log_reg_10_T_47 | archit_ptr_16 == 6'ha | archit_ptr_17 == 6'ha | archit_ptr_18 == 6'ha |
    archit_ptr_19 == 6'ha | archit_ptr_20 == 6'ha | archit_ptr_21 == 6'ha | archit_ptr_22 == 6'ha | archit_ptr_23 == 6'ha
     | archit_ptr_24 == 6'ha | archit_ptr_25 == 6'ha | archit_ptr_26 == 6'ha | archit_ptr_27 == 6'ha | archit_ptr_28 == 6'ha
     | archit_ptr_29 == 6'ha | archit_ptr_30 == 6'ha; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_10_T_64 = _log_reg_10_T_62 | archit_ptr_31 == 6'ha ? log_reg_10 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_11_T_15 = archit_ptr_15 == 6'hb; // @[Regfiles.scala 223:99]
  wire  _log_reg_11_T_47 = archit_ptr_0 == 6'hb | archit_ptr_1 == 6'hb | archit_ptr_2 == 6'hb | archit_ptr_3 == 6'hb |
    archit_ptr_4 == 6'hb | archit_ptr_5 == 6'hb | archit_ptr_6 == 6'hb | archit_ptr_7 == 6'hb | archit_ptr_8 == 6'hb |
    archit_ptr_9 == 6'hb | archit_ptr_10 == 6'hb | archit_ptr_11 == 6'hb | archit_ptr_12 == 6'hb | archit_ptr_13 == 6'hb
     | archit_ptr_14 == 6'hb | _log_reg_11_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_11_T_62 = _log_reg_11_T_47 | archit_ptr_16 == 6'hb | archit_ptr_17 == 6'hb | archit_ptr_18 == 6'hb |
    archit_ptr_19 == 6'hb | archit_ptr_20 == 6'hb | archit_ptr_21 == 6'hb | archit_ptr_22 == 6'hb | archit_ptr_23 == 6'hb
     | archit_ptr_24 == 6'hb | archit_ptr_25 == 6'hb | archit_ptr_26 == 6'hb | archit_ptr_27 == 6'hb | archit_ptr_28 == 6'hb
     | archit_ptr_29 == 6'hb | archit_ptr_30 == 6'hb; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_11_T_64 = _log_reg_11_T_62 | archit_ptr_31 == 6'hb ? log_reg_11 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_12_T_15 = archit_ptr_15 == 6'hc; // @[Regfiles.scala 223:99]
  wire  _log_reg_12_T_47 = archit_ptr_0 == 6'hc | archit_ptr_1 == 6'hc | archit_ptr_2 == 6'hc | archit_ptr_3 == 6'hc |
    archit_ptr_4 == 6'hc | archit_ptr_5 == 6'hc | archit_ptr_6 == 6'hc | archit_ptr_7 == 6'hc | archit_ptr_8 == 6'hc |
    archit_ptr_9 == 6'hc | archit_ptr_10 == 6'hc | archit_ptr_11 == 6'hc | archit_ptr_12 == 6'hc | archit_ptr_13 == 6'hc
     | archit_ptr_14 == 6'hc | _log_reg_12_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_12_T_62 = _log_reg_12_T_47 | archit_ptr_16 == 6'hc | archit_ptr_17 == 6'hc | archit_ptr_18 == 6'hc |
    archit_ptr_19 == 6'hc | archit_ptr_20 == 6'hc | archit_ptr_21 == 6'hc | archit_ptr_22 == 6'hc | archit_ptr_23 == 6'hc
     | archit_ptr_24 == 6'hc | archit_ptr_25 == 6'hc | archit_ptr_26 == 6'hc | archit_ptr_27 == 6'hc | archit_ptr_28 == 6'hc
     | archit_ptr_29 == 6'hc | archit_ptr_30 == 6'hc; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_12_T_64 = _log_reg_12_T_62 | archit_ptr_31 == 6'hc ? log_reg_12 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_13_T_15 = archit_ptr_15 == 6'hd; // @[Regfiles.scala 223:99]
  wire  _log_reg_13_T_47 = archit_ptr_0 == 6'hd | archit_ptr_1 == 6'hd | archit_ptr_2 == 6'hd | archit_ptr_3 == 6'hd |
    archit_ptr_4 == 6'hd | archit_ptr_5 == 6'hd | archit_ptr_6 == 6'hd | archit_ptr_7 == 6'hd | archit_ptr_8 == 6'hd |
    archit_ptr_9 == 6'hd | archit_ptr_10 == 6'hd | archit_ptr_11 == 6'hd | archit_ptr_12 == 6'hd | archit_ptr_13 == 6'hd
     | archit_ptr_14 == 6'hd | _log_reg_13_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_13_T_62 = _log_reg_13_T_47 | archit_ptr_16 == 6'hd | archit_ptr_17 == 6'hd | archit_ptr_18 == 6'hd |
    archit_ptr_19 == 6'hd | archit_ptr_20 == 6'hd | archit_ptr_21 == 6'hd | archit_ptr_22 == 6'hd | archit_ptr_23 == 6'hd
     | archit_ptr_24 == 6'hd | archit_ptr_25 == 6'hd | archit_ptr_26 == 6'hd | archit_ptr_27 == 6'hd | archit_ptr_28 == 6'hd
     | archit_ptr_29 == 6'hd | archit_ptr_30 == 6'hd; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_13_T_64 = _log_reg_13_T_62 | archit_ptr_31 == 6'hd ? log_reg_13 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_14_T_15 = archit_ptr_15 == 6'he; // @[Regfiles.scala 223:99]
  wire  _log_reg_14_T_47 = archit_ptr_0 == 6'he | archit_ptr_1 == 6'he | archit_ptr_2 == 6'he | archit_ptr_3 == 6'he |
    archit_ptr_4 == 6'he | archit_ptr_5 == 6'he | archit_ptr_6 == 6'he | archit_ptr_7 == 6'he | archit_ptr_8 == 6'he |
    archit_ptr_9 == 6'he | archit_ptr_10 == 6'he | archit_ptr_11 == 6'he | archit_ptr_12 == 6'he | archit_ptr_13 == 6'he
     | archit_ptr_14 == 6'he | _log_reg_14_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_14_T_62 = _log_reg_14_T_47 | archit_ptr_16 == 6'he | archit_ptr_17 == 6'he | archit_ptr_18 == 6'he |
    archit_ptr_19 == 6'he | archit_ptr_20 == 6'he | archit_ptr_21 == 6'he | archit_ptr_22 == 6'he | archit_ptr_23 == 6'he
     | archit_ptr_24 == 6'he | archit_ptr_25 == 6'he | archit_ptr_26 == 6'he | archit_ptr_27 == 6'he | archit_ptr_28 == 6'he
     | archit_ptr_29 == 6'he | archit_ptr_30 == 6'he; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_14_T_64 = _log_reg_14_T_62 | archit_ptr_31 == 6'he ? log_reg_14 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_15_T_15 = archit_ptr_15 == 6'hf; // @[Regfiles.scala 223:99]
  wire  _log_reg_15_T_47 = archit_ptr_0 == 6'hf | archit_ptr_1 == 6'hf | archit_ptr_2 == 6'hf | archit_ptr_3 == 6'hf |
    archit_ptr_4 == 6'hf | archit_ptr_5 == 6'hf | archit_ptr_6 == 6'hf | archit_ptr_7 == 6'hf | archit_ptr_8 == 6'hf |
    archit_ptr_9 == 6'hf | archit_ptr_10 == 6'hf | archit_ptr_11 == 6'hf | archit_ptr_12 == 6'hf | archit_ptr_13 == 6'hf
     | archit_ptr_14 == 6'hf | _log_reg_15_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_15_T_62 = _log_reg_15_T_47 | archit_ptr_16 == 6'hf | archit_ptr_17 == 6'hf | archit_ptr_18 == 6'hf |
    archit_ptr_19 == 6'hf | archit_ptr_20 == 6'hf | archit_ptr_21 == 6'hf | archit_ptr_22 == 6'hf | archit_ptr_23 == 6'hf
     | archit_ptr_24 == 6'hf | archit_ptr_25 == 6'hf | archit_ptr_26 == 6'hf | archit_ptr_27 == 6'hf | archit_ptr_28 == 6'hf
     | archit_ptr_29 == 6'hf | archit_ptr_30 == 6'hf; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_15_T_64 = _log_reg_15_T_62 | archit_ptr_31 == 6'hf ? log_reg_15 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_16_T_15 = archit_ptr_15 == 6'h10; // @[Regfiles.scala 223:99]
  wire  _log_reg_16_T_47 = archit_ptr_0 == 6'h10 | archit_ptr_1 == 6'h10 | archit_ptr_2 == 6'h10 | archit_ptr_3 == 6'h10
     | archit_ptr_4 == 6'h10 | archit_ptr_5 == 6'h10 | archit_ptr_6 == 6'h10 | archit_ptr_7 == 6'h10 | archit_ptr_8 == 6'h10
     | archit_ptr_9 == 6'h10 | archit_ptr_10 == 6'h10 | archit_ptr_11 == 6'h10 | archit_ptr_12 == 6'h10 | archit_ptr_13
     == 6'h10 | archit_ptr_14 == 6'h10 | _log_reg_16_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_16_T_62 = _log_reg_16_T_47 | archit_ptr_16 == 6'h10 | archit_ptr_17 == 6'h10 | archit_ptr_18 == 6'h10
     | archit_ptr_19 == 6'h10 | archit_ptr_20 == 6'h10 | archit_ptr_21 == 6'h10 | archit_ptr_22 == 6'h10 | archit_ptr_23
     == 6'h10 | archit_ptr_24 == 6'h10 | archit_ptr_25 == 6'h10 | archit_ptr_26 == 6'h10 | archit_ptr_27 == 6'h10 |
    archit_ptr_28 == 6'h10 | archit_ptr_29 == 6'h10 | archit_ptr_30 == 6'h10; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_16_T_64 = _log_reg_16_T_62 | archit_ptr_31 == 6'h10 ? log_reg_16 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_17_T_15 = archit_ptr_15 == 6'h11; // @[Regfiles.scala 223:99]
  wire  _log_reg_17_T_47 = archit_ptr_0 == 6'h11 | archit_ptr_1 == 6'h11 | archit_ptr_2 == 6'h11 | archit_ptr_3 == 6'h11
     | archit_ptr_4 == 6'h11 | archit_ptr_5 == 6'h11 | archit_ptr_6 == 6'h11 | archit_ptr_7 == 6'h11 | archit_ptr_8 == 6'h11
     | archit_ptr_9 == 6'h11 | archit_ptr_10 == 6'h11 | archit_ptr_11 == 6'h11 | archit_ptr_12 == 6'h11 | archit_ptr_13
     == 6'h11 | archit_ptr_14 == 6'h11 | _log_reg_17_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_17_T_62 = _log_reg_17_T_47 | archit_ptr_16 == 6'h11 | archit_ptr_17 == 6'h11 | archit_ptr_18 == 6'h11
     | archit_ptr_19 == 6'h11 | archit_ptr_20 == 6'h11 | archit_ptr_21 == 6'h11 | archit_ptr_22 == 6'h11 | archit_ptr_23
     == 6'h11 | archit_ptr_24 == 6'h11 | archit_ptr_25 == 6'h11 | archit_ptr_26 == 6'h11 | archit_ptr_27 == 6'h11 |
    archit_ptr_28 == 6'h11 | archit_ptr_29 == 6'h11 | archit_ptr_30 == 6'h11; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_17_T_64 = _log_reg_17_T_62 | archit_ptr_31 == 6'h11 ? log_reg_17 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_18_T_15 = archit_ptr_15 == 6'h12; // @[Regfiles.scala 223:99]
  wire  _log_reg_18_T_47 = archit_ptr_0 == 6'h12 | archit_ptr_1 == 6'h12 | archit_ptr_2 == 6'h12 | archit_ptr_3 == 6'h12
     | archit_ptr_4 == 6'h12 | archit_ptr_5 == 6'h12 | archit_ptr_6 == 6'h12 | archit_ptr_7 == 6'h12 | archit_ptr_8 == 6'h12
     | archit_ptr_9 == 6'h12 | archit_ptr_10 == 6'h12 | archit_ptr_11 == 6'h12 | archit_ptr_12 == 6'h12 | archit_ptr_13
     == 6'h12 | archit_ptr_14 == 6'h12 | _log_reg_18_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_18_T_62 = _log_reg_18_T_47 | archit_ptr_16 == 6'h12 | archit_ptr_17 == 6'h12 | archit_ptr_18 == 6'h12
     | archit_ptr_19 == 6'h12 | archit_ptr_20 == 6'h12 | archit_ptr_21 == 6'h12 | archit_ptr_22 == 6'h12 | archit_ptr_23
     == 6'h12 | archit_ptr_24 == 6'h12 | archit_ptr_25 == 6'h12 | archit_ptr_26 == 6'h12 | archit_ptr_27 == 6'h12 |
    archit_ptr_28 == 6'h12 | archit_ptr_29 == 6'h12 | archit_ptr_30 == 6'h12; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_18_T_64 = _log_reg_18_T_62 | archit_ptr_31 == 6'h12 ? log_reg_18 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_19_T_15 = archit_ptr_15 == 6'h13; // @[Regfiles.scala 223:99]
  wire  _log_reg_19_T_47 = archit_ptr_0 == 6'h13 | archit_ptr_1 == 6'h13 | archit_ptr_2 == 6'h13 | archit_ptr_3 == 6'h13
     | archit_ptr_4 == 6'h13 | archit_ptr_5 == 6'h13 | archit_ptr_6 == 6'h13 | archit_ptr_7 == 6'h13 | archit_ptr_8 == 6'h13
     | archit_ptr_9 == 6'h13 | archit_ptr_10 == 6'h13 | archit_ptr_11 == 6'h13 | archit_ptr_12 == 6'h13 | archit_ptr_13
     == 6'h13 | archit_ptr_14 == 6'h13 | _log_reg_19_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_19_T_62 = _log_reg_19_T_47 | archit_ptr_16 == 6'h13 | archit_ptr_17 == 6'h13 | archit_ptr_18 == 6'h13
     | archit_ptr_19 == 6'h13 | archit_ptr_20 == 6'h13 | archit_ptr_21 == 6'h13 | archit_ptr_22 == 6'h13 | archit_ptr_23
     == 6'h13 | archit_ptr_24 == 6'h13 | archit_ptr_25 == 6'h13 | archit_ptr_26 == 6'h13 | archit_ptr_27 == 6'h13 |
    archit_ptr_28 == 6'h13 | archit_ptr_29 == 6'h13 | archit_ptr_30 == 6'h13; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_19_T_64 = _log_reg_19_T_62 | archit_ptr_31 == 6'h13 ? log_reg_19 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_20_T_15 = archit_ptr_15 == 6'h14; // @[Regfiles.scala 223:99]
  wire  _log_reg_20_T_47 = archit_ptr_0 == 6'h14 | archit_ptr_1 == 6'h14 | archit_ptr_2 == 6'h14 | archit_ptr_3 == 6'h14
     | archit_ptr_4 == 6'h14 | archit_ptr_5 == 6'h14 | archit_ptr_6 == 6'h14 | archit_ptr_7 == 6'h14 | archit_ptr_8 == 6'h14
     | archit_ptr_9 == 6'h14 | archit_ptr_10 == 6'h14 | archit_ptr_11 == 6'h14 | archit_ptr_12 == 6'h14 | archit_ptr_13
     == 6'h14 | archit_ptr_14 == 6'h14 | _log_reg_20_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_20_T_62 = _log_reg_20_T_47 | archit_ptr_16 == 6'h14 | archit_ptr_17 == 6'h14 | archit_ptr_18 == 6'h14
     | archit_ptr_19 == 6'h14 | archit_ptr_20 == 6'h14 | archit_ptr_21 == 6'h14 | archit_ptr_22 == 6'h14 | archit_ptr_23
     == 6'h14 | archit_ptr_24 == 6'h14 | archit_ptr_25 == 6'h14 | archit_ptr_26 == 6'h14 | archit_ptr_27 == 6'h14 |
    archit_ptr_28 == 6'h14 | archit_ptr_29 == 6'h14 | archit_ptr_30 == 6'h14; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_20_T_64 = _log_reg_20_T_62 | archit_ptr_31 == 6'h14 ? log_reg_20 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_21_T_15 = archit_ptr_15 == 6'h15; // @[Regfiles.scala 223:99]
  wire  _log_reg_21_T_47 = archit_ptr_0 == 6'h15 | archit_ptr_1 == 6'h15 | archit_ptr_2 == 6'h15 | archit_ptr_3 == 6'h15
     | archit_ptr_4 == 6'h15 | archit_ptr_5 == 6'h15 | archit_ptr_6 == 6'h15 | archit_ptr_7 == 6'h15 | archit_ptr_8 == 6'h15
     | archit_ptr_9 == 6'h15 | archit_ptr_10 == 6'h15 | archit_ptr_11 == 6'h15 | archit_ptr_12 == 6'h15 | archit_ptr_13
     == 6'h15 | archit_ptr_14 == 6'h15 | _log_reg_21_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_21_T_62 = _log_reg_21_T_47 | archit_ptr_16 == 6'h15 | archit_ptr_17 == 6'h15 | archit_ptr_18 == 6'h15
     | archit_ptr_19 == 6'h15 | archit_ptr_20 == 6'h15 | archit_ptr_21 == 6'h15 | archit_ptr_22 == 6'h15 | archit_ptr_23
     == 6'h15 | archit_ptr_24 == 6'h15 | archit_ptr_25 == 6'h15 | archit_ptr_26 == 6'h15 | archit_ptr_27 == 6'h15 |
    archit_ptr_28 == 6'h15 | archit_ptr_29 == 6'h15 | archit_ptr_30 == 6'h15; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_21_T_64 = _log_reg_21_T_62 | archit_ptr_31 == 6'h15 ? log_reg_21 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_22_T_15 = archit_ptr_15 == 6'h16; // @[Regfiles.scala 223:99]
  wire  _log_reg_22_T_47 = archit_ptr_0 == 6'h16 | archit_ptr_1 == 6'h16 | archit_ptr_2 == 6'h16 | archit_ptr_3 == 6'h16
     | archit_ptr_4 == 6'h16 | archit_ptr_5 == 6'h16 | archit_ptr_6 == 6'h16 | archit_ptr_7 == 6'h16 | archit_ptr_8 == 6'h16
     | archit_ptr_9 == 6'h16 | archit_ptr_10 == 6'h16 | archit_ptr_11 == 6'h16 | archit_ptr_12 == 6'h16 | archit_ptr_13
     == 6'h16 | archit_ptr_14 == 6'h16 | _log_reg_22_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_22_T_62 = _log_reg_22_T_47 | archit_ptr_16 == 6'h16 | archit_ptr_17 == 6'h16 | archit_ptr_18 == 6'h16
     | archit_ptr_19 == 6'h16 | archit_ptr_20 == 6'h16 | archit_ptr_21 == 6'h16 | archit_ptr_22 == 6'h16 | archit_ptr_23
     == 6'h16 | archit_ptr_24 == 6'h16 | archit_ptr_25 == 6'h16 | archit_ptr_26 == 6'h16 | archit_ptr_27 == 6'h16 |
    archit_ptr_28 == 6'h16 | archit_ptr_29 == 6'h16 | archit_ptr_30 == 6'h16; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_22_T_64 = _log_reg_22_T_62 | archit_ptr_31 == 6'h16 ? log_reg_22 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_23_T_15 = archit_ptr_15 == 6'h17; // @[Regfiles.scala 223:99]
  wire  _log_reg_23_T_47 = archit_ptr_0 == 6'h17 | archit_ptr_1 == 6'h17 | archit_ptr_2 == 6'h17 | archit_ptr_3 == 6'h17
     | archit_ptr_4 == 6'h17 | archit_ptr_5 == 6'h17 | archit_ptr_6 == 6'h17 | archit_ptr_7 == 6'h17 | archit_ptr_8 == 6'h17
     | archit_ptr_9 == 6'h17 | archit_ptr_10 == 6'h17 | archit_ptr_11 == 6'h17 | archit_ptr_12 == 6'h17 | archit_ptr_13
     == 6'h17 | archit_ptr_14 == 6'h17 | _log_reg_23_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_23_T_62 = _log_reg_23_T_47 | archit_ptr_16 == 6'h17 | archit_ptr_17 == 6'h17 | archit_ptr_18 == 6'h17
     | archit_ptr_19 == 6'h17 | archit_ptr_20 == 6'h17 | archit_ptr_21 == 6'h17 | archit_ptr_22 == 6'h17 | archit_ptr_23
     == 6'h17 | archit_ptr_24 == 6'h17 | archit_ptr_25 == 6'h17 | archit_ptr_26 == 6'h17 | archit_ptr_27 == 6'h17 |
    archit_ptr_28 == 6'h17 | archit_ptr_29 == 6'h17 | archit_ptr_30 == 6'h17; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_23_T_64 = _log_reg_23_T_62 | archit_ptr_31 == 6'h17 ? log_reg_23 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_24_T_15 = archit_ptr_15 == 6'h18; // @[Regfiles.scala 223:99]
  wire  _log_reg_24_T_47 = archit_ptr_0 == 6'h18 | archit_ptr_1 == 6'h18 | archit_ptr_2 == 6'h18 | archit_ptr_3 == 6'h18
     | archit_ptr_4 == 6'h18 | archit_ptr_5 == 6'h18 | archit_ptr_6 == 6'h18 | archit_ptr_7 == 6'h18 | archit_ptr_8 == 6'h18
     | archit_ptr_9 == 6'h18 | archit_ptr_10 == 6'h18 | archit_ptr_11 == 6'h18 | archit_ptr_12 == 6'h18 | archit_ptr_13
     == 6'h18 | archit_ptr_14 == 6'h18 | _log_reg_24_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_24_T_62 = _log_reg_24_T_47 | archit_ptr_16 == 6'h18 | archit_ptr_17 == 6'h18 | archit_ptr_18 == 6'h18
     | archit_ptr_19 == 6'h18 | archit_ptr_20 == 6'h18 | archit_ptr_21 == 6'h18 | archit_ptr_22 == 6'h18 | archit_ptr_23
     == 6'h18 | archit_ptr_24 == 6'h18 | archit_ptr_25 == 6'h18 | archit_ptr_26 == 6'h18 | archit_ptr_27 == 6'h18 |
    archit_ptr_28 == 6'h18 | archit_ptr_29 == 6'h18 | archit_ptr_30 == 6'h18; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_24_T_64 = _log_reg_24_T_62 | archit_ptr_31 == 6'h18 ? log_reg_24 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_25_T_15 = archit_ptr_15 == 6'h19; // @[Regfiles.scala 223:99]
  wire  _log_reg_25_T_47 = archit_ptr_0 == 6'h19 | archit_ptr_1 == 6'h19 | archit_ptr_2 == 6'h19 | archit_ptr_3 == 6'h19
     | archit_ptr_4 == 6'h19 | archit_ptr_5 == 6'h19 | archit_ptr_6 == 6'h19 | archit_ptr_7 == 6'h19 | archit_ptr_8 == 6'h19
     | archit_ptr_9 == 6'h19 | archit_ptr_10 == 6'h19 | archit_ptr_11 == 6'h19 | archit_ptr_12 == 6'h19 | archit_ptr_13
     == 6'h19 | archit_ptr_14 == 6'h19 | _log_reg_25_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_25_T_62 = _log_reg_25_T_47 | archit_ptr_16 == 6'h19 | archit_ptr_17 == 6'h19 | archit_ptr_18 == 6'h19
     | archit_ptr_19 == 6'h19 | archit_ptr_20 == 6'h19 | archit_ptr_21 == 6'h19 | archit_ptr_22 == 6'h19 | archit_ptr_23
     == 6'h19 | archit_ptr_24 == 6'h19 | archit_ptr_25 == 6'h19 | archit_ptr_26 == 6'h19 | archit_ptr_27 == 6'h19 |
    archit_ptr_28 == 6'h19 | archit_ptr_29 == 6'h19 | archit_ptr_30 == 6'h19; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_25_T_64 = _log_reg_25_T_62 | archit_ptr_31 == 6'h19 ? log_reg_25 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_26_T_15 = archit_ptr_15 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  _log_reg_26_T_47 = archit_ptr_0 == 6'h1a | archit_ptr_1 == 6'h1a | archit_ptr_2 == 6'h1a | archit_ptr_3 == 6'h1a
     | archit_ptr_4 == 6'h1a | archit_ptr_5 == 6'h1a | archit_ptr_6 == 6'h1a | archit_ptr_7 == 6'h1a | archit_ptr_8 == 6'h1a
     | archit_ptr_9 == 6'h1a | archit_ptr_10 == 6'h1a | archit_ptr_11 == 6'h1a | archit_ptr_12 == 6'h1a | archit_ptr_13
     == 6'h1a | archit_ptr_14 == 6'h1a | _log_reg_26_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_26_T_62 = _log_reg_26_T_47 | archit_ptr_16 == 6'h1a | archit_ptr_17 == 6'h1a | archit_ptr_18 == 6'h1a
     | archit_ptr_19 == 6'h1a | archit_ptr_20 == 6'h1a | archit_ptr_21 == 6'h1a | archit_ptr_22 == 6'h1a | archit_ptr_23
     == 6'h1a | archit_ptr_24 == 6'h1a | archit_ptr_25 == 6'h1a | archit_ptr_26 == 6'h1a | archit_ptr_27 == 6'h1a |
    archit_ptr_28 == 6'h1a | archit_ptr_29 == 6'h1a | archit_ptr_30 == 6'h1a; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_26_T_64 = _log_reg_26_T_62 | archit_ptr_31 == 6'h1a ? log_reg_26 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_27_T_15 = archit_ptr_15 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  _log_reg_27_T_47 = archit_ptr_0 == 6'h1b | archit_ptr_1 == 6'h1b | archit_ptr_2 == 6'h1b | archit_ptr_3 == 6'h1b
     | archit_ptr_4 == 6'h1b | archit_ptr_5 == 6'h1b | archit_ptr_6 == 6'h1b | archit_ptr_7 == 6'h1b | archit_ptr_8 == 6'h1b
     | archit_ptr_9 == 6'h1b | archit_ptr_10 == 6'h1b | archit_ptr_11 == 6'h1b | archit_ptr_12 == 6'h1b | archit_ptr_13
     == 6'h1b | archit_ptr_14 == 6'h1b | _log_reg_27_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_27_T_62 = _log_reg_27_T_47 | archit_ptr_16 == 6'h1b | archit_ptr_17 == 6'h1b | archit_ptr_18 == 6'h1b
     | archit_ptr_19 == 6'h1b | archit_ptr_20 == 6'h1b | archit_ptr_21 == 6'h1b | archit_ptr_22 == 6'h1b | archit_ptr_23
     == 6'h1b | archit_ptr_24 == 6'h1b | archit_ptr_25 == 6'h1b | archit_ptr_26 == 6'h1b | archit_ptr_27 == 6'h1b |
    archit_ptr_28 == 6'h1b | archit_ptr_29 == 6'h1b | archit_ptr_30 == 6'h1b; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_27_T_64 = _log_reg_27_T_62 | archit_ptr_31 == 6'h1b ? log_reg_27 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_28_T_15 = archit_ptr_15 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  _log_reg_28_T_47 = archit_ptr_0 == 6'h1c | archit_ptr_1 == 6'h1c | archit_ptr_2 == 6'h1c | archit_ptr_3 == 6'h1c
     | archit_ptr_4 == 6'h1c | archit_ptr_5 == 6'h1c | archit_ptr_6 == 6'h1c | archit_ptr_7 == 6'h1c | archit_ptr_8 == 6'h1c
     | archit_ptr_9 == 6'h1c | archit_ptr_10 == 6'h1c | archit_ptr_11 == 6'h1c | archit_ptr_12 == 6'h1c | archit_ptr_13
     == 6'h1c | archit_ptr_14 == 6'h1c | _log_reg_28_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_28_T_62 = _log_reg_28_T_47 | archit_ptr_16 == 6'h1c | archit_ptr_17 == 6'h1c | archit_ptr_18 == 6'h1c
     | archit_ptr_19 == 6'h1c | archit_ptr_20 == 6'h1c | archit_ptr_21 == 6'h1c | archit_ptr_22 == 6'h1c | archit_ptr_23
     == 6'h1c | archit_ptr_24 == 6'h1c | archit_ptr_25 == 6'h1c | archit_ptr_26 == 6'h1c | archit_ptr_27 == 6'h1c |
    archit_ptr_28 == 6'h1c | archit_ptr_29 == 6'h1c | archit_ptr_30 == 6'h1c; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_28_T_64 = _log_reg_28_T_62 | archit_ptr_31 == 6'h1c ? log_reg_28 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_29_T_15 = archit_ptr_15 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  _log_reg_29_T_47 = archit_ptr_0 == 6'h1d | archit_ptr_1 == 6'h1d | archit_ptr_2 == 6'h1d | archit_ptr_3 == 6'h1d
     | archit_ptr_4 == 6'h1d | archit_ptr_5 == 6'h1d | archit_ptr_6 == 6'h1d | archit_ptr_7 == 6'h1d | archit_ptr_8 == 6'h1d
     | archit_ptr_9 == 6'h1d | archit_ptr_10 == 6'h1d | archit_ptr_11 == 6'h1d | archit_ptr_12 == 6'h1d | archit_ptr_13
     == 6'h1d | archit_ptr_14 == 6'h1d | _log_reg_29_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_29_T_62 = _log_reg_29_T_47 | archit_ptr_16 == 6'h1d | archit_ptr_17 == 6'h1d | archit_ptr_18 == 6'h1d
     | archit_ptr_19 == 6'h1d | archit_ptr_20 == 6'h1d | archit_ptr_21 == 6'h1d | archit_ptr_22 == 6'h1d | archit_ptr_23
     == 6'h1d | archit_ptr_24 == 6'h1d | archit_ptr_25 == 6'h1d | archit_ptr_26 == 6'h1d | archit_ptr_27 == 6'h1d |
    archit_ptr_28 == 6'h1d | archit_ptr_29 == 6'h1d | archit_ptr_30 == 6'h1d; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_29_T_64 = _log_reg_29_T_62 | archit_ptr_31 == 6'h1d ? log_reg_29 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_30_T_15 = archit_ptr_15 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  _log_reg_30_T_47 = archit_ptr_0 == 6'h1e | archit_ptr_1 == 6'h1e | archit_ptr_2 == 6'h1e | archit_ptr_3 == 6'h1e
     | archit_ptr_4 == 6'h1e | archit_ptr_5 == 6'h1e | archit_ptr_6 == 6'h1e | archit_ptr_7 == 6'h1e | archit_ptr_8 == 6'h1e
     | archit_ptr_9 == 6'h1e | archit_ptr_10 == 6'h1e | archit_ptr_11 == 6'h1e | archit_ptr_12 == 6'h1e | archit_ptr_13
     == 6'h1e | archit_ptr_14 == 6'h1e | _log_reg_30_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_30_T_62 = _log_reg_30_T_47 | archit_ptr_16 == 6'h1e | archit_ptr_17 == 6'h1e | archit_ptr_18 == 6'h1e
     | archit_ptr_19 == 6'h1e | archit_ptr_20 == 6'h1e | archit_ptr_21 == 6'h1e | archit_ptr_22 == 6'h1e | archit_ptr_23
     == 6'h1e | archit_ptr_24 == 6'h1e | archit_ptr_25 == 6'h1e | archit_ptr_26 == 6'h1e | archit_ptr_27 == 6'h1e |
    archit_ptr_28 == 6'h1e | archit_ptr_29 == 6'h1e | archit_ptr_30 == 6'h1e; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_30_T_64 = _log_reg_30_T_62 | archit_ptr_31 == 6'h1e ? log_reg_30 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_31_T_15 = archit_ptr_15 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  _log_reg_31_T_47 = archit_ptr_0 == 6'h1f | archit_ptr_1 == 6'h1f | archit_ptr_2 == 6'h1f | archit_ptr_3 == 6'h1f
     | archit_ptr_4 == 6'h1f | archit_ptr_5 == 6'h1f | archit_ptr_6 == 6'h1f | archit_ptr_7 == 6'h1f | archit_ptr_8 == 6'h1f
     | archit_ptr_9 == 6'h1f | archit_ptr_10 == 6'h1f | archit_ptr_11 == 6'h1f | archit_ptr_12 == 6'h1f | archit_ptr_13
     == 6'h1f | archit_ptr_14 == 6'h1f | _log_reg_31_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_31_T_62 = _log_reg_31_T_47 | archit_ptr_16 == 6'h1f | archit_ptr_17 == 6'h1f | archit_ptr_18 == 6'h1f
     | archit_ptr_19 == 6'h1f | archit_ptr_20 == 6'h1f | archit_ptr_21 == 6'h1f | archit_ptr_22 == 6'h1f | archit_ptr_23
     == 6'h1f | archit_ptr_24 == 6'h1f | archit_ptr_25 == 6'h1f | archit_ptr_26 == 6'h1f | archit_ptr_27 == 6'h1f |
    archit_ptr_28 == 6'h1f | archit_ptr_29 == 6'h1f | archit_ptr_30 == 6'h1f; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_31_T_64 = _log_reg_31_T_62 | archit_ptr_31 == 6'h1f ? log_reg_31 : 2'h0; // @[Regfiles.scala 223:63]
  wire  _log_reg_32_T_15 = archit_ptr_15 == 6'h20; // @[Regfiles.scala 223:99]
  wire  _log_reg_32_T_47 = archit_ptr_0 == 6'h20 | archit_ptr_1 == 6'h20 | archit_ptr_2 == 6'h20 | archit_ptr_3 == 6'h20
     | archit_ptr_4 == 6'h20 | archit_ptr_5 == 6'h20 | archit_ptr_6 == 6'h20 | archit_ptr_7 == 6'h20 | archit_ptr_8 == 6'h20
     | archit_ptr_9 == 6'h20 | archit_ptr_10 == 6'h20 | archit_ptr_11 == 6'h20 | archit_ptr_12 == 6'h20 | archit_ptr_13
     == 6'h20 | archit_ptr_14 == 6'h20 | _log_reg_32_T_15; // @[Regfiles.scala 223:82]
  wire  _log_reg_32_T_62 = _log_reg_32_T_47 | archit_ptr_16 == 6'h20 | archit_ptr_17 == 6'h20 | archit_ptr_18 == 6'h20
     | archit_ptr_19 == 6'h20 | archit_ptr_20 == 6'h20 | archit_ptr_21 == 6'h20 | archit_ptr_22 == 6'h20 | archit_ptr_23
     == 6'h20 | archit_ptr_24 == 6'h20 | archit_ptr_25 == 6'h20 | archit_ptr_26 == 6'h20 | archit_ptr_27 == 6'h20 |
    archit_ptr_28 == 6'h20 | archit_ptr_29 == 6'h20 | archit_ptr_30 == 6'h20; // @[Regfiles.scala 223:82]
  wire [1:0] _log_reg_32_T_64 = _log_reg_32_T_62 | archit_ptr_31 == 6'h20 ? log_reg_32 : 2'h0; // @[Regfiles.scala 223:63]
  wire [1:0] _GEN_1690 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_0_T_64 : _GEN_1590; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1691 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_1_T_64 : _GEN_1591; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1692 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_2_T_64 : _GEN_1592; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1693 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_3_T_64 : _GEN_1593; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1694 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_4_T_64 : _GEN_1594; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1695 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_5_T_64 : _GEN_1595; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1696 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_6_T_64 : _GEN_1596; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1697 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_7_T_64 : _GEN_1597; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1698 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_8_T_64 : _GEN_1598; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1699 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_9_T_64 : _GEN_1599; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1700 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_10_T_64 : _GEN_1600; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1701 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_11_T_64 : _GEN_1601; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1702 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_12_T_64 : _GEN_1602; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1703 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_13_T_64 : _GEN_1603; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1704 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_14_T_64 : _GEN_1604; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1705 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_15_T_64 : _GEN_1605; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1706 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_16_T_64 : _GEN_1606; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1707 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_17_T_64 : _GEN_1607; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1708 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_18_T_64 : _GEN_1608; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1709 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_19_T_64 : _GEN_1609; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1710 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_20_T_64 : _GEN_1610; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1711 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_21_T_64 : _GEN_1611; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1712 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_22_T_64 : _GEN_1612; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1713 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_23_T_64 : _GEN_1613; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1714 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_24_T_64 : _GEN_1614; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1715 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_25_T_64 : _GEN_1615; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1716 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_26_T_64 : _GEN_1616; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1717 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_27_T_64 : _GEN_1617; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1718 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_28_T_64 : _GEN_1618; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1719 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_29_T_64 : _GEN_1619; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1720 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_30_T_64 : _GEN_1620; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1721 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_31_T_64 : _GEN_1621; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] _GEN_1722 = io_commit_0_is_MisPredict | io_commit_0_is_abort ? _log_reg_32_T_64 : _GEN_1622; // @[Regfiles.scala 221:64 223:57]
  wire  _T_118 = io_commit_0_is_MisPredict | io_commit_0_is_comfirm; // @[Regfiles.scala 225:38]
  wire [5:0] _GEN_1724 = 5'h1 == io_commit_0_raw ? archit_ptr_1 : archit_ptr_0; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1725 = 5'h2 == io_commit_0_raw ? archit_ptr_2 : _GEN_1724; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1726 = 5'h3 == io_commit_0_raw ? archit_ptr_3 : _GEN_1725; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1727 = 5'h4 == io_commit_0_raw ? archit_ptr_4 : _GEN_1726; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1728 = 5'h5 == io_commit_0_raw ? archit_ptr_5 : _GEN_1727; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1729 = 5'h6 == io_commit_0_raw ? archit_ptr_6 : _GEN_1728; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1730 = 5'h7 == io_commit_0_raw ? archit_ptr_7 : _GEN_1729; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1731 = 5'h8 == io_commit_0_raw ? archit_ptr_8 : _GEN_1730; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1732 = 5'h9 == io_commit_0_raw ? archit_ptr_9 : _GEN_1731; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1733 = 5'ha == io_commit_0_raw ? archit_ptr_10 : _GEN_1732; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1734 = 5'hb == io_commit_0_raw ? archit_ptr_11 : _GEN_1733; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1735 = 5'hc == io_commit_0_raw ? archit_ptr_12 : _GEN_1734; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1736 = 5'hd == io_commit_0_raw ? archit_ptr_13 : _GEN_1735; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1737 = 5'he == io_commit_0_raw ? archit_ptr_14 : _GEN_1736; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1738 = 5'hf == io_commit_0_raw ? archit_ptr_15 : _GEN_1737; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1739 = 5'h10 == io_commit_0_raw ? archit_ptr_16 : _GEN_1738; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1740 = 5'h11 == io_commit_0_raw ? archit_ptr_17 : _GEN_1739; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1741 = 5'h12 == io_commit_0_raw ? archit_ptr_18 : _GEN_1740; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1742 = 5'h13 == io_commit_0_raw ? archit_ptr_19 : _GEN_1741; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1743 = 5'h14 == io_commit_0_raw ? archit_ptr_20 : _GEN_1742; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1744 = 5'h15 == io_commit_0_raw ? archit_ptr_21 : _GEN_1743; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1745 = 5'h16 == io_commit_0_raw ? archit_ptr_22 : _GEN_1744; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1746 = 5'h17 == io_commit_0_raw ? archit_ptr_23 : _GEN_1745; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1747 = 5'h18 == io_commit_0_raw ? archit_ptr_24 : _GEN_1746; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1748 = 5'h19 == io_commit_0_raw ? archit_ptr_25 : _GEN_1747; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1749 = 5'h1a == io_commit_0_raw ? archit_ptr_26 : _GEN_1748; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1750 = 5'h1b == io_commit_0_raw ? archit_ptr_27 : _GEN_1749; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1751 = 5'h1c == io_commit_0_raw ? archit_ptr_28 : _GEN_1750; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1752 = 5'h1d == io_commit_0_raw ? archit_ptr_29 : _GEN_1751; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1753 = 5'h1e == io_commit_0_raw ? archit_ptr_30 : _GEN_1752; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] _GEN_1754 = 5'h1f == io_commit_0_raw ? archit_ptr_31 : _GEN_1753; // @[Regfiles.scala 229:{18,18}]
  wire [1:0] _GEN_1952 = 6'h1 == archit_ptr_0 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1953 = 6'h2 == archit_ptr_0 ? log_reg_2 : _GEN_1952; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1954 = 6'h3 == archit_ptr_0 ? log_reg_3 : _GEN_1953; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1955 = 6'h4 == archit_ptr_0 ? log_reg_4 : _GEN_1954; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1956 = 6'h5 == archit_ptr_0 ? log_reg_5 : _GEN_1955; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1957 = 6'h6 == archit_ptr_0 ? log_reg_6 : _GEN_1956; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1958 = 6'h7 == archit_ptr_0 ? log_reg_7 : _GEN_1957; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1959 = 6'h8 == archit_ptr_0 ? log_reg_8 : _GEN_1958; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1960 = 6'h9 == archit_ptr_0 ? log_reg_9 : _GEN_1959; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1961 = 6'ha == archit_ptr_0 ? log_reg_10 : _GEN_1960; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1962 = 6'hb == archit_ptr_0 ? log_reg_11 : _GEN_1961; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1963 = 6'hc == archit_ptr_0 ? log_reg_12 : _GEN_1962; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1964 = 6'hd == archit_ptr_0 ? log_reg_13 : _GEN_1963; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1965 = 6'he == archit_ptr_0 ? log_reg_14 : _GEN_1964; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1966 = 6'hf == archit_ptr_0 ? log_reg_15 : _GEN_1965; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1967 = 6'h10 == archit_ptr_0 ? log_reg_16 : _GEN_1966; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1968 = 6'h11 == archit_ptr_0 ? log_reg_17 : _GEN_1967; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1969 = 6'h12 == archit_ptr_0 ? log_reg_18 : _GEN_1968; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1970 = 6'h13 == archit_ptr_0 ? log_reg_19 : _GEN_1969; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1971 = 6'h14 == archit_ptr_0 ? log_reg_20 : _GEN_1970; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1972 = 6'h15 == archit_ptr_0 ? log_reg_21 : _GEN_1971; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1973 = 6'h16 == archit_ptr_0 ? log_reg_22 : _GEN_1972; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1974 = 6'h17 == archit_ptr_0 ? log_reg_23 : _GEN_1973; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1975 = 6'h18 == archit_ptr_0 ? log_reg_24 : _GEN_1974; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1976 = 6'h19 == archit_ptr_0 ? log_reg_25 : _GEN_1975; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1977 = 6'h1a == archit_ptr_0 ? log_reg_26 : _GEN_1976; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1978 = 6'h1b == archit_ptr_0 ? log_reg_27 : _GEN_1977; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1979 = 6'h1c == archit_ptr_0 ? log_reg_28 : _GEN_1978; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1980 = 6'h1d == archit_ptr_0 ? log_reg_29 : _GEN_1979; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1981 = 6'h1e == archit_ptr_0 ? log_reg_30 : _GEN_1980; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1982 = 6'h1f == archit_ptr_0 ? log_reg_31 : _GEN_1981; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1983 = 6'h20 == archit_ptr_0 ? log_reg_32 : _GEN_1982; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1984 = 6'h21 == archit_ptr_0 ? 2'h3 : _GEN_1983; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1986 = 6'h1 == archit_ptr_1 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1987 = 6'h2 == archit_ptr_1 ? log_reg_2 : _GEN_1986; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1988 = 6'h3 == archit_ptr_1 ? log_reg_3 : _GEN_1987; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1989 = 6'h4 == archit_ptr_1 ? log_reg_4 : _GEN_1988; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1990 = 6'h5 == archit_ptr_1 ? log_reg_5 : _GEN_1989; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1991 = 6'h6 == archit_ptr_1 ? log_reg_6 : _GEN_1990; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1992 = 6'h7 == archit_ptr_1 ? log_reg_7 : _GEN_1991; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1993 = 6'h8 == archit_ptr_1 ? log_reg_8 : _GEN_1992; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1994 = 6'h9 == archit_ptr_1 ? log_reg_9 : _GEN_1993; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1995 = 6'ha == archit_ptr_1 ? log_reg_10 : _GEN_1994; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1996 = 6'hb == archit_ptr_1 ? log_reg_11 : _GEN_1995; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1997 = 6'hc == archit_ptr_1 ? log_reg_12 : _GEN_1996; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1998 = 6'hd == archit_ptr_1 ? log_reg_13 : _GEN_1997; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_1999 = 6'he == archit_ptr_1 ? log_reg_14 : _GEN_1998; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2000 = 6'hf == archit_ptr_1 ? log_reg_15 : _GEN_1999; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2001 = 6'h10 == archit_ptr_1 ? log_reg_16 : _GEN_2000; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2002 = 6'h11 == archit_ptr_1 ? log_reg_17 : _GEN_2001; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2003 = 6'h12 == archit_ptr_1 ? log_reg_18 : _GEN_2002; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2004 = 6'h13 == archit_ptr_1 ? log_reg_19 : _GEN_2003; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2005 = 6'h14 == archit_ptr_1 ? log_reg_20 : _GEN_2004; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2006 = 6'h15 == archit_ptr_1 ? log_reg_21 : _GEN_2005; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2007 = 6'h16 == archit_ptr_1 ? log_reg_22 : _GEN_2006; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2008 = 6'h17 == archit_ptr_1 ? log_reg_23 : _GEN_2007; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2009 = 6'h18 == archit_ptr_1 ? log_reg_24 : _GEN_2008; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2010 = 6'h19 == archit_ptr_1 ? log_reg_25 : _GEN_2009; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2011 = 6'h1a == archit_ptr_1 ? log_reg_26 : _GEN_2010; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2012 = 6'h1b == archit_ptr_1 ? log_reg_27 : _GEN_2011; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2013 = 6'h1c == archit_ptr_1 ? log_reg_28 : _GEN_2012; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2014 = 6'h1d == archit_ptr_1 ? log_reg_29 : _GEN_2013; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2015 = 6'h1e == archit_ptr_1 ? log_reg_30 : _GEN_2014; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2016 = 6'h1f == archit_ptr_1 ? log_reg_31 : _GEN_2015; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2017 = 6'h20 == archit_ptr_1 ? log_reg_32 : _GEN_2016; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2018 = 6'h21 == archit_ptr_1 ? 2'h3 : _GEN_2017; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2020 = 6'h1 == archit_ptr_2 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2021 = 6'h2 == archit_ptr_2 ? log_reg_2 : _GEN_2020; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2022 = 6'h3 == archit_ptr_2 ? log_reg_3 : _GEN_2021; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2023 = 6'h4 == archit_ptr_2 ? log_reg_4 : _GEN_2022; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2024 = 6'h5 == archit_ptr_2 ? log_reg_5 : _GEN_2023; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2025 = 6'h6 == archit_ptr_2 ? log_reg_6 : _GEN_2024; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2026 = 6'h7 == archit_ptr_2 ? log_reg_7 : _GEN_2025; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2027 = 6'h8 == archit_ptr_2 ? log_reg_8 : _GEN_2026; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2028 = 6'h9 == archit_ptr_2 ? log_reg_9 : _GEN_2027; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2029 = 6'ha == archit_ptr_2 ? log_reg_10 : _GEN_2028; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2030 = 6'hb == archit_ptr_2 ? log_reg_11 : _GEN_2029; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2031 = 6'hc == archit_ptr_2 ? log_reg_12 : _GEN_2030; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2032 = 6'hd == archit_ptr_2 ? log_reg_13 : _GEN_2031; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2033 = 6'he == archit_ptr_2 ? log_reg_14 : _GEN_2032; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2034 = 6'hf == archit_ptr_2 ? log_reg_15 : _GEN_2033; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2035 = 6'h10 == archit_ptr_2 ? log_reg_16 : _GEN_2034; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2036 = 6'h11 == archit_ptr_2 ? log_reg_17 : _GEN_2035; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2037 = 6'h12 == archit_ptr_2 ? log_reg_18 : _GEN_2036; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2038 = 6'h13 == archit_ptr_2 ? log_reg_19 : _GEN_2037; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2039 = 6'h14 == archit_ptr_2 ? log_reg_20 : _GEN_2038; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2040 = 6'h15 == archit_ptr_2 ? log_reg_21 : _GEN_2039; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2041 = 6'h16 == archit_ptr_2 ? log_reg_22 : _GEN_2040; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2042 = 6'h17 == archit_ptr_2 ? log_reg_23 : _GEN_2041; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2043 = 6'h18 == archit_ptr_2 ? log_reg_24 : _GEN_2042; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2044 = 6'h19 == archit_ptr_2 ? log_reg_25 : _GEN_2043; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2045 = 6'h1a == archit_ptr_2 ? log_reg_26 : _GEN_2044; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2046 = 6'h1b == archit_ptr_2 ? log_reg_27 : _GEN_2045; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2047 = 6'h1c == archit_ptr_2 ? log_reg_28 : _GEN_2046; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2048 = 6'h1d == archit_ptr_2 ? log_reg_29 : _GEN_2047; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2049 = 6'h1e == archit_ptr_2 ? log_reg_30 : _GEN_2048; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2050 = 6'h1f == archit_ptr_2 ? log_reg_31 : _GEN_2049; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2051 = 6'h20 == archit_ptr_2 ? log_reg_32 : _GEN_2050; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2052 = 6'h21 == archit_ptr_2 ? 2'h3 : _GEN_2051; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2054 = 6'h1 == archit_ptr_3 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2055 = 6'h2 == archit_ptr_3 ? log_reg_2 : _GEN_2054; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2056 = 6'h3 == archit_ptr_3 ? log_reg_3 : _GEN_2055; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2057 = 6'h4 == archit_ptr_3 ? log_reg_4 : _GEN_2056; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2058 = 6'h5 == archit_ptr_3 ? log_reg_5 : _GEN_2057; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2059 = 6'h6 == archit_ptr_3 ? log_reg_6 : _GEN_2058; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2060 = 6'h7 == archit_ptr_3 ? log_reg_7 : _GEN_2059; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2061 = 6'h8 == archit_ptr_3 ? log_reg_8 : _GEN_2060; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2062 = 6'h9 == archit_ptr_3 ? log_reg_9 : _GEN_2061; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2063 = 6'ha == archit_ptr_3 ? log_reg_10 : _GEN_2062; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2064 = 6'hb == archit_ptr_3 ? log_reg_11 : _GEN_2063; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2065 = 6'hc == archit_ptr_3 ? log_reg_12 : _GEN_2064; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2066 = 6'hd == archit_ptr_3 ? log_reg_13 : _GEN_2065; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2067 = 6'he == archit_ptr_3 ? log_reg_14 : _GEN_2066; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2068 = 6'hf == archit_ptr_3 ? log_reg_15 : _GEN_2067; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2069 = 6'h10 == archit_ptr_3 ? log_reg_16 : _GEN_2068; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2070 = 6'h11 == archit_ptr_3 ? log_reg_17 : _GEN_2069; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2071 = 6'h12 == archit_ptr_3 ? log_reg_18 : _GEN_2070; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2072 = 6'h13 == archit_ptr_3 ? log_reg_19 : _GEN_2071; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2073 = 6'h14 == archit_ptr_3 ? log_reg_20 : _GEN_2072; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2074 = 6'h15 == archit_ptr_3 ? log_reg_21 : _GEN_2073; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2075 = 6'h16 == archit_ptr_3 ? log_reg_22 : _GEN_2074; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2076 = 6'h17 == archit_ptr_3 ? log_reg_23 : _GEN_2075; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2077 = 6'h18 == archit_ptr_3 ? log_reg_24 : _GEN_2076; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2078 = 6'h19 == archit_ptr_3 ? log_reg_25 : _GEN_2077; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2079 = 6'h1a == archit_ptr_3 ? log_reg_26 : _GEN_2078; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2080 = 6'h1b == archit_ptr_3 ? log_reg_27 : _GEN_2079; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2081 = 6'h1c == archit_ptr_3 ? log_reg_28 : _GEN_2080; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2082 = 6'h1d == archit_ptr_3 ? log_reg_29 : _GEN_2081; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2083 = 6'h1e == archit_ptr_3 ? log_reg_30 : _GEN_2082; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2084 = 6'h1f == archit_ptr_3 ? log_reg_31 : _GEN_2083; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2085 = 6'h20 == archit_ptr_3 ? log_reg_32 : _GEN_2084; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2086 = 6'h21 == archit_ptr_3 ? 2'h3 : _GEN_2085; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2088 = 6'h1 == archit_ptr_4 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2089 = 6'h2 == archit_ptr_4 ? log_reg_2 : _GEN_2088; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2090 = 6'h3 == archit_ptr_4 ? log_reg_3 : _GEN_2089; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2091 = 6'h4 == archit_ptr_4 ? log_reg_4 : _GEN_2090; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2092 = 6'h5 == archit_ptr_4 ? log_reg_5 : _GEN_2091; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2093 = 6'h6 == archit_ptr_4 ? log_reg_6 : _GEN_2092; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2094 = 6'h7 == archit_ptr_4 ? log_reg_7 : _GEN_2093; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2095 = 6'h8 == archit_ptr_4 ? log_reg_8 : _GEN_2094; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2096 = 6'h9 == archit_ptr_4 ? log_reg_9 : _GEN_2095; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2097 = 6'ha == archit_ptr_4 ? log_reg_10 : _GEN_2096; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2098 = 6'hb == archit_ptr_4 ? log_reg_11 : _GEN_2097; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2099 = 6'hc == archit_ptr_4 ? log_reg_12 : _GEN_2098; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2100 = 6'hd == archit_ptr_4 ? log_reg_13 : _GEN_2099; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2101 = 6'he == archit_ptr_4 ? log_reg_14 : _GEN_2100; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2102 = 6'hf == archit_ptr_4 ? log_reg_15 : _GEN_2101; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2103 = 6'h10 == archit_ptr_4 ? log_reg_16 : _GEN_2102; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2104 = 6'h11 == archit_ptr_4 ? log_reg_17 : _GEN_2103; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2105 = 6'h12 == archit_ptr_4 ? log_reg_18 : _GEN_2104; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2106 = 6'h13 == archit_ptr_4 ? log_reg_19 : _GEN_2105; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2107 = 6'h14 == archit_ptr_4 ? log_reg_20 : _GEN_2106; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2108 = 6'h15 == archit_ptr_4 ? log_reg_21 : _GEN_2107; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2109 = 6'h16 == archit_ptr_4 ? log_reg_22 : _GEN_2108; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2110 = 6'h17 == archit_ptr_4 ? log_reg_23 : _GEN_2109; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2111 = 6'h18 == archit_ptr_4 ? log_reg_24 : _GEN_2110; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2112 = 6'h19 == archit_ptr_4 ? log_reg_25 : _GEN_2111; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2113 = 6'h1a == archit_ptr_4 ? log_reg_26 : _GEN_2112; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2114 = 6'h1b == archit_ptr_4 ? log_reg_27 : _GEN_2113; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2115 = 6'h1c == archit_ptr_4 ? log_reg_28 : _GEN_2114; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2116 = 6'h1d == archit_ptr_4 ? log_reg_29 : _GEN_2115; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2117 = 6'h1e == archit_ptr_4 ? log_reg_30 : _GEN_2116; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2118 = 6'h1f == archit_ptr_4 ? log_reg_31 : _GEN_2117; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2119 = 6'h20 == archit_ptr_4 ? log_reg_32 : _GEN_2118; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2120 = 6'h21 == archit_ptr_4 ? 2'h3 : _GEN_2119; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2122 = 6'h1 == archit_ptr_5 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2123 = 6'h2 == archit_ptr_5 ? log_reg_2 : _GEN_2122; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2124 = 6'h3 == archit_ptr_5 ? log_reg_3 : _GEN_2123; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2125 = 6'h4 == archit_ptr_5 ? log_reg_4 : _GEN_2124; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2126 = 6'h5 == archit_ptr_5 ? log_reg_5 : _GEN_2125; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2127 = 6'h6 == archit_ptr_5 ? log_reg_6 : _GEN_2126; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2128 = 6'h7 == archit_ptr_5 ? log_reg_7 : _GEN_2127; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2129 = 6'h8 == archit_ptr_5 ? log_reg_8 : _GEN_2128; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2130 = 6'h9 == archit_ptr_5 ? log_reg_9 : _GEN_2129; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2131 = 6'ha == archit_ptr_5 ? log_reg_10 : _GEN_2130; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2132 = 6'hb == archit_ptr_5 ? log_reg_11 : _GEN_2131; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2133 = 6'hc == archit_ptr_5 ? log_reg_12 : _GEN_2132; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2134 = 6'hd == archit_ptr_5 ? log_reg_13 : _GEN_2133; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2135 = 6'he == archit_ptr_5 ? log_reg_14 : _GEN_2134; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2136 = 6'hf == archit_ptr_5 ? log_reg_15 : _GEN_2135; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2137 = 6'h10 == archit_ptr_5 ? log_reg_16 : _GEN_2136; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2138 = 6'h11 == archit_ptr_5 ? log_reg_17 : _GEN_2137; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2139 = 6'h12 == archit_ptr_5 ? log_reg_18 : _GEN_2138; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2140 = 6'h13 == archit_ptr_5 ? log_reg_19 : _GEN_2139; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2141 = 6'h14 == archit_ptr_5 ? log_reg_20 : _GEN_2140; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2142 = 6'h15 == archit_ptr_5 ? log_reg_21 : _GEN_2141; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2143 = 6'h16 == archit_ptr_5 ? log_reg_22 : _GEN_2142; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2144 = 6'h17 == archit_ptr_5 ? log_reg_23 : _GEN_2143; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2145 = 6'h18 == archit_ptr_5 ? log_reg_24 : _GEN_2144; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2146 = 6'h19 == archit_ptr_5 ? log_reg_25 : _GEN_2145; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2147 = 6'h1a == archit_ptr_5 ? log_reg_26 : _GEN_2146; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2148 = 6'h1b == archit_ptr_5 ? log_reg_27 : _GEN_2147; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2149 = 6'h1c == archit_ptr_5 ? log_reg_28 : _GEN_2148; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2150 = 6'h1d == archit_ptr_5 ? log_reg_29 : _GEN_2149; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2151 = 6'h1e == archit_ptr_5 ? log_reg_30 : _GEN_2150; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2152 = 6'h1f == archit_ptr_5 ? log_reg_31 : _GEN_2151; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2153 = 6'h20 == archit_ptr_5 ? log_reg_32 : _GEN_2152; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2154 = 6'h21 == archit_ptr_5 ? 2'h3 : _GEN_2153; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2156 = 6'h1 == archit_ptr_6 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2157 = 6'h2 == archit_ptr_6 ? log_reg_2 : _GEN_2156; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2158 = 6'h3 == archit_ptr_6 ? log_reg_3 : _GEN_2157; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2159 = 6'h4 == archit_ptr_6 ? log_reg_4 : _GEN_2158; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2160 = 6'h5 == archit_ptr_6 ? log_reg_5 : _GEN_2159; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2161 = 6'h6 == archit_ptr_6 ? log_reg_6 : _GEN_2160; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2162 = 6'h7 == archit_ptr_6 ? log_reg_7 : _GEN_2161; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2163 = 6'h8 == archit_ptr_6 ? log_reg_8 : _GEN_2162; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2164 = 6'h9 == archit_ptr_6 ? log_reg_9 : _GEN_2163; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2165 = 6'ha == archit_ptr_6 ? log_reg_10 : _GEN_2164; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2166 = 6'hb == archit_ptr_6 ? log_reg_11 : _GEN_2165; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2167 = 6'hc == archit_ptr_6 ? log_reg_12 : _GEN_2166; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2168 = 6'hd == archit_ptr_6 ? log_reg_13 : _GEN_2167; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2169 = 6'he == archit_ptr_6 ? log_reg_14 : _GEN_2168; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2170 = 6'hf == archit_ptr_6 ? log_reg_15 : _GEN_2169; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2171 = 6'h10 == archit_ptr_6 ? log_reg_16 : _GEN_2170; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2172 = 6'h11 == archit_ptr_6 ? log_reg_17 : _GEN_2171; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2173 = 6'h12 == archit_ptr_6 ? log_reg_18 : _GEN_2172; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2174 = 6'h13 == archit_ptr_6 ? log_reg_19 : _GEN_2173; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2175 = 6'h14 == archit_ptr_6 ? log_reg_20 : _GEN_2174; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2176 = 6'h15 == archit_ptr_6 ? log_reg_21 : _GEN_2175; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2177 = 6'h16 == archit_ptr_6 ? log_reg_22 : _GEN_2176; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2178 = 6'h17 == archit_ptr_6 ? log_reg_23 : _GEN_2177; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2179 = 6'h18 == archit_ptr_6 ? log_reg_24 : _GEN_2178; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2180 = 6'h19 == archit_ptr_6 ? log_reg_25 : _GEN_2179; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2181 = 6'h1a == archit_ptr_6 ? log_reg_26 : _GEN_2180; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2182 = 6'h1b == archit_ptr_6 ? log_reg_27 : _GEN_2181; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2183 = 6'h1c == archit_ptr_6 ? log_reg_28 : _GEN_2182; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2184 = 6'h1d == archit_ptr_6 ? log_reg_29 : _GEN_2183; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2185 = 6'h1e == archit_ptr_6 ? log_reg_30 : _GEN_2184; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2186 = 6'h1f == archit_ptr_6 ? log_reg_31 : _GEN_2185; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2187 = 6'h20 == archit_ptr_6 ? log_reg_32 : _GEN_2186; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2188 = 6'h21 == archit_ptr_6 ? 2'h3 : _GEN_2187; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2190 = 6'h1 == archit_ptr_7 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2191 = 6'h2 == archit_ptr_7 ? log_reg_2 : _GEN_2190; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2192 = 6'h3 == archit_ptr_7 ? log_reg_3 : _GEN_2191; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2193 = 6'h4 == archit_ptr_7 ? log_reg_4 : _GEN_2192; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2194 = 6'h5 == archit_ptr_7 ? log_reg_5 : _GEN_2193; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2195 = 6'h6 == archit_ptr_7 ? log_reg_6 : _GEN_2194; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2196 = 6'h7 == archit_ptr_7 ? log_reg_7 : _GEN_2195; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2197 = 6'h8 == archit_ptr_7 ? log_reg_8 : _GEN_2196; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2198 = 6'h9 == archit_ptr_7 ? log_reg_9 : _GEN_2197; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2199 = 6'ha == archit_ptr_7 ? log_reg_10 : _GEN_2198; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2200 = 6'hb == archit_ptr_7 ? log_reg_11 : _GEN_2199; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2201 = 6'hc == archit_ptr_7 ? log_reg_12 : _GEN_2200; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2202 = 6'hd == archit_ptr_7 ? log_reg_13 : _GEN_2201; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2203 = 6'he == archit_ptr_7 ? log_reg_14 : _GEN_2202; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2204 = 6'hf == archit_ptr_7 ? log_reg_15 : _GEN_2203; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2205 = 6'h10 == archit_ptr_7 ? log_reg_16 : _GEN_2204; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2206 = 6'h11 == archit_ptr_7 ? log_reg_17 : _GEN_2205; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2207 = 6'h12 == archit_ptr_7 ? log_reg_18 : _GEN_2206; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2208 = 6'h13 == archit_ptr_7 ? log_reg_19 : _GEN_2207; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2209 = 6'h14 == archit_ptr_7 ? log_reg_20 : _GEN_2208; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2210 = 6'h15 == archit_ptr_7 ? log_reg_21 : _GEN_2209; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2211 = 6'h16 == archit_ptr_7 ? log_reg_22 : _GEN_2210; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2212 = 6'h17 == archit_ptr_7 ? log_reg_23 : _GEN_2211; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2213 = 6'h18 == archit_ptr_7 ? log_reg_24 : _GEN_2212; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2214 = 6'h19 == archit_ptr_7 ? log_reg_25 : _GEN_2213; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2215 = 6'h1a == archit_ptr_7 ? log_reg_26 : _GEN_2214; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2216 = 6'h1b == archit_ptr_7 ? log_reg_27 : _GEN_2215; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2217 = 6'h1c == archit_ptr_7 ? log_reg_28 : _GEN_2216; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2218 = 6'h1d == archit_ptr_7 ? log_reg_29 : _GEN_2217; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2219 = 6'h1e == archit_ptr_7 ? log_reg_30 : _GEN_2218; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2220 = 6'h1f == archit_ptr_7 ? log_reg_31 : _GEN_2219; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2221 = 6'h20 == archit_ptr_7 ? log_reg_32 : _GEN_2220; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2222 = 6'h21 == archit_ptr_7 ? 2'h3 : _GEN_2221; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2224 = 6'h1 == archit_ptr_8 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2225 = 6'h2 == archit_ptr_8 ? log_reg_2 : _GEN_2224; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2226 = 6'h3 == archit_ptr_8 ? log_reg_3 : _GEN_2225; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2227 = 6'h4 == archit_ptr_8 ? log_reg_4 : _GEN_2226; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2228 = 6'h5 == archit_ptr_8 ? log_reg_5 : _GEN_2227; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2229 = 6'h6 == archit_ptr_8 ? log_reg_6 : _GEN_2228; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2230 = 6'h7 == archit_ptr_8 ? log_reg_7 : _GEN_2229; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2231 = 6'h8 == archit_ptr_8 ? log_reg_8 : _GEN_2230; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2232 = 6'h9 == archit_ptr_8 ? log_reg_9 : _GEN_2231; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2233 = 6'ha == archit_ptr_8 ? log_reg_10 : _GEN_2232; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2234 = 6'hb == archit_ptr_8 ? log_reg_11 : _GEN_2233; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2235 = 6'hc == archit_ptr_8 ? log_reg_12 : _GEN_2234; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2236 = 6'hd == archit_ptr_8 ? log_reg_13 : _GEN_2235; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2237 = 6'he == archit_ptr_8 ? log_reg_14 : _GEN_2236; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2238 = 6'hf == archit_ptr_8 ? log_reg_15 : _GEN_2237; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2239 = 6'h10 == archit_ptr_8 ? log_reg_16 : _GEN_2238; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2240 = 6'h11 == archit_ptr_8 ? log_reg_17 : _GEN_2239; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2241 = 6'h12 == archit_ptr_8 ? log_reg_18 : _GEN_2240; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2242 = 6'h13 == archit_ptr_8 ? log_reg_19 : _GEN_2241; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2243 = 6'h14 == archit_ptr_8 ? log_reg_20 : _GEN_2242; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2244 = 6'h15 == archit_ptr_8 ? log_reg_21 : _GEN_2243; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2245 = 6'h16 == archit_ptr_8 ? log_reg_22 : _GEN_2244; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2246 = 6'h17 == archit_ptr_8 ? log_reg_23 : _GEN_2245; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2247 = 6'h18 == archit_ptr_8 ? log_reg_24 : _GEN_2246; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2248 = 6'h19 == archit_ptr_8 ? log_reg_25 : _GEN_2247; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2249 = 6'h1a == archit_ptr_8 ? log_reg_26 : _GEN_2248; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2250 = 6'h1b == archit_ptr_8 ? log_reg_27 : _GEN_2249; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2251 = 6'h1c == archit_ptr_8 ? log_reg_28 : _GEN_2250; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2252 = 6'h1d == archit_ptr_8 ? log_reg_29 : _GEN_2251; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2253 = 6'h1e == archit_ptr_8 ? log_reg_30 : _GEN_2252; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2254 = 6'h1f == archit_ptr_8 ? log_reg_31 : _GEN_2253; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2255 = 6'h20 == archit_ptr_8 ? log_reg_32 : _GEN_2254; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2256 = 6'h21 == archit_ptr_8 ? 2'h3 : _GEN_2255; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2258 = 6'h1 == archit_ptr_9 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2259 = 6'h2 == archit_ptr_9 ? log_reg_2 : _GEN_2258; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2260 = 6'h3 == archit_ptr_9 ? log_reg_3 : _GEN_2259; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2261 = 6'h4 == archit_ptr_9 ? log_reg_4 : _GEN_2260; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2262 = 6'h5 == archit_ptr_9 ? log_reg_5 : _GEN_2261; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2263 = 6'h6 == archit_ptr_9 ? log_reg_6 : _GEN_2262; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2264 = 6'h7 == archit_ptr_9 ? log_reg_7 : _GEN_2263; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2265 = 6'h8 == archit_ptr_9 ? log_reg_8 : _GEN_2264; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2266 = 6'h9 == archit_ptr_9 ? log_reg_9 : _GEN_2265; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2267 = 6'ha == archit_ptr_9 ? log_reg_10 : _GEN_2266; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2268 = 6'hb == archit_ptr_9 ? log_reg_11 : _GEN_2267; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2269 = 6'hc == archit_ptr_9 ? log_reg_12 : _GEN_2268; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2270 = 6'hd == archit_ptr_9 ? log_reg_13 : _GEN_2269; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2271 = 6'he == archit_ptr_9 ? log_reg_14 : _GEN_2270; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2272 = 6'hf == archit_ptr_9 ? log_reg_15 : _GEN_2271; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2273 = 6'h10 == archit_ptr_9 ? log_reg_16 : _GEN_2272; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2274 = 6'h11 == archit_ptr_9 ? log_reg_17 : _GEN_2273; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2275 = 6'h12 == archit_ptr_9 ? log_reg_18 : _GEN_2274; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2276 = 6'h13 == archit_ptr_9 ? log_reg_19 : _GEN_2275; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2277 = 6'h14 == archit_ptr_9 ? log_reg_20 : _GEN_2276; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2278 = 6'h15 == archit_ptr_9 ? log_reg_21 : _GEN_2277; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2279 = 6'h16 == archit_ptr_9 ? log_reg_22 : _GEN_2278; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2280 = 6'h17 == archit_ptr_9 ? log_reg_23 : _GEN_2279; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2281 = 6'h18 == archit_ptr_9 ? log_reg_24 : _GEN_2280; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2282 = 6'h19 == archit_ptr_9 ? log_reg_25 : _GEN_2281; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2283 = 6'h1a == archit_ptr_9 ? log_reg_26 : _GEN_2282; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2284 = 6'h1b == archit_ptr_9 ? log_reg_27 : _GEN_2283; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2285 = 6'h1c == archit_ptr_9 ? log_reg_28 : _GEN_2284; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2286 = 6'h1d == archit_ptr_9 ? log_reg_29 : _GEN_2285; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2287 = 6'h1e == archit_ptr_9 ? log_reg_30 : _GEN_2286; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2288 = 6'h1f == archit_ptr_9 ? log_reg_31 : _GEN_2287; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2289 = 6'h20 == archit_ptr_9 ? log_reg_32 : _GEN_2288; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2290 = 6'h21 == archit_ptr_9 ? 2'h3 : _GEN_2289; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2292 = 6'h1 == archit_ptr_10 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2293 = 6'h2 == archit_ptr_10 ? log_reg_2 : _GEN_2292; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2294 = 6'h3 == archit_ptr_10 ? log_reg_3 : _GEN_2293; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2295 = 6'h4 == archit_ptr_10 ? log_reg_4 : _GEN_2294; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2296 = 6'h5 == archit_ptr_10 ? log_reg_5 : _GEN_2295; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2297 = 6'h6 == archit_ptr_10 ? log_reg_6 : _GEN_2296; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2298 = 6'h7 == archit_ptr_10 ? log_reg_7 : _GEN_2297; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2299 = 6'h8 == archit_ptr_10 ? log_reg_8 : _GEN_2298; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2300 = 6'h9 == archit_ptr_10 ? log_reg_9 : _GEN_2299; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2301 = 6'ha == archit_ptr_10 ? log_reg_10 : _GEN_2300; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2302 = 6'hb == archit_ptr_10 ? log_reg_11 : _GEN_2301; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2303 = 6'hc == archit_ptr_10 ? log_reg_12 : _GEN_2302; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2304 = 6'hd == archit_ptr_10 ? log_reg_13 : _GEN_2303; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2305 = 6'he == archit_ptr_10 ? log_reg_14 : _GEN_2304; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2306 = 6'hf == archit_ptr_10 ? log_reg_15 : _GEN_2305; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2307 = 6'h10 == archit_ptr_10 ? log_reg_16 : _GEN_2306; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2308 = 6'h11 == archit_ptr_10 ? log_reg_17 : _GEN_2307; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2309 = 6'h12 == archit_ptr_10 ? log_reg_18 : _GEN_2308; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2310 = 6'h13 == archit_ptr_10 ? log_reg_19 : _GEN_2309; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2311 = 6'h14 == archit_ptr_10 ? log_reg_20 : _GEN_2310; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2312 = 6'h15 == archit_ptr_10 ? log_reg_21 : _GEN_2311; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2313 = 6'h16 == archit_ptr_10 ? log_reg_22 : _GEN_2312; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2314 = 6'h17 == archit_ptr_10 ? log_reg_23 : _GEN_2313; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2315 = 6'h18 == archit_ptr_10 ? log_reg_24 : _GEN_2314; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2316 = 6'h19 == archit_ptr_10 ? log_reg_25 : _GEN_2315; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2317 = 6'h1a == archit_ptr_10 ? log_reg_26 : _GEN_2316; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2318 = 6'h1b == archit_ptr_10 ? log_reg_27 : _GEN_2317; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2319 = 6'h1c == archit_ptr_10 ? log_reg_28 : _GEN_2318; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2320 = 6'h1d == archit_ptr_10 ? log_reg_29 : _GEN_2319; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2321 = 6'h1e == archit_ptr_10 ? log_reg_30 : _GEN_2320; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2322 = 6'h1f == archit_ptr_10 ? log_reg_31 : _GEN_2321; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2323 = 6'h20 == archit_ptr_10 ? log_reg_32 : _GEN_2322; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2324 = 6'h21 == archit_ptr_10 ? 2'h3 : _GEN_2323; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2326 = 6'h1 == archit_ptr_11 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2327 = 6'h2 == archit_ptr_11 ? log_reg_2 : _GEN_2326; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2328 = 6'h3 == archit_ptr_11 ? log_reg_3 : _GEN_2327; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2329 = 6'h4 == archit_ptr_11 ? log_reg_4 : _GEN_2328; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2330 = 6'h5 == archit_ptr_11 ? log_reg_5 : _GEN_2329; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2331 = 6'h6 == archit_ptr_11 ? log_reg_6 : _GEN_2330; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2332 = 6'h7 == archit_ptr_11 ? log_reg_7 : _GEN_2331; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2333 = 6'h8 == archit_ptr_11 ? log_reg_8 : _GEN_2332; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2334 = 6'h9 == archit_ptr_11 ? log_reg_9 : _GEN_2333; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2335 = 6'ha == archit_ptr_11 ? log_reg_10 : _GEN_2334; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2336 = 6'hb == archit_ptr_11 ? log_reg_11 : _GEN_2335; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2337 = 6'hc == archit_ptr_11 ? log_reg_12 : _GEN_2336; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2338 = 6'hd == archit_ptr_11 ? log_reg_13 : _GEN_2337; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2339 = 6'he == archit_ptr_11 ? log_reg_14 : _GEN_2338; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2340 = 6'hf == archit_ptr_11 ? log_reg_15 : _GEN_2339; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2341 = 6'h10 == archit_ptr_11 ? log_reg_16 : _GEN_2340; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2342 = 6'h11 == archit_ptr_11 ? log_reg_17 : _GEN_2341; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2343 = 6'h12 == archit_ptr_11 ? log_reg_18 : _GEN_2342; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2344 = 6'h13 == archit_ptr_11 ? log_reg_19 : _GEN_2343; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2345 = 6'h14 == archit_ptr_11 ? log_reg_20 : _GEN_2344; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2346 = 6'h15 == archit_ptr_11 ? log_reg_21 : _GEN_2345; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2347 = 6'h16 == archit_ptr_11 ? log_reg_22 : _GEN_2346; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2348 = 6'h17 == archit_ptr_11 ? log_reg_23 : _GEN_2347; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2349 = 6'h18 == archit_ptr_11 ? log_reg_24 : _GEN_2348; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2350 = 6'h19 == archit_ptr_11 ? log_reg_25 : _GEN_2349; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2351 = 6'h1a == archit_ptr_11 ? log_reg_26 : _GEN_2350; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2352 = 6'h1b == archit_ptr_11 ? log_reg_27 : _GEN_2351; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2353 = 6'h1c == archit_ptr_11 ? log_reg_28 : _GEN_2352; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2354 = 6'h1d == archit_ptr_11 ? log_reg_29 : _GEN_2353; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2355 = 6'h1e == archit_ptr_11 ? log_reg_30 : _GEN_2354; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2356 = 6'h1f == archit_ptr_11 ? log_reg_31 : _GEN_2355; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2357 = 6'h20 == archit_ptr_11 ? log_reg_32 : _GEN_2356; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2358 = 6'h21 == archit_ptr_11 ? 2'h3 : _GEN_2357; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2360 = 6'h1 == archit_ptr_12 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2361 = 6'h2 == archit_ptr_12 ? log_reg_2 : _GEN_2360; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2362 = 6'h3 == archit_ptr_12 ? log_reg_3 : _GEN_2361; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2363 = 6'h4 == archit_ptr_12 ? log_reg_4 : _GEN_2362; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2364 = 6'h5 == archit_ptr_12 ? log_reg_5 : _GEN_2363; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2365 = 6'h6 == archit_ptr_12 ? log_reg_6 : _GEN_2364; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2366 = 6'h7 == archit_ptr_12 ? log_reg_7 : _GEN_2365; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2367 = 6'h8 == archit_ptr_12 ? log_reg_8 : _GEN_2366; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2368 = 6'h9 == archit_ptr_12 ? log_reg_9 : _GEN_2367; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2369 = 6'ha == archit_ptr_12 ? log_reg_10 : _GEN_2368; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2370 = 6'hb == archit_ptr_12 ? log_reg_11 : _GEN_2369; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2371 = 6'hc == archit_ptr_12 ? log_reg_12 : _GEN_2370; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2372 = 6'hd == archit_ptr_12 ? log_reg_13 : _GEN_2371; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2373 = 6'he == archit_ptr_12 ? log_reg_14 : _GEN_2372; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2374 = 6'hf == archit_ptr_12 ? log_reg_15 : _GEN_2373; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2375 = 6'h10 == archit_ptr_12 ? log_reg_16 : _GEN_2374; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2376 = 6'h11 == archit_ptr_12 ? log_reg_17 : _GEN_2375; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2377 = 6'h12 == archit_ptr_12 ? log_reg_18 : _GEN_2376; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2378 = 6'h13 == archit_ptr_12 ? log_reg_19 : _GEN_2377; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2379 = 6'h14 == archit_ptr_12 ? log_reg_20 : _GEN_2378; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2380 = 6'h15 == archit_ptr_12 ? log_reg_21 : _GEN_2379; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2381 = 6'h16 == archit_ptr_12 ? log_reg_22 : _GEN_2380; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2382 = 6'h17 == archit_ptr_12 ? log_reg_23 : _GEN_2381; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2383 = 6'h18 == archit_ptr_12 ? log_reg_24 : _GEN_2382; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2384 = 6'h19 == archit_ptr_12 ? log_reg_25 : _GEN_2383; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2385 = 6'h1a == archit_ptr_12 ? log_reg_26 : _GEN_2384; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2386 = 6'h1b == archit_ptr_12 ? log_reg_27 : _GEN_2385; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2387 = 6'h1c == archit_ptr_12 ? log_reg_28 : _GEN_2386; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2388 = 6'h1d == archit_ptr_12 ? log_reg_29 : _GEN_2387; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2389 = 6'h1e == archit_ptr_12 ? log_reg_30 : _GEN_2388; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2390 = 6'h1f == archit_ptr_12 ? log_reg_31 : _GEN_2389; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2391 = 6'h20 == archit_ptr_12 ? log_reg_32 : _GEN_2390; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2392 = 6'h21 == archit_ptr_12 ? 2'h3 : _GEN_2391; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2394 = 6'h1 == archit_ptr_13 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2395 = 6'h2 == archit_ptr_13 ? log_reg_2 : _GEN_2394; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2396 = 6'h3 == archit_ptr_13 ? log_reg_3 : _GEN_2395; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2397 = 6'h4 == archit_ptr_13 ? log_reg_4 : _GEN_2396; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2398 = 6'h5 == archit_ptr_13 ? log_reg_5 : _GEN_2397; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2399 = 6'h6 == archit_ptr_13 ? log_reg_6 : _GEN_2398; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2400 = 6'h7 == archit_ptr_13 ? log_reg_7 : _GEN_2399; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2401 = 6'h8 == archit_ptr_13 ? log_reg_8 : _GEN_2400; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2402 = 6'h9 == archit_ptr_13 ? log_reg_9 : _GEN_2401; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2403 = 6'ha == archit_ptr_13 ? log_reg_10 : _GEN_2402; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2404 = 6'hb == archit_ptr_13 ? log_reg_11 : _GEN_2403; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2405 = 6'hc == archit_ptr_13 ? log_reg_12 : _GEN_2404; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2406 = 6'hd == archit_ptr_13 ? log_reg_13 : _GEN_2405; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2407 = 6'he == archit_ptr_13 ? log_reg_14 : _GEN_2406; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2408 = 6'hf == archit_ptr_13 ? log_reg_15 : _GEN_2407; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2409 = 6'h10 == archit_ptr_13 ? log_reg_16 : _GEN_2408; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2410 = 6'h11 == archit_ptr_13 ? log_reg_17 : _GEN_2409; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2411 = 6'h12 == archit_ptr_13 ? log_reg_18 : _GEN_2410; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2412 = 6'h13 == archit_ptr_13 ? log_reg_19 : _GEN_2411; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2413 = 6'h14 == archit_ptr_13 ? log_reg_20 : _GEN_2412; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2414 = 6'h15 == archit_ptr_13 ? log_reg_21 : _GEN_2413; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2415 = 6'h16 == archit_ptr_13 ? log_reg_22 : _GEN_2414; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2416 = 6'h17 == archit_ptr_13 ? log_reg_23 : _GEN_2415; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2417 = 6'h18 == archit_ptr_13 ? log_reg_24 : _GEN_2416; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2418 = 6'h19 == archit_ptr_13 ? log_reg_25 : _GEN_2417; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2419 = 6'h1a == archit_ptr_13 ? log_reg_26 : _GEN_2418; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2420 = 6'h1b == archit_ptr_13 ? log_reg_27 : _GEN_2419; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2421 = 6'h1c == archit_ptr_13 ? log_reg_28 : _GEN_2420; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2422 = 6'h1d == archit_ptr_13 ? log_reg_29 : _GEN_2421; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2423 = 6'h1e == archit_ptr_13 ? log_reg_30 : _GEN_2422; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2424 = 6'h1f == archit_ptr_13 ? log_reg_31 : _GEN_2423; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2425 = 6'h20 == archit_ptr_13 ? log_reg_32 : _GEN_2424; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2426 = 6'h21 == archit_ptr_13 ? 2'h3 : _GEN_2425; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2428 = 6'h1 == archit_ptr_14 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2429 = 6'h2 == archit_ptr_14 ? log_reg_2 : _GEN_2428; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2430 = 6'h3 == archit_ptr_14 ? log_reg_3 : _GEN_2429; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2431 = 6'h4 == archit_ptr_14 ? log_reg_4 : _GEN_2430; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2432 = 6'h5 == archit_ptr_14 ? log_reg_5 : _GEN_2431; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2433 = 6'h6 == archit_ptr_14 ? log_reg_6 : _GEN_2432; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2434 = 6'h7 == archit_ptr_14 ? log_reg_7 : _GEN_2433; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2435 = 6'h8 == archit_ptr_14 ? log_reg_8 : _GEN_2434; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2436 = 6'h9 == archit_ptr_14 ? log_reg_9 : _GEN_2435; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2437 = 6'ha == archit_ptr_14 ? log_reg_10 : _GEN_2436; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2438 = 6'hb == archit_ptr_14 ? log_reg_11 : _GEN_2437; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2439 = 6'hc == archit_ptr_14 ? log_reg_12 : _GEN_2438; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2440 = 6'hd == archit_ptr_14 ? log_reg_13 : _GEN_2439; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2441 = 6'he == archit_ptr_14 ? log_reg_14 : _GEN_2440; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2442 = 6'hf == archit_ptr_14 ? log_reg_15 : _GEN_2441; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2443 = 6'h10 == archit_ptr_14 ? log_reg_16 : _GEN_2442; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2444 = 6'h11 == archit_ptr_14 ? log_reg_17 : _GEN_2443; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2445 = 6'h12 == archit_ptr_14 ? log_reg_18 : _GEN_2444; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2446 = 6'h13 == archit_ptr_14 ? log_reg_19 : _GEN_2445; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2447 = 6'h14 == archit_ptr_14 ? log_reg_20 : _GEN_2446; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2448 = 6'h15 == archit_ptr_14 ? log_reg_21 : _GEN_2447; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2449 = 6'h16 == archit_ptr_14 ? log_reg_22 : _GEN_2448; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2450 = 6'h17 == archit_ptr_14 ? log_reg_23 : _GEN_2449; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2451 = 6'h18 == archit_ptr_14 ? log_reg_24 : _GEN_2450; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2452 = 6'h19 == archit_ptr_14 ? log_reg_25 : _GEN_2451; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2453 = 6'h1a == archit_ptr_14 ? log_reg_26 : _GEN_2452; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2454 = 6'h1b == archit_ptr_14 ? log_reg_27 : _GEN_2453; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2455 = 6'h1c == archit_ptr_14 ? log_reg_28 : _GEN_2454; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2456 = 6'h1d == archit_ptr_14 ? log_reg_29 : _GEN_2455; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2457 = 6'h1e == archit_ptr_14 ? log_reg_30 : _GEN_2456; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2458 = 6'h1f == archit_ptr_14 ? log_reg_31 : _GEN_2457; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2459 = 6'h20 == archit_ptr_14 ? log_reg_32 : _GEN_2458; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2460 = 6'h21 == archit_ptr_14 ? 2'h3 : _GEN_2459; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2462 = 6'h1 == archit_ptr_15 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2463 = 6'h2 == archit_ptr_15 ? log_reg_2 : _GEN_2462; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2464 = 6'h3 == archit_ptr_15 ? log_reg_3 : _GEN_2463; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2465 = 6'h4 == archit_ptr_15 ? log_reg_4 : _GEN_2464; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2466 = 6'h5 == archit_ptr_15 ? log_reg_5 : _GEN_2465; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2467 = 6'h6 == archit_ptr_15 ? log_reg_6 : _GEN_2466; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2468 = 6'h7 == archit_ptr_15 ? log_reg_7 : _GEN_2467; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2469 = 6'h8 == archit_ptr_15 ? log_reg_8 : _GEN_2468; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2470 = 6'h9 == archit_ptr_15 ? log_reg_9 : _GEN_2469; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2471 = 6'ha == archit_ptr_15 ? log_reg_10 : _GEN_2470; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2472 = 6'hb == archit_ptr_15 ? log_reg_11 : _GEN_2471; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2473 = 6'hc == archit_ptr_15 ? log_reg_12 : _GEN_2472; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2474 = 6'hd == archit_ptr_15 ? log_reg_13 : _GEN_2473; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2475 = 6'he == archit_ptr_15 ? log_reg_14 : _GEN_2474; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2476 = 6'hf == archit_ptr_15 ? log_reg_15 : _GEN_2475; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2477 = 6'h10 == archit_ptr_15 ? log_reg_16 : _GEN_2476; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2478 = 6'h11 == archit_ptr_15 ? log_reg_17 : _GEN_2477; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2479 = 6'h12 == archit_ptr_15 ? log_reg_18 : _GEN_2478; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2480 = 6'h13 == archit_ptr_15 ? log_reg_19 : _GEN_2479; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2481 = 6'h14 == archit_ptr_15 ? log_reg_20 : _GEN_2480; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2482 = 6'h15 == archit_ptr_15 ? log_reg_21 : _GEN_2481; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2483 = 6'h16 == archit_ptr_15 ? log_reg_22 : _GEN_2482; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2484 = 6'h17 == archit_ptr_15 ? log_reg_23 : _GEN_2483; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2485 = 6'h18 == archit_ptr_15 ? log_reg_24 : _GEN_2484; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2486 = 6'h19 == archit_ptr_15 ? log_reg_25 : _GEN_2485; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2487 = 6'h1a == archit_ptr_15 ? log_reg_26 : _GEN_2486; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2488 = 6'h1b == archit_ptr_15 ? log_reg_27 : _GEN_2487; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2489 = 6'h1c == archit_ptr_15 ? log_reg_28 : _GEN_2488; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2490 = 6'h1d == archit_ptr_15 ? log_reg_29 : _GEN_2489; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2491 = 6'h1e == archit_ptr_15 ? log_reg_30 : _GEN_2490; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2492 = 6'h1f == archit_ptr_15 ? log_reg_31 : _GEN_2491; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2493 = 6'h20 == archit_ptr_15 ? log_reg_32 : _GEN_2492; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2494 = 6'h21 == archit_ptr_15 ? 2'h3 : _GEN_2493; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2496 = 6'h1 == archit_ptr_16 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2497 = 6'h2 == archit_ptr_16 ? log_reg_2 : _GEN_2496; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2498 = 6'h3 == archit_ptr_16 ? log_reg_3 : _GEN_2497; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2499 = 6'h4 == archit_ptr_16 ? log_reg_4 : _GEN_2498; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2500 = 6'h5 == archit_ptr_16 ? log_reg_5 : _GEN_2499; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2501 = 6'h6 == archit_ptr_16 ? log_reg_6 : _GEN_2500; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2502 = 6'h7 == archit_ptr_16 ? log_reg_7 : _GEN_2501; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2503 = 6'h8 == archit_ptr_16 ? log_reg_8 : _GEN_2502; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2504 = 6'h9 == archit_ptr_16 ? log_reg_9 : _GEN_2503; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2505 = 6'ha == archit_ptr_16 ? log_reg_10 : _GEN_2504; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2506 = 6'hb == archit_ptr_16 ? log_reg_11 : _GEN_2505; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2507 = 6'hc == archit_ptr_16 ? log_reg_12 : _GEN_2506; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2508 = 6'hd == archit_ptr_16 ? log_reg_13 : _GEN_2507; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2509 = 6'he == archit_ptr_16 ? log_reg_14 : _GEN_2508; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2510 = 6'hf == archit_ptr_16 ? log_reg_15 : _GEN_2509; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2511 = 6'h10 == archit_ptr_16 ? log_reg_16 : _GEN_2510; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2512 = 6'h11 == archit_ptr_16 ? log_reg_17 : _GEN_2511; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2513 = 6'h12 == archit_ptr_16 ? log_reg_18 : _GEN_2512; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2514 = 6'h13 == archit_ptr_16 ? log_reg_19 : _GEN_2513; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2515 = 6'h14 == archit_ptr_16 ? log_reg_20 : _GEN_2514; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2516 = 6'h15 == archit_ptr_16 ? log_reg_21 : _GEN_2515; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2517 = 6'h16 == archit_ptr_16 ? log_reg_22 : _GEN_2516; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2518 = 6'h17 == archit_ptr_16 ? log_reg_23 : _GEN_2517; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2519 = 6'h18 == archit_ptr_16 ? log_reg_24 : _GEN_2518; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2520 = 6'h19 == archit_ptr_16 ? log_reg_25 : _GEN_2519; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2521 = 6'h1a == archit_ptr_16 ? log_reg_26 : _GEN_2520; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2522 = 6'h1b == archit_ptr_16 ? log_reg_27 : _GEN_2521; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2523 = 6'h1c == archit_ptr_16 ? log_reg_28 : _GEN_2522; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2524 = 6'h1d == archit_ptr_16 ? log_reg_29 : _GEN_2523; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2525 = 6'h1e == archit_ptr_16 ? log_reg_30 : _GEN_2524; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2526 = 6'h1f == archit_ptr_16 ? log_reg_31 : _GEN_2525; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2527 = 6'h20 == archit_ptr_16 ? log_reg_32 : _GEN_2526; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2528 = 6'h21 == archit_ptr_16 ? 2'h3 : _GEN_2527; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2530 = 6'h1 == archit_ptr_17 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2531 = 6'h2 == archit_ptr_17 ? log_reg_2 : _GEN_2530; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2532 = 6'h3 == archit_ptr_17 ? log_reg_3 : _GEN_2531; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2533 = 6'h4 == archit_ptr_17 ? log_reg_4 : _GEN_2532; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2534 = 6'h5 == archit_ptr_17 ? log_reg_5 : _GEN_2533; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2535 = 6'h6 == archit_ptr_17 ? log_reg_6 : _GEN_2534; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2536 = 6'h7 == archit_ptr_17 ? log_reg_7 : _GEN_2535; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2537 = 6'h8 == archit_ptr_17 ? log_reg_8 : _GEN_2536; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2538 = 6'h9 == archit_ptr_17 ? log_reg_9 : _GEN_2537; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2539 = 6'ha == archit_ptr_17 ? log_reg_10 : _GEN_2538; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2540 = 6'hb == archit_ptr_17 ? log_reg_11 : _GEN_2539; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2541 = 6'hc == archit_ptr_17 ? log_reg_12 : _GEN_2540; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2542 = 6'hd == archit_ptr_17 ? log_reg_13 : _GEN_2541; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2543 = 6'he == archit_ptr_17 ? log_reg_14 : _GEN_2542; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2544 = 6'hf == archit_ptr_17 ? log_reg_15 : _GEN_2543; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2545 = 6'h10 == archit_ptr_17 ? log_reg_16 : _GEN_2544; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2546 = 6'h11 == archit_ptr_17 ? log_reg_17 : _GEN_2545; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2547 = 6'h12 == archit_ptr_17 ? log_reg_18 : _GEN_2546; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2548 = 6'h13 == archit_ptr_17 ? log_reg_19 : _GEN_2547; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2549 = 6'h14 == archit_ptr_17 ? log_reg_20 : _GEN_2548; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2550 = 6'h15 == archit_ptr_17 ? log_reg_21 : _GEN_2549; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2551 = 6'h16 == archit_ptr_17 ? log_reg_22 : _GEN_2550; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2552 = 6'h17 == archit_ptr_17 ? log_reg_23 : _GEN_2551; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2553 = 6'h18 == archit_ptr_17 ? log_reg_24 : _GEN_2552; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2554 = 6'h19 == archit_ptr_17 ? log_reg_25 : _GEN_2553; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2555 = 6'h1a == archit_ptr_17 ? log_reg_26 : _GEN_2554; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2556 = 6'h1b == archit_ptr_17 ? log_reg_27 : _GEN_2555; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2557 = 6'h1c == archit_ptr_17 ? log_reg_28 : _GEN_2556; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2558 = 6'h1d == archit_ptr_17 ? log_reg_29 : _GEN_2557; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2559 = 6'h1e == archit_ptr_17 ? log_reg_30 : _GEN_2558; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2560 = 6'h1f == archit_ptr_17 ? log_reg_31 : _GEN_2559; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2561 = 6'h20 == archit_ptr_17 ? log_reg_32 : _GEN_2560; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2562 = 6'h21 == archit_ptr_17 ? 2'h3 : _GEN_2561; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2564 = 6'h1 == archit_ptr_18 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2565 = 6'h2 == archit_ptr_18 ? log_reg_2 : _GEN_2564; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2566 = 6'h3 == archit_ptr_18 ? log_reg_3 : _GEN_2565; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2567 = 6'h4 == archit_ptr_18 ? log_reg_4 : _GEN_2566; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2568 = 6'h5 == archit_ptr_18 ? log_reg_5 : _GEN_2567; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2569 = 6'h6 == archit_ptr_18 ? log_reg_6 : _GEN_2568; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2570 = 6'h7 == archit_ptr_18 ? log_reg_7 : _GEN_2569; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2571 = 6'h8 == archit_ptr_18 ? log_reg_8 : _GEN_2570; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2572 = 6'h9 == archit_ptr_18 ? log_reg_9 : _GEN_2571; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2573 = 6'ha == archit_ptr_18 ? log_reg_10 : _GEN_2572; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2574 = 6'hb == archit_ptr_18 ? log_reg_11 : _GEN_2573; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2575 = 6'hc == archit_ptr_18 ? log_reg_12 : _GEN_2574; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2576 = 6'hd == archit_ptr_18 ? log_reg_13 : _GEN_2575; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2577 = 6'he == archit_ptr_18 ? log_reg_14 : _GEN_2576; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2578 = 6'hf == archit_ptr_18 ? log_reg_15 : _GEN_2577; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2579 = 6'h10 == archit_ptr_18 ? log_reg_16 : _GEN_2578; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2580 = 6'h11 == archit_ptr_18 ? log_reg_17 : _GEN_2579; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2581 = 6'h12 == archit_ptr_18 ? log_reg_18 : _GEN_2580; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2582 = 6'h13 == archit_ptr_18 ? log_reg_19 : _GEN_2581; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2583 = 6'h14 == archit_ptr_18 ? log_reg_20 : _GEN_2582; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2584 = 6'h15 == archit_ptr_18 ? log_reg_21 : _GEN_2583; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2585 = 6'h16 == archit_ptr_18 ? log_reg_22 : _GEN_2584; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2586 = 6'h17 == archit_ptr_18 ? log_reg_23 : _GEN_2585; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2587 = 6'h18 == archit_ptr_18 ? log_reg_24 : _GEN_2586; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2588 = 6'h19 == archit_ptr_18 ? log_reg_25 : _GEN_2587; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2589 = 6'h1a == archit_ptr_18 ? log_reg_26 : _GEN_2588; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2590 = 6'h1b == archit_ptr_18 ? log_reg_27 : _GEN_2589; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2591 = 6'h1c == archit_ptr_18 ? log_reg_28 : _GEN_2590; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2592 = 6'h1d == archit_ptr_18 ? log_reg_29 : _GEN_2591; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2593 = 6'h1e == archit_ptr_18 ? log_reg_30 : _GEN_2592; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2594 = 6'h1f == archit_ptr_18 ? log_reg_31 : _GEN_2593; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2595 = 6'h20 == archit_ptr_18 ? log_reg_32 : _GEN_2594; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2596 = 6'h21 == archit_ptr_18 ? 2'h3 : _GEN_2595; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2598 = 6'h1 == archit_ptr_19 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2599 = 6'h2 == archit_ptr_19 ? log_reg_2 : _GEN_2598; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2600 = 6'h3 == archit_ptr_19 ? log_reg_3 : _GEN_2599; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2601 = 6'h4 == archit_ptr_19 ? log_reg_4 : _GEN_2600; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2602 = 6'h5 == archit_ptr_19 ? log_reg_5 : _GEN_2601; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2603 = 6'h6 == archit_ptr_19 ? log_reg_6 : _GEN_2602; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2604 = 6'h7 == archit_ptr_19 ? log_reg_7 : _GEN_2603; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2605 = 6'h8 == archit_ptr_19 ? log_reg_8 : _GEN_2604; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2606 = 6'h9 == archit_ptr_19 ? log_reg_9 : _GEN_2605; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2607 = 6'ha == archit_ptr_19 ? log_reg_10 : _GEN_2606; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2608 = 6'hb == archit_ptr_19 ? log_reg_11 : _GEN_2607; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2609 = 6'hc == archit_ptr_19 ? log_reg_12 : _GEN_2608; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2610 = 6'hd == archit_ptr_19 ? log_reg_13 : _GEN_2609; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2611 = 6'he == archit_ptr_19 ? log_reg_14 : _GEN_2610; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2612 = 6'hf == archit_ptr_19 ? log_reg_15 : _GEN_2611; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2613 = 6'h10 == archit_ptr_19 ? log_reg_16 : _GEN_2612; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2614 = 6'h11 == archit_ptr_19 ? log_reg_17 : _GEN_2613; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2615 = 6'h12 == archit_ptr_19 ? log_reg_18 : _GEN_2614; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2616 = 6'h13 == archit_ptr_19 ? log_reg_19 : _GEN_2615; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2617 = 6'h14 == archit_ptr_19 ? log_reg_20 : _GEN_2616; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2618 = 6'h15 == archit_ptr_19 ? log_reg_21 : _GEN_2617; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2619 = 6'h16 == archit_ptr_19 ? log_reg_22 : _GEN_2618; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2620 = 6'h17 == archit_ptr_19 ? log_reg_23 : _GEN_2619; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2621 = 6'h18 == archit_ptr_19 ? log_reg_24 : _GEN_2620; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2622 = 6'h19 == archit_ptr_19 ? log_reg_25 : _GEN_2621; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2623 = 6'h1a == archit_ptr_19 ? log_reg_26 : _GEN_2622; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2624 = 6'h1b == archit_ptr_19 ? log_reg_27 : _GEN_2623; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2625 = 6'h1c == archit_ptr_19 ? log_reg_28 : _GEN_2624; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2626 = 6'h1d == archit_ptr_19 ? log_reg_29 : _GEN_2625; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2627 = 6'h1e == archit_ptr_19 ? log_reg_30 : _GEN_2626; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2628 = 6'h1f == archit_ptr_19 ? log_reg_31 : _GEN_2627; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2629 = 6'h20 == archit_ptr_19 ? log_reg_32 : _GEN_2628; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2630 = 6'h21 == archit_ptr_19 ? 2'h3 : _GEN_2629; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2632 = 6'h1 == archit_ptr_20 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2633 = 6'h2 == archit_ptr_20 ? log_reg_2 : _GEN_2632; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2634 = 6'h3 == archit_ptr_20 ? log_reg_3 : _GEN_2633; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2635 = 6'h4 == archit_ptr_20 ? log_reg_4 : _GEN_2634; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2636 = 6'h5 == archit_ptr_20 ? log_reg_5 : _GEN_2635; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2637 = 6'h6 == archit_ptr_20 ? log_reg_6 : _GEN_2636; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2638 = 6'h7 == archit_ptr_20 ? log_reg_7 : _GEN_2637; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2639 = 6'h8 == archit_ptr_20 ? log_reg_8 : _GEN_2638; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2640 = 6'h9 == archit_ptr_20 ? log_reg_9 : _GEN_2639; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2641 = 6'ha == archit_ptr_20 ? log_reg_10 : _GEN_2640; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2642 = 6'hb == archit_ptr_20 ? log_reg_11 : _GEN_2641; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2643 = 6'hc == archit_ptr_20 ? log_reg_12 : _GEN_2642; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2644 = 6'hd == archit_ptr_20 ? log_reg_13 : _GEN_2643; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2645 = 6'he == archit_ptr_20 ? log_reg_14 : _GEN_2644; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2646 = 6'hf == archit_ptr_20 ? log_reg_15 : _GEN_2645; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2647 = 6'h10 == archit_ptr_20 ? log_reg_16 : _GEN_2646; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2648 = 6'h11 == archit_ptr_20 ? log_reg_17 : _GEN_2647; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2649 = 6'h12 == archit_ptr_20 ? log_reg_18 : _GEN_2648; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2650 = 6'h13 == archit_ptr_20 ? log_reg_19 : _GEN_2649; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2651 = 6'h14 == archit_ptr_20 ? log_reg_20 : _GEN_2650; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2652 = 6'h15 == archit_ptr_20 ? log_reg_21 : _GEN_2651; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2653 = 6'h16 == archit_ptr_20 ? log_reg_22 : _GEN_2652; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2654 = 6'h17 == archit_ptr_20 ? log_reg_23 : _GEN_2653; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2655 = 6'h18 == archit_ptr_20 ? log_reg_24 : _GEN_2654; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2656 = 6'h19 == archit_ptr_20 ? log_reg_25 : _GEN_2655; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2657 = 6'h1a == archit_ptr_20 ? log_reg_26 : _GEN_2656; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2658 = 6'h1b == archit_ptr_20 ? log_reg_27 : _GEN_2657; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2659 = 6'h1c == archit_ptr_20 ? log_reg_28 : _GEN_2658; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2660 = 6'h1d == archit_ptr_20 ? log_reg_29 : _GEN_2659; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2661 = 6'h1e == archit_ptr_20 ? log_reg_30 : _GEN_2660; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2662 = 6'h1f == archit_ptr_20 ? log_reg_31 : _GEN_2661; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2663 = 6'h20 == archit_ptr_20 ? log_reg_32 : _GEN_2662; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2664 = 6'h21 == archit_ptr_20 ? 2'h3 : _GEN_2663; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2666 = 6'h1 == archit_ptr_21 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2667 = 6'h2 == archit_ptr_21 ? log_reg_2 : _GEN_2666; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2668 = 6'h3 == archit_ptr_21 ? log_reg_3 : _GEN_2667; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2669 = 6'h4 == archit_ptr_21 ? log_reg_4 : _GEN_2668; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2670 = 6'h5 == archit_ptr_21 ? log_reg_5 : _GEN_2669; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2671 = 6'h6 == archit_ptr_21 ? log_reg_6 : _GEN_2670; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2672 = 6'h7 == archit_ptr_21 ? log_reg_7 : _GEN_2671; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2673 = 6'h8 == archit_ptr_21 ? log_reg_8 : _GEN_2672; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2674 = 6'h9 == archit_ptr_21 ? log_reg_9 : _GEN_2673; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2675 = 6'ha == archit_ptr_21 ? log_reg_10 : _GEN_2674; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2676 = 6'hb == archit_ptr_21 ? log_reg_11 : _GEN_2675; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2677 = 6'hc == archit_ptr_21 ? log_reg_12 : _GEN_2676; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2678 = 6'hd == archit_ptr_21 ? log_reg_13 : _GEN_2677; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2679 = 6'he == archit_ptr_21 ? log_reg_14 : _GEN_2678; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2680 = 6'hf == archit_ptr_21 ? log_reg_15 : _GEN_2679; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2681 = 6'h10 == archit_ptr_21 ? log_reg_16 : _GEN_2680; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2682 = 6'h11 == archit_ptr_21 ? log_reg_17 : _GEN_2681; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2683 = 6'h12 == archit_ptr_21 ? log_reg_18 : _GEN_2682; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2684 = 6'h13 == archit_ptr_21 ? log_reg_19 : _GEN_2683; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2685 = 6'h14 == archit_ptr_21 ? log_reg_20 : _GEN_2684; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2686 = 6'h15 == archit_ptr_21 ? log_reg_21 : _GEN_2685; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2687 = 6'h16 == archit_ptr_21 ? log_reg_22 : _GEN_2686; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2688 = 6'h17 == archit_ptr_21 ? log_reg_23 : _GEN_2687; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2689 = 6'h18 == archit_ptr_21 ? log_reg_24 : _GEN_2688; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2690 = 6'h19 == archit_ptr_21 ? log_reg_25 : _GEN_2689; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2691 = 6'h1a == archit_ptr_21 ? log_reg_26 : _GEN_2690; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2692 = 6'h1b == archit_ptr_21 ? log_reg_27 : _GEN_2691; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2693 = 6'h1c == archit_ptr_21 ? log_reg_28 : _GEN_2692; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2694 = 6'h1d == archit_ptr_21 ? log_reg_29 : _GEN_2693; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2695 = 6'h1e == archit_ptr_21 ? log_reg_30 : _GEN_2694; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2696 = 6'h1f == archit_ptr_21 ? log_reg_31 : _GEN_2695; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2697 = 6'h20 == archit_ptr_21 ? log_reg_32 : _GEN_2696; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2698 = 6'h21 == archit_ptr_21 ? 2'h3 : _GEN_2697; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2700 = 6'h1 == archit_ptr_22 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2701 = 6'h2 == archit_ptr_22 ? log_reg_2 : _GEN_2700; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2702 = 6'h3 == archit_ptr_22 ? log_reg_3 : _GEN_2701; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2703 = 6'h4 == archit_ptr_22 ? log_reg_4 : _GEN_2702; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2704 = 6'h5 == archit_ptr_22 ? log_reg_5 : _GEN_2703; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2705 = 6'h6 == archit_ptr_22 ? log_reg_6 : _GEN_2704; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2706 = 6'h7 == archit_ptr_22 ? log_reg_7 : _GEN_2705; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2707 = 6'h8 == archit_ptr_22 ? log_reg_8 : _GEN_2706; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2708 = 6'h9 == archit_ptr_22 ? log_reg_9 : _GEN_2707; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2709 = 6'ha == archit_ptr_22 ? log_reg_10 : _GEN_2708; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2710 = 6'hb == archit_ptr_22 ? log_reg_11 : _GEN_2709; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2711 = 6'hc == archit_ptr_22 ? log_reg_12 : _GEN_2710; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2712 = 6'hd == archit_ptr_22 ? log_reg_13 : _GEN_2711; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2713 = 6'he == archit_ptr_22 ? log_reg_14 : _GEN_2712; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2714 = 6'hf == archit_ptr_22 ? log_reg_15 : _GEN_2713; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2715 = 6'h10 == archit_ptr_22 ? log_reg_16 : _GEN_2714; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2716 = 6'h11 == archit_ptr_22 ? log_reg_17 : _GEN_2715; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2717 = 6'h12 == archit_ptr_22 ? log_reg_18 : _GEN_2716; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2718 = 6'h13 == archit_ptr_22 ? log_reg_19 : _GEN_2717; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2719 = 6'h14 == archit_ptr_22 ? log_reg_20 : _GEN_2718; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2720 = 6'h15 == archit_ptr_22 ? log_reg_21 : _GEN_2719; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2721 = 6'h16 == archit_ptr_22 ? log_reg_22 : _GEN_2720; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2722 = 6'h17 == archit_ptr_22 ? log_reg_23 : _GEN_2721; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2723 = 6'h18 == archit_ptr_22 ? log_reg_24 : _GEN_2722; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2724 = 6'h19 == archit_ptr_22 ? log_reg_25 : _GEN_2723; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2725 = 6'h1a == archit_ptr_22 ? log_reg_26 : _GEN_2724; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2726 = 6'h1b == archit_ptr_22 ? log_reg_27 : _GEN_2725; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2727 = 6'h1c == archit_ptr_22 ? log_reg_28 : _GEN_2726; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2728 = 6'h1d == archit_ptr_22 ? log_reg_29 : _GEN_2727; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2729 = 6'h1e == archit_ptr_22 ? log_reg_30 : _GEN_2728; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2730 = 6'h1f == archit_ptr_22 ? log_reg_31 : _GEN_2729; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2731 = 6'h20 == archit_ptr_22 ? log_reg_32 : _GEN_2730; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2732 = 6'h21 == archit_ptr_22 ? 2'h3 : _GEN_2731; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2734 = 6'h1 == archit_ptr_23 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2735 = 6'h2 == archit_ptr_23 ? log_reg_2 : _GEN_2734; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2736 = 6'h3 == archit_ptr_23 ? log_reg_3 : _GEN_2735; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2737 = 6'h4 == archit_ptr_23 ? log_reg_4 : _GEN_2736; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2738 = 6'h5 == archit_ptr_23 ? log_reg_5 : _GEN_2737; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2739 = 6'h6 == archit_ptr_23 ? log_reg_6 : _GEN_2738; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2740 = 6'h7 == archit_ptr_23 ? log_reg_7 : _GEN_2739; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2741 = 6'h8 == archit_ptr_23 ? log_reg_8 : _GEN_2740; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2742 = 6'h9 == archit_ptr_23 ? log_reg_9 : _GEN_2741; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2743 = 6'ha == archit_ptr_23 ? log_reg_10 : _GEN_2742; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2744 = 6'hb == archit_ptr_23 ? log_reg_11 : _GEN_2743; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2745 = 6'hc == archit_ptr_23 ? log_reg_12 : _GEN_2744; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2746 = 6'hd == archit_ptr_23 ? log_reg_13 : _GEN_2745; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2747 = 6'he == archit_ptr_23 ? log_reg_14 : _GEN_2746; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2748 = 6'hf == archit_ptr_23 ? log_reg_15 : _GEN_2747; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2749 = 6'h10 == archit_ptr_23 ? log_reg_16 : _GEN_2748; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2750 = 6'h11 == archit_ptr_23 ? log_reg_17 : _GEN_2749; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2751 = 6'h12 == archit_ptr_23 ? log_reg_18 : _GEN_2750; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2752 = 6'h13 == archit_ptr_23 ? log_reg_19 : _GEN_2751; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2753 = 6'h14 == archit_ptr_23 ? log_reg_20 : _GEN_2752; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2754 = 6'h15 == archit_ptr_23 ? log_reg_21 : _GEN_2753; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2755 = 6'h16 == archit_ptr_23 ? log_reg_22 : _GEN_2754; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2756 = 6'h17 == archit_ptr_23 ? log_reg_23 : _GEN_2755; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2757 = 6'h18 == archit_ptr_23 ? log_reg_24 : _GEN_2756; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2758 = 6'h19 == archit_ptr_23 ? log_reg_25 : _GEN_2757; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2759 = 6'h1a == archit_ptr_23 ? log_reg_26 : _GEN_2758; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2760 = 6'h1b == archit_ptr_23 ? log_reg_27 : _GEN_2759; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2761 = 6'h1c == archit_ptr_23 ? log_reg_28 : _GEN_2760; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2762 = 6'h1d == archit_ptr_23 ? log_reg_29 : _GEN_2761; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2763 = 6'h1e == archit_ptr_23 ? log_reg_30 : _GEN_2762; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2764 = 6'h1f == archit_ptr_23 ? log_reg_31 : _GEN_2763; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2765 = 6'h20 == archit_ptr_23 ? log_reg_32 : _GEN_2764; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2766 = 6'h21 == archit_ptr_23 ? 2'h3 : _GEN_2765; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2768 = 6'h1 == archit_ptr_24 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2769 = 6'h2 == archit_ptr_24 ? log_reg_2 : _GEN_2768; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2770 = 6'h3 == archit_ptr_24 ? log_reg_3 : _GEN_2769; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2771 = 6'h4 == archit_ptr_24 ? log_reg_4 : _GEN_2770; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2772 = 6'h5 == archit_ptr_24 ? log_reg_5 : _GEN_2771; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2773 = 6'h6 == archit_ptr_24 ? log_reg_6 : _GEN_2772; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2774 = 6'h7 == archit_ptr_24 ? log_reg_7 : _GEN_2773; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2775 = 6'h8 == archit_ptr_24 ? log_reg_8 : _GEN_2774; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2776 = 6'h9 == archit_ptr_24 ? log_reg_9 : _GEN_2775; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2777 = 6'ha == archit_ptr_24 ? log_reg_10 : _GEN_2776; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2778 = 6'hb == archit_ptr_24 ? log_reg_11 : _GEN_2777; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2779 = 6'hc == archit_ptr_24 ? log_reg_12 : _GEN_2778; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2780 = 6'hd == archit_ptr_24 ? log_reg_13 : _GEN_2779; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2781 = 6'he == archit_ptr_24 ? log_reg_14 : _GEN_2780; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2782 = 6'hf == archit_ptr_24 ? log_reg_15 : _GEN_2781; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2783 = 6'h10 == archit_ptr_24 ? log_reg_16 : _GEN_2782; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2784 = 6'h11 == archit_ptr_24 ? log_reg_17 : _GEN_2783; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2785 = 6'h12 == archit_ptr_24 ? log_reg_18 : _GEN_2784; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2786 = 6'h13 == archit_ptr_24 ? log_reg_19 : _GEN_2785; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2787 = 6'h14 == archit_ptr_24 ? log_reg_20 : _GEN_2786; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2788 = 6'h15 == archit_ptr_24 ? log_reg_21 : _GEN_2787; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2789 = 6'h16 == archit_ptr_24 ? log_reg_22 : _GEN_2788; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2790 = 6'h17 == archit_ptr_24 ? log_reg_23 : _GEN_2789; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2791 = 6'h18 == archit_ptr_24 ? log_reg_24 : _GEN_2790; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2792 = 6'h19 == archit_ptr_24 ? log_reg_25 : _GEN_2791; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2793 = 6'h1a == archit_ptr_24 ? log_reg_26 : _GEN_2792; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2794 = 6'h1b == archit_ptr_24 ? log_reg_27 : _GEN_2793; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2795 = 6'h1c == archit_ptr_24 ? log_reg_28 : _GEN_2794; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2796 = 6'h1d == archit_ptr_24 ? log_reg_29 : _GEN_2795; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2797 = 6'h1e == archit_ptr_24 ? log_reg_30 : _GEN_2796; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2798 = 6'h1f == archit_ptr_24 ? log_reg_31 : _GEN_2797; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2799 = 6'h20 == archit_ptr_24 ? log_reg_32 : _GEN_2798; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2800 = 6'h21 == archit_ptr_24 ? 2'h3 : _GEN_2799; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2802 = 6'h1 == archit_ptr_25 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2803 = 6'h2 == archit_ptr_25 ? log_reg_2 : _GEN_2802; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2804 = 6'h3 == archit_ptr_25 ? log_reg_3 : _GEN_2803; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2805 = 6'h4 == archit_ptr_25 ? log_reg_4 : _GEN_2804; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2806 = 6'h5 == archit_ptr_25 ? log_reg_5 : _GEN_2805; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2807 = 6'h6 == archit_ptr_25 ? log_reg_6 : _GEN_2806; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2808 = 6'h7 == archit_ptr_25 ? log_reg_7 : _GEN_2807; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2809 = 6'h8 == archit_ptr_25 ? log_reg_8 : _GEN_2808; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2810 = 6'h9 == archit_ptr_25 ? log_reg_9 : _GEN_2809; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2811 = 6'ha == archit_ptr_25 ? log_reg_10 : _GEN_2810; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2812 = 6'hb == archit_ptr_25 ? log_reg_11 : _GEN_2811; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2813 = 6'hc == archit_ptr_25 ? log_reg_12 : _GEN_2812; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2814 = 6'hd == archit_ptr_25 ? log_reg_13 : _GEN_2813; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2815 = 6'he == archit_ptr_25 ? log_reg_14 : _GEN_2814; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2816 = 6'hf == archit_ptr_25 ? log_reg_15 : _GEN_2815; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2817 = 6'h10 == archit_ptr_25 ? log_reg_16 : _GEN_2816; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2818 = 6'h11 == archit_ptr_25 ? log_reg_17 : _GEN_2817; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2819 = 6'h12 == archit_ptr_25 ? log_reg_18 : _GEN_2818; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2820 = 6'h13 == archit_ptr_25 ? log_reg_19 : _GEN_2819; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2821 = 6'h14 == archit_ptr_25 ? log_reg_20 : _GEN_2820; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2822 = 6'h15 == archit_ptr_25 ? log_reg_21 : _GEN_2821; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2823 = 6'h16 == archit_ptr_25 ? log_reg_22 : _GEN_2822; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2824 = 6'h17 == archit_ptr_25 ? log_reg_23 : _GEN_2823; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2825 = 6'h18 == archit_ptr_25 ? log_reg_24 : _GEN_2824; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2826 = 6'h19 == archit_ptr_25 ? log_reg_25 : _GEN_2825; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2827 = 6'h1a == archit_ptr_25 ? log_reg_26 : _GEN_2826; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2828 = 6'h1b == archit_ptr_25 ? log_reg_27 : _GEN_2827; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2829 = 6'h1c == archit_ptr_25 ? log_reg_28 : _GEN_2828; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2830 = 6'h1d == archit_ptr_25 ? log_reg_29 : _GEN_2829; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2831 = 6'h1e == archit_ptr_25 ? log_reg_30 : _GEN_2830; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2832 = 6'h1f == archit_ptr_25 ? log_reg_31 : _GEN_2831; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2833 = 6'h20 == archit_ptr_25 ? log_reg_32 : _GEN_2832; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2834 = 6'h21 == archit_ptr_25 ? 2'h3 : _GEN_2833; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2836 = 6'h1 == archit_ptr_26 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2837 = 6'h2 == archit_ptr_26 ? log_reg_2 : _GEN_2836; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2838 = 6'h3 == archit_ptr_26 ? log_reg_3 : _GEN_2837; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2839 = 6'h4 == archit_ptr_26 ? log_reg_4 : _GEN_2838; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2840 = 6'h5 == archit_ptr_26 ? log_reg_5 : _GEN_2839; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2841 = 6'h6 == archit_ptr_26 ? log_reg_6 : _GEN_2840; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2842 = 6'h7 == archit_ptr_26 ? log_reg_7 : _GEN_2841; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2843 = 6'h8 == archit_ptr_26 ? log_reg_8 : _GEN_2842; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2844 = 6'h9 == archit_ptr_26 ? log_reg_9 : _GEN_2843; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2845 = 6'ha == archit_ptr_26 ? log_reg_10 : _GEN_2844; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2846 = 6'hb == archit_ptr_26 ? log_reg_11 : _GEN_2845; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2847 = 6'hc == archit_ptr_26 ? log_reg_12 : _GEN_2846; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2848 = 6'hd == archit_ptr_26 ? log_reg_13 : _GEN_2847; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2849 = 6'he == archit_ptr_26 ? log_reg_14 : _GEN_2848; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2850 = 6'hf == archit_ptr_26 ? log_reg_15 : _GEN_2849; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2851 = 6'h10 == archit_ptr_26 ? log_reg_16 : _GEN_2850; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2852 = 6'h11 == archit_ptr_26 ? log_reg_17 : _GEN_2851; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2853 = 6'h12 == archit_ptr_26 ? log_reg_18 : _GEN_2852; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2854 = 6'h13 == archit_ptr_26 ? log_reg_19 : _GEN_2853; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2855 = 6'h14 == archit_ptr_26 ? log_reg_20 : _GEN_2854; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2856 = 6'h15 == archit_ptr_26 ? log_reg_21 : _GEN_2855; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2857 = 6'h16 == archit_ptr_26 ? log_reg_22 : _GEN_2856; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2858 = 6'h17 == archit_ptr_26 ? log_reg_23 : _GEN_2857; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2859 = 6'h18 == archit_ptr_26 ? log_reg_24 : _GEN_2858; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2860 = 6'h19 == archit_ptr_26 ? log_reg_25 : _GEN_2859; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2861 = 6'h1a == archit_ptr_26 ? log_reg_26 : _GEN_2860; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2862 = 6'h1b == archit_ptr_26 ? log_reg_27 : _GEN_2861; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2863 = 6'h1c == archit_ptr_26 ? log_reg_28 : _GEN_2862; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2864 = 6'h1d == archit_ptr_26 ? log_reg_29 : _GEN_2863; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2865 = 6'h1e == archit_ptr_26 ? log_reg_30 : _GEN_2864; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2866 = 6'h1f == archit_ptr_26 ? log_reg_31 : _GEN_2865; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2867 = 6'h20 == archit_ptr_26 ? log_reg_32 : _GEN_2866; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2868 = 6'h21 == archit_ptr_26 ? 2'h3 : _GEN_2867; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2870 = 6'h1 == archit_ptr_27 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2871 = 6'h2 == archit_ptr_27 ? log_reg_2 : _GEN_2870; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2872 = 6'h3 == archit_ptr_27 ? log_reg_3 : _GEN_2871; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2873 = 6'h4 == archit_ptr_27 ? log_reg_4 : _GEN_2872; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2874 = 6'h5 == archit_ptr_27 ? log_reg_5 : _GEN_2873; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2875 = 6'h6 == archit_ptr_27 ? log_reg_6 : _GEN_2874; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2876 = 6'h7 == archit_ptr_27 ? log_reg_7 : _GEN_2875; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2877 = 6'h8 == archit_ptr_27 ? log_reg_8 : _GEN_2876; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2878 = 6'h9 == archit_ptr_27 ? log_reg_9 : _GEN_2877; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2879 = 6'ha == archit_ptr_27 ? log_reg_10 : _GEN_2878; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2880 = 6'hb == archit_ptr_27 ? log_reg_11 : _GEN_2879; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2881 = 6'hc == archit_ptr_27 ? log_reg_12 : _GEN_2880; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2882 = 6'hd == archit_ptr_27 ? log_reg_13 : _GEN_2881; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2883 = 6'he == archit_ptr_27 ? log_reg_14 : _GEN_2882; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2884 = 6'hf == archit_ptr_27 ? log_reg_15 : _GEN_2883; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2885 = 6'h10 == archit_ptr_27 ? log_reg_16 : _GEN_2884; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2886 = 6'h11 == archit_ptr_27 ? log_reg_17 : _GEN_2885; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2887 = 6'h12 == archit_ptr_27 ? log_reg_18 : _GEN_2886; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2888 = 6'h13 == archit_ptr_27 ? log_reg_19 : _GEN_2887; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2889 = 6'h14 == archit_ptr_27 ? log_reg_20 : _GEN_2888; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2890 = 6'h15 == archit_ptr_27 ? log_reg_21 : _GEN_2889; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2891 = 6'h16 == archit_ptr_27 ? log_reg_22 : _GEN_2890; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2892 = 6'h17 == archit_ptr_27 ? log_reg_23 : _GEN_2891; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2893 = 6'h18 == archit_ptr_27 ? log_reg_24 : _GEN_2892; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2894 = 6'h19 == archit_ptr_27 ? log_reg_25 : _GEN_2893; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2895 = 6'h1a == archit_ptr_27 ? log_reg_26 : _GEN_2894; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2896 = 6'h1b == archit_ptr_27 ? log_reg_27 : _GEN_2895; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2897 = 6'h1c == archit_ptr_27 ? log_reg_28 : _GEN_2896; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2898 = 6'h1d == archit_ptr_27 ? log_reg_29 : _GEN_2897; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2899 = 6'h1e == archit_ptr_27 ? log_reg_30 : _GEN_2898; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2900 = 6'h1f == archit_ptr_27 ? log_reg_31 : _GEN_2899; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2901 = 6'h20 == archit_ptr_27 ? log_reg_32 : _GEN_2900; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2902 = 6'h21 == archit_ptr_27 ? 2'h3 : _GEN_2901; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2904 = 6'h1 == archit_ptr_28 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2905 = 6'h2 == archit_ptr_28 ? log_reg_2 : _GEN_2904; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2906 = 6'h3 == archit_ptr_28 ? log_reg_3 : _GEN_2905; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2907 = 6'h4 == archit_ptr_28 ? log_reg_4 : _GEN_2906; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2908 = 6'h5 == archit_ptr_28 ? log_reg_5 : _GEN_2907; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2909 = 6'h6 == archit_ptr_28 ? log_reg_6 : _GEN_2908; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2910 = 6'h7 == archit_ptr_28 ? log_reg_7 : _GEN_2909; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2911 = 6'h8 == archit_ptr_28 ? log_reg_8 : _GEN_2910; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2912 = 6'h9 == archit_ptr_28 ? log_reg_9 : _GEN_2911; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2913 = 6'ha == archit_ptr_28 ? log_reg_10 : _GEN_2912; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2914 = 6'hb == archit_ptr_28 ? log_reg_11 : _GEN_2913; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2915 = 6'hc == archit_ptr_28 ? log_reg_12 : _GEN_2914; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2916 = 6'hd == archit_ptr_28 ? log_reg_13 : _GEN_2915; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2917 = 6'he == archit_ptr_28 ? log_reg_14 : _GEN_2916; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2918 = 6'hf == archit_ptr_28 ? log_reg_15 : _GEN_2917; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2919 = 6'h10 == archit_ptr_28 ? log_reg_16 : _GEN_2918; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2920 = 6'h11 == archit_ptr_28 ? log_reg_17 : _GEN_2919; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2921 = 6'h12 == archit_ptr_28 ? log_reg_18 : _GEN_2920; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2922 = 6'h13 == archit_ptr_28 ? log_reg_19 : _GEN_2921; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2923 = 6'h14 == archit_ptr_28 ? log_reg_20 : _GEN_2922; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2924 = 6'h15 == archit_ptr_28 ? log_reg_21 : _GEN_2923; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2925 = 6'h16 == archit_ptr_28 ? log_reg_22 : _GEN_2924; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2926 = 6'h17 == archit_ptr_28 ? log_reg_23 : _GEN_2925; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2927 = 6'h18 == archit_ptr_28 ? log_reg_24 : _GEN_2926; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2928 = 6'h19 == archit_ptr_28 ? log_reg_25 : _GEN_2927; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2929 = 6'h1a == archit_ptr_28 ? log_reg_26 : _GEN_2928; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2930 = 6'h1b == archit_ptr_28 ? log_reg_27 : _GEN_2929; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2931 = 6'h1c == archit_ptr_28 ? log_reg_28 : _GEN_2930; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2932 = 6'h1d == archit_ptr_28 ? log_reg_29 : _GEN_2931; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2933 = 6'h1e == archit_ptr_28 ? log_reg_30 : _GEN_2932; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2934 = 6'h1f == archit_ptr_28 ? log_reg_31 : _GEN_2933; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2935 = 6'h20 == archit_ptr_28 ? log_reg_32 : _GEN_2934; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2936 = 6'h21 == archit_ptr_28 ? 2'h3 : _GEN_2935; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2938 = 6'h1 == archit_ptr_29 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2939 = 6'h2 == archit_ptr_29 ? log_reg_2 : _GEN_2938; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2940 = 6'h3 == archit_ptr_29 ? log_reg_3 : _GEN_2939; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2941 = 6'h4 == archit_ptr_29 ? log_reg_4 : _GEN_2940; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2942 = 6'h5 == archit_ptr_29 ? log_reg_5 : _GEN_2941; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2943 = 6'h6 == archit_ptr_29 ? log_reg_6 : _GEN_2942; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2944 = 6'h7 == archit_ptr_29 ? log_reg_7 : _GEN_2943; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2945 = 6'h8 == archit_ptr_29 ? log_reg_8 : _GEN_2944; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2946 = 6'h9 == archit_ptr_29 ? log_reg_9 : _GEN_2945; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2947 = 6'ha == archit_ptr_29 ? log_reg_10 : _GEN_2946; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2948 = 6'hb == archit_ptr_29 ? log_reg_11 : _GEN_2947; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2949 = 6'hc == archit_ptr_29 ? log_reg_12 : _GEN_2948; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2950 = 6'hd == archit_ptr_29 ? log_reg_13 : _GEN_2949; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2951 = 6'he == archit_ptr_29 ? log_reg_14 : _GEN_2950; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2952 = 6'hf == archit_ptr_29 ? log_reg_15 : _GEN_2951; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2953 = 6'h10 == archit_ptr_29 ? log_reg_16 : _GEN_2952; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2954 = 6'h11 == archit_ptr_29 ? log_reg_17 : _GEN_2953; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2955 = 6'h12 == archit_ptr_29 ? log_reg_18 : _GEN_2954; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2956 = 6'h13 == archit_ptr_29 ? log_reg_19 : _GEN_2955; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2957 = 6'h14 == archit_ptr_29 ? log_reg_20 : _GEN_2956; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2958 = 6'h15 == archit_ptr_29 ? log_reg_21 : _GEN_2957; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2959 = 6'h16 == archit_ptr_29 ? log_reg_22 : _GEN_2958; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2960 = 6'h17 == archit_ptr_29 ? log_reg_23 : _GEN_2959; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2961 = 6'h18 == archit_ptr_29 ? log_reg_24 : _GEN_2960; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2962 = 6'h19 == archit_ptr_29 ? log_reg_25 : _GEN_2961; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2963 = 6'h1a == archit_ptr_29 ? log_reg_26 : _GEN_2962; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2964 = 6'h1b == archit_ptr_29 ? log_reg_27 : _GEN_2963; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2965 = 6'h1c == archit_ptr_29 ? log_reg_28 : _GEN_2964; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2966 = 6'h1d == archit_ptr_29 ? log_reg_29 : _GEN_2965; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2967 = 6'h1e == archit_ptr_29 ? log_reg_30 : _GEN_2966; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2968 = 6'h1f == archit_ptr_29 ? log_reg_31 : _GEN_2967; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2969 = 6'h20 == archit_ptr_29 ? log_reg_32 : _GEN_2968; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2970 = 6'h21 == archit_ptr_29 ? 2'h3 : _GEN_2969; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2972 = 6'h1 == archit_ptr_30 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2973 = 6'h2 == archit_ptr_30 ? log_reg_2 : _GEN_2972; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2974 = 6'h3 == archit_ptr_30 ? log_reg_3 : _GEN_2973; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2975 = 6'h4 == archit_ptr_30 ? log_reg_4 : _GEN_2974; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2976 = 6'h5 == archit_ptr_30 ? log_reg_5 : _GEN_2975; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2977 = 6'h6 == archit_ptr_30 ? log_reg_6 : _GEN_2976; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2978 = 6'h7 == archit_ptr_30 ? log_reg_7 : _GEN_2977; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2979 = 6'h8 == archit_ptr_30 ? log_reg_8 : _GEN_2978; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2980 = 6'h9 == archit_ptr_30 ? log_reg_9 : _GEN_2979; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2981 = 6'ha == archit_ptr_30 ? log_reg_10 : _GEN_2980; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2982 = 6'hb == archit_ptr_30 ? log_reg_11 : _GEN_2981; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2983 = 6'hc == archit_ptr_30 ? log_reg_12 : _GEN_2982; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2984 = 6'hd == archit_ptr_30 ? log_reg_13 : _GEN_2983; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2985 = 6'he == archit_ptr_30 ? log_reg_14 : _GEN_2984; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2986 = 6'hf == archit_ptr_30 ? log_reg_15 : _GEN_2985; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2987 = 6'h10 == archit_ptr_30 ? log_reg_16 : _GEN_2986; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2988 = 6'h11 == archit_ptr_30 ? log_reg_17 : _GEN_2987; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2989 = 6'h12 == archit_ptr_30 ? log_reg_18 : _GEN_2988; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2990 = 6'h13 == archit_ptr_30 ? log_reg_19 : _GEN_2989; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2991 = 6'h14 == archit_ptr_30 ? log_reg_20 : _GEN_2990; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2992 = 6'h15 == archit_ptr_30 ? log_reg_21 : _GEN_2991; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2993 = 6'h16 == archit_ptr_30 ? log_reg_22 : _GEN_2992; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2994 = 6'h17 == archit_ptr_30 ? log_reg_23 : _GEN_2993; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2995 = 6'h18 == archit_ptr_30 ? log_reg_24 : _GEN_2994; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2996 = 6'h19 == archit_ptr_30 ? log_reg_25 : _GEN_2995; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2997 = 6'h1a == archit_ptr_30 ? log_reg_26 : _GEN_2996; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2998 = 6'h1b == archit_ptr_30 ? log_reg_27 : _GEN_2997; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_2999 = 6'h1c == archit_ptr_30 ? log_reg_28 : _GEN_2998; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3000 = 6'h1d == archit_ptr_30 ? log_reg_29 : _GEN_2999; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3001 = 6'h1e == archit_ptr_30 ? log_reg_30 : _GEN_3000; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3002 = 6'h1f == archit_ptr_30 ? log_reg_31 : _GEN_3001; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3003 = 6'h20 == archit_ptr_30 ? log_reg_32 : _GEN_3002; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3004 = 6'h21 == archit_ptr_30 ? 2'h3 : _GEN_3003; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3006 = 6'h1 == archit_ptr_31 ? log_reg_1 : log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3007 = 6'h2 == archit_ptr_31 ? log_reg_2 : _GEN_3006; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3008 = 6'h3 == archit_ptr_31 ? log_reg_3 : _GEN_3007; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3009 = 6'h4 == archit_ptr_31 ? log_reg_4 : _GEN_3008; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3010 = 6'h5 == archit_ptr_31 ? log_reg_5 : _GEN_3009; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3011 = 6'h6 == archit_ptr_31 ? log_reg_6 : _GEN_3010; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3012 = 6'h7 == archit_ptr_31 ? log_reg_7 : _GEN_3011; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3013 = 6'h8 == archit_ptr_31 ? log_reg_8 : _GEN_3012; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3014 = 6'h9 == archit_ptr_31 ? log_reg_9 : _GEN_3013; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3015 = 6'ha == archit_ptr_31 ? log_reg_10 : _GEN_3014; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3016 = 6'hb == archit_ptr_31 ? log_reg_11 : _GEN_3015; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3017 = 6'hc == archit_ptr_31 ? log_reg_12 : _GEN_3016; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3018 = 6'hd == archit_ptr_31 ? log_reg_13 : _GEN_3017; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3019 = 6'he == archit_ptr_31 ? log_reg_14 : _GEN_3018; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3020 = 6'hf == archit_ptr_31 ? log_reg_15 : _GEN_3019; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3021 = 6'h10 == archit_ptr_31 ? log_reg_16 : _GEN_3020; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3022 = 6'h11 == archit_ptr_31 ? log_reg_17 : _GEN_3021; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3023 = 6'h12 == archit_ptr_31 ? log_reg_18 : _GEN_3022; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3024 = 6'h13 == archit_ptr_31 ? log_reg_19 : _GEN_3023; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3025 = 6'h14 == archit_ptr_31 ? log_reg_20 : _GEN_3024; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3026 = 6'h15 == archit_ptr_31 ? log_reg_21 : _GEN_3025; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3027 = 6'h16 == archit_ptr_31 ? log_reg_22 : _GEN_3026; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3028 = 6'h17 == archit_ptr_31 ? log_reg_23 : _GEN_3027; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3029 = 6'h18 == archit_ptr_31 ? log_reg_24 : _GEN_3028; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3030 = 6'h19 == archit_ptr_31 ? log_reg_25 : _GEN_3029; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3031 = 6'h1a == archit_ptr_31 ? log_reg_26 : _GEN_3030; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3032 = 6'h1b == archit_ptr_31 ? log_reg_27 : _GEN_3031; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3033 = 6'h1c == archit_ptr_31 ? log_reg_28 : _GEN_3032; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3034 = 6'h1d == archit_ptr_31 ? log_reg_29 : _GEN_3033; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3035 = 6'h1e == archit_ptr_31 ? log_reg_30 : _GEN_3034; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3036 = 6'h1f == archit_ptr_31 ? log_reg_31 : _GEN_3035; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3037 = 6'h20 == archit_ptr_31 ? log_reg_32 : _GEN_3036; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] _GEN_3038 = 6'h21 == archit_ptr_31 ? 2'h3 : _GEN_3037; // @[Regfiles.scala 242:{25,25}]
  wire  _GEN_6 = _T_118 & _T_37; // @[Regfiles.scala 227:13]
  assign io_rename_0_req_ready = _io_rename_0_req_ready_T_98 > 6'h0; // @[Regfiles.scala 165:70]
  assign io_rgRsp_0_valid = io_rgRsp_0_valid_REG; // @[Regfiles.scala 191:26]
  assign io_rgRsp_1_valid = io_rgRsp_1_valid_REG; // @[Regfiles.scala 191:26]
  assign io_exe_writeBack_0_ready = 1'h1; // @[Regfiles.scala 207:31]
  assign io_commit_0_is_writeback = _GEN_1689 == 2'h3; // @[Regfiles.scala 219:46]
  always @(posedge clock) begin
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_0 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h0 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_0 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h0 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_0 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_0 <= _GEN_1690;
      end
    end else begin
      log_reg_0 <= _GEN_1690;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_1 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_1 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_1 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_1 <= _GEN_1691;
      end
    end else begin
      log_reg_1 <= _GEN_1691;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_2 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h2 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_2 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h2 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_2 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_2 <= _GEN_1692;
      end
    end else begin
      log_reg_2 <= _GEN_1692;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_3 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h3 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_3 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h3 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_3 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_3 <= _GEN_1693;
      end
    end else begin
      log_reg_3 <= _GEN_1693;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_4 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h4 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_4 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h4 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_4 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_4 <= _GEN_1694;
      end
    end else begin
      log_reg_4 <= _GEN_1694;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_5 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h5 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_5 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h5 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_5 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_5 <= _GEN_1695;
      end
    end else begin
      log_reg_5 <= _GEN_1695;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_6 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h6 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_6 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h6 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_6 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_6 <= _GEN_1696;
      end
    end else begin
      log_reg_6 <= _GEN_1696;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_7 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h7 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_7 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h7 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_7 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_7 <= _GEN_1697;
      end
    end else begin
      log_reg_7 <= _GEN_1697;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_8 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h8 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_8 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h8 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_8 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_8 <= _GEN_1698;
      end
    end else begin
      log_reg_8 <= _GEN_1698;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_9 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h9 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_9 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h9 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_9 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_9 <= _GEN_1699;
      end
    end else begin
      log_reg_9 <= _GEN_1699;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_10 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'ha == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_10 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'ha == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_10 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_10 <= _GEN_1700;
      end
    end else begin
      log_reg_10 <= _GEN_1700;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_11 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'hb == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_11 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'hb == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_11 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_11 <= _GEN_1701;
      end
    end else begin
      log_reg_11 <= _GEN_1701;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_12 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'hc == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_12 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'hc == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_12 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_12 <= _GEN_1702;
      end
    end else begin
      log_reg_12 <= _GEN_1702;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_13 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'hd == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_13 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'hd == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_13 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_13 <= _GEN_1703;
      end
    end else begin
      log_reg_13 <= _GEN_1703;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_14 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'he == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_14 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'he == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_14 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_14 <= _GEN_1704;
      end
    end else begin
      log_reg_14 <= _GEN_1704;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_15 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'hf == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_15 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'hf == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_15 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_15 <= _GEN_1705;
      end
    end else begin
      log_reg_15 <= _GEN_1705;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_16 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h10 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_16 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h10 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_16 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_16 <= _GEN_1706;
      end
    end else begin
      log_reg_16 <= _GEN_1706;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_17 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h11 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_17 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h11 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_17 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_17 <= _GEN_1707;
      end
    end else begin
      log_reg_17 <= _GEN_1707;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_18 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h12 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_18 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h12 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_18 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_18 <= _GEN_1708;
      end
    end else begin
      log_reg_18 <= _GEN_1708;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_19 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h13 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_19 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h13 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_19 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_19 <= _GEN_1709;
      end
    end else begin
      log_reg_19 <= _GEN_1709;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_20 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h14 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_20 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h14 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_20 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_20 <= _GEN_1710;
      end
    end else begin
      log_reg_20 <= _GEN_1710;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_21 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h15 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_21 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h15 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_21 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_21 <= _GEN_1711;
      end
    end else begin
      log_reg_21 <= _GEN_1711;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_22 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h16 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_22 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h16 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_22 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_22 <= _GEN_1712;
      end
    end else begin
      log_reg_22 <= _GEN_1712;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_23 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h17 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_23 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h17 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_23 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_23 <= _GEN_1713;
      end
    end else begin
      log_reg_23 <= _GEN_1713;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_24 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h18 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_24 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h18 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_24 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_24 <= _GEN_1714;
      end
    end else begin
      log_reg_24 <= _GEN_1714;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_25 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h19 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_25 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h19 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_25 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_25 <= _GEN_1715;
      end
    end else begin
      log_reg_25 <= _GEN_1715;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_26 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1a == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_26 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1a == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_26 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_26 <= _GEN_1716;
      end
    end else begin
      log_reg_26 <= _GEN_1716;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_27 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1b == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_27 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1b == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_27 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_27 <= _GEN_1717;
      end
    end else begin
      log_reg_27 <= _GEN_1717;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_28 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1c == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_28 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1c == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_28 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_28 <= _GEN_1718;
      end
    end else begin
      log_reg_28 <= _GEN_1718;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_29 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1d == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_29 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1d == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_29 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_29 <= _GEN_1719;
      end
    end else begin
      log_reg_29 <= _GEN_1719;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_30 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1e == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_30 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1e == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_30 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_30 <= _GEN_1720;
      end
    end else begin
      log_reg_30 <= _GEN_1720;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_31 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h1f == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_31 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h1f == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_31 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_31 <= _GEN_1721;
      end
    end else begin
      log_reg_31 <= _GEN_1721;
    end
    if (reset) begin // @[Regfiles.scala 101:12]
      log_reg_32 <= 2'h0; // @[Regfiles.scala 101:12]
    end else if (io_commit_0_is_MisPredict | io_commit_0_is_comfirm) begin // @[Regfiles.scala 225:66]
      if (6'h20 == io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        log_reg_32 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (6'h20 == _GEN_1754) begin // @[Regfiles.scala 229:35]
        log_reg_32 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        log_reg_32 <= _GEN_1722;
      end
    end else begin
      log_reg_32 <= _GEN_1722;
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_0 <= 6'h0; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h0 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_0 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_1 <= 6'h1; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_1 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_2 <= 6'h2; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h2 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_2 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_3 <= 6'h3; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h3 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_3 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_4 <= 6'h4; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h4 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_4 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_5 <= 6'h5; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h5 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_5 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_6 <= 6'h6; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h6 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_6 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_7 <= 6'h7; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h7 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_7 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_8 <= 6'h8; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h8 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_8 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_9 <= 6'h9; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h9 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_9 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_10 <= 6'ha; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'ha == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_10 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_11 <= 6'hb; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'hb == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_11 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_12 <= 6'hc; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'hc == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_12 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_13 <= 6'hd; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'hd == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_13 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_14 <= 6'he; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'he == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_14 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_15 <= 6'hf; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'hf == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_15 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_16 <= 6'h10; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h10 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_16 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_17 <= 6'h11; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h11 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_17 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_18 <= 6'h12; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h12 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_18 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_19 <= 6'h13; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h13 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_19 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_20 <= 6'h14; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h14 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_20 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_21 <= 6'h15; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h15 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_21 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_22 <= 6'h16; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h16 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_22 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_23 <= 6'h17; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h17 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_23 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_24 <= 6'h18; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h18 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_24 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_25 <= 6'h19; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h19 == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_25 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_26 <= 6'h1a; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1a == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_26 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_27 <= 6'h1b; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1b == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_27 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_28 <= 6'h1c; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1c == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_28 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_29 <= 6'h1d; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1d == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_29 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_30 <= 6'h1e; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1e == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_30 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 130:27]
      archit_ptr_31 <= 6'h1f; // @[Regfiles.scala 130:27]
    end else if (_T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1f == io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        archit_ptr_31 <= io_commit_0_phy; // @[Regfiles.scala 236:26]
      end
    end
    if (reset) begin // @[Regfiles.scala 191:36]
      io_rgRsp_0_valid_REG <= 1'h0; // @[Regfiles.scala 191:36]
    end else begin
      io_rgRsp_0_valid_REG <= io_rgReq_0_valid; // @[Regfiles.scala 191:36]
    end
    if (reset) begin // @[Regfiles.scala 191:36]
      io_rgRsp_1_valid_REG <= 1'h0; // @[Regfiles.scala 191:36]
    end else begin
      io_rgRsp_1_valid_REG <= io_rgReq_1_valid; // @[Regfiles.scala 191:36]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_34 & ~reset & ~(_GEN_1155 == 2'h0)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Regfiles.scala:160 assert( log(molloc_idx(i)) === \"b00\".U )\n"); // @[Regfiles.scala 160:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1155 == 2'h0) & (_T_34 & ~reset)) begin
          $fatal; // @[Regfiles.scala 160:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_rgRsp_0_valid & _T_37 & ~(_GEN_1419 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed while reading operator, log is not ready!\n    at Regfiles.scala:194 when( io.rgRsp(i).valid ) {  assert( log(io.rgReq(i).bits) === \"b11\".U, \"Assert Failed while reading operator, log is not ready!\" ) }\n"
            ); // @[Regfiles.scala 194:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1419 == 2'h3) & (io_rgRsp_0_valid & _T_37)) begin
          $fatal; // @[Regfiles.scala 194:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_rgRsp_1_valid & _T_37 & ~(_GEN_1489 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed while reading operator, log is not ready!\n    at Regfiles.scala:194 when( io.rgRsp(i).valid ) {  assert( log(io.rgReq(i).bits) === \"b11\".U, \"Assert Failed while reading operator, log is not ready!\" ) }\n"
            ); // @[Regfiles.scala 194:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1489 == 2'h3) & (io_rgRsp_1_valid & _T_37)) begin
          $fatal; // @[Regfiles.scala 194:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_112 & _T_37 & ~(_GEN_1523 == 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed when writeback at chn0, log(XRegFiles.io.exe_writeBack[0].bits.rd0: IO[UInt<6>])\n    at Regfiles.scala:203 assert( log(idx) === \"b01\".U, \"Assert Failed when writeback at chn\" + i + \", log(\" + idx + \")\" )\n"
            ); // @[Regfiles.scala 203:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1523 == 2'h1) & (_T_112 & _T_37)) begin
          $fatal; // @[Regfiles.scala 203:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_118 & _T_37 & ~io_commit_0_is_writeback) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:227 assert( io.commit(m).is_writeback )\n"); // @[Regfiles.scala 227:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~io_commit_0_is_writeback & (_T_118 & _T_37)) begin
          $fatal; // @[Regfiles.scala 227:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_6 & ~(_GEN_1688 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: log_reg which going to commit to will be overrided to \"b11\" if there is an abort in-front.\n    at Regfiles.scala:231 assert( log_reg(phy(m)) === \"b11\".U, \"log_reg which going to commit to will be overrided to \\\"b11\\\" if there is an abort in-front.\" )\n"
            ); // @[Regfiles.scala 231:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1688 == 2'h3) & (_T_118 & _T_37)) begin
          $fatal; // @[Regfiles.scala 231:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_1984 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[0]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_1984 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2018 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[1]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2018 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2052 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[2]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2052 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2086 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[3]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2086 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2120 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[4]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2120 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2154 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[5]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2154 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2188 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[6]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2188 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2222 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[7]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2222 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2256 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[8]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2256 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2290 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[9]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2290 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2324 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[10]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2324 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2358 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[11]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2358 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2392 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[12]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2392 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2426 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[13]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2426 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2460 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[14]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2460 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2494 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[15]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2494 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2528 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[16]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2528 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2562 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[17]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2562 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2596 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[18]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2596 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2630 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[19]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2630 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2664 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[20]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2664 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2698 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[21]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2698 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2732 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[22]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2732 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2766 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[23]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2766 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2800 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[24]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2800 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2834 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[25]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2834 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2868 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[26]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2868 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2902 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[27]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2902 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2936 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[28]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2936 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_2970 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[29]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_2970 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_3004 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[30]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_3004 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_37 & ~(_GEN_3038 == 2'h3)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[31]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_GEN_3038 == 2'h3) & _T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  log_reg_0 = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  log_reg_1 = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  log_reg_2 = _RAND_2[1:0];
  _RAND_3 = {1{`RANDOM}};
  log_reg_3 = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  log_reg_4 = _RAND_4[1:0];
  _RAND_5 = {1{`RANDOM}};
  log_reg_5 = _RAND_5[1:0];
  _RAND_6 = {1{`RANDOM}};
  log_reg_6 = _RAND_6[1:0];
  _RAND_7 = {1{`RANDOM}};
  log_reg_7 = _RAND_7[1:0];
  _RAND_8 = {1{`RANDOM}};
  log_reg_8 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  log_reg_9 = _RAND_9[1:0];
  _RAND_10 = {1{`RANDOM}};
  log_reg_10 = _RAND_10[1:0];
  _RAND_11 = {1{`RANDOM}};
  log_reg_11 = _RAND_11[1:0];
  _RAND_12 = {1{`RANDOM}};
  log_reg_12 = _RAND_12[1:0];
  _RAND_13 = {1{`RANDOM}};
  log_reg_13 = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  log_reg_14 = _RAND_14[1:0];
  _RAND_15 = {1{`RANDOM}};
  log_reg_15 = _RAND_15[1:0];
  _RAND_16 = {1{`RANDOM}};
  log_reg_16 = _RAND_16[1:0];
  _RAND_17 = {1{`RANDOM}};
  log_reg_17 = _RAND_17[1:0];
  _RAND_18 = {1{`RANDOM}};
  log_reg_18 = _RAND_18[1:0];
  _RAND_19 = {1{`RANDOM}};
  log_reg_19 = _RAND_19[1:0];
  _RAND_20 = {1{`RANDOM}};
  log_reg_20 = _RAND_20[1:0];
  _RAND_21 = {1{`RANDOM}};
  log_reg_21 = _RAND_21[1:0];
  _RAND_22 = {1{`RANDOM}};
  log_reg_22 = _RAND_22[1:0];
  _RAND_23 = {1{`RANDOM}};
  log_reg_23 = _RAND_23[1:0];
  _RAND_24 = {1{`RANDOM}};
  log_reg_24 = _RAND_24[1:0];
  _RAND_25 = {1{`RANDOM}};
  log_reg_25 = _RAND_25[1:0];
  _RAND_26 = {1{`RANDOM}};
  log_reg_26 = _RAND_26[1:0];
  _RAND_27 = {1{`RANDOM}};
  log_reg_27 = _RAND_27[1:0];
  _RAND_28 = {1{`RANDOM}};
  log_reg_28 = _RAND_28[1:0];
  _RAND_29 = {1{`RANDOM}};
  log_reg_29 = _RAND_29[1:0];
  _RAND_30 = {1{`RANDOM}};
  log_reg_30 = _RAND_30[1:0];
  _RAND_31 = {1{`RANDOM}};
  log_reg_31 = _RAND_31[1:0];
  _RAND_32 = {1{`RANDOM}};
  log_reg_32 = _RAND_32[1:0];
  _RAND_33 = {1{`RANDOM}};
  archit_ptr_0 = _RAND_33[5:0];
  _RAND_34 = {1{`RANDOM}};
  archit_ptr_1 = _RAND_34[5:0];
  _RAND_35 = {1{`RANDOM}};
  archit_ptr_2 = _RAND_35[5:0];
  _RAND_36 = {1{`RANDOM}};
  archit_ptr_3 = _RAND_36[5:0];
  _RAND_37 = {1{`RANDOM}};
  archit_ptr_4 = _RAND_37[5:0];
  _RAND_38 = {1{`RANDOM}};
  archit_ptr_5 = _RAND_38[5:0];
  _RAND_39 = {1{`RANDOM}};
  archit_ptr_6 = _RAND_39[5:0];
  _RAND_40 = {1{`RANDOM}};
  archit_ptr_7 = _RAND_40[5:0];
  _RAND_41 = {1{`RANDOM}};
  archit_ptr_8 = _RAND_41[5:0];
  _RAND_42 = {1{`RANDOM}};
  archit_ptr_9 = _RAND_42[5:0];
  _RAND_43 = {1{`RANDOM}};
  archit_ptr_10 = _RAND_43[5:0];
  _RAND_44 = {1{`RANDOM}};
  archit_ptr_11 = _RAND_44[5:0];
  _RAND_45 = {1{`RANDOM}};
  archit_ptr_12 = _RAND_45[5:0];
  _RAND_46 = {1{`RANDOM}};
  archit_ptr_13 = _RAND_46[5:0];
  _RAND_47 = {1{`RANDOM}};
  archit_ptr_14 = _RAND_47[5:0];
  _RAND_48 = {1{`RANDOM}};
  archit_ptr_15 = _RAND_48[5:0];
  _RAND_49 = {1{`RANDOM}};
  archit_ptr_16 = _RAND_49[5:0];
  _RAND_50 = {1{`RANDOM}};
  archit_ptr_17 = _RAND_50[5:0];
  _RAND_51 = {1{`RANDOM}};
  archit_ptr_18 = _RAND_51[5:0];
  _RAND_52 = {1{`RANDOM}};
  archit_ptr_19 = _RAND_52[5:0];
  _RAND_53 = {1{`RANDOM}};
  archit_ptr_20 = _RAND_53[5:0];
  _RAND_54 = {1{`RANDOM}};
  archit_ptr_21 = _RAND_54[5:0];
  _RAND_55 = {1{`RANDOM}};
  archit_ptr_22 = _RAND_55[5:0];
  _RAND_56 = {1{`RANDOM}};
  archit_ptr_23 = _RAND_56[5:0];
  _RAND_57 = {1{`RANDOM}};
  archit_ptr_24 = _RAND_57[5:0];
  _RAND_58 = {1{`RANDOM}};
  archit_ptr_25 = _RAND_58[5:0];
  _RAND_59 = {1{`RANDOM}};
  archit_ptr_26 = _RAND_59[5:0];
  _RAND_60 = {1{`RANDOM}};
  archit_ptr_27 = _RAND_60[5:0];
  _RAND_61 = {1{`RANDOM}};
  archit_ptr_28 = _RAND_61[5:0];
  _RAND_62 = {1{`RANDOM}};
  archit_ptr_29 = _RAND_62[5:0];
  _RAND_63 = {1{`RANDOM}};
  archit_ptr_30 = _RAND_63[5:0];
  _RAND_64 = {1{`RANDOM}};
  archit_ptr_31 = _RAND_64[5:0];
  _RAND_65 = {1{`RANDOM}};
  io_rgRsp_0_valid_REG = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  io_rgRsp_1_valid_REG = _RAND_66[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module FakeFRegFiles(
  input   clock,
  input   reset,
  input   io_exe_writeBack_0_valid,
  input   io_exe_writeBack_1_valid
);
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_exe_writeBack_0_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:324 assert( ~io.exe_writeBack(i).valid )\n"); // @[Regfiles.scala 324:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_exe_writeBack_0_valid) & ~reset) begin
          $fatal; // @[Regfiles.scala 324:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_exe_writeBack_1_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:324 assert( ~io.exe_writeBack(i).valid )\n"); // @[Regfiles.scala 324:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_exe_writeBack_1_valid) & ~reset) begin
          $fatal; // @[Regfiles.scala 324:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module XArbiter(
  input        io_enq_0_valid,
  input  [5:0] io_enq_0_bits_rd0,
  input        io_enq_1_valid,
  input  [5:0] io_enq_1_bits_rd0,
  input        io_enq_2_valid,
  input  [5:0] io_enq_2_bits_rd0,
  input        io_enq_3_valid,
  input  [5:0] io_enq_3_bits_rd0,
  input        io_enq_4_valid,
  input  [5:0] io_enq_4_bits_rd0,
  input        io_enq_5_valid,
  input  [5:0] io_enq_5_bits_rd0,
  output       io_deq_0_valid,
  output [5:0] io_deq_0_bits_rd0,
  output [2:0] io_chosen_0
);
  wire [2:0] _GEN_0 = io_enq_5_valid ? 3'h5 : 3'h0; // @[XArbiter.scala 34:18 36:31 37:38]
  wire [2:0] _GEN_1 = io_enq_4_valid ? 3'h4 : _GEN_0; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] _GEN_2 = io_enq_3_valid ? 3'h3 : _GEN_1; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] _GEN_3 = io_enq_2_valid ? 3'h2 : _GEN_2; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] _GEN_4 = io_enq_1_valid ? 3'h1 : _GEN_3; // @[XArbiter.scala 36:31 37:38]
  wire [1:0] _T_6 = io_enq_1_valid + io_enq_2_valid; // @[XArbiter.scala 53:23]
  wire [1:0] _GEN_12 = {{1'd0}, io_enq_0_valid}; // @[XArbiter.scala 53:23]
  wire [2:0] _T_8 = _GEN_12 + _T_6; // @[XArbiter.scala 53:23]
  wire [1:0] _T_10 = io_enq_4_valid + io_enq_5_valid; // @[XArbiter.scala 53:23]
  wire [1:0] _GEN_13 = {{1'd0}, io_enq_3_valid}; // @[XArbiter.scala 53:23]
  wire [2:0] _T_12 = _GEN_13 + _T_10; // @[XArbiter.scala 53:23]
  wire [2:0] _T_14 = _T_8[1:0] + _T_12[1:0]; // @[XArbiter.scala 53:23]
  wire [5:0] _GEN_7 = 3'h1 == io_chosen_0 ? io_enq_1_bits_rd0 : io_enq_0_bits_rd0; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] _GEN_8 = 3'h2 == io_chosen_0 ? io_enq_2_bits_rd0 : _GEN_7; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] _GEN_9 = 3'h3 == io_chosen_0 ? io_enq_3_bits_rd0 : _GEN_8; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] _GEN_10 = 3'h4 == io_chosen_0 ? io_enq_4_bits_rd0 : _GEN_9; // @[XArbiter.scala 55:{22,22}]
  assign io_deq_0_valid = _T_14 > 3'h0; // @[XArbiter.scala 53:68]
  assign io_deq_0_bits_rd0 = 3'h5 == io_chosen_0 ? io_enq_5_bits_rd0 : _GEN_10; // @[XArbiter.scala 55:{22,22}]
  assign io_chosen_0 = io_enq_0_valid ? 3'h0 : _GEN_4; // @[XArbiter.scala 36:31 37:38]
endmodule
module WriteBack(
  input        clock,
  input        reset,
  input        io_xRename_0_req_valid,
  input        io_irgReq_0_valid,
  input  [5:0] io_irgReq_0_bits,
  input        io_irgReq_1_valid,
  input  [5:0] io_irgReq_1_bits,
  input        io_alu_iWriteBack_0_valid,
  input  [5:0] io_alu_iWriteBack_0_bits_rd0,
  input        io_bru_iWriteBack_valid,
  input  [5:0] io_bru_iWriteBack_bits_rd0,
  input        io_csr_iWriteBack_valid,
  input  [5:0] io_csr_iWriteBack_bits_rd0,
  input        io_mem_iWriteBack_valid,
  input  [5:0] io_mem_iWriteBack_bits_rd0,
  input        io_mul_iWriteBack_0_valid,
  input  [5:0] io_mul_iWriteBack_0_bits_rd0,
  input        io_fpu_iWriteBack_0_valid,
  input  [5:0] io_fpu_iWriteBack_0_bits_rd0,
  input        io_mem_fWriteBack_valid,
  input        io_fpu_fWriteBack_0_valid,
  input        io_commit_0_is_comfirm,
  input        io_commit_0_is_MisPredict,
  input        io_commit_0_is_abort,
  input  [4:0] io_commit_0_raw,
  input  [5:0] io_commit_0_phy,
  input        io_commit_0_toX
);
  wire  iReg_clock; // @[WriteBack.scala 70:20]
  wire  iReg_reset; // @[WriteBack.scala 70:20]
  wire  iReg_io_rename_0_req_ready; // @[WriteBack.scala 70:20]
  wire  iReg_io_rename_0_req_valid; // @[WriteBack.scala 70:20]
  wire  iReg_io_rgReq_0_valid; // @[WriteBack.scala 70:20]
  wire [5:0] iReg_io_rgReq_0_bits; // @[WriteBack.scala 70:20]
  wire  iReg_io_rgReq_1_valid; // @[WriteBack.scala 70:20]
  wire [5:0] iReg_io_rgReq_1_bits; // @[WriteBack.scala 70:20]
  wire  iReg_io_rgRsp_0_valid; // @[WriteBack.scala 70:20]
  wire  iReg_io_rgRsp_1_valid; // @[WriteBack.scala 70:20]
  wire  iReg_io_exe_writeBack_0_ready; // @[WriteBack.scala 70:20]
  wire  iReg_io_exe_writeBack_0_valid; // @[WriteBack.scala 70:20]
  wire [5:0] iReg_io_exe_writeBack_0_bits_rd0; // @[WriteBack.scala 70:20]
  wire  iReg_io_commit_0_is_comfirm; // @[WriteBack.scala 70:20]
  wire  iReg_io_commit_0_is_MisPredict; // @[WriteBack.scala 70:20]
  wire  iReg_io_commit_0_is_abort; // @[WriteBack.scala 70:20]
  wire [4:0] iReg_io_commit_0_raw; // @[WriteBack.scala 70:20]
  wire [5:0] iReg_io_commit_0_phy; // @[WriteBack.scala 70:20]
  wire  iReg_io_commit_0_is_writeback; // @[WriteBack.scala 70:20]
  wire  fReg_clock; // @[WriteBack.scala 71:97]
  wire  fReg_reset; // @[WriteBack.scala 71:97]
  wire  fReg_io_exe_writeBack_0_valid; // @[WriteBack.scala 71:97]
  wire  fReg_io_exe_writeBack_1_valid; // @[WriteBack.scala 71:97]
  wire  iwriteBack_arb_io_enq_0_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_0_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_enq_1_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_1_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_enq_2_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_2_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_enq_3_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_3_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_enq_4_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_4_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_enq_5_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_enq_5_bits_rd0; // @[WriteBack.scala 127:21]
  wire  iwriteBack_arb_io_deq_0_valid; // @[WriteBack.scala 127:21]
  wire [5:0] iwriteBack_arb_io_deq_0_bits_rd0; // @[WriteBack.scala 127:21]
  wire [2:0] iwriteBack_arb_io_chosen_0; // @[WriteBack.scala 127:21]
  XRegFiles iReg ( // @[WriteBack.scala 70:20]
    .clock(iReg_clock),
    .reset(iReg_reset),
    .io_rename_0_req_ready(iReg_io_rename_0_req_ready),
    .io_rename_0_req_valid(iReg_io_rename_0_req_valid),
    .io_rgReq_0_valid(iReg_io_rgReq_0_valid),
    .io_rgReq_0_bits(iReg_io_rgReq_0_bits),
    .io_rgReq_1_valid(iReg_io_rgReq_1_valid),
    .io_rgReq_1_bits(iReg_io_rgReq_1_bits),
    .io_rgRsp_0_valid(iReg_io_rgRsp_0_valid),
    .io_rgRsp_1_valid(iReg_io_rgRsp_1_valid),
    .io_exe_writeBack_0_ready(iReg_io_exe_writeBack_0_ready),
    .io_exe_writeBack_0_valid(iReg_io_exe_writeBack_0_valid),
    .io_exe_writeBack_0_bits_rd0(iReg_io_exe_writeBack_0_bits_rd0),
    .io_commit_0_is_comfirm(iReg_io_commit_0_is_comfirm),
    .io_commit_0_is_MisPredict(iReg_io_commit_0_is_MisPredict),
    .io_commit_0_is_abort(iReg_io_commit_0_is_abort),
    .io_commit_0_raw(iReg_io_commit_0_raw),
    .io_commit_0_phy(iReg_io_commit_0_phy),
    .io_commit_0_is_writeback(iReg_io_commit_0_is_writeback)
  );
  FakeFRegFiles fReg ( // @[WriteBack.scala 71:97]
    .clock(fReg_clock),
    .reset(fReg_reset),
    .io_exe_writeBack_0_valid(fReg_io_exe_writeBack_0_valid),
    .io_exe_writeBack_1_valid(fReg_io_exe_writeBack_1_valid)
  );
  XArbiter iwriteBack_arb ( // @[WriteBack.scala 127:21]
    .io_enq_0_valid(iwriteBack_arb_io_enq_0_valid),
    .io_enq_0_bits_rd0(iwriteBack_arb_io_enq_0_bits_rd0),
    .io_enq_1_valid(iwriteBack_arb_io_enq_1_valid),
    .io_enq_1_bits_rd0(iwriteBack_arb_io_enq_1_bits_rd0),
    .io_enq_2_valid(iwriteBack_arb_io_enq_2_valid),
    .io_enq_2_bits_rd0(iwriteBack_arb_io_enq_2_bits_rd0),
    .io_enq_3_valid(iwriteBack_arb_io_enq_3_valid),
    .io_enq_3_bits_rd0(iwriteBack_arb_io_enq_3_bits_rd0),
    .io_enq_4_valid(iwriteBack_arb_io_enq_4_valid),
    .io_enq_4_bits_rd0(iwriteBack_arb_io_enq_4_bits_rd0),
    .io_enq_5_valid(iwriteBack_arb_io_enq_5_valid),
    .io_enq_5_bits_rd0(iwriteBack_arb_io_enq_5_bits_rd0),
    .io_deq_0_valid(iwriteBack_arb_io_deq_0_valid),
    .io_deq_0_bits_rd0(iwriteBack_arb_io_deq_0_bits_rd0),
    .io_chosen_0(iwriteBack_arb_io_chosen_0)
  );
  assign iReg_clock = clock;
  assign iReg_reset = reset;
  assign iReg_io_rename_0_req_valid = io_xRename_0_req_valid; // @[WriteBack.scala 76:23]
  assign iReg_io_rgReq_0_valid = io_irgReq_0_valid; // @[WriteBack.scala 112:17]
  assign iReg_io_rgReq_0_bits = io_irgReq_0_bits; // @[WriteBack.scala 112:17]
  assign iReg_io_rgReq_1_valid = io_irgReq_1_valid; // @[WriteBack.scala 112:17]
  assign iReg_io_rgReq_1_bits = io_irgReq_1_bits; // @[WriteBack.scala 112:17]
  assign iReg_io_exe_writeBack_0_valid = iwriteBack_arb_io_deq_0_valid; // @[WriteBack.scala 136:16]
  assign iReg_io_exe_writeBack_0_bits_rd0 = iwriteBack_arb_io_deq_0_bits_rd0; // @[WriteBack.scala 136:16]
  assign iReg_io_commit_0_is_comfirm = io_commit_0_toX & io_commit_0_is_comfirm; // @[WriteBack.scala 102:{41,60} 84:37]
  assign iReg_io_commit_0_is_MisPredict = io_commit_0_is_MisPredict; // @[WriteBack.scala 102:{41,60} 85:37]
  assign iReg_io_commit_0_is_abort = io_commit_0_is_abort; // @[WriteBack.scala 102:{41,60} 86:37]
  assign iReg_io_commit_0_raw = io_commit_0_toX ? io_commit_0_raw : 5'h0; // @[WriteBack.scala 102:{41,60} 87:37]
  assign iReg_io_commit_0_phy = io_commit_0_toX ? io_commit_0_phy : 6'h0; // @[WriteBack.scala 102:{41,60} 88:37]
  assign fReg_clock = clock;
  assign fReg_reset = reset;
  assign fReg_io_exe_writeBack_0_valid = io_mem_fWriteBack_valid; // @[WriteBack.scala 141:28]
  assign fReg_io_exe_writeBack_1_valid = io_fpu_fWriteBack_0_valid; // @[WriteBack.scala 142:28]
  assign iwriteBack_arb_io_enq_0_valid = io_alu_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_0_bits_rd0 = io_alu_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_1_valid = io_bru_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_1_bits_rd0 = io_bru_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_2_valid = io_csr_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_2_bits_rd0 = io_csr_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_3_valid = io_mem_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_3_bits_rd0 = io_mem_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_4_valid = io_mul_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_4_bits_rd0 = io_mul_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_5_valid = io_fpu_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwriteBack_arb_io_enq_5_bits_rd0 = io_fpu_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
endmodule
module ReDirect_3(
  output  io_enq_0_ready,
  input   io_enq_0_valid,
  input   io_enq_0_bits_isPredictTaken,
  input   io_enq_0_bits_isFinalTaken,
  input   io_deq_0_ready,
  output  io_deq_0_valid,
  output  io_deq_0_bits_isPredictTaken,
  output  io_deq_0_bits_isFinalTaken,
  input   io_mapper_0
);
  assign io_enq_0_ready = io_mapper_0 & io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign io_deq_0_valid = io_mapper_0 & io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign io_deq_0_bits_isPredictTaken = io_mapper_0 & io_enq_0_bits_isPredictTaken; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_isFinalTaken = io_mapper_0 & io_enq_0_bits_isFinalTaken; // @[RePort.scala 160:21 180:{28,40}]
endmodule
module ReDirect_4(
  output        io_enq_0_ready,
  input         io_enq_0_valid,
  input  [38:0] io_enq_0_bits_btbResp_target,
  input  [38:0] io_enq_0_bits_rasResp_target,
  input         io_enq_0_bits_isRas,
  input  [63:0] io_enq_0_bits_finalTarget,
  input         io_deq_0_ready,
  output        io_deq_0_valid,
  output [38:0] io_deq_0_bits_btbResp_target,
  output [38:0] io_deq_0_bits_rasResp_target,
  output        io_deq_0_bits_isRas,
  output [63:0] io_deq_0_bits_finalTarget,
  input         io_mapper_0
);
  assign io_enq_0_ready = io_mapper_0 & io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign io_deq_0_valid = io_mapper_0 & io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign io_deq_0_bits_btbResp_target = io_mapper_0 ? io_enq_0_bits_btbResp_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_rasResp_target = io_mapper_0 ? io_enq_0_bits_rasResp_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_isRas = io_mapper_0 & io_enq_0_bits_isRas; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_finalTarget = io_mapper_0 ? io_enq_0_bits_finalTarget : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
endmodule
module ReDirect_5(
  input         io_enq_0_valid,
  input  [11:0] io_enq_0_bits_addr,
  input  [63:0] io_enq_0_bits_dat_i,
  input         io_enq_0_bits_op_rw,
  input         io_enq_0_bits_op_rs,
  input         io_enq_0_bits_op_rc,
  input         io_deq_0_ready,
  output        io_deq_0_valid,
  output [11:0] io_deq_0_bits_addr,
  output [63:0] io_deq_0_bits_dat_i,
  output        io_deq_0_bits_op_rw,
  output        io_deq_0_bits_op_rs,
  output        io_deq_0_bits_op_rc,
  input         io_mapper_0
);
  assign io_deq_0_valid = io_mapper_0 & io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign io_deq_0_bits_addr = io_mapper_0 ? io_enq_0_bits_addr : 12'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_dat_i = io_mapper_0 ? io_enq_0_bits_dat_i : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_op_rw = io_mapper_0 & io_enq_0_bits_op_rw; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_op_rs = io_mapper_0 & io_enq_0_bits_op_rs; // @[RePort.scala 160:21 180:{28,40}]
  assign io_deq_0_bits_op_rc = io_mapper_0 & io_enq_0_bits_op_rc; // @[RePort.scala 160:21 180:{28,40}]
endmodule
module Commit(
  input         clock,
  input         reset,
  input         io_cm_op_0_is_writeback,
  input         io_rod_0_valid,
  input         io_rod_0_bits_is_branch,
  input         io_rod_0_bits_is_jalr,
  input         io_rod_0_bits_is_lu,
  input         io_rod_0_bits_is_su,
  input         io_rod_0_bits_is_amo,
  input         io_rod_0_bits_is_fence_i,
  input         io_rod_0_bits_is_sfence_vma,
  input         io_rod_0_bits_is_wfi,
  input         io_rod_0_bits_is_csr,
  input         io_rod_0_bits_is_fpu,
  input         io_rod_0_bits_is_fcsr,
  input         io_rod_0_bits_privil_ecall,
  input         io_rod_0_bits_privil_ebreak,
  input         io_rod_0_bits_privil_mret,
  input         io_rod_0_bits_privil_sret,
  input         io_rod_0_bits_privil_dret,
  input         io_rod_0_bits_privil_is_access_fault,
  input         io_rod_0_bits_privil_is_paging_fault,
  input         io_rod_0_bits_is_illeage,
  input         io_lsu_cmm_is_access_fault,
  input         io_lsu_cmm_is_paging_fault,
  input         io_lsu_cmm_is_misAlign,
  input         io_csr_addr_valid,
  input  [11:0] io_csr_addr_bits,
  input         io_csr_cmm_op_valid,
  input  [11:0] io_csr_cmm_op_bits_addr,
  input  [63:0] io_csr_cmm_op_bits_dat_i,
  input         io_csr_cmm_op_bits_op_rw,
  input         io_csr_cmm_op_bits_op_rs,
  input         io_csr_cmm_op_bits_op_rc,
  output        io_bctq_ready,
  input         io_bctq_valid,
  input         io_bctq_bits_isPredictTaken,
  input         io_bctq_bits_isFinalTaken,
  output        io_jctq_ready,
  input         io_jctq_valid,
  input  [38:0] io_jctq_bits_btbResp_target,
  input  [38:0] io_jctq_bits_rasResp_target,
  input         io_jctq_bits_isRas,
  input  [63:0] io_jctq_bits_finalTarget,
  input         io_fcsr_cmm_op_0_valid,
  input  [11:0] io_fcsr_cmm_op_0_bits_addr,
  input  [63:0] io_fcsr_cmm_op_0_bits_dat_i,
  input         io_fcsr_cmm_op_0_bits_op_rw,
  input         io_fcsr_cmm_op_0_bits_op_rs,
  input         io_fcsr_cmm_op_0_bits_op_rc,
  input         io_dm_hartResetReq,
  input         io_dm_hartHaltReq,
  input         io_aclint_msi,
  input         io_aclint_mti,
  input         io_aclint_ssi,
  input         io_aclint_sti,
  input         io_plic_mei,
  input         io_plic_sei
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [63:0] _RAND_16;
  reg [63:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
`endif // RANDOMIZE_REG_INIT
  wire  bctq_mdl_io_enq_0_ready; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_enq_0_bits_isPredictTaken; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_enq_0_bits_isFinalTaken; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_deq_0_bits_isPredictTaken; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_deq_0_bits_isFinalTaken; // @[RePort.scala 188:21]
  wire  bctq_mdl_io_mapper_0; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_enq_0_ready; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire [38:0] jctq_mdl_io_enq_0_bits_btbResp_target; // @[RePort.scala 188:21]
  wire [38:0] jctq_mdl_io_enq_0_bits_rasResp_target; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_enq_0_bits_isRas; // @[RePort.scala 188:21]
  wire [63:0] jctq_mdl_io_enq_0_bits_finalTarget; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire [38:0] jctq_mdl_io_deq_0_bits_btbResp_target; // @[RePort.scala 188:21]
  wire [38:0] jctq_mdl_io_deq_0_bits_rasResp_target; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_deq_0_bits_isRas; // @[RePort.scala 188:21]
  wire [63:0] jctq_mdl_io_deq_0_bits_finalTarget; // @[RePort.scala 188:21]
  wire  jctq_mdl_io_mapper_0; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire [11:0] csrExe_mdl_io_enq_0_bits_addr; // @[RePort.scala 188:21]
  wire [63:0] csrExe_mdl_io_enq_0_bits_dat_i; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_enq_0_bits_op_rw; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_enq_0_bits_op_rs; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_enq_0_bits_op_rc; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire [11:0] csrExe_mdl_io_deq_0_bits_addr; // @[RePort.scala 188:21]
  wire [63:0] csrExe_mdl_io_deq_0_bits_dat_i; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_deq_0_bits_op_rw; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_deq_0_bits_op_rs; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_deq_0_bits_op_rc; // @[RePort.scala 188:21]
  wire  csrExe_mdl_io_mapper_0; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_enq_0_valid; // @[RePort.scala 188:21]
  wire [11:0] fcsrExe_mdl_io_enq_0_bits_addr; // @[RePort.scala 188:21]
  wire [63:0] fcsrExe_mdl_io_enq_0_bits_dat_i; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_enq_0_bits_op_rw; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_enq_0_bits_op_rs; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_enq_0_bits_op_rc; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_deq_0_ready; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_deq_0_valid; // @[RePort.scala 188:21]
  wire [11:0] fcsrExe_mdl_io_deq_0_bits_addr; // @[RePort.scala 188:21]
  wire [63:0] fcsrExe_mdl_io_deq_0_bits_dat_i; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_deq_0_bits_op_rw; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_deq_0_bits_op_rs; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_deq_0_bits_op_rc; // @[RePort.scala 188:21]
  wire  fcsrExe_mdl_io_mapper_0; // @[RePort.scala 188:21]
  reg [1:0] csrfiles_priv_lvl; // @[Commit.scala 322:21]
  reg  csrfiles_DMode; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_sd; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_tsr; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_tw; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_tvm; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_mxr; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_sum; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_mprv; // @[Commit.scala 322:21]
  reg [1:0] csrfiles_mstatus_fs; // @[Commit.scala 322:21]
  reg [1:0] csrfiles_mstatus_mpp; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_spp; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_mpie; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_spie; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_mie; // @[Commit.scala 322:21]
  reg  csrfiles_mstatus_sie; // @[Commit.scala 322:21]
  reg [63:0] csrfiles_medeleg; // @[Commit.scala 322:21]
  reg [63:0] csrfiles_mideleg; // @[Commit.scala 322:21]
  reg  csrfiles_mie_mei; // @[Commit.scala 322:21]
  reg  csrfiles_mie_sei; // @[Commit.scala 322:21]
  reg  csrfiles_mie_mti; // @[Commit.scala 322:21]
  reg  csrfiles_mie_sti; // @[Commit.scala 322:21]
  reg  csrfiles_mie_msi; // @[Commit.scala 322:21]
  reg  csrfiles_mie_ssi; // @[Commit.scala 322:21]
  reg [31:0] csrfiles_mcounteren_hpm; // @[Commit.scala 322:21]
  reg  csrfiles_mip_mei; // @[Commit.scala 322:21]
  reg  csrfiles_mip_sei; // @[Commit.scala 322:21]
  reg  csrfiles_mip_mti; // @[Commit.scala 322:21]
  reg  csrfiles_mip_sti; // @[Commit.scala 322:21]
  reg  csrfiles_mip_msi; // @[Commit.scala 322:21]
  reg  csrfiles_mip_ssi; // @[Commit.scala 322:21]
  reg  csrfiles_dcsr_ebreakm; // @[Commit.scala 322:21]
  reg  csrfiles_dcsr_ebreaks; // @[Commit.scala 322:21]
  reg  csrfiles_dcsr_ebreaku; // @[Commit.scala 322:21]
  reg [2:0] csrfiles_dcsr_cause; // @[Commit.scala 322:21]
  reg  csrfiles_dcsr_step; // @[Commit.scala 322:21]
  reg [1:0] csrfiles_dcsr_prv; // @[Commit.scala 322:21]
  wire  _is_xRet_is_mRet_T = csrfiles_priv_lvl == 2'h3; // @[Commit.scala 165:55]
  wire  is_xRet_is_mRet = io_rod_0_bits_privil_mret & csrfiles_priv_lvl == 2'h3; // @[Commit.scala 165:35]
  wire  _is_xRet_is_sRet_T_1 = csrfiles_priv_lvl == 2'h1; // @[Commit.scala 170:91]
  wire  is_xRet_is_sRet = io_rod_0_bits_privil_sret & (_is_xRet_is_mRet_T | csrfiles_priv_lvl == 2'h1 & ~
    csrfiles_mstatus_tsr); // @[Commit.scala 170:35]
  wire  is_xRet_is_dRet = io_rod_0_bits_privil_dret & csrfiles_DMode; // @[Commit.scala 175:35]
  wire  is_xRet = is_xRet_is_mRet | is_xRet_is_sRet | is_xRet_is_dRet; // @[Commit.scala 217:37]
  wire  is_trap_is_interrupt_is_m_interrupt_is_msi = csrfiles_mip_msi & csrfiles_mie_msi & csrfiles_mstatus_mie; // @[CsrFiles.scala 284:36]
  wire  is_trap_is_interrupt_is_m_interrupt_is_mti = csrfiles_mip_mti & csrfiles_mie_mti & csrfiles_mstatus_mie; // @[CsrFiles.scala 292:36]
  wire  is_trap_is_interrupt_is_m_interrupt_is_mei = csrfiles_mip_mei & csrfiles_mie_mei & csrfiles_mstatus_mie; // @[CsrFiles.scala 300:36]
  wire  is_trap_is_interrupt_is_m_interrupt = is_trap_is_interrupt_is_m_interrupt_is_msi |
    is_trap_is_interrupt_is_m_interrupt_is_mti | is_trap_is_interrupt_is_m_interrupt_is_mei; // @[CsrFiles.scala 304:42]
  wire  is_trap_is_interrupt_is_s_interrupt_is_ssi = csrfiles_mip_ssi & csrfiles_mie_ssi & csrfiles_mstatus_sie & ~(
    _is_xRet_is_mRet_T & csrfiles_mideleg[1]); // @[CsrFiles.scala 280:50]
  wire  is_trap_is_interrupt_is_s_interrupt_is_sti = csrfiles_mip_sti & csrfiles_mie_sti & csrfiles_mstatus_sie & ~(
    _is_xRet_is_mRet_T & csrfiles_mideleg[5]); // @[CsrFiles.scala 288:50]
  wire  is_trap_is_interrupt_is_s_interrupt_is_sei = csrfiles_mip_sei & csrfiles_mie_sei & csrfiles_mstatus_sie & ~(
    _is_xRet_is_mRet_T & csrfiles_mideleg[9]); // @[CsrFiles.scala 296:50]
  wire  is_trap_is_interrupt_is_s_interrupt = is_trap_is_interrupt_is_s_interrupt_is_ssi |
    is_trap_is_interrupt_is_s_interrupt_is_sti | is_trap_is_interrupt_is_s_interrupt_is_sei; // @[CsrFiles.scala 308:42]
  wire  _is_trap_is_interrupt_T_2 = ~csrfiles_DMode; // @[Commit.scala 207:80]
  reg  is_single_step; // @[Commit.scala 404:31]
  wire  _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_2 = is_single_step | io_dm_hartHaltReq; // @[Commit.scala 260:24]
  wire  _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 =
    csrfiles_priv_lvl == 2'h0; // @[Commit.scala 232:29]
  wire  _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_8 =
    _is_xRet_is_mRet_T & csrfiles_dcsr_ebreakm | _is_xRet_is_sRet_T_1 & csrfiles_dcsr_ebreaks |
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 &
    csrfiles_dcsr_ebreaku; // @[Mux.scala 27:73]
  wire  is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn =
    _is_trap_is_interrupt_T_2 &
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_8; // @[Commit.scala 228:49]
  wire  is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm = io_rod_0_bits_privil_ebreak &
    is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn; // @[Commit.scala 253:42]
  wire  _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_3 =
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_2 |
    is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm; // @[Commit.scala 261:25]
  wire  is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt = _is_trap_is_interrupt_T_2 &
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_3; // @[Commit.scala 258:46]
  reg  emu_reset; // @[Commit.scala 363:26]
  wire  is_trap_is_interrupt_is_nomask_interrupt = is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt |
    emu_reset; // @[Commit.scala 268:50]
  wire  is_trap_is_interrupt = ((is_trap_is_interrupt_is_m_interrupt | is_trap_is_interrupt_is_s_interrupt) & ~
    csrfiles_DMode | is_trap_is_interrupt_is_nomask_interrupt) & ~csrfiles_DMode; // @[Commit.scala 207:123]
  wire  is_trap_is_exception_is_ebreak_exc = io_rod_0_bits_privil_ebreak & ~
    is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn; // @[Commit.scala 120:43]
  wire  _is_trap_is_exception_T = io_rod_0_bits_privil_ecall | is_trap_is_exception_is_ebreak_exc; // @[Commit.scala 192:32]
  wire  _is_trap_is_exception_T_1 = _is_trap_is_exception_T | io_rod_0_bits_privil_is_access_fault; // @[Commit.scala 193:32]
  wire  _is_trap_is_exception_T_2 = _is_trap_is_exception_T_1 | io_rod_0_bits_privil_is_paging_fault; // @[Commit.scala 194:32]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_0 = io_csr_addr_bits == 12'h3a0; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_1 = io_csr_addr_bits == 12'h3a2; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_2 = io_csr_addr_bits == 12'h3a4; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_3 = io_csr_addr_bits == 12'h3a6; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_4 = io_csr_addr_bits == 12'h3a8; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_5 = io_csr_addr_bits == 12'h3aa; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_6 = io_csr_addr_bits == 12'h3ac; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_7 = io_csr_addr_bits == 12'h3ae; // @[CsrFiles.scala 314:58]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_0_1 = io_csr_addr_bits == 12'h3b0; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_1_1 = io_csr_addr_bits == 12'h3b1; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_2_1 = io_csr_addr_bits == 12'h3b2; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_3_1 = io_csr_addr_bits == 12'h3b3; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_4_1 = io_csr_addr_bits == 12'h3b4; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_5_1 = io_csr_addr_bits == 12'h3b5; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_6_1 = io_csr_addr_bits == 12'h3b6; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_7_1 = io_csr_addr_bits == 12'h3b7; // @[CsrFiles.scala 320:60]
  wire  _cmm_state_0_is_csrr_illegal_res_T_15 = cmm_state_0_is_csrr_illegal_addr_chk_7_1 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_res_T_240 = cmm_state_0_is_csrr_illegal_addr_chk_0 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_1 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_2 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_4 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_5 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_6 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_7 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_0_1 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_1_1 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_2_1 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_3_1 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_4_1 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_5_1 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_6_1 &
    _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_res_T_15; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_8 = io_csr_addr_bits == 12'h3b8; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_9 = io_csr_addr_bits == 12'h3b9; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_10 = io_csr_addr_bits == 12'h3ba; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_11 = io_csr_addr_bits == 12'h3bb; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_12 = io_csr_addr_bits == 12'h3bc; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_13 = io_csr_addr_bits == 12'h3bd; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_14 = io_csr_addr_bits == 12'h3be; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_15 = io_csr_addr_bits == 12'h3bf; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_16 = io_csr_addr_bits == 12'h3c0; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_17 = io_csr_addr_bits == 12'h3c1; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_18 = io_csr_addr_bits == 12'h3c2; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_19 = io_csr_addr_bits == 12'h3c3; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_20 = io_csr_addr_bits == 12'h3c4; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_21 = io_csr_addr_bits == 12'h3c5; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_22 = io_csr_addr_bits == 12'h3c6; // @[CsrFiles.scala 320:60]
  wire  _cmm_state_0_is_csrr_illegal_res_T_255 = _cmm_state_0_is_csrr_illegal_res_T_240 |
    cmm_state_0_is_csrr_illegal_addr_chk_8 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_9 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_10 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_11 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_12 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_13 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_14 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_15 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_16 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_17 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_18 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_19 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_20 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_21 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_22 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_23 = io_csr_addr_bits == 12'h3c7; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_24 = io_csr_addr_bits == 12'h3c8; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_25 = io_csr_addr_bits == 12'h3c9; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_26 = io_csr_addr_bits == 12'h3ca; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_27 = io_csr_addr_bits == 12'h3cb; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_28 = io_csr_addr_bits == 12'h3cc; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_29 = io_csr_addr_bits == 12'h3cd; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_30 = io_csr_addr_bits == 12'h3ce; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_31 = io_csr_addr_bits == 12'h3cf; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_32 = io_csr_addr_bits == 12'h3d0; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_33 = io_csr_addr_bits == 12'h3d1; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_34 = io_csr_addr_bits == 12'h3d2; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_35 = io_csr_addr_bits == 12'h3d3; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_36 = io_csr_addr_bits == 12'h3d4; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_37 = io_csr_addr_bits == 12'h3d5; // @[CsrFiles.scala 320:60]
  wire  _cmm_state_0_is_csrr_illegal_res_T_270 = _cmm_state_0_is_csrr_illegal_res_T_255 |
    cmm_state_0_is_csrr_illegal_addr_chk_23 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_24 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_25 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_26 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_27 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_28 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_29 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_30 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_31 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_32 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_33 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_34 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_35 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_36 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_37 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_38 = io_csr_addr_bits == 12'h3d6; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_39 = io_csr_addr_bits == 12'h3d7; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_40 = io_csr_addr_bits == 12'h3d8; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_41 = io_csr_addr_bits == 12'h3d9; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_42 = io_csr_addr_bits == 12'h3da; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_43 = io_csr_addr_bits == 12'h3db; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_44 = io_csr_addr_bits == 12'h3dc; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_45 = io_csr_addr_bits == 12'h3dd; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_46 = io_csr_addr_bits == 12'h3de; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_47 = io_csr_addr_bits == 12'h3df; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_48 = io_csr_addr_bits == 12'h3e0; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_49 = io_csr_addr_bits == 12'h3e1; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_50 = io_csr_addr_bits == 12'h3e2; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_51 = io_csr_addr_bits == 12'h3e3; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_52 = io_csr_addr_bits == 12'h3e4; // @[CsrFiles.scala 320:60]
  wire  _cmm_state_0_is_csrr_illegal_res_T_285 = _cmm_state_0_is_csrr_illegal_res_T_270 |
    cmm_state_0_is_csrr_illegal_addr_chk_38 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_39 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_40 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_41 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_42 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_43 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_44 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_45 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_46 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_47 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_48 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_49 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_50 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_51 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_52 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_53 = io_csr_addr_bits == 12'h3e5; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_54 = io_csr_addr_bits == 12'h3e6; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_55 = io_csr_addr_bits == 12'h3e7; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_56 = io_csr_addr_bits == 12'h3e8; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_57 = io_csr_addr_bits == 12'h3e9; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_58 = io_csr_addr_bits == 12'h3ea; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_59 = io_csr_addr_bits == 12'h3eb; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_60 = io_csr_addr_bits == 12'h3ec; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_61 = io_csr_addr_bits == 12'h3ed; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_62 = io_csr_addr_bits == 12'h3ee; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_63 = io_csr_addr_bits == 12'h3ef; // @[CsrFiles.scala 320:60]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_0_2 = io_csr_addr_bits == 12'hc03; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_1_2 = io_csr_addr_bits == 12'hc04; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_2_2 = io_csr_addr_bits == 12'hc05; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_3_2 = io_csr_addr_bits == 12'hc06; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_4_2 = io_csr_addr_bits == 12'hc07; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_5_2 = io_csr_addr_bits == 12'hc08; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_6_2 = io_csr_addr_bits == 12'hc09; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_7_2 = io_csr_addr_bits == 12'hc0a; // @[CsrFiles.scala 326:59]
  wire  _cmm_state_0_is_csrr_illegal_res_T_304 = _cmm_state_0_is_csrr_illegal_res_T_285 |
    cmm_state_0_is_csrr_illegal_addr_chk_53 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_54 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_55 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_56 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_57 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_58 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_59 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_60 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_61 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_62 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_63 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_0_2 | cmm_state_0_is_csrr_illegal_addr_chk_1_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_2_2 | cmm_state_0_is_csrr_illegal_addr_chk_3_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_4_2 | cmm_state_0_is_csrr_illegal_addr_chk_5_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_6_2 | cmm_state_0_is_csrr_illegal_addr_chk_7_2; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_8_1 = io_csr_addr_bits == 12'hc0b; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_9_1 = io_csr_addr_bits == 12'hc0c; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_10_1 = io_csr_addr_bits == 12'hc0d; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_11_1 = io_csr_addr_bits == 12'hc0e; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_12_1 = io_csr_addr_bits == 12'hc0f; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_13_1 = io_csr_addr_bits == 12'hc10; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_14_1 = io_csr_addr_bits == 12'hc11; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_15_1 = io_csr_addr_bits == 12'hc12; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_16_1 = io_csr_addr_bits == 12'hc13; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_17_1 = io_csr_addr_bits == 12'hc14; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_18_1 = io_csr_addr_bits == 12'hc15; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_19_1 = io_csr_addr_bits == 12'hc16; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_20_1 = io_csr_addr_bits == 12'hc17; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_21_1 = io_csr_addr_bits == 12'hc18; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_22_1 = io_csr_addr_bits == 12'hc19; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_23_1 = io_csr_addr_bits == 12'hc1a; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_24_1 = io_csr_addr_bits == 12'hc1b; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_25_1 = io_csr_addr_bits == 12'hc1c; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_26_1 = io_csr_addr_bits == 12'hc1d; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_27_1 = io_csr_addr_bits == 12'hc1e; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_28_1 = io_csr_addr_bits == 12'hc1f; // @[CsrFiles.scala 326:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_0_3 = io_csr_addr_bits == 12'hb03; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_0_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[3]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_1_3 = io_csr_addr_bits == 12'hb04; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_1_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[4]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_2_3 = io_csr_addr_bits == 12'hb05; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_2_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[5]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_3_3 = io_csr_addr_bits == 12'hb06; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_3_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[6]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_4_3 = io_csr_addr_bits == 12'hb07; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_4_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[7]
    ; // @[CsrFiles.scala 333:75]
  wire  _cmm_state_0_is_csrr_illegal_res_T_105 = cmm_state_0_is_csrr_illegal_addr_chk_4_3 &
    cmm_state_0_is_csrr_illegal_reg_sel_4_2; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_res_T_330 = _cmm_state_0_is_csrr_illegal_res_T_304 |
    cmm_state_0_is_csrr_illegal_addr_chk_8_1 | cmm_state_0_is_csrr_illegal_addr_chk_9_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_10_1 | cmm_state_0_is_csrr_illegal_addr_chk_11_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_12_1 | cmm_state_0_is_csrr_illegal_addr_chk_13_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_14_1 | cmm_state_0_is_csrr_illegal_addr_chk_15_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_16_1 | cmm_state_0_is_csrr_illegal_addr_chk_17_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_18_1 | cmm_state_0_is_csrr_illegal_addr_chk_19_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_20_1 | cmm_state_0_is_csrr_illegal_addr_chk_21_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_22_1 | cmm_state_0_is_csrr_illegal_addr_chk_23_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_24_1 | cmm_state_0_is_csrr_illegal_addr_chk_25_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_26_1 | cmm_state_0_is_csrr_illegal_addr_chk_27_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_28_1 | cmm_state_0_is_csrr_illegal_addr_chk_0_3 &
    cmm_state_0_is_csrr_illegal_reg_sel_0_2 | cmm_state_0_is_csrr_illegal_addr_chk_1_3 &
    cmm_state_0_is_csrr_illegal_reg_sel_1_2 | cmm_state_0_is_csrr_illegal_addr_chk_2_3 &
    cmm_state_0_is_csrr_illegal_reg_sel_2_2 | cmm_state_0_is_csrr_illegal_addr_chk_3_3 &
    cmm_state_0_is_csrr_illegal_reg_sel_3_2 | _cmm_state_0_is_csrr_illegal_res_T_105; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_5_3 = io_csr_addr_bits == 12'hb08; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_5_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[8]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_6_3 = io_csr_addr_bits == 12'hb09; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_6_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[9]
    ; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_7_3 = io_csr_addr_bits == 12'hb0a; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_7_2 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[10
    ]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_8_2 = io_csr_addr_bits == 12'hb0b; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_8_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[11
    ]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_9_2 = io_csr_addr_bits == 12'hb0c; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_9_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[12
    ]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_10_2 = io_csr_addr_bits == 12'hb0d; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_10_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    13]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_11_2 = io_csr_addr_bits == 12'hb0e; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_11_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    14]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_12_2 = io_csr_addr_bits == 12'hb0f; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_12_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    15]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_13_2 = io_csr_addr_bits == 12'hb10; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_13_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    16]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_14_2 = io_csr_addr_bits == 12'hb11; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_14_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    17]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_15_2 = io_csr_addr_bits == 12'hb12; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_15_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    18]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_16_2 = io_csr_addr_bits == 12'hb13; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_16_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    19]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_17_2 = io_csr_addr_bits == 12'hb14; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_17_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    20]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_18_2 = io_csr_addr_bits == 12'hb15; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_18_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    21]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_19_2 = io_csr_addr_bits == 12'hb16; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_19_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    22]; // @[CsrFiles.scala 333:75]
  wire  _cmm_state_0_is_csrr_illegal_res_T_345 = _cmm_state_0_is_csrr_illegal_res_T_330 |
    cmm_state_0_is_csrr_illegal_addr_chk_5_3 & cmm_state_0_is_csrr_illegal_reg_sel_5_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_6_3 & cmm_state_0_is_csrr_illegal_reg_sel_6_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_7_3 & cmm_state_0_is_csrr_illegal_reg_sel_7_2 |
    cmm_state_0_is_csrr_illegal_addr_chk_8_2 & cmm_state_0_is_csrr_illegal_reg_sel_8_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_9_2 & cmm_state_0_is_csrr_illegal_reg_sel_9_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_10_2 & cmm_state_0_is_csrr_illegal_reg_sel_10_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_11_2 & cmm_state_0_is_csrr_illegal_reg_sel_11_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_12_2 & cmm_state_0_is_csrr_illegal_reg_sel_12_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_13_2 & cmm_state_0_is_csrr_illegal_reg_sel_13_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_14_2 & cmm_state_0_is_csrr_illegal_reg_sel_14_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_15_2 & cmm_state_0_is_csrr_illegal_reg_sel_15_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_16_2 & cmm_state_0_is_csrr_illegal_reg_sel_16_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_17_2 & cmm_state_0_is_csrr_illegal_reg_sel_17_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_18_2 & cmm_state_0_is_csrr_illegal_reg_sel_18_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_19_2 & cmm_state_0_is_csrr_illegal_reg_sel_19_1; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_20_2 = io_csr_addr_bits == 12'hb17; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_20_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    23]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_21_2 = io_csr_addr_bits == 12'hb18; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_21_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    24]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_22_2 = io_csr_addr_bits == 12'hb19; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_22_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    25]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_23_2 = io_csr_addr_bits == 12'hb1a; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_23_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    26]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_24_2 = io_csr_addr_bits == 12'hb1b; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_24_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    27]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_25_2 = io_csr_addr_bits == 12'hb1c; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_25_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    28]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_26_2 = io_csr_addr_bits == 12'hb1d; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_26_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    29]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_27_2 = io_csr_addr_bits == 12'hb1e; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_27_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    30]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_28_2 = io_csr_addr_bits == 12'hb1f; // @[CsrFiles.scala 332:59]
  wire  cmm_state_0_is_csrr_illegal_reg_sel_28_1 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[
    31]; // @[CsrFiles.scala 333:75]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_0_4 = io_csr_addr_bits == 12'h323; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_1_4 = io_csr_addr_bits == 12'h324; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_2_4 = io_csr_addr_bits == 12'h325; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_3_4 = io_csr_addr_bits == 12'h326; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_4_4 = io_csr_addr_bits == 12'h327; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_5_4 = io_csr_addr_bits == 12'h328; // @[CsrFiles.scala 338:59]
  wire  _cmm_state_0_is_csrr_illegal_res_T_360 = _cmm_state_0_is_csrr_illegal_res_T_345 |
    cmm_state_0_is_csrr_illegal_addr_chk_20_2 & cmm_state_0_is_csrr_illegal_reg_sel_20_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_21_2 & cmm_state_0_is_csrr_illegal_reg_sel_21_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_22_2 & cmm_state_0_is_csrr_illegal_reg_sel_22_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_23_2 & cmm_state_0_is_csrr_illegal_reg_sel_23_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_24_2 & cmm_state_0_is_csrr_illegal_reg_sel_24_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_25_2 & cmm_state_0_is_csrr_illegal_reg_sel_25_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_26_2 & cmm_state_0_is_csrr_illegal_reg_sel_26_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_27_2 & cmm_state_0_is_csrr_illegal_reg_sel_27_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_28_2 & cmm_state_0_is_csrr_illegal_reg_sel_28_1 |
    cmm_state_0_is_csrr_illegal_addr_chk_0_4 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_1_4 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_2_4 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_3_4 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_4_4 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_5_4 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_6_4 = io_csr_addr_bits == 12'h329; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_7_4 = io_csr_addr_bits == 12'h32a; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_8_3 = io_csr_addr_bits == 12'h32b; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_9_3 = io_csr_addr_bits == 12'h32c; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_10_3 = io_csr_addr_bits == 12'h32d; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_11_3 = io_csr_addr_bits == 12'h32e; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_12_3 = io_csr_addr_bits == 12'h32f; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_13_3 = io_csr_addr_bits == 12'h330; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_14_3 = io_csr_addr_bits == 12'h331; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_15_3 = io_csr_addr_bits == 12'h332; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_16_3 = io_csr_addr_bits == 12'h333; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_17_3 = io_csr_addr_bits == 12'h334; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_18_3 = io_csr_addr_bits == 12'h335; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_19_3 = io_csr_addr_bits == 12'h336; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_20_3 = io_csr_addr_bits == 12'h337; // @[CsrFiles.scala 338:59]
  wire  _cmm_state_0_is_csrr_illegal_res_T_375 = _cmm_state_0_is_csrr_illegal_res_T_360 |
    cmm_state_0_is_csrr_illegal_addr_chk_6_4 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_7_4 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_8_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_9_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_10_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_11_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_12_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_13_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_14_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_15_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_16_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_17_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_18_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_19_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_20_3 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_21_3 = io_csr_addr_bits == 12'h338; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_22_3 = io_csr_addr_bits == 12'h339; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_23_3 = io_csr_addr_bits == 12'h33a; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_24_3 = io_csr_addr_bits == 12'h33b; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_25_3 = io_csr_addr_bits == 12'h33c; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_26_3 = io_csr_addr_bits == 12'h33d; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_27_3 = io_csr_addr_bits == 12'h33e; // @[CsrFiles.scala 338:59]
  wire  cmm_state_0_is_csrr_illegal_addr_chk_28_3 = io_csr_addr_bits == 12'h33f; // @[CsrFiles.scala 338:59]
  wire  _cmm_state_0_is_csrr_illegal_T = io_csr_addr_bits == 12'h1; // @[CsrFiles.scala 352:18]
  wire  _cmm_state_0_is_csrr_illegal_T_2 = io_csr_addr_bits == 12'h2; // @[CsrFiles.scala 353:18]
  wire  _cmm_state_0_is_csrr_illegal_T_4 = io_csr_addr_bits == 12'h3; // @[CsrFiles.scala 354:18]
  wire  _cmm_state_0_is_csrr_illegal_T_6 = io_csr_addr_bits == 12'hc00; // @[CsrFiles.scala 355:18]
  wire  _cmm_state_0_is_csrr_illegal_T_8 = io_csr_addr_bits == 12'hc01; // @[CsrFiles.scala 356:18]
  wire  _cmm_state_0_is_csrr_illegal_T_10 = io_csr_addr_bits == 12'hc02; // @[CsrFiles.scala 357:18]
  wire  _cmm_state_0_is_csrr_illegal_T_12 = io_csr_addr_bits == 12'h100; // @[CsrFiles.scala 358:18]
  wire  _cmm_state_0_is_csrr_illegal_T_14 = io_csr_addr_bits == 12'h104; // @[CsrFiles.scala 361:18]
  wire  _cmm_state_0_is_csrr_illegal_T_15 = csrfiles_priv_lvl >= 2'h1; // @[CsrFiles.scala 361:46]
  wire  _cmm_state_0_is_csrr_illegal_T_16 = io_csr_addr_bits == 12'h105; // @[CsrFiles.scala 362:18]
  wire  _cmm_state_0_is_csrr_illegal_T_18 = io_csr_addr_bits == 12'h106; // @[CsrFiles.scala 363:18]
  wire  _cmm_state_0_is_csrr_illegal_T_20 = io_csr_addr_bits == 12'h140; // @[CsrFiles.scala 364:18]
  wire  _cmm_state_0_is_csrr_illegal_res_T_169 = _cmm_state_0_is_csrr_illegal_T_20 & _cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_res_T_394 = _cmm_state_0_is_csrr_illegal_res_T_375 |
    cmm_state_0_is_csrr_illegal_addr_chk_21_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_22_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_23_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_24_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_25_3 &
    _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_26_3 & _is_xRet_is_mRet_T |
    cmm_state_0_is_csrr_illegal_addr_chk_27_3 & _is_xRet_is_mRet_T | cmm_state_0_is_csrr_illegal_addr_chk_28_3 &
    _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T | _cmm_state_0_is_csrr_illegal_T_2 |
    _cmm_state_0_is_csrr_illegal_T_4 | _cmm_state_0_is_csrr_illegal_T_6 | _cmm_state_0_is_csrr_illegal_T_8 |
    _cmm_state_0_is_csrr_illegal_T_10 | _cmm_state_0_is_csrr_illegal_T_12 | _cmm_state_0_is_csrr_illegal_T_14 &
    _cmm_state_0_is_csrr_illegal_T_15 | _cmm_state_0_is_csrr_illegal_T_16 & _cmm_state_0_is_csrr_illegal_T_15 |
    _cmm_state_0_is_csrr_illegal_T_18 & _cmm_state_0_is_csrr_illegal_T_15 | _cmm_state_0_is_csrr_illegal_res_T_169; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_T_22 = io_csr_addr_bits == 12'h141; // @[CsrFiles.scala 365:18]
  wire  _cmm_state_0_is_csrr_illegal_T_24 = io_csr_addr_bits == 12'h142; // @[CsrFiles.scala 366:18]
  wire  _cmm_state_0_is_csrr_illegal_T_26 = io_csr_addr_bits == 12'h143; // @[CsrFiles.scala 367:18]
  wire  _cmm_state_0_is_csrr_illegal_T_28 = io_csr_addr_bits == 12'h144; // @[CsrFiles.scala 368:18]
  wire  _cmm_state_0_is_csrr_illegal_T_30 = io_csr_addr_bits == 12'h180; // @[CsrFiles.scala 369:18]
  wire  _cmm_state_0_is_csrr_illegal_T_33 = ~csrfiles_mstatus_tvm; // @[CsrFiles.scala 369:98]
  wire  _cmm_state_0_is_csrr_illegal_T_35 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & ~csrfiles_mstatus_tvm; // @[CsrFiles.scala 369:60]
  wire  _cmm_state_0_is_csrr_illegal_T_58 = io_csr_addr_bits == 12'hf11; // @[CsrFiles.scala 392:18]
  wire  _cmm_state_0_is_csrr_illegal_T_60 = io_csr_addr_bits == 12'hf12; // @[CsrFiles.scala 393:18]
  wire  _cmm_state_0_is_csrr_illegal_T_62 = io_csr_addr_bits == 12'hf13; // @[CsrFiles.scala 394:18]
  wire  _cmm_state_0_is_csrr_illegal_T_64 = io_csr_addr_bits == 12'hf14; // @[CsrFiles.scala 395:18]
  wire  _cmm_state_0_is_csrr_illegal_T_66 = io_csr_addr_bits == 12'h300; // @[CsrFiles.scala 396:18]
  wire  _cmm_state_0_is_csrr_illegal_T_68 = io_csr_addr_bits == 12'h301; // @[CsrFiles.scala 397:18]
  wire  _cmm_state_0_is_csrr_illegal_T_70 = io_csr_addr_bits == 12'h302; // @[CsrFiles.scala 398:18]
  wire  _cmm_state_0_is_csrr_illegal_T_72 = io_csr_addr_bits == 12'h303; // @[CsrFiles.scala 399:18]
  wire  _cmm_state_0_is_csrr_illegal_T_74 = io_csr_addr_bits == 12'h304; // @[CsrFiles.scala 400:18]
  wire  _cmm_state_0_is_csrr_illegal_T_76 = io_csr_addr_bits == 12'h305; // @[CsrFiles.scala 401:18]
  wire  _cmm_state_0_is_csrr_illegal_res_T_431 = _cmm_state_0_is_csrr_illegal_res_T_394 |
    _cmm_state_0_is_csrr_illegal_T_22 & _cmm_state_0_is_csrr_illegal_T_15 | _cmm_state_0_is_csrr_illegal_T_24 &
    _cmm_state_0_is_csrr_illegal_T_15 | _cmm_state_0_is_csrr_illegal_T_26 & _cmm_state_0_is_csrr_illegal_T_15 |
    _cmm_state_0_is_csrr_illegal_T_28 & _cmm_state_0_is_csrr_illegal_T_15 | _cmm_state_0_is_csrr_illegal_T_30 &
    _cmm_state_0_is_csrr_illegal_T_35 | _cmm_state_0_is_csrr_illegal_T_58 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_60 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_62 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_64 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_66 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_68 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_70 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_72 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_74 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_76 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_T_78 = io_csr_addr_bits == 12'h306; // @[CsrFiles.scala 402:18]
  wire  _cmm_state_0_is_csrr_illegal_T_80 = io_csr_addr_bits == 12'h340; // @[CsrFiles.scala 403:18]
  wire  _cmm_state_0_is_csrr_illegal_T_82 = io_csr_addr_bits == 12'h341; // @[CsrFiles.scala 404:18]
  wire  _cmm_state_0_is_csrr_illegal_T_84 = io_csr_addr_bits == 12'h342; // @[CsrFiles.scala 405:18]
  wire  _cmm_state_0_is_csrr_illegal_T_86 = io_csr_addr_bits == 12'h343; // @[CsrFiles.scala 406:18]
  wire  _cmm_state_0_is_csrr_illegal_T_88 = io_csr_addr_bits == 12'h344; // @[CsrFiles.scala 407:18]
  wire  _cmm_state_0_is_csrr_illegal_T_90 = io_csr_addr_bits == 12'h34a; // @[CsrFiles.scala 408:18]
  wire  _cmm_state_0_is_csrr_illegal_T_92 = io_csr_addr_bits == 12'h34b; // @[CsrFiles.scala 409:18]
  wire  _cmm_state_0_is_csrr_illegal_T_94 = io_csr_addr_bits == 12'hb00; // @[CsrFiles.scala 411:18]
  wire  _cmm_state_0_is_csrr_illegal_T_99 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[0]; // @[CsrFiles.scala 411:58]
  wire  _cmm_state_0_is_csrr_illegal_T_100 = io_csr_addr_bits == 12'hb02; // @[CsrFiles.scala 412:18]
  wire  _cmm_state_0_is_csrr_illegal_T_105 = _is_xRet_is_mRet_T | _is_xRet_is_sRet_T_1 & csrfiles_mcounteren_hpm[2]; // @[CsrFiles.scala 412:58]
  wire  _cmm_state_0_is_csrr_illegal_T_106 = io_csr_addr_bits == 12'h320; // @[CsrFiles.scala 413:18]
  wire  _cmm_state_0_is_csrr_illegal_T_108 = io_csr_addr_bits == 12'h7a0; // @[CsrFiles.scala 414:18]
  wire  _cmm_state_0_is_csrr_illegal_T_110 = io_csr_addr_bits == 12'h7a1; // @[CsrFiles.scala 415:18]
  wire  _cmm_state_0_is_csrr_illegal_T_112 = io_csr_addr_bits == 12'h7a2; // @[CsrFiles.scala 416:18]
  wire  _cmm_state_0_is_csrr_illegal_T_114 = io_csr_addr_bits == 12'h7a3; // @[CsrFiles.scala 417:18]
  wire  _cmm_state_0_is_csrr_illegal_res_T_446 = _cmm_state_0_is_csrr_illegal_res_T_431 |
    _cmm_state_0_is_csrr_illegal_T_78 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_80 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_82 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_84 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_86 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_88 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_90 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_92 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_94 & _cmm_state_0_is_csrr_illegal_T_99 | _cmm_state_0_is_csrr_illegal_T_100 &
    _cmm_state_0_is_csrr_illegal_T_105 | _cmm_state_0_is_csrr_illegal_T_106 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_108 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_110 & _is_xRet_is_mRet_T |
    _cmm_state_0_is_csrr_illegal_T_112 & _is_xRet_is_mRet_T | _cmm_state_0_is_csrr_illegal_T_114 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_T_116 = io_csr_addr_bits == 12'h7b0; // @[CsrFiles.scala 418:18]
  wire  _cmm_state_0_is_csrr_illegal_T_117 = io_csr_addr_bits == 12'h7b1; // @[CsrFiles.scala 419:18]
  wire  _cmm_state_0_is_csrr_illegal_T_118 = io_csr_addr_bits == 12'h7b2; // @[CsrFiles.scala 420:18]
  wire  _cmm_state_0_is_csrr_illegal_T_119 = io_csr_addr_bits == 12'h7b3; // @[CsrFiles.scala 421:18]
  wire  cmm_state_0_is_csrr_illegal_res = _cmm_state_0_is_csrr_illegal_res_T_446 | _cmm_state_0_is_csrr_illegal_T_116 &
    csrfiles_DMode | _cmm_state_0_is_csrr_illegal_T_117 & csrfiles_DMode | _cmm_state_0_is_csrr_illegal_T_118 &
    csrfiles_DMode | _cmm_state_0_is_csrr_illegal_T_119 & csrfiles_DMode; // @[Mux.scala 27:73]
  wire  _cmm_state_0_is_csrr_illegal_T_120 = ~cmm_state_0_is_csrr_illegal_res; // @[CsrFiles.scala 425:5]
  wire  cmm_state_0_is_csrr_illegal = _cmm_state_0_is_csrr_illegal_T_120 & io_csr_addr_valid; // @[Commit.scala 647:101]
  wire  _is_trap_is_exception_is_csr_illegal_T_1 = ~io_cm_op_0_is_writeback; // @[Commit.scala 148:40]
  wire  cmm_state_0_csrExe_op_rc = csrExe_mdl_io_deq_0_bits_op_rc; // @[Commit.scala 330:23 642:26]
  wire  cmm_state_0_csrExe_op_rs = csrExe_mdl_io_deq_0_bits_op_rs; // @[Commit.scala 330:23 642:26]
  wire  cmm_state_0_csrExe_op_rw = csrExe_mdl_io_deq_0_bits_op_rw; // @[Commit.scala 330:23 642:26]
  wire [11:0] cmm_state_0_csrExe_addr = csrExe_mdl_io_deq_0_bits_addr; // @[Commit.scala 330:23 642:26]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 = cmm_state_0_csrExe_addr == 12'h3a0; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1 = cmm_state_0_csrExe_addr == 12'h3a2; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2 = cmm_state_0_csrExe_addr == 12'h3a4; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3 = cmm_state_0_csrExe_addr == 12'h3a6; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4 = cmm_state_0_csrExe_addr == 12'h3a8; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5 = cmm_state_0_csrExe_addr == 12'h3aa; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6 = cmm_state_0_csrExe_addr == 12'h3ac; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7 = cmm_state_0_csrExe_addr == 12'h3ae; // @[CsrFiles.scala 431:58]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1 = cmm_state_0_csrExe_addr == 12'h3b0; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1 = cmm_state_0_csrExe_addr == 12'h3b1; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1 = cmm_state_0_csrExe_addr == 12'h3b2; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1 = cmm_state_0_csrExe_addr == 12'h3b3; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1 = cmm_state_0_csrExe_addr == 12'h3b4; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1 = cmm_state_0_csrExe_addr == 12'h3b5; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1 = cmm_state_0_csrExe_addr == 12'h3b6; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1 = cmm_state_0_csrExe_addr == 12'h3b7; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8 = cmm_state_0_csrExe_addr == 12'h3b8; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9 = cmm_state_0_csrExe_addr == 12'h3b9; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10 = cmm_state_0_csrExe_addr == 12'h3ba; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11 = cmm_state_0_csrExe_addr == 12'h3bb; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12 = cmm_state_0_csrExe_addr == 12'h3bc; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13 = cmm_state_0_csrExe_addr == 12'h3bd; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14 = cmm_state_0_csrExe_addr == 12'h3be; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15 = cmm_state_0_csrExe_addr == 12'h3bf; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16 = cmm_state_0_csrExe_addr == 12'h3c0; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17 = cmm_state_0_csrExe_addr == 12'h3c1; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18 = cmm_state_0_csrExe_addr == 12'h3c2; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19 = cmm_state_0_csrExe_addr == 12'h3c3; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20 = cmm_state_0_csrExe_addr == 12'h3c4; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21 = cmm_state_0_csrExe_addr == 12'h3c5; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22 = cmm_state_0_csrExe_addr == 12'h3c6; // @[CsrFiles.scala 437:60]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_255 =
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23 = cmm_state_0_csrExe_addr == 12'h3c7; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24 = cmm_state_0_csrExe_addr == 12'h3c8; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25 = cmm_state_0_csrExe_addr == 12'h3c9; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26 = cmm_state_0_csrExe_addr == 12'h3ca; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27 = cmm_state_0_csrExe_addr == 12'h3cb; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28 = cmm_state_0_csrExe_addr == 12'h3cc; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29 = cmm_state_0_csrExe_addr == 12'h3cd; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30 = cmm_state_0_csrExe_addr == 12'h3ce; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31 = cmm_state_0_csrExe_addr == 12'h3cf; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32 = cmm_state_0_csrExe_addr == 12'h3d0; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33 = cmm_state_0_csrExe_addr == 12'h3d1; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34 = cmm_state_0_csrExe_addr == 12'h3d2; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35 = cmm_state_0_csrExe_addr == 12'h3d3; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36 = cmm_state_0_csrExe_addr == 12'h3d4; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37 = cmm_state_0_csrExe_addr == 12'h3d5; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38 = cmm_state_0_csrExe_addr == 12'h3d6; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39 = cmm_state_0_csrExe_addr == 12'h3d7; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40 = cmm_state_0_csrExe_addr == 12'h3d8; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41 = cmm_state_0_csrExe_addr == 12'h3d9; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42 = cmm_state_0_csrExe_addr == 12'h3da; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43 = cmm_state_0_csrExe_addr == 12'h3db; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44 = cmm_state_0_csrExe_addr == 12'h3dc; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45 = cmm_state_0_csrExe_addr == 12'h3dd; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46 = cmm_state_0_csrExe_addr == 12'h3de; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47 = cmm_state_0_csrExe_addr == 12'h3df; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48 = cmm_state_0_csrExe_addr == 12'h3e0; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49 = cmm_state_0_csrExe_addr == 12'h3e1; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50 = cmm_state_0_csrExe_addr == 12'h3e2; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51 = cmm_state_0_csrExe_addr == 12'h3e3; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52 = cmm_state_0_csrExe_addr == 12'h3e4; // @[CsrFiles.scala 437:60]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_285 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_255 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53 = cmm_state_0_csrExe_addr == 12'h3e5; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54 = cmm_state_0_csrExe_addr == 12'h3e6; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55 = cmm_state_0_csrExe_addr == 12'h3e7; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56 = cmm_state_0_csrExe_addr == 12'h3e8; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57 = cmm_state_0_csrExe_addr == 12'h3e9; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58 = cmm_state_0_csrExe_addr == 12'h3ea; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59 = cmm_state_0_csrExe_addr == 12'h3eb; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60 = cmm_state_0_csrExe_addr == 12'h3ec; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61 = cmm_state_0_csrExe_addr == 12'h3ed; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62 = cmm_state_0_csrExe_addr == 12'h3ee; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63 = cmm_state_0_csrExe_addr == 12'h3ef; // @[CsrFiles.scala 437:60]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2 = cmm_state_0_csrExe_addr == 12'hc03; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2 = cmm_state_0_csrExe_addr == 12'hc04; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2 = cmm_state_0_csrExe_addr == 12'hc05; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2 = cmm_state_0_csrExe_addr == 12'hc06; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2 = cmm_state_0_csrExe_addr == 12'hc07; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2 = cmm_state_0_csrExe_addr == 12'hc08; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2 = cmm_state_0_csrExe_addr == 12'hc09; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2 = cmm_state_0_csrExe_addr == 12'hc0a; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1 = cmm_state_0_csrExe_addr == 12'hc0b; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1 = cmm_state_0_csrExe_addr == 12'hc0c; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1 = cmm_state_0_csrExe_addr == 12'hc0d; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1 = cmm_state_0_csrExe_addr == 12'hc0e; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1 = cmm_state_0_csrExe_addr == 12'hc0f; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1 = cmm_state_0_csrExe_addr == 12'hc10; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1 = cmm_state_0_csrExe_addr == 12'hc11; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1 = cmm_state_0_csrExe_addr == 12'hc12; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1 = cmm_state_0_csrExe_addr == 12'hc13; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1 = cmm_state_0_csrExe_addr == 12'hc14; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1 = cmm_state_0_csrExe_addr == 12'hc15; // @[CsrFiles.scala 443:59]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_315 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_285 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1 = cmm_state_0_csrExe_addr == 12'hc16; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1 = cmm_state_0_csrExe_addr == 12'hc17; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1 = cmm_state_0_csrExe_addr == 12'hc18; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1 = cmm_state_0_csrExe_addr == 12'hc19; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1 = cmm_state_0_csrExe_addr == 12'hc1a; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1 = cmm_state_0_csrExe_addr == 12'hc1b; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1 = cmm_state_0_csrExe_addr == 12'hc1c; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1 = cmm_state_0_csrExe_addr == 12'hc1d; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1 = cmm_state_0_csrExe_addr == 12'hc1e; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1 = cmm_state_0_csrExe_addr == 12'hc1f; // @[CsrFiles.scala 443:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3 = cmm_state_0_csrExe_addr == 12'hb03; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3 = cmm_state_0_csrExe_addr == 12'hb04; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3 = cmm_state_0_csrExe_addr == 12'hb05; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3 = cmm_state_0_csrExe_addr == 12'hb06; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3 = cmm_state_0_csrExe_addr == 12'hb07; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3 = cmm_state_0_csrExe_addr == 12'hb08; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3 = cmm_state_0_csrExe_addr == 12'hb09; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3 = cmm_state_0_csrExe_addr == 12'hb0a; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2 = cmm_state_0_csrExe_addr == 12'hb0b; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2 = cmm_state_0_csrExe_addr == 12'hb0c; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2 = cmm_state_0_csrExe_addr == 12'hb0d; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2 = cmm_state_0_csrExe_addr == 12'hb0e; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2 = cmm_state_0_csrExe_addr == 12'hb0f; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2 = cmm_state_0_csrExe_addr == 12'hb10; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2 = cmm_state_0_csrExe_addr == 12'hb11; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2 = cmm_state_0_csrExe_addr == 12'hb12; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2 = cmm_state_0_csrExe_addr == 12'hb13; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2 = cmm_state_0_csrExe_addr == 12'hb14; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2 = cmm_state_0_csrExe_addr == 12'hb15; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2 = cmm_state_0_csrExe_addr == 12'hb16; // @[CsrFiles.scala 449:59]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_345 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_315 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2 = cmm_state_0_csrExe_addr == 12'hb17; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2 = cmm_state_0_csrExe_addr == 12'hb18; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2 = cmm_state_0_csrExe_addr == 12'hb19; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2 = cmm_state_0_csrExe_addr == 12'hb1a; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2 = cmm_state_0_csrExe_addr == 12'hb1b; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2 = cmm_state_0_csrExe_addr == 12'hb1c; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2 = cmm_state_0_csrExe_addr == 12'hb1d; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2 = cmm_state_0_csrExe_addr == 12'hb1e; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2 = cmm_state_0_csrExe_addr == 12'hb1f; // @[CsrFiles.scala 449:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4 = cmm_state_0_csrExe_addr == 12'h323; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4 = cmm_state_0_csrExe_addr == 12'h324; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4 = cmm_state_0_csrExe_addr == 12'h325; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4 = cmm_state_0_csrExe_addr == 12'h326; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4 = cmm_state_0_csrExe_addr == 12'h327; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4 = cmm_state_0_csrExe_addr == 12'h328; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4 = cmm_state_0_csrExe_addr == 12'h329; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4 = cmm_state_0_csrExe_addr == 12'h32a; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3 = cmm_state_0_csrExe_addr == 12'h32b; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3 = cmm_state_0_csrExe_addr == 12'h32c; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3 = cmm_state_0_csrExe_addr == 12'h32d; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3 = cmm_state_0_csrExe_addr == 12'h32e; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3 = cmm_state_0_csrExe_addr == 12'h32f; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3 = cmm_state_0_csrExe_addr == 12'h330; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3 = cmm_state_0_csrExe_addr == 12'h331; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3 = cmm_state_0_csrExe_addr == 12'h332; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3 = cmm_state_0_csrExe_addr == 12'h333; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3 = cmm_state_0_csrExe_addr == 12'h334; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3 = cmm_state_0_csrExe_addr == 12'h335; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3 = cmm_state_0_csrExe_addr == 12'h336; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3 = cmm_state_0_csrExe_addr == 12'h337; // @[CsrFiles.scala 455:59]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_375 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_345 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3 = cmm_state_0_csrExe_addr == 12'h338; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3 = cmm_state_0_csrExe_addr == 12'h339; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3 = cmm_state_0_csrExe_addr == 12'h33a; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3 = cmm_state_0_csrExe_addr == 12'h33b; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3 = cmm_state_0_csrExe_addr == 12'h33c; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3 = cmm_state_0_csrExe_addr == 12'h33d; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3 = cmm_state_0_csrExe_addr == 12'h33e; // @[CsrFiles.scala 455:59]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3 = cmm_state_0_csrExe_addr == 12'h33f; // @[CsrFiles.scala 455:59]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2 = cmm_state_0_csrExe_addr == 12'h1; // @[CsrFiles.scala 469:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3 = cmm_state_0_csrExe_addr == 12'h2; // @[CsrFiles.scala 470:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4 = cmm_state_0_csrExe_addr == 12'h3; // @[CsrFiles.scala 471:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_5 = cmm_state_0_csrExe_addr == 12'hc00; // @[CsrFiles.scala 472:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_6 = cmm_state_0_csrExe_addr == 12'hc01; // @[CsrFiles.scala 473:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_7 = cmm_state_0_csrExe_addr == 12'hc02; // @[CsrFiles.scala 474:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 = cmm_state_0_csrExe_addr == 12'h100; // @[CsrFiles.scala 475:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9 = cmm_state_0_csrExe_addr == 12'h104; // @[CsrFiles.scala 478:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 = cmm_state_0_csrExe_addr == 12'h105; // @[CsrFiles.scala 479:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11 = cmm_state_0_csrExe_addr == 12'h106; // @[CsrFiles.scala 480:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 = cmm_state_0_csrExe_addr == 12'h140; // @[CsrFiles.scala 481:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13 = cmm_state_0_csrExe_addr == 12'h141; // @[CsrFiles.scala 482:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 = cmm_state_0_csrExe_addr == 12'h142; // @[CsrFiles.scala 483:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 = cmm_state_0_csrExe_addr == 12'h143; // @[CsrFiles.scala 484:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16 = cmm_state_0_csrExe_addr == 12'h144; // @[CsrFiles.scala 485:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17 = cmm_state_0_csrExe_addr == 12'h180; // @[CsrFiles.scala 486:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40 = cmm_state_0_csrExe_addr == 12'hf11; // @[CsrFiles.scala 509:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41 = cmm_state_0_csrExe_addr == 12'hf12; // @[CsrFiles.scala 510:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42 = cmm_state_0_csrExe_addr == 12'hf13; // @[CsrFiles.scala 511:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43 = cmm_state_0_csrExe_addr == 12'hf14; // @[CsrFiles.scala 512:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 = cmm_state_0_csrExe_addr == 12'h300; // @[CsrFiles.scala 513:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45 = cmm_state_0_csrExe_addr == 12'h301; // @[CsrFiles.scala 514:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 = cmm_state_0_csrExe_addr == 12'h302; // @[CsrFiles.scala 515:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 = cmm_state_0_csrExe_addr == 12'h303; // @[CsrFiles.scala 516:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48 = cmm_state_0_csrExe_addr == 12'h304; // @[CsrFiles.scala 517:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_430 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_375 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3
     | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9
     | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 = cmm_state_0_csrExe_addr == 12'h305; // @[CsrFiles.scala 518:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 = cmm_state_0_csrExe_addr == 12'h306; // @[CsrFiles.scala 519:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 = cmm_state_0_csrExe_addr == 12'h340; // @[CsrFiles.scala 520:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52 = cmm_state_0_csrExe_addr == 12'h341; // @[CsrFiles.scala 521:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 = cmm_state_0_csrExe_addr == 12'h342; // @[CsrFiles.scala 522:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 = cmm_state_0_csrExe_addr == 12'h343; // @[CsrFiles.scala 523:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55 = cmm_state_0_csrExe_addr == 12'h344; // @[CsrFiles.scala 524:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 = cmm_state_0_csrExe_addr == 12'h34a; // @[CsrFiles.scala 525:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 = cmm_state_0_csrExe_addr == 12'h34b; // @[CsrFiles.scala 526:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 = cmm_state_0_csrExe_addr == 12'hb00; // @[CsrFiles.scala 528:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 = cmm_state_0_csrExe_addr == 12'hb02; // @[CsrFiles.scala 529:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60 = cmm_state_0_csrExe_addr == 12'h320; // @[CsrFiles.scala 530:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 = cmm_state_0_csrExe_addr == 12'h7a0; // @[CsrFiles.scala 531:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 = cmm_state_0_csrExe_addr == 12'h7a1; // @[CsrFiles.scala 532:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 = cmm_state_0_csrExe_addr == 12'h7a2; // @[CsrFiles.scala 533:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 = cmm_state_0_csrExe_addr == 12'h7a3; // @[CsrFiles.scala 534:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 = cmm_state_0_csrExe_addr == 12'h7b0; // @[CsrFiles.scala 535:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66 = cmm_state_0_csrExe_addr == 12'h7b1; // @[CsrFiles.scala 536:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 = cmm_state_0_csrExe_addr == 12'h7b2; // @[CsrFiles.scala 537:18]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 = cmm_state_0_csrExe_addr == 12'h7b3; // @[CsrFiles.scala 538:18]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_430 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 & csrfiles_DMode; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_69 = ~
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res; // @[CsrFiles.scala 542:5]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_466 =
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_691 =
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_466; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_706 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_691 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_721 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_706 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_736 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_721 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_755 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_736 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_556 =
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3 & cmm_state_0_is_csrr_illegal_reg_sel_4_2; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_781 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_755 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3 & cmm_state_0_is_csrr_illegal_reg_sel_0_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3 & cmm_state_0_is_csrr_illegal_reg_sel_1_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3 & cmm_state_0_is_csrr_illegal_reg_sel_2_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3 & cmm_state_0_is_csrr_illegal_reg_sel_3_2 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_556; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_796 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_781 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3 & cmm_state_0_is_csrr_illegal_reg_sel_5_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3 & cmm_state_0_is_csrr_illegal_reg_sel_6_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3 & cmm_state_0_is_csrr_illegal_reg_sel_7_2 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2 & cmm_state_0_is_csrr_illegal_reg_sel_8_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2 & cmm_state_0_is_csrr_illegal_reg_sel_9_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2 & cmm_state_0_is_csrr_illegal_reg_sel_10_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2 & cmm_state_0_is_csrr_illegal_reg_sel_11_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2 & cmm_state_0_is_csrr_illegal_reg_sel_12_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2 & cmm_state_0_is_csrr_illegal_reg_sel_13_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2 & cmm_state_0_is_csrr_illegal_reg_sel_14_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2 & cmm_state_0_is_csrr_illegal_reg_sel_15_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2 & cmm_state_0_is_csrr_illegal_reg_sel_16_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2 & cmm_state_0_is_csrr_illegal_reg_sel_17_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2 & cmm_state_0_is_csrr_illegal_reg_sel_18_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2 & cmm_state_0_is_csrr_illegal_reg_sel_19_1; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_811 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_796 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2 & cmm_state_0_is_csrr_illegal_reg_sel_20_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2 & cmm_state_0_is_csrr_illegal_reg_sel_21_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2 & cmm_state_0_is_csrr_illegal_reg_sel_22_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2 & cmm_state_0_is_csrr_illegal_reg_sel_23_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2 & cmm_state_0_is_csrr_illegal_reg_sel_24_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2 & cmm_state_0_is_csrr_illegal_reg_sel_25_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2 & cmm_state_0_is_csrr_illegal_reg_sel_26_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2 & cmm_state_0_is_csrr_illegal_reg_sel_27_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2 & cmm_state_0_is_csrr_illegal_reg_sel_28_1 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_826 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_811 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_620 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 & _cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_845 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_826 |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3 & _is_xRet_is_mRet_T |
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3
     | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_5 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_6
     | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_7 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9
     & _cmm_state_0_is_csrr_illegal_T_15 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 &
    _cmm_state_0_is_csrr_illegal_T_15 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11 &
    _cmm_state_0_is_csrr_illegal_T_15 | _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_620; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_882 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_845 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13 & _cmm_state_0_is_csrr_illegal_T_15 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 & _cmm_state_0_is_csrr_illegal_T_15 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 & _cmm_state_0_is_csrr_illegal_T_15 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16 & _cmm_state_0_is_csrr_illegal_T_15 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17 & _cmm_state_0_is_csrr_illegal_T_35 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_897 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_882 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 & _cmm_state_0_is_csrr_illegal_T_99 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 & _cmm_state_0_is_csrr_illegal_T_105 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 & _is_xRet_is_mRet_T |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 & _is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_1 =
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_897 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 & csrfiles_DMode |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 & csrfiles_DMode; // @[Mux.scala 27:73]
  wire  _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_190 = ~
    is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_1; // @[CsrFiles.scala 425:5]
  wire  is_trap_is_exception_is_csr_illegal_is_csrw_illegal = (cmm_state_0_csrExe_op_rc | cmm_state_0_csrExe_op_rs |
    cmm_state_0_csrExe_op_rw) & (_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_69 |
    _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_190); // @[Commit.scala 135:74]
  wire  _is_trap_is_exception_is_csr_illegal_T_4 = is_trap_is_exception_is_csr_illegal_is_csrw_illegal &
    io_rod_0_bits_is_csr & io_cm_op_0_is_writeback; // @[Commit.scala 149:38]
  wire  _is_trap_is_exception_is_csr_illegal_T_5 = cmm_state_0_is_csrr_illegal & io_rod_0_bits_is_csr & ~
    io_cm_op_0_is_writeback | _is_trap_is_exception_is_csr_illegal_T_4; // @[Commit.scala 148:48]
  wire  cmm_state_0_fcsrExe_op_rc = fcsrExe_mdl_io_deq_0_bits_op_rc; // @[Commit.scala 330:23 643:26]
  wire  cmm_state_0_fcsrExe_op_rs = fcsrExe_mdl_io_deq_0_bits_op_rs; // @[Commit.scala 330:23 643:26]
  wire  cmm_state_0_fcsrExe_op_rw = fcsrExe_mdl_io_deq_0_bits_op_rw; // @[Commit.scala 330:23 643:26]
  wire  _is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_2 = csrfiles_mstatus_fs == 2'h0; // @[Commit.scala 140:101]
  wire  is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal = (cmm_state_0_fcsrExe_op_rc | cmm_state_0_fcsrExe_op_rs |
    cmm_state_0_fcsrExe_op_rw) & csrfiles_mstatus_fs == 2'h0; // @[Commit.scala 140:78]
  wire  _is_trap_is_exception_is_csr_illegal_T_7 = is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal &
    io_rod_0_bits_is_fcsr & io_cm_op_0_is_writeback; // @[Commit.scala 150:39]
  wire  is_trap_is_exception_is_csr_illegal = _is_trap_is_exception_is_csr_illegal_T_5 |
    _is_trap_is_exception_is_csr_illegal_T_7; // @[Commit.scala 149:48]
  wire  is_trap_is_exception_is_ill_sfence = io_cm_op_0_is_writeback & io_rod_0_bits_is_sfence_vma & (
    csrfiles_mstatus_tvm & _is_xRet_is_sRet_T_1 |
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3); // @[Commit.scala 152:51]
  wire  is_trap_is_exception_is_ill_wfi = io_cm_op_0_is_writeback & io_rod_0_bits_is_wfi & (csrfiles_mstatus_tw &
    csrfiles_priv_lvl < 2'h3); // @[Commit.scala 153:49]
  wire  is_trap_is_exception_is_ill_mRet = io_rod_0_bits_privil_mret & csrfiles_priv_lvl != 2'h3; // @[Commit.scala 155:39]
  wire  is_trap_is_exception_is_ill_sRet = io_rod_0_bits_privil_sret & (
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 |
    _is_xRet_is_sRet_T_1 & csrfiles_mstatus_tsr); // @[Commit.scala 156:39]
  wire  is_trap_is_exception_is_ill_dRet = io_rod_0_bits_privil_dret & _is_trap_is_interrupt_T_2; // @[Commit.scala 157:39]
  wire  is_trap_is_exception_is_ill_fpus = io_cm_op_0_is_writeback & io_rod_0_bits_is_fpu &
    _is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_2; // @[Commit.scala 158:45]
  wire  is_trap_is_exception_is_illeage = io_rod_0_bits_is_illeage | is_trap_is_exception_is_csr_illegal |
    is_trap_is_exception_is_ill_sfence | is_trap_is_exception_is_ill_wfi | is_trap_is_exception_is_ill_mRet |
    is_trap_is_exception_is_ill_sRet | is_trap_is_exception_is_ill_dRet | is_trap_is_exception_is_ill_fpus; // @[Commit.scala 160:125]
  wire  _is_trap_is_exception_T_4 = _is_trap_is_exception_T_2 | is_trap_is_exception_is_illeage; // @[Commit.scala 195:32]
  wire  is_trap_is_exception_is_load_accessFault = io_lsu_cmm_is_access_fault & io_rod_0_bits_is_lu &
    _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 66:67]
  wire  _is_trap_is_exception_T_5 = _is_trap_is_exception_T_4 | is_trap_is_exception_is_load_accessFault; // @[Commit.scala 196:32]
  wire  _is_trap_is_exception_is_store_accessFault_T = io_rod_0_bits_is_su | io_rod_0_bits_is_amo; // @[Commit.scala 71:70]
  wire  is_trap_is_exception_is_store_accessFault = io_lsu_cmm_is_access_fault & (io_rod_0_bits_is_su |
    io_rod_0_bits_is_amo) & _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 71:85]
  wire  _is_trap_is_exception_T_6 = _is_trap_is_exception_T_5 | is_trap_is_exception_is_store_accessFault; // @[Commit.scala 197:32]
  wire  is_trap_is_exception_is_load_misAlign = io_lsu_cmm_is_misAlign & io_rod_0_bits_is_lu &
    _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 86:60]
  wire  _is_trap_is_exception_T_7 = _is_trap_is_exception_T_6 | is_trap_is_exception_is_load_misAlign; // @[Commit.scala 198:32]
  wire  is_trap_is_exception_is_store_misAlign = io_lsu_cmm_is_misAlign & _is_trap_is_exception_is_store_accessFault_T
     & _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 95:76]
  wire  _is_trap_is_exception_T_8 = _is_trap_is_exception_T_7 | is_trap_is_exception_is_store_misAlign; // @[Commit.scala 199:32]
  wire  is_trap_is_exception_is_load_pagingFault = io_lsu_cmm_is_paging_fault & io_rod_0_bits_is_lu &
    _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 76:67]
  wire  _is_trap_is_exception_T_9 = _is_trap_is_exception_T_8 | is_trap_is_exception_is_load_pagingFault; // @[Commit.scala 200:32]
  wire  is_trap_is_exception_is_store_pagingFault = io_lsu_cmm_is_paging_fault &
    _is_trap_is_exception_is_store_accessFault_T & _is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 81:85]
  wire  is_trap_is_exception = _is_trap_is_exception_T_9 | is_trap_is_exception_is_store_pagingFault; // @[Commit.scala 201:32]
  wire  is_trap = is_trap_is_interrupt | is_trap_is_exception; // @[Commit.scala 212:32]
  wire  is_fence_i = io_rod_0_bits_is_fence_i & io_cm_op_0_is_writeback; // @[Commit.scala 180:37]
  wire  is_sfence_vma = io_rod_0_bits_is_sfence_vma & io_cm_op_0_is_writeback & (_cmm_state_0_is_csrr_illegal_T_33 &
    _is_xRet_is_sRet_T_1 | _is_xRet_is_mRet_T); // @[Commit.scala 185:51]
  wire  _T_9 = is_xRet | is_trap | is_fence_i | is_sfence_vma; // @[Commit.scala 426:81]
  wire  _T_10 = bctq_mdl_io_deq_0_bits_isPredictTaken != bctq_mdl_io_deq_0_bits_isFinalTaken; // @[frontend.scala 245:37]
  wire [63:0] _GEN_2 = {{25'd0}, jctq_mdl_io_deq_0_bits_rasResp_target}; // @[frontend.scala 250:48]
  wire [63:0] _GEN_3 = {{25'd0}, jctq_mdl_io_deq_0_bits_btbResp_target}; // @[frontend.scala 250:80]
  wire  _T_15 = jctq_mdl_io_deq_0_bits_isRas ? _GEN_2 != jctq_mdl_io_deq_0_bits_finalTarget : _GEN_3 !=
    jctq_mdl_io_deq_0_bits_finalTarget; // @[frontend.scala 250:25]
  wire  is_step_1 = csrfiles_dcsr_step & _is_trap_is_interrupt_T_2; // @[Commit.scala 243:38]
  wire  _T_23 = ~csrExe_mdl_io_deq_0_valid; // @[Commit.scala 435:40]
  wire  _T_25 = ~fcsrExe_mdl_io_deq_0_valid; // @[Commit.scala 435:87]
  wire [1:0] _GEN_462 = io_rod_0_bits_is_csr & ~csrExe_mdl_io_deq_0_valid | io_rod_0_bits_is_fcsr & ~
    fcsrExe_mdl_io_deq_0_valid | io_rod_0_bits_is_branch & ~bctq_mdl_io_deq_0_valid | io_rod_0_bits_is_jalr & ~
    jctq_mdl_io_deq_0_valid ? 2'h0 : 2'h3; // @[Commit.scala 435:200 436:27 438:27]
  wire [1:0] _GEN_463 = io_cm_op_0_is_writeback ? _GEN_462 : 2'h0; // @[Commit.scala 434:41 442:25]
  wire [1:0] _GEN_464 = (io_rod_0_bits_is_branch & _T_10 & bctq_mdl_io_deq_0_valid | io_rod_0_bits_is_jalr & _T_15 &
    jctq_mdl_io_deq_0_valid) & io_cm_op_0_is_writeback & ~is_step_1 ? 2'h2 : _GEN_463; // @[Commit.scala 431:213 432:27]
  wire [1:0] _GEN_465 = _T_9 ? 2'h1 : _GEN_464; // @[Commit.scala 427:11 428:25]
  wire [1:0] commit_state_0 = ~io_rod_0_valid ? 2'h0 : _GEN_465; // @[Commit.scala 419:33 420:23]
  wire  commit_state_is_comfirm_0 = commit_state_0 == 2'h3; // @[Commit.scala 324:87]
  wire  commit_state_is_misPredict_0 = commit_state_0 == 2'h2; // @[Commit.scala 325:87]
  wire  commit_state_is_abort_0 = commit_state_0 == 2'h1; // @[Commit.scala 326:87]
  wire  is_retired_0 = commit_state_is_comfirm_0 | commit_state_is_misPredict_0; // @[Commit.scala 333:77]
  wire  _GEN_0 = emu_reset ? 1'h0 : emu_reset; // @[Commit.scala 363:26 365:{26,38}]
  wire  _GEN_1 = io_dm_hartResetReq | _GEN_0; // @[Commit.scala 364:{30,42}]
  wire  _T_1 = is_retired_0 | commit_state_is_abort_0; // @[Commit.scala 398:59]
  wire [1:0] _GEN_469 = emu_reset ? 2'h3 : csrfiles_priv_lvl; // @[CsrFiles.scala 707:{30,41}]
  wire [1:0] _GEN_470 = is_xRet_is_dRet ? csrfiles_dcsr_prv : _GEN_469; // @[CsrFiles.scala 710:{24,35}]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_74 = ~csrfiles_medeleg[15] ? 2'h3 : 2'h1; // @[CsrFiles.scala 736:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_74; // @[CsrFiles.scala 736:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_69 = ~csrfiles_medeleg[13] ? 2'h3 : 2'h1; // @[CsrFiles.scala 735:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_70 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_69; // @[CsrFiles.scala 735:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_64 = ~csrfiles_medeleg[12] ? 2'h3 : 2'h1; // @[CsrFiles.scala 734:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_65 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_64; // @[CsrFiles.scala 734:58]
  wire  csr_state_0_csrfiles_priv_lvl_is_ecall_M = io_rod_0_bits_privil_ecall & _is_xRet_is_mRet_T; // @[Commit.scala 115:31]
  wire  csr_state_0_csrfiles_priv_lvl_is_ecall_S = io_rod_0_bits_privil_ecall & _is_xRet_is_sRet_T_1; // @[Commit.scala 110:31]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_60 = ~csrfiles_medeleg[9] ? 2'h3 : 2'h1; // @[CsrFiles.scala 732:58]
  wire  csr_state_0_csrfiles_priv_lvl_is_ecall_U = io_rod_0_bits_privil_ecall &
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3; // @[Commit.scala 105:31]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_57 = ~csrfiles_medeleg[8] ? 2'h3 : 2'h1; // @[CsrFiles.scala 731:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_53 = ~csrfiles_medeleg[7] ? 2'h3 : 2'h1; // @[CsrFiles.scala 730:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_54 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_53; // @[CsrFiles.scala 730:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_48 = ~csrfiles_medeleg[6] ? 2'h3 : 2'h1; // @[CsrFiles.scala 729:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_49 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_48; // @[CsrFiles.scala 729:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_43 = ~csrfiles_medeleg[5] ? 2'h3 : 2'h1; // @[CsrFiles.scala 728:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_44 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_43; // @[CsrFiles.scala 728:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_38 = ~csrfiles_medeleg[4] ? 2'h3 : 2'h1; // @[CsrFiles.scala 727:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_39 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_38; // @[CsrFiles.scala 727:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_33 = ~csrfiles_medeleg[3] ? 2'h3 : 2'h1; // @[CsrFiles.scala 726:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_34 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_33; // @[CsrFiles.scala 726:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_28 = ~csrfiles_medeleg[2] ? 2'h3 : 2'h1; // @[CsrFiles.scala 725:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_29 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_28; // @[CsrFiles.scala 725:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_23 = ~csrfiles_medeleg[1] ? 2'h3 : 2'h1; // @[CsrFiles.scala 724:106]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_24 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_23; // @[CsrFiles.scala 724:58]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_13 = ~csrfiles_mideleg[9] ? 2'h3 : 2'h1; // @[CsrFiles.scala 719:97]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_14 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_13; // @[CsrFiles.scala 719:49]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_8 = ~csrfiles_mideleg[5] ? 2'h3 : 2'h1; // @[CsrFiles.scala 717:97]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_9 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_8; // @[CsrFiles.scala 717:49]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_3 = ~csrfiles_mideleg[1] ? 2'h3 : 2'h1; // @[CsrFiles.scala 715:97]
  wire [1:0] _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_4 = _is_xRet_is_mRet_T ? 2'h3 :
    _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_3; // @[CsrFiles.scala 715:49]
  wire [1:0] _GEN_471 = is_xRet_is_mRet ? csrfiles_mstatus_mpp : _GEN_469; // @[CsrFiles.scala 712:{24,35}]
  wire [1:0] _GEN_472 = is_xRet_is_sRet ? {{1'd0}, csrfiles_mstatus_spp} : _GEN_471; // @[CsrFiles.scala 713:{24,35}]
  wire [1:0] _GEN_473 = is_trap_is_interrupt_is_s_interrupt_is_ssi ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_4 :
    _GEN_472; // @[CsrFiles.scala 715:{32,43}]
  wire [1:0] _GEN_474 = is_trap_is_interrupt_is_m_interrupt_is_msi ? 2'h3 : _GEN_473; // @[CsrFiles.scala 716:{32,43}]
  wire [1:0] _GEN_475 = is_trap_is_interrupt_is_s_interrupt_is_sti ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_9 :
    _GEN_474; // @[CsrFiles.scala 717:{32,43}]
  wire [1:0] _GEN_476 = is_trap_is_interrupt_is_m_interrupt_is_mti ? 2'h3 : _GEN_475; // @[CsrFiles.scala 718:{32,43}]
  wire [1:0] _GEN_477 = is_trap_is_interrupt_is_s_interrupt_is_sei ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_14 :
    _GEN_476; // @[CsrFiles.scala 719:{32,43}]
  wire [1:0] _GEN_478 = is_trap_is_interrupt_is_m_interrupt_is_mei ? 2'h3 : _GEN_477; // @[CsrFiles.scala 720:{32,43}]
  wire [1:0] _GEN_480 = io_rod_0_bits_privil_is_access_fault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_24 : _GEN_478; // @[CsrFiles.scala 724:{41,52}]
  wire [1:0] _GEN_481 = is_trap_is_exception_is_illeage ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_29 : _GEN_480; // @[CsrFiles.scala 725:{41,52}]
  wire [1:0] _GEN_482 = is_trap_is_exception_is_ebreak_exc ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_34 : _GEN_481; // @[CsrFiles.scala 726:{41,52}]
  wire [1:0] _GEN_483 = is_trap_is_exception_is_load_misAlign ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_39 : _GEN_482; // @[CsrFiles.scala 727:{41,52}]
  wire [1:0] _GEN_484 = is_trap_is_exception_is_load_accessFault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_44 :
    _GEN_483; // @[CsrFiles.scala 728:{41,52}]
  wire [1:0] _GEN_485 = is_trap_is_exception_is_store_misAlign ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_49 : _GEN_484
    ; // @[CsrFiles.scala 729:{41,52}]
  wire [1:0] _GEN_486 = is_trap_is_exception_is_store_accessFault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_54 :
    _GEN_485; // @[CsrFiles.scala 730:{41,52}]
  wire [1:0] _GEN_487 = csr_state_0_csrfiles_priv_lvl_is_ecall_U ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_57 :
    _GEN_486; // @[CsrFiles.scala 731:{41,52}]
  wire [1:0] _GEN_488 = csr_state_0_csrfiles_priv_lvl_is_ecall_S ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_60 :
    _GEN_487; // @[CsrFiles.scala 732:{41,52}]
  wire [1:0] _GEN_489 = csr_state_0_csrfiles_priv_lvl_is_ecall_M ? 2'h3 : _GEN_488; // @[CsrFiles.scala 733:{41,52}]
  wire [1:0] _GEN_490 = io_rod_0_bits_privil_is_paging_fault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_65 : _GEN_489; // @[CsrFiles.scala 734:{41,52}]
  wire [1:0] _GEN_491 = is_trap_is_exception_is_load_pagingFault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_70 :
    _GEN_490; // @[CsrFiles.scala 735:{41,52}]
  wire [1:0] _GEN_492 = is_trap_is_exception_is_store_pagingFault ? _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75 :
    _GEN_491; // @[CsrFiles.scala 736:{41,52}]
  wire [1:0] csr_state_0_csrfiles_priv_lvl_priv_lvl = csrfiles_DMode ? _GEN_470 : _GEN_492; // @[CsrFiles.scala 709:31]
  wire  _GEN_494 = is_xRet_is_dRet ? 1'h0 : csrfiles_DMode; // @[CsrFiles.scala 1872:{31,39}]
  wire  csr_state_0_csrfiles_DMode_DMode = is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt | _GEN_494; // @[CsrFiles.scala 1871:{37,45}]
  wire [63:0] cmm_state_0_csrExe_dat_i = csrExe_mdl_io_deq_0_bits_dat_i; // @[Commit.scala 330:23 642:26]
  wire  csr_state_0_csrfiles_mstatus_is_fpu_state_change = ~is_trap & io_rod_0_bits_is_fpu; // @[Commit.scala 222:40]
  wire  csr_state_0_csrfiles_mstatus_enable0 = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_3 = cmm_state_0_csrExe_op_rw ? cmm_state_0_csrExe_dat_i : 64'h0; // @[Mux.scala 27:73]
  wire [46:0] csr_state_0_csrfiles_mstatus_hi = {csrfiles_mstatus_sd,25'h0,2'h0,13'h1400,csrfiles_mstatus_tsr,
    csrfiles_mstatus_tw,csrfiles_mstatus_tvm,csrfiles_mstatus_mxr,csrfiles_mstatus_sum,csrfiles_mstatus_mprv}; // @[CsrFiles.scala 755:62]
  wire [5:0] csr_state_0_csrfiles_mstatus_lo_lo = {csrfiles_mstatus_spie,1'h0,csrfiles_mstatus_mie,1'h0,
    csrfiles_mstatus_sie,1'h0}; // @[CsrFiles.scala 755:62]
  wire [63:0] _csr_state_0_csrfiles_mstatus_T = {csr_state_0_csrfiles_mstatus_hi,2'h0,csrfiles_mstatus_fs,
    csrfiles_mstatus_mpp,2'h0,csrfiles_mstatus_spp,csrfiles_mstatus_mpie,1'h0,csr_state_0_csrfiles_mstatus_lo_lo}; // @[CsrFiles.scala 755:62]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T = _csr_state_0_csrfiles_mstatus_T | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_4 = cmm_state_0_csrExe_op_rs ? _csr_state_0_csrfiles_mstatus_dnxt_T
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_mstatus_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_1 = ~cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 46:32]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_2 = _csr_state_0_csrfiles_mstatus_T &
    _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_mstatus_dnxt_T_5 = cmm_state_0_csrExe_op_rc ? _csr_state_0_csrfiles_mstatus_dnxt_T_2
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_mstatus_dnxt0 = _csr_state_0_csrfiles_mstatus_dnxt_T_6 |
    _csr_state_0_csrfiles_mstatus_dnxt_T_5; // @[Mux.scala 27:73]
  wire  csr_state_0_csrfiles_mstatus_enable1 = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [1:0] _GEN_722 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[14:13] :
    csrfiles_mstatus_fs; // @[CsrFiles.scala 792:24 799:20]
  wire [1:0] _GEN_731 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[14:13] : _GEN_722; // @[CsrFiles.scala 783:24 787:20]
  wire [1:0] _GEN_747 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_fs : _GEN_731; // @[CsrFiles.scala 777:51]
  wire [1:0] _GEN_763 = is_xRet_is_mRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_fs : _GEN_747; // @[CsrFiles.scala 770:50]
  wire [1:0] _GEN_777 = is_trap & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_fs : _GEN_763; // @[CsrFiles.scala 758:45]
  wire [1:0] csr_state_0_csrfiles_mstatus_mstatus_fs = csr_state_0_csrfiles_mstatus_is_fpu_state_change &
    csrfiles_mstatus_fs != 2'h0 ? 2'h3 : _GEN_777; // @[CsrFiles.scala 808:67 809:18]
  wire  csr_state_0_csrfiles_mstatus_mstatus_sd = csr_state_0_csrfiles_mstatus_mstatus_fs == 2'h3; // @[CsrFiles.scala 747:57]
  wire  _GEN_716 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[22] : csrfiles_mstatus_tsr; // @[CsrFiles.scala 792:24 793:20]
  wire  _GEN_735 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_tsr : _GEN_716; // @[CsrFiles.scala 783:24]
  wire  _GEN_749 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_tsr : _GEN_735; // @[CsrFiles.scala 777:51]
  wire  _GEN_717 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[21] : csrfiles_mstatus_tw; // @[CsrFiles.scala 792:24 794:20]
  wire  _GEN_736 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_tw : _GEN_717; // @[CsrFiles.scala 783:24]
  wire  _GEN_750 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_tw : _GEN_736; // @[CsrFiles.scala 777:51]
  wire  _GEN_718 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[20] : csrfiles_mstatus_tvm; // @[CsrFiles.scala 792:24 795:20]
  wire  _GEN_737 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_tvm : _GEN_718; // @[CsrFiles.scala 783:24]
  wire  _GEN_751 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_tvm : _GEN_737; // @[CsrFiles.scala 777:51]
  wire  _GEN_719 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[19] : csrfiles_mstatus_mxr; // @[CsrFiles.scala 792:24 796:20]
  wire  _GEN_729 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[19] : _GEN_719; // @[CsrFiles.scala 783:24 785:20]
  wire  _GEN_745 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_mxr : _GEN_729; // @[CsrFiles.scala 777:51]
  wire  _GEN_720 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[18] : csrfiles_mstatus_sum; // @[CsrFiles.scala 792:24 797:20]
  wire  _GEN_730 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[18] : _GEN_720; // @[CsrFiles.scala 783:24 786:20]
  wire  _GEN_746 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_sum : _GEN_730; // @[CsrFiles.scala 777:51]
  wire  _csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8 = csr_state_0_csrfiles_priv_lvl_priv_lvl != 2'h3 ? 1'h0 :
    csrfiles_mstatus_mprv; // @[CsrFiles.scala 775:26]
  wire  _GEN_721 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[17] : csrfiles_mstatus_mprv
    ; // @[CsrFiles.scala 792:24 798:20]
  wire  _GEN_738 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_mprv : _GEN_721; // @[CsrFiles.scala 783:24]
  wire  _GEN_744 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? _csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8 :
    _GEN_738; // @[CsrFiles.scala 777:51 781:20]
  wire [1:0] _GEN_723 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[12:11] :
    csrfiles_mstatus_mpp; // @[CsrFiles.scala 792:24 800:20]
  wire [1:0] _GEN_739 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_mpp : _GEN_723; // @[CsrFiles.scala 783:24]
  wire [1:0] _GEN_752 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_mpp : _GEN_739; // @[CsrFiles.scala 777:51]
  wire  _csr_state_0_csrfiles_mstatus_mstatus_spp_T_1 =
    _is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 ? 1'h0 : 1'h1; // @[CsrFiles.scala 765:28]
  wire  _GEN_724 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[8] : csrfiles_mstatus_spp; // @[CsrFiles.scala 792:24 801:20]
  wire  _GEN_732 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[8] : _GEN_724; // @[CsrFiles.scala 783:24 788:20]
  wire  _GEN_748 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_spp : _GEN_732; // @[CsrFiles.scala 777:51]
  wire  _GEN_725 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[7] : csrfiles_mstatus_mpie; // @[CsrFiles.scala 792:24 802:20]
  wire  _GEN_740 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_mpie : _GEN_725; // @[CsrFiles.scala 783:24]
  wire  _GEN_753 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_mpie : _GEN_740; // @[CsrFiles.scala 777:51]
  wire  _GEN_756 = is_xRet_is_mRet & _is_trap_is_interrupt_T_2 | _GEN_753; // @[CsrFiles.scala 770:50 772:20]
  wire  _GEN_726 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[5] : csrfiles_mstatus_spie; // @[CsrFiles.scala 792:24 803:20]
  wire  _GEN_733 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[5] : _GEN_726; // @[CsrFiles.scala 783:24 789:20]
  wire  _GEN_742 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 | _GEN_733; // @[CsrFiles.scala 777:51 778:20]
  wire  _GEN_727 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[3] : csrfiles_mstatus_mie; // @[CsrFiles.scala 792:24 804:20]
  wire  _GEN_741 = csr_state_0_csrfiles_mstatus_enable0 ? csrfiles_mstatus_mie : _GEN_727; // @[CsrFiles.scala 783:24]
  wire  _GEN_754 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_mie : _GEN_741; // @[CsrFiles.scala 777:51]
  wire  _GEN_728 = csr_state_0_csrfiles_mstatus_enable1 ? csr_state_0_csrfiles_mstatus_dnxt0[1] : csrfiles_mstatus_sie; // @[CsrFiles.scala 792:24 805:20]
  wire  _GEN_734 = csr_state_0_csrfiles_mstatus_enable0 ? csr_state_0_csrfiles_mstatus_dnxt0[1] : _GEN_728; // @[CsrFiles.scala 783:24 790:20]
  wire  _GEN_743 = is_xRet_is_sRet & _is_trap_is_interrupt_T_2 ? csrfiles_mstatus_spie : _GEN_734; // @[CsrFiles.scala 777:51 779:20]
  wire  csr_state_0_csrfiles_medeleg_enable = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [63:0] _csr_state_0_csrfiles_medeleg_dnxt_T = csrfiles_medeleg | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_medeleg_dnxt_T_4 = cmm_state_0_csrExe_op_rs ? _csr_state_0_csrfiles_medeleg_dnxt_T
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_medeleg_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_medeleg_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_medeleg_dnxt_T_2 = csrfiles_medeleg & _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_medeleg_dnxt_T_5 = cmm_state_0_csrExe_op_rc ? _csr_state_0_csrfiles_medeleg_dnxt_T_2
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_medeleg_dnxt = _csr_state_0_csrfiles_medeleg_dnxt_T_6 |
    _csr_state_0_csrfiles_medeleg_dnxt_T_5; // @[Mux.scala 27:73]
  wire  csr_state_0_csrfiles_mideleg_enable = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [63:0] _csr_state_0_csrfiles_mideleg_dnxt_T = csrfiles_mideleg | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mideleg_dnxt_T_4 = cmm_state_0_csrExe_op_rs ? _csr_state_0_csrfiles_mideleg_dnxt_T
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mideleg_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_mideleg_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mideleg_dnxt_T_2 = csrfiles_mideleg & _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_mideleg_dnxt_T_5 = cmm_state_0_csrExe_op_rc ? _csr_state_0_csrfiles_mideleg_dnxt_T_2
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_mideleg_dnxt = _csr_state_0_csrfiles_mideleg_dnxt_T_6 |
    _csr_state_0_csrfiles_mideleg_dnxt_T_5; // @[Mux.scala 27:73]
  wire  csr_state_0_csrfiles_mie_enable0 = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [5:0] csr_state_0_csrfiles_mie_lo = {csrfiles_mie_sti,1'h0,csrfiles_mie_msi,1'h0,csrfiles_mie_ssi,1'h0}; // @[CsrFiles.scala 879:58]
  wire [15:0] _csr_state_0_csrfiles_mie_T = {4'h0,csrfiles_mie_mei,1'h0,csrfiles_mie_sei,1'h0,csrfiles_mie_mti,1'h0,
    csr_state_0_csrfiles_mie_lo}; // @[CsrFiles.scala 879:58]
  wire [63:0] _GEN_4 = {{48'd0}, _csr_state_0_csrfiles_mie_T}; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mie_dnxt_T = _GEN_4 | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mie_dnxt_T_4 = cmm_state_0_csrExe_op_rs ? _csr_state_0_csrfiles_mie_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mie_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_mie_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mie_dnxt_T_2 = _GEN_4 & _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_mie_dnxt_T_5 = cmm_state_0_csrExe_op_rc ? _csr_state_0_csrfiles_mie_dnxt_T_2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_mie_dnxt0 = _csr_state_0_csrfiles_mie_dnxt_T_6 | _csr_state_0_csrfiles_mie_dnxt_T_5; // @[Mux.scala 27:73]
  wire  csr_state_0_csrfiles_mie_enable1 = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire  csr_state_0_csrfiles_mcounteren_enable = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [63:0] _GEN_10 = {{32'd0}, csrfiles_mcounteren_hpm}; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mcounteren_dnxt_T = _GEN_10 | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_mcounteren_dnxt_T_4 = cmm_state_0_csrExe_op_rs ?
    _csr_state_0_csrfiles_mcounteren_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mcounteren_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_mcounteren_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_mcounteren_dnxt_T_2 = _GEN_10 & _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_mcounteren_dnxt_T_5 = cmm_state_0_csrExe_op_rc ?
    _csr_state_0_csrfiles_mcounteren_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_mcounteren_dnxt = _csr_state_0_csrfiles_mcounteren_dnxt_T_6 |
    _csr_state_0_csrfiles_mcounteren_dnxt_T_5; // @[Mux.scala 27:73]
  wire [63:0] _GEN_794 = csr_state_0_csrfiles_mcounteren_enable ? csr_state_0_csrfiles_mcounteren_dnxt : {{32'd0},
    csrfiles_mcounteren_hpm}; // @[CsrFiles.scala 933:{18,35}]
  wire [31:0] csr_state_0_csrfiles_mcounteren_mcounteren_hpm = _GEN_794[31:0];
  wire  csr_state_0_csrfiles_dcsr_enable = _is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 & (
    cmm_state_0_csrExe_op_rw | cmm_state_0_csrExe_op_rs | cmm_state_0_csrExe_op_rc); // @[CsrFiles.scala 42:37]
  wire [9:0] csr_state_0_csrfiles_dcsr_lo = {1'h0,csrfiles_dcsr_cause,2'h0,1'h0,csrfiles_dcsr_step,csrfiles_dcsr_prv}; // @[CsrFiles.scala 1794:59]
  wire [31:0] _csr_state_0_csrfiles_dcsr_T = {16'h4000,csrfiles_dcsr_ebreakm,1'h0,csrfiles_dcsr_ebreaks,
    csrfiles_dcsr_ebreaku,2'h0,csr_state_0_csrfiles_dcsr_lo}; // @[CsrFiles.scala 1794:59]
  wire [63:0] _GEN_12 = {{32'd0}, _csr_state_0_csrfiles_dcsr_T}; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_dcsr_dnxt_T = _GEN_12 | cmm_state_0_csrExe_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] _csr_state_0_csrfiles_dcsr_dnxt_T_4 = cmm_state_0_csrExe_op_rs ? _csr_state_0_csrfiles_dcsr_dnxt_T : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_dcsr_dnxt_T_6 = _csr_state_0_csrfiles_mstatus_dnxt_T_3 |
    _csr_state_0_csrfiles_dcsr_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] _csr_state_0_csrfiles_dcsr_dnxt_T_2 = _GEN_12 & _csr_state_0_csrfiles_mstatus_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] _csr_state_0_csrfiles_dcsr_dnxt_T_5 = cmm_state_0_csrExe_op_rc ? _csr_state_0_csrfiles_dcsr_dnxt_T_2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] csr_state_0_csrfiles_dcsr_dnxt = _csr_state_0_csrfiles_dcsr_dnxt_T_6 | _csr_state_0_csrfiles_dcsr_dnxt_T_5
    ; // @[Mux.scala 27:73]
  wire [2:0] _csr_state_0_csrfiles_dcsr_dcsr_cause_T = is_single_step ? 3'h4 : 3'h0; // @[Mux.scala 101:16]
  wire [2:0] _csr_state_0_csrfiles_dcsr_dcsr_cause_T_1 = io_dm_hartHaltReq ? 3'h3 :
    _csr_state_0_csrfiles_dcsr_dcsr_cause_T; // @[Mux.scala 101:16]
  wire  _GEN_460 = csrfiles_DMode ? 1'h0 : is_single_step; // @[Commit.scala 404:{171,188,31}]
  wire  _mdl_io_deq_0_ready_T = is_retired_0 & io_rod_0_bits_is_branch; // @[Commit.scala 679:36]
  wire  _T_34 = bctq_mdl_io_deq_0_ready & bctq_mdl_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_38 = ~reset; // @[Commit.scala 680:11]
  wire  _T_41 = io_bctq_ready & io_bctq_valid; // @[Decoupled.scala 52:35]
  wire  _mdl_io_deq_0_ready_T_1 = is_retired_0 & io_rod_0_bits_is_jalr; // @[Commit.scala 685:36]
  wire  _T_46 = jctq_mdl_io_deq_0_ready & jctq_mdl_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  _T_53 = io_jctq_ready & io_jctq_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _T_77 = is_xRet + is_trap; // @[Bitwise.scala 51:90]
  wire [1:0] _T_79 = is_fence_i + is_sfence_vma; // @[Bitwise.scala 51:90]
  wire [2:0] _T_81 = _T_77 + _T_79; // @[Bitwise.scala 51:90]
  ReDirect_3 bctq_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_ready(bctq_mdl_io_enq_0_ready),
    .io_enq_0_valid(bctq_mdl_io_enq_0_valid),
    .io_enq_0_bits_isPredictTaken(bctq_mdl_io_enq_0_bits_isPredictTaken),
    .io_enq_0_bits_isFinalTaken(bctq_mdl_io_enq_0_bits_isFinalTaken),
    .io_deq_0_ready(bctq_mdl_io_deq_0_ready),
    .io_deq_0_valid(bctq_mdl_io_deq_0_valid),
    .io_deq_0_bits_isPredictTaken(bctq_mdl_io_deq_0_bits_isPredictTaken),
    .io_deq_0_bits_isFinalTaken(bctq_mdl_io_deq_0_bits_isFinalTaken),
    .io_mapper_0(bctq_mdl_io_mapper_0)
  );
  ReDirect_4 jctq_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_ready(jctq_mdl_io_enq_0_ready),
    .io_enq_0_valid(jctq_mdl_io_enq_0_valid),
    .io_enq_0_bits_btbResp_target(jctq_mdl_io_enq_0_bits_btbResp_target),
    .io_enq_0_bits_rasResp_target(jctq_mdl_io_enq_0_bits_rasResp_target),
    .io_enq_0_bits_isRas(jctq_mdl_io_enq_0_bits_isRas),
    .io_enq_0_bits_finalTarget(jctq_mdl_io_enq_0_bits_finalTarget),
    .io_deq_0_ready(jctq_mdl_io_deq_0_ready),
    .io_deq_0_valid(jctq_mdl_io_deq_0_valid),
    .io_deq_0_bits_btbResp_target(jctq_mdl_io_deq_0_bits_btbResp_target),
    .io_deq_0_bits_rasResp_target(jctq_mdl_io_deq_0_bits_rasResp_target),
    .io_deq_0_bits_isRas(jctq_mdl_io_deq_0_bits_isRas),
    .io_deq_0_bits_finalTarget(jctq_mdl_io_deq_0_bits_finalTarget),
    .io_mapper_0(jctq_mdl_io_mapper_0)
  );
  ReDirect_5 csrExe_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_valid(csrExe_mdl_io_enq_0_valid),
    .io_enq_0_bits_addr(csrExe_mdl_io_enq_0_bits_addr),
    .io_enq_0_bits_dat_i(csrExe_mdl_io_enq_0_bits_dat_i),
    .io_enq_0_bits_op_rw(csrExe_mdl_io_enq_0_bits_op_rw),
    .io_enq_0_bits_op_rs(csrExe_mdl_io_enq_0_bits_op_rs),
    .io_enq_0_bits_op_rc(csrExe_mdl_io_enq_0_bits_op_rc),
    .io_deq_0_ready(csrExe_mdl_io_deq_0_ready),
    .io_deq_0_valid(csrExe_mdl_io_deq_0_valid),
    .io_deq_0_bits_addr(csrExe_mdl_io_deq_0_bits_addr),
    .io_deq_0_bits_dat_i(csrExe_mdl_io_deq_0_bits_dat_i),
    .io_deq_0_bits_op_rw(csrExe_mdl_io_deq_0_bits_op_rw),
    .io_deq_0_bits_op_rs(csrExe_mdl_io_deq_0_bits_op_rs),
    .io_deq_0_bits_op_rc(csrExe_mdl_io_deq_0_bits_op_rc),
    .io_mapper_0(csrExe_mdl_io_mapper_0)
  );
  ReDirect_5 fcsrExe_mdl ( // @[RePort.scala 188:21]
    .io_enq_0_valid(fcsrExe_mdl_io_enq_0_valid),
    .io_enq_0_bits_addr(fcsrExe_mdl_io_enq_0_bits_addr),
    .io_enq_0_bits_dat_i(fcsrExe_mdl_io_enq_0_bits_dat_i),
    .io_enq_0_bits_op_rw(fcsrExe_mdl_io_enq_0_bits_op_rw),
    .io_enq_0_bits_op_rs(fcsrExe_mdl_io_enq_0_bits_op_rs),
    .io_enq_0_bits_op_rc(fcsrExe_mdl_io_enq_0_bits_op_rc),
    .io_deq_0_ready(fcsrExe_mdl_io_deq_0_ready),
    .io_deq_0_valid(fcsrExe_mdl_io_deq_0_valid),
    .io_deq_0_bits_addr(fcsrExe_mdl_io_deq_0_bits_addr),
    .io_deq_0_bits_dat_i(fcsrExe_mdl_io_deq_0_bits_dat_i),
    .io_deq_0_bits_op_rw(fcsrExe_mdl_io_deq_0_bits_op_rw),
    .io_deq_0_bits_op_rs(fcsrExe_mdl_io_deq_0_bits_op_rs),
    .io_deq_0_bits_op_rc(fcsrExe_mdl_io_deq_0_bits_op_rc),
    .io_mapper_0(fcsrExe_mdl_io_mapper_0)
  );
  assign io_bctq_ready = bctq_mdl_io_enq_0_ready; // @[Commit.scala 344:19 RePort.scala 190:9]
  assign io_jctq_ready = jctq_mdl_io_enq_0_ready; // @[Commit.scala 351:19 RePort.scala 190:9]
  assign bctq_mdl_io_enq_0_valid = io_bctq_valid; // @[Commit.scala 344:19 346:12]
  assign bctq_mdl_io_enq_0_bits_isPredictTaken = io_bctq_bits_isPredictTaken; // @[Commit.scala 344:19 346:12]
  assign bctq_mdl_io_enq_0_bits_isFinalTaken = io_bctq_bits_isFinalTaken; // @[Commit.scala 344:19 346:12]
  assign bctq_mdl_io_deq_0_ready = is_retired_0 & io_rod_0_bits_is_branch; // @[Commit.scala 679:36]
  assign bctq_mdl_io_mapper_0 = io_rod_0_bits_is_branch; // @[Commit.scala 357:{42,42}]
  assign jctq_mdl_io_enq_0_valid = io_jctq_valid; // @[Commit.scala 351:19 353:12]
  assign jctq_mdl_io_enq_0_bits_btbResp_target = io_jctq_bits_btbResp_target; // @[Commit.scala 351:19 353:12]
  assign jctq_mdl_io_enq_0_bits_rasResp_target = io_jctq_bits_rasResp_target; // @[Commit.scala 351:19 353:12]
  assign jctq_mdl_io_enq_0_bits_isRas = io_jctq_bits_isRas; // @[Commit.scala 351:19 353:12]
  assign jctq_mdl_io_enq_0_bits_finalTarget = io_jctq_bits_finalTarget; // @[Commit.scala 351:19 353:12]
  assign jctq_mdl_io_deq_0_ready = is_retired_0 & io_rod_0_bits_is_jalr; // @[Commit.scala 685:36]
  assign jctq_mdl_io_mapper_0 = io_rod_0_bits_is_jalr; // @[Commit.scala 358:{42,42}]
  assign csrExe_mdl_io_enq_0_valid = io_csr_cmm_op_valid; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_enq_0_bits_addr = io_csr_cmm_op_bits_addr; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_enq_0_bits_dat_i = io_csr_cmm_op_bits_dat_i; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_enq_0_bits_op_rw = io_csr_cmm_op_bits_op_rw; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_enq_0_bits_op_rs = io_csr_cmm_op_bits_op_rs; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_enq_0_bits_op_rc = io_csr_cmm_op_bits_op_rc; // @[Commit.scala 337:19 339:12]
  assign csrExe_mdl_io_deq_0_ready = commit_state_is_comfirm_0 & io_rod_0_bits_is_csr; // @[Commit.scala 802:51]
  assign csrExe_mdl_io_mapper_0 = io_rod_0_bits_is_csr; // @[Commit.scala 360:{48,48}]
  assign fcsrExe_mdl_io_enq_0_valid = io_fcsr_cmm_op_0_valid; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_enq_0_bits_addr = io_fcsr_cmm_op_0_bits_addr; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_enq_0_bits_dat_i = io_fcsr_cmm_op_0_bits_dat_i; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_enq_0_bits_op_rw = io_fcsr_cmm_op_0_bits_op_rw; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_enq_0_bits_op_rs = io_fcsr_cmm_op_0_bits_op_rs; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_enq_0_bits_op_rc = io_fcsr_cmm_op_0_bits_op_rc; // @[RePort.scala 190:9]
  assign fcsrExe_mdl_io_deq_0_ready = commit_state_is_comfirm_0 & io_rod_0_bits_is_fcsr; // @[Commit.scala 812:34]
  assign fcsrExe_mdl_io_mapper_0 = io_rod_0_bits_is_fcsr; // @[Commit.scala 361:{50,50}]
  always @(posedge clock) begin
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_priv_lvl <= 2'h3; // @[Commit.scala 449:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csrfiles_DMode) begin // @[CsrFiles.scala 709:31]
        if (is_xRet_is_dRet) begin // @[CsrFiles.scala 710:24]
          csrfiles_priv_lvl <= csrfiles_dcsr_prv; // @[CsrFiles.scala 710:35]
        end else begin
          csrfiles_priv_lvl <= _GEN_469;
        end
      end else if (is_trap_is_exception_is_store_pagingFault) begin // @[CsrFiles.scala 736:41]
        csrfiles_priv_lvl <= _csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75; // @[CsrFiles.scala 736:52]
      end else begin
        csrfiles_priv_lvl <= _GEN_491;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_DMode <= 1'h0; // @[Commit.scala 450:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_DMode <= csr_state_0_csrfiles_DMode_DMode; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_sd <= 1'h0; // @[Commit.scala 487:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mstatus_sd <= csr_state_0_csrfiles_mstatus_mstatus_sd; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_tsr <= 1'h0; // @[Commit.scala 472:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_tsr <= _GEN_749;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_tw <= 1'h0; // @[Commit.scala 473:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_tw <= _GEN_750;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_tvm <= 1'h0; // @[Commit.scala 474:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_tvm <= _GEN_751;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_mxr <= 1'h0; // @[Commit.scala 475:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_mxr <= _GEN_745;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_sum <= 1'h0; // @[Commit.scala 476:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_sum <= _GEN_746;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_mprv <= 1'h0; // @[Commit.scala 477:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        if (is_xRet_is_mRet & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 770:50]
          csrfiles_mstatus_mprv <= _csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8; // @[CsrFiles.scala 775:20]
        end else begin
          csrfiles_mstatus_mprv <= _GEN_744;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_fs <= 2'h0; // @[Commit.scala 479:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mstatus_is_fpu_state_change & csrfiles_mstatus_fs != 2'h0) begin // @[CsrFiles.scala 808:67]
        csrfiles_mstatus_fs <= 2'h3; // @[CsrFiles.scala 809:18]
      end else if (!(is_trap & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 758:45]
        csrfiles_mstatus_fs <= _GEN_763;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_mpp <= 2'h3; // @[Commit.scala 480:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h3) begin // @[CsrFiles.scala 759:47]
          csrfiles_mstatus_mpp <= csrfiles_priv_lvl; // @[CsrFiles.scala 762:22]
        end
      end else if (is_xRet_is_mRet & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 770:50]
        csrfiles_mstatus_mpp <= 2'h0; // @[CsrFiles.scala 773:20]
      end else begin
        csrfiles_mstatus_mpp <= _GEN_752;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_spp <= 1'h0; // @[Commit.scala 481:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h1) begin // @[CsrFiles.scala 764:47]
          csrfiles_mstatus_spp <= _csr_state_0_csrfiles_mstatus_mstatus_spp_T_1; // @[CsrFiles.scala 765:22]
        end
      end else if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
        csrfiles_mstatus_spp <= _GEN_748;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_mpie <= 1'h0; // @[Commit.scala 482:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h3) begin // @[CsrFiles.scala 759:47]
          csrfiles_mstatus_mpie <= csrfiles_mstatus_mie; // @[CsrFiles.scala 760:22]
        end
      end else begin
        csrfiles_mstatus_mpie <= _GEN_756;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_spie <= 1'h0; // @[Commit.scala 484:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h1) begin // @[CsrFiles.scala 764:47]
          csrfiles_mstatus_spie <= csrfiles_mstatus_sie; // @[CsrFiles.scala 766:22]
        end
      end else if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
        csrfiles_mstatus_spie <= _GEN_742;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_mie <= 1'h0; // @[Commit.scala 485:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h3) begin // @[CsrFiles.scala 759:47]
          csrfiles_mstatus_mie <= 1'h0; // @[CsrFiles.scala 761:22]
        end
      end else if (is_xRet_is_mRet & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 770:50]
        csrfiles_mstatus_mie <= csrfiles_mstatus_mpie; // @[CsrFiles.scala 771:20]
      end else begin
        csrfiles_mstatus_mie <= _GEN_754;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mstatus_sie <= 1'h0; // @[Commit.scala 486:27]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap & _is_trap_is_interrupt_T_2) begin // @[CsrFiles.scala 758:45]
        if (csr_state_0_csrfiles_priv_lvl_priv_lvl == 2'h1) begin // @[CsrFiles.scala 764:47]
          csrfiles_mstatus_sie <= 1'h0; // @[CsrFiles.scala 767:22]
        end
      end else if (!(is_xRet_is_mRet & _is_trap_is_interrupt_T_2)) begin // @[CsrFiles.scala 770:50]
        csrfiles_mstatus_sie <= _GEN_743;
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_medeleg <= 64'h0; // @[Commit.scala 490:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_medeleg_enable) begin // @[CsrFiles.scala 850:18]
        csrfiles_medeleg <= csr_state_0_csrfiles_medeleg_dnxt; // @[CsrFiles.scala 850:28]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mideleg <= 64'h0; // @[Commit.scala 491:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mideleg_enable) begin // @[CsrFiles.scala 862:18]
        csrfiles_mideleg <= csr_state_0_csrfiles_mideleg_dnxt; // @[CsrFiles.scala 862:28]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_mei <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_mei <= csr_state_0_csrfiles_mie_dnxt0[11]; // @[CsrFiles.scala 883:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_sei <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_sei <= csr_state_0_csrfiles_mie_dnxt0[9]; // @[CsrFiles.scala 884:15]
      end else if (csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        csrfiles_mie_sei <= csr_state_0_csrfiles_mie_dnxt0[9]; // @[CsrFiles.scala 891:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_mti <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_mti <= csr_state_0_csrfiles_mie_dnxt0[7]; // @[CsrFiles.scala 885:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_sti <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_sti <= csr_state_0_csrfiles_mie_dnxt0[5]; // @[CsrFiles.scala 886:15]
      end else if (csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        csrfiles_mie_sti <= csr_state_0_csrfiles_mie_dnxt0[5]; // @[CsrFiles.scala 892:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_msi <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_msi <= csr_state_0_csrfiles_mie_dnxt0[3]; // @[CsrFiles.scala 887:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mie_ssi <= 1'h0; // @[Commit.scala 492:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        csrfiles_mie_ssi <= csr_state_0_csrfiles_mie_dnxt0[1]; // @[CsrFiles.scala 888:15]
      end else if (csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        csrfiles_mie_ssi <= csr_state_0_csrfiles_mie_dnxt0[1]; // @[CsrFiles.scala 893:15]
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mcounteren_hpm <= 32'h0; // @[Commit.scala 494:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mcounteren_hpm <= csr_state_0_csrfiles_mcounteren_mcounteren_hpm; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_mei <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_mei <= io_plic_mei; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_sei <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_sei <= io_plic_sei; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_mti <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_mti <= io_aclint_mti; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_sti <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_sti <= io_aclint_sti; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_msi <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_msi <= io_aclint_msi; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_mip_ssi <= 1'h0; // @[Commit.scala 499:28]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      csrfiles_mip_ssi <= io_aclint_ssi; // @[Commit.scala 398:100]
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_ebreakm <= 1'h0; // @[Commit.scala 511:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          csrfiles_dcsr_ebreakm <= csr_state_0_csrfiles_dcsr_dnxt[15]; // @[CsrFiles.scala 1809:24]
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_ebreaks <= 1'h0; // @[Commit.scala 512:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          csrfiles_dcsr_ebreaks <= csr_state_0_csrfiles_dcsr_dnxt[13]; // @[CsrFiles.scala 1810:24]
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_ebreaku <= 1'h0; // @[Commit.scala 513:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          csrfiles_dcsr_ebreaku <= csr_state_0_csrfiles_dcsr_dnxt[12]; // @[CsrFiles.scala 1811:24]
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_cause <= 3'h0; // @[Commit.scala 517:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt) begin // @[CsrFiles.scala 1796:41]
        if (is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm) begin // @[Mux.scala 101:16]
          csrfiles_dcsr_cause <= 3'h1;
        end else begin
          csrfiles_dcsr_cause <= _csr_state_0_csrfiles_dcsr_dcsr_cause_T_1;
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_step <= 1'h0; // @[Commit.scala 520:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (!(is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          csrfiles_dcsr_step <= csr_state_0_csrfiles_dcsr_dnxt[2]; // @[CsrFiles.scala 1812:19]
        end
      end
    end
    if (reset) begin // @[Commit.scala 399:24]
      csrfiles_dcsr_prv <= 2'h3; // @[Commit.scala 521:29]
    end else if (is_retired_0 | commit_state_is_abort_0) begin // @[Commit.scala 398:89]
      if (is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt) begin // @[CsrFiles.scala 1796:41]
        csrfiles_dcsr_prv <= csrfiles_priv_lvl; // @[CsrFiles.scala 1797:18]
      end else if (csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
        csrfiles_dcsr_prv <= csr_state_0_csrfiles_dcsr_dnxt[1:0]; // @[CsrFiles.scala 1813:19]
      end
    end
    if (reset) begin // @[Commit.scala 404:31]
      is_single_step <= 1'h0; // @[Commit.scala 404:31]
    end else begin
      is_single_step <= _T_1 & is_step_1 | _GEN_460;
    end
    if (reset) begin // @[Commit.scala 363:26]
      emu_reset <= 1'h0; // @[Commit.scala 363:26]
    end else begin
      emu_reset <= _GEN_1;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T_34 == _mdl_io_deq_0_ready_T)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:680 assert( bctq(i).fire === (is_retired(i) & io.rod(i).bits.is_branch) )\n"
            ); // @[Commit.scala 680:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_34 == _mdl_io_deq_0_ready_T) & ~reset) begin
          $fatal; // @[Commit.scala 680:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_38 & ~(_T_34 == _T_41)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:681 assert( bctq.map{_.fire}.reduce(_|_) === io.bctq.fire )\n"); // @[Commit.scala 681:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_34 == _T_41) & _T_38) begin
          $fatal; // @[Commit.scala 681:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_38 & ~(_T_46 == _mdl_io_deq_0_ready_T_1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:686 assert( jctq(i).fire === (is_retired(i) & io.rod(i).bits.is_jalr) )\n"
            ); // @[Commit.scala 686:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_46 == _mdl_io_deq_0_ready_T_1) & _T_38) begin
          $fatal; // @[Commit.scala 686:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_38 & ~(_T_46 == _T_53)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:687 assert( jctq.map{_.fire}.reduce(_|_) === io.jctq.fire )\n"); // @[Commit.scala 687:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_46 == _T_53) & _T_38) begin
          $fatal; // @[Commit.scala 687:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (commit_state_is_abort_0 & csrfiles_DMode & is_trap_is_interrupt & _T_38) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, All interrupts (including NMI) are masked in Dmode! Page-39\n    at Commit.scala:730 assert(false.B, \"Assert Failed, All interrupts (including NMI) are masked in Dmode! Page-39\")\n"
            ); // @[Commit.scala 730:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (commit_state_is_abort_0 & csrfiles_DMode & is_trap_is_interrupt & _T_38)) begin
          $fatal; // @[Commit.scala 730:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (commit_state_is_abort_0 & _is_trap_is_interrupt_T_2 & _T_38 & ~(_T_81 <= 3'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:768 assert( PopCount(Seq( cmm_state(i).is_xRet, cmm_state(i).is_trap, cmm_state(i).is_fence_i, cmm_state(i).is_sfence_vma)) <= 1.U )\n"
            ); // @[Commit.scala 768:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_81 <= 3'h1) & (commit_state_is_abort_0 & _is_trap_is_interrupt_T_2 & _T_38)) begin
          $fatal; // @[Commit.scala 768:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_38 & ~(~(csrExe_mdl_io_deq_0_ready & _T_23))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:803 assert( ~(csrExe(i).ready & ~csrExe(i).valid) )\n"); // @[Commit.scala 803:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(csrExe_mdl_io_deq_0_ready & _T_23)) & _T_38) begin
          $fatal; // @[Commit.scala 803:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_38 & ~(~(fcsrExe_mdl_io_deq_0_ready & _T_25))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:814 assert( ~(fcsrExe(i).ready & ~fcsrExe(i).valid) )\n"); // @[Commit.scala 814:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(fcsrExe_mdl_io_deq_0_ready & _T_25)) & _T_38) begin
          $fatal; // @[Commit.scala 814:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  csrfiles_priv_lvl = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  csrfiles_DMode = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  csrfiles_mstatus_sd = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  csrfiles_mstatus_tsr = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  csrfiles_mstatus_tw = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  csrfiles_mstatus_tvm = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  csrfiles_mstatus_mxr = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  csrfiles_mstatus_sum = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  csrfiles_mstatus_mprv = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  csrfiles_mstatus_fs = _RAND_9[1:0];
  _RAND_10 = {1{`RANDOM}};
  csrfiles_mstatus_mpp = _RAND_10[1:0];
  _RAND_11 = {1{`RANDOM}};
  csrfiles_mstatus_spp = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  csrfiles_mstatus_mpie = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  csrfiles_mstatus_spie = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  csrfiles_mstatus_mie = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  csrfiles_mstatus_sie = _RAND_15[0:0];
  _RAND_16 = {2{`RANDOM}};
  csrfiles_medeleg = _RAND_16[63:0];
  _RAND_17 = {2{`RANDOM}};
  csrfiles_mideleg = _RAND_17[63:0];
  _RAND_18 = {1{`RANDOM}};
  csrfiles_mie_mei = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  csrfiles_mie_sei = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  csrfiles_mie_mti = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  csrfiles_mie_sti = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  csrfiles_mie_msi = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  csrfiles_mie_ssi = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  csrfiles_mcounteren_hpm = _RAND_24[31:0];
  _RAND_25 = {1{`RANDOM}};
  csrfiles_mip_mei = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  csrfiles_mip_sei = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  csrfiles_mip_mti = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  csrfiles_mip_sti = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  csrfiles_mip_msi = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  csrfiles_mip_ssi = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  csrfiles_dcsr_ebreakm = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  csrfiles_dcsr_ebreaks = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  csrfiles_dcsr_ebreaku = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  csrfiles_dcsr_cause = _RAND_34[2:0];
  _RAND_35 = {1{`RANDOM}};
  csrfiles_dcsr_step = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  csrfiles_dcsr_prv = _RAND_36[1:0];
  _RAND_37 = {1{`RANDOM}};
  is_single_step = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  emu_reset = _RAND_38[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MaxPeriodFibonacciLFSR_2(
  input   clock,
  input   reset,
  output  io_out_0,
  output  io_out_1
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
`endif // RANDOMIZE_REG_INIT
  reg  state_0; // @[PRNG.scala 55:49]
  reg  state_1; // @[PRNG.scala 55:49]
  wire  _T = state_1 ^ state_0; // @[LFSR.scala 15:41]
  assign io_out_0 = state_0; // @[PRNG.scala 78:10]
  assign io_out_1 = state_1; // @[PRNG.scala 78:10]
  always @(posedge clock) begin
    state_0 <= reset | _T; // @[PRNG.scala 55:{49,49}]
    if (reset) begin // @[PRNG.scala 55:49]
      state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      state_1 <= state_0;
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  state_1 = _RAND_1[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLB(
  input         clock,
  input         reset,
  input         io_req_valid,
  input  [63:0] io_req_bits_vaddr,
  output        io_is_hit,
  input  [15:0] io_asid_i,
  input         io_tlb_renew_valid,
  input         io_tlb_renew_bits_is_giga_page,
  input         io_tlb_renew_bits_is_mega_page,
  input  [15:0] io_tlb_renew_bits_asid,
  input  [8:0]  io_tlb_renew_bits_vpn_0,
  input  [8:0]  io_tlb_renew_bits_vpn_1,
  input  [8:0]  io_tlb_renew_bits_vpn_2,
  input         io_sfence_vma
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
`endif // RANDOMIZE_REG_INIT
  wire  random_idx_prng_clock; // @[PRNG.scala 91:22]
  wire  random_idx_prng_reset; // @[PRNG.scala 91:22]
  wire  random_idx_prng_io_out_0; // @[PRNG.scala 91:22]
  wire  random_idx_prng_io_out_1; // @[PRNG.scala 91:22]
  wire  random_idx_prng_1_clock; // @[PRNG.scala 91:22]
  wire  random_idx_prng_1_reset; // @[PRNG.scala 91:22]
  wire  random_idx_prng_1_io_out_0; // @[PRNG.scala 91:22]
  wire  random_idx_prng_1_io_out_1; // @[PRNG.scala 91:22]
  wire  random_idx_prng_2_clock; // @[PRNG.scala 91:22]
  wire  random_idx_prng_2_reset; // @[PRNG.scala 91:22]
  wire  random_idx_prng_2_io_out_0; // @[PRNG.scala 91:22]
  wire  random_idx_prng_2_io_out_1; // @[PRNG.scala 91:22]
  wire  random_idx_prng_3_clock; // @[PRNG.scala 91:22]
  wire  random_idx_prng_3_reset; // @[PRNG.scala 91:22]
  wire  random_idx_prng_3_io_out_0; // @[PRNG.scala 91:22]
  wire  random_idx_prng_3_io_out_1; // @[PRNG.scala 91:22]
  reg  tag_0_is_valid; // @[TLB.scala 59:20]
  reg [15:0] tag_0_asid; // @[TLB.scala 59:20]
  reg [8:0] tag_0_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] tag_0_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] tag_0_vpn_2; // @[TLB.scala 59:20]
  reg  tag_1_is_valid; // @[TLB.scala 59:20]
  reg [15:0] tag_1_asid; // @[TLB.scala 59:20]
  reg [8:0] tag_1_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] tag_1_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] tag_1_vpn_2; // @[TLB.scala 59:20]
  reg  pte_0_is_giga_page; // @[TLB.scala 62:20]
  reg  pte_0_is_mega_page; // @[TLB.scala 62:20]
  reg  pte_1_is_giga_page; // @[TLB.scala 62:20]
  reg  pte_1_is_mega_page; // @[TLB.scala 62:20]
  wire  is_runout = tag_0_is_valid & tag_1_is_valid; // @[TLB.scala 85:31]
  wire [1:0] random_idx = {random_idx_prng_io_out_1,random_idx_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire  empty_idx = ~tag_0_is_valid ? 1'h0 : 1'h1; // @[TLB.scala 88:36]
  wire [1:0] _T = is_runout ? random_idx : {{1'd0}, empty_idx}; // @[TLB.scala 90:15]
  wire  _GEN_0 = ~_T[0] | tag_0_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire  _GEN_1 = _T[0] | tag_1_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire [1:0] random_idx_1 = {random_idx_prng_1_io_out_1,random_idx_prng_1_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] _T_2 = is_runout ? random_idx_1 : {{1'd0}, empty_idx}; // @[TLB.scala 90:15]
  wire [1:0] random_idx_2 = {random_idx_prng_2_io_out_1,random_idx_prng_2_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] _T_4 = is_runout ? random_idx_2 : {{1'd0}, empty_idx}; // @[TLB.scala 90:15]
  wire [1:0] random_idx_3 = {random_idx_prng_3_io_out_1,random_idx_prng_3_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] _T_6 = is_runout ? random_idx_3 : {{1'd0}, empty_idx}; // @[TLB.scala 90:15]
  wire  tlb_hit_lvl2 = tag_0_is_valid & io_asid_i == tag_0_asid & io_req_bits_vaddr[38:30] == tag_0_vpn_2; // @[TLB.scala 102:62]
  wire  tlb_hit_lvl1 = io_req_bits_vaddr[29:21] == tag_0_vpn_1; // @[TLB.scala 103:43]
  wire  tlb_hit_lvl0 = io_req_bits_vaddr[20:12] == tag_0_vpn_0; // @[TLB.scala 104:43]
  wire  tlb_hit_0 = tlb_hit_lvl2 & (pte_0_is_giga_page | tlb_hit_lvl1 & (pte_0_is_mega_page | tlb_hit_lvl0)); // @[TLB.scala 106:12]
  wire  tlb_hit_lvl2_1 = tag_1_is_valid & io_asid_i == tag_1_asid & io_req_bits_vaddr[38:30] == tag_1_vpn_2; // @[TLB.scala 102:62]
  wire  tlb_hit_lvl1_1 = io_req_bits_vaddr[29:21] == tag_1_vpn_1; // @[TLB.scala 103:43]
  wire  tlb_hit_lvl0_1 = io_req_bits_vaddr[20:12] == tag_1_vpn_0; // @[TLB.scala 104:43]
  wire  tlb_hit_1 = tlb_hit_lvl2_1 & (pte_1_is_giga_page | tlb_hit_lvl1_1 & (pte_1_is_mega_page | tlb_hit_lvl0_1)); // @[TLB.scala 106:12]
  wire [1:0] _T_8 = {tlb_hit_1,tlb_hit_0}; // @[TLB.scala 110:29]
  wire [1:0] _T_11 = _T_8[0] + _T_8[1]; // @[Bitwise.scala 51:90]
  MaxPeriodFibonacciLFSR_2 random_idx_prng ( // @[PRNG.scala 91:22]
    .clock(random_idx_prng_clock),
    .reset(random_idx_prng_reset),
    .io_out_0(random_idx_prng_io_out_0),
    .io_out_1(random_idx_prng_io_out_1)
  );
  MaxPeriodFibonacciLFSR_2 random_idx_prng_1 ( // @[PRNG.scala 91:22]
    .clock(random_idx_prng_1_clock),
    .reset(random_idx_prng_1_reset),
    .io_out_0(random_idx_prng_1_io_out_0),
    .io_out_1(random_idx_prng_1_io_out_1)
  );
  MaxPeriodFibonacciLFSR_2 random_idx_prng_2 ( // @[PRNG.scala 91:22]
    .clock(random_idx_prng_2_clock),
    .reset(random_idx_prng_2_reset),
    .io_out_0(random_idx_prng_2_io_out_0),
    .io_out_1(random_idx_prng_2_io_out_1)
  );
  MaxPeriodFibonacciLFSR_2 random_idx_prng_3 ( // @[PRNG.scala 91:22]
    .clock(random_idx_prng_3_clock),
    .reset(random_idx_prng_3_reset),
    .io_out_0(random_idx_prng_3_io_out_0),
    .io_out_1(random_idx_prng_3_io_out_1)
  );
  assign io_is_hit = (tlb_hit_0 | tlb_hit_1) & io_req_valid; // @[TLB.scala 113:41]
  assign random_idx_prng_clock = clock;
  assign random_idx_prng_reset = reset;
  assign random_idx_prng_1_clock = clock;
  assign random_idx_prng_1_reset = reset;
  assign random_idx_prng_2_clock = clock;
  assign random_idx_prng_2_reset = reset;
  assign random_idx_prng_3_clock = clock;
  assign random_idx_prng_3_reset = reset;
  always @(posedge clock) begin
    if (reset) begin // @[TLB.scala 59:20]
      tag_0_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_0_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      tag_0_is_valid <= _GEN_0;
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_0_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_0_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~_T_2[0]) begin // @[TLB.scala 69:32]
        tag_0_asid <= io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_0_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_0_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~_T_4[0]) begin // @[TLB.scala 70:32]
        tag_0_vpn_0 <= io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_0_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_0_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~_T_4[0]) begin // @[TLB.scala 70:32]
        tag_0_vpn_1 <= io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_0_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_0_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~_T_4[0]) begin // @[TLB.scala 70:32]
        tag_0_vpn_2 <= io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_1_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_1_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      tag_1_is_valid <= _GEN_1;
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_1_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_1_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (_T_2[0]) begin // @[TLB.scala 69:32]
        tag_1_asid <= io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_1_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_1_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (_T_4[0]) begin // @[TLB.scala 70:32]
        tag_1_vpn_0 <= io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_1_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_1_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (_T_4[0]) begin // @[TLB.scala 70:32]
        tag_1_vpn_1 <= io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 59:20]
      tag_1_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (io_sfence_vma) begin // @[TLB.scala 64:25]
      tag_1_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (_T_4[0]) begin // @[TLB.scala 70:32]
        tag_1_vpn_2 <= io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (reset) begin // @[TLB.scala 62:20]
      pte_0_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~_T_6[0]) begin // @[TLB.scala 71:32]
          pte_0_is_giga_page <= io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (reset) begin // @[TLB.scala 62:20]
      pte_0_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~_T_6[0]) begin // @[TLB.scala 71:32]
          pte_0_is_mega_page <= io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (reset) begin // @[TLB.scala 62:20]
      pte_1_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (_T_6[0]) begin // @[TLB.scala 71:32]
          pte_1_is_giga_page <= io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (reset) begin // @[TLB.scala 62:20]
      pte_1_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (_T_6[0]) begin // @[TLB.scala 71:32]
          pte_1_is_mega_page <= io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T_11 <= 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail at tlb, more than 1 entry hit!\n    at TLB.scala:110 assert( PopCount( tlb_hit.asUInt ) <= 1.U, \"Assert Fail at tlb, more than 1 entry hit!\"  )\n"
            ); // @[TLB.scala 110:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_11 <= 2'h1) & ~reset) begin
          $fatal; // @[TLB.scala 110:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  tag_0_is_valid = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  tag_0_asid = _RAND_1[15:0];
  _RAND_2 = {1{`RANDOM}};
  tag_0_vpn_0 = _RAND_2[8:0];
  _RAND_3 = {1{`RANDOM}};
  tag_0_vpn_1 = _RAND_3[8:0];
  _RAND_4 = {1{`RANDOM}};
  tag_0_vpn_2 = _RAND_4[8:0];
  _RAND_5 = {1{`RANDOM}};
  tag_1_is_valid = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  tag_1_asid = _RAND_6[15:0];
  _RAND_7 = {1{`RANDOM}};
  tag_1_vpn_0 = _RAND_7[8:0];
  _RAND_8 = {1{`RANDOM}};
  tag_1_vpn_1 = _RAND_8[8:0];
  _RAND_9 = {1{`RANDOM}};
  tag_1_vpn_2 = _RAND_9[8:0];
  _RAND_10 = {1{`RANDOM}};
  pte_0_is_giga_page = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  pte_0_is_mega_page = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  pte_1_is_giga_page = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  pte_1_is_mega_page = _RAND_13[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module PTW(
  input         clock,
  input         reset,
  output        io_ptw_i_ready,
  input         io_ptw_i_valid,
  input         io_ptw_i_bits_is_X,
  input  [63:0] io_ptw_i_bits_vaddr,
  input         io_ptw_o_ready,
  output        io_ptw_o_valid,
  output        io_ptw_o_bits_is_X,
  output        io_ptw_o_bits_renew_is_giga_page,
  output        io_ptw_o_bits_renew_is_mega_page,
  output [15:0] io_ptw_o_bits_renew_asid,
  output [8:0]  io_ptw_o_bits_renew_vpn_0,
  output [8:0]  io_ptw_o_bits_renew_vpn_1,
  output [8:0]  io_ptw_o_bits_renew_vpn_2,
  output        io_ptw_o_bits_is_ptw_fail,
  input  [63:0] io_cmm_mmu_satp,
  input         io_cmm_mmu_sfence_vma,
  output        io_ptw_access_ready,
  input         io_ptw_access_valid,
  input  [2:0]  io_ptw_access_bits_opcode,
  input  [2:0]  io_ptw_access_bits_size,
  input  [63:0] io_ptw_access_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [63:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [63:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
`endif // RANDOMIZE_REG_INIT
  reg [1:0] currState; // @[PTW.scala 87:26]
  reg  kill_trans; // @[PTW.scala 89:27]
  wire  _T = io_ptw_access_ready & io_ptw_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _beats1_decode_T_1 = 11'hf << io_ptw_access_bits_size; // @[package.scala 234:77]
  wire [3:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beats1_decode = _beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = io_ptw_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  beats1 = beats1_opdata & beats1_decode; // @[Edges.scala 220:14]
  reg  counter; // @[Edges.scala 228:27]
  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
  wire  first = ~counter; // @[Edges.scala 230:25]
  wire  last = counter | ~beats1; // @[Edges.scala 231:37]
  wire  is_trans_done = last & _T; // @[Edges.scala 232:22]
  reg [31:0] addr_qout; // @[PTW.scala 95:26]
  wire  _walkReq_T = currState == 2'h0; // @[PTW.scala 102:63]
  wire  _nextState_T = io_ptw_i_ready & io_ptw_i_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _nextState_T_1 = _nextState_T ? 2'h1 : 2'h0; // @[PTW.scala 112:23]
  reg [63:0] ptw_access_data_lo_0; // @[PTW.scala 218:31]
  wire [127:0] ptw_access_data = {io_ptw_access_bits_data,ptw_access_data_lo_0}; // @[Cat.scala 33:92]
  wire [127:0] pte_value_data = is_trans_done ? ptw_access_data : 128'h0; // @[PTW.scala 226:27 227:12]
  wire [6:0] _pte_value_data_sel_T_1 = {addr_qout[3], 6'h0}; // @[PTW.scala 231:54]
  wire [127:0] _pte_value_data_sel_T_2 = pte_value_data >> _pte_value_data_sel_T_1; // @[PTW.scala 230:22]
  wire [63:0] pte_value_data_sel = _pte_value_data_sel_T_2[63:0]; // @[PTW.scala 224:24 230:14]
  reg [63:0] pte_value_value; // @[PTW.scala 234:24]
  wire [63:0] pte_value = is_trans_done ? pte_value_data_sel : pte_value_value; // @[PTW.scala 240:8]
  wire  is_ptw_end = pte_value[1] & pte_value[3]; // @[PTW.scala 164:22]
  wire  _is_ptw_fail_T_1 = currState == 2'h1; // @[PTW.scala 172:20]
  wire [8:0] is_ptw_fail_hetVecWire__0 = pte_value[18:10]; // @[MMU.scala 44:37]
  wire  _is_ptw_fail_T_5 = is_ptw_fail_hetVecWire__0 != 9'h0; // @[PTW.scala 172:57]
  wire [8:0] is_ptw_fail_hetVecWire_1_1 = pte_value[27:19]; // @[MMU.scala 44:51]
  wire  _is_ptw_fail_T_10 = is_ptw_fail_hetVecWire__0 != 9'h0 | is_ptw_fail_hetVecWire_1_1 != 9'h0; // @[PTW.scala 172:65]
  wire  _is_ptw_fail_T_11 = currState == 2'h2; // @[PTW.scala 173:20]
  wire  _is_ptw_fail_T_22 = _is_ptw_fail_T_1 & _is_ptw_fail_T_10 | _is_ptw_fail_T_11 & _is_ptw_fail_T_5; // @[Mux.scala 27:73]
  wire  _is_ptw_fail_T_24 = is_ptw_end & _is_ptw_fail_T_22; // @[PTW.scala 169:18]
  wire  _is_ptw_fail_T_34 = ~pte_value[1] & pte_value[2]; // @[PTW.scala 179:26]
  wire  _is_ptw_fail_T_35 = ~pte_value[0] | _is_ptw_fail_T_34; // @[PTW.scala 178:27]
  wire  is_ptw_fail = _is_ptw_fail_T_24 | _is_ptw_fail_T_35; // @[PTW.scala 176:7]
  wire  _nextState_T_4 = is_ptw_end | is_ptw_fail | kill_trans; // @[PTW.scala 118:41]
  wire [1:0] _nextState_T_5 = is_ptw_end | is_ptw_fail | kill_trans ? 2'h0 : 2'h2; // @[PTW.scala 118:14]
  wire [1:0] _nextState_T_6 = is_trans_done ? _nextState_T_5 : 2'h1; // @[PTW.scala 116:12]
  wire [1:0] _nextState_T_10 = _nextState_T_4 ? 2'h0 : 2'h3; // @[PTW.scala 126:14]
  wire [1:0] _nextState_T_11 = is_trans_done ? _nextState_T_10 : 2'h2; // @[PTW.scala 124:12]
  wire [1:0] _nextState_T_16 = is_trans_done ? 2'h0 : 2'h3; // @[PTW.scala 132:12]
  wire [1:0] _GEN_6 = 2'h3 == currState ? _nextState_T_16 : 2'h0; // @[PTW.scala 110:23 131:17]
  wire [1:0] _GEN_7 = 2'h2 == currState ? _nextState_T_11 : _GEN_6; // @[PTW.scala 110:23 123:17]
  wire [1:0] _GEN_8 = 2'h1 == currState ? _nextState_T_6 : _GEN_7; // @[PTW.scala 110:23 115:17]
  wire [1:0] nextState = 2'h0 == currState ? _nextState_T_1 : _GEN_8; // @[PTW.scala 110:23 112:17]
  wire  _walkReq_T_2 = currState == 2'h0 & nextState != 2'h0; // @[PTW.scala 102:83]
  reg  walkReq_is_X; // @[Reg.scala 19:16]
  reg [63:0] walkReq_vaddr; // @[Reg.scala 19:16]
  reg [15:0] asidReq; // @[Reg.scala 19:16]
  reg  walkRspBits_is_X; // @[PTW.scala 104:28]
  reg  walkRspBits_renew_is_giga_page; // @[PTW.scala 104:28]
  reg  walkRspBits_renew_is_mega_page; // @[PTW.scala 104:28]
  reg [15:0] walkRspBits_renew_asid; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_0; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_1; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_2; // @[PTW.scala 104:28]
  reg  walkRspBits_is_ptw_fail; // @[PTW.scala 104:28]
  reg  walkRspValid; // @[PTW.scala 105:29]
  wire  _a_T = nextState == 2'h1; // @[PTW.scala 148:19]
  wire  _a_T_2 = nextState == 2'h2; // @[PTW.scala 149:19]
  wire [25:0] a_hetVecWire__2 = pte_value[53:28]; // @[MMU.scala 44:65]
  wire [43:0] _a_T_12 = {a_hetVecWire__2,is_ptw_fail_hetVecWire_1_1,is_ptw_fail_hetVecWire__0}; // @[Cat.scala 33:92]
  wire  _a_T_13 = nextState == 2'h3; // @[PTW.scala 150:19]
  wire [43:0] _a_T_24 = _a_T ? io_cmm_mmu_satp[43:0] : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_25 = _a_T_2 ? _a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_26 = _a_T_13 ? _a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_27 = _a_T_24 | _a_T_25; // @[Mux.scala 27:73]
  wire [43:0] a = _a_T_27 | _a_T_26; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_2 = {io_ptw_i_bits_vaddr[38:30],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_5 = {walkReq_vaddr[29:21],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_8 = {walkReq_vaddr[20:12],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_9 = _a_T ? _addr_dnxt_T_2 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_10 = _a_T_2 ? _addr_dnxt_T_5 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_11 = _a_T_13 ? _addr_dnxt_T_8 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_12 = _addr_dnxt_T_9 | _addr_dnxt_T_10; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_13 = _addr_dnxt_T_12 | _addr_dnxt_T_11; // @[Mux.scala 27:73]
  wire [55:0] _addr_dnxt_T_14 = {a,_addr_dnxt_T_13}; // @[Cat.scala 33:92]
  wire  pte_is_mega_page = is_ptw_end & _is_ptw_fail_T_11; // @[PTW.scala 184:34]
  wire  pte_is_giga_page = is_ptw_end & _is_ptw_fail_T_1; // @[PTW.scala 185:34]
  wire  _T_10 = currState != 2'h0; // @[PTW.scala 197:51]
  wire  _T_11 = nextState == 2'h0 & currState != 2'h0; // @[PTW.scala 197:39]
  wire  _T_12 = ~io_ptw_o_valid; // @[PTW.scala 210:28]
  wire  _T_16 = io_ptw_o_ready & io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_12 = _T_16 ? 1'h0 : walkRspValid; // @[PTW.scala 211:32 212:18 105:29]
  wire  _GEN_25 = nextState == 2'h0 & currState != 2'h0 | _GEN_12; // @[PTW.scala 197:73 208:18]
  reg  ptw_access_ready; // @[PTW.scala 343:33]
  wire  _GEN_33 = _T ? 1'h0 : ptw_access_ready; // @[PTW.scala 361:37 362:22 343:33]
  wire  _GEN_34 = io_ptw_access_valid & ~io_ptw_access_ready | _GEN_33; // @[PTW.scala 359:53 360:22]
  wire  _GEN_35 = _walkReq_T ? 1'h0 : kill_trans; // @[PTW.scala 384:48 385:16 89:27]
  wire  _GEN_36 = io_cmm_mmu_sfence_vma & _T_10 | _GEN_35; // @[PTW.scala 382:65 383:16]
  wire  _io_ptw_o_valid_T = ~kill_trans; // @[PTW.scala 390:36]
  wire [31:0] addr_dnxt = _addr_dnxt_T_14[31:0]; // @[PTW.scala 153:13 94:23]
  assign io_ptw_i_ready = _walkReq_T & _T_12 & ~io_cmm_mmu_sfence_vma & _io_ptw_o_valid_T; // @[PTW.scala 393:94]
  assign io_ptw_o_valid = walkRspValid & ~kill_trans; // @[PTW.scala 390:34]
  assign io_ptw_o_bits_is_X = walkRspBits_is_X; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_is_giga_page = walkRspBits_renew_is_giga_page; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_is_mega_page = walkRspBits_renew_is_mega_page; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_asid = walkRspBits_renew_asid; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_0 = walkRspBits_renew_vpn_0; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_1 = walkRspBits_renew_vpn_1; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_2 = walkRspBits_renew_vpn_2; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_is_ptw_fail = walkRspBits_is_ptw_fail; // @[PTW.scala 389:18]
  assign io_ptw_access_ready = ptw_access_ready; // @[PTW.scala 346:23]
  always @(posedge clock) begin
    if (reset) begin // @[PTW.scala 87:26]
      currState <= 2'h0; // @[PTW.scala 87:26]
    end else if (2'h0 == currState) begin // @[PTW.scala 110:23]
      if (_nextState_T) begin // @[PTW.scala 112:23]
        currState <= 2'h1;
      end else begin
        currState <= 2'h0;
      end
    end else if (2'h1 == currState) begin // @[PTW.scala 110:23]
      if (is_trans_done) begin // @[PTW.scala 116:12]
        currState <= _nextState_T_5;
      end else begin
        currState <= 2'h1;
      end
    end else if (2'h2 == currState) begin // @[PTW.scala 110:23]
      currState <= _nextState_T_11; // @[PTW.scala 123:17]
    end else begin
      currState <= _GEN_6;
    end
    if (reset) begin // @[PTW.scala 89:27]
      kill_trans <= 1'h0; // @[PTW.scala 89:27]
    end else begin
      kill_trans <= _GEN_36;
    end
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        counter <= beats1;
      end else begin
        counter <= counter1;
      end
    end
    if (reset) begin // @[PTW.scala 95:26]
      addr_qout <= 32'h0; // @[PTW.scala 95:26]
    end else begin
      addr_qout <= addr_dnxt; // @[PTW.scala 95:26]
    end
    if (_T & ~is_trans_done) begin // @[PTW.scala 243:46]
      ptw_access_data_lo_0 <= io_ptw_access_bits_data; // @[PTW.scala 244:34]
    end
    if (reset) begin // @[PTW.scala 234:24]
      pte_value_value <= 64'h0; // @[PTW.scala 234:24]
    end else if (is_trans_done) begin // @[PTW.scala 240:8]
      pte_value_value <= pte_value_data_sel;
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      walkReq_is_X <= io_ptw_i_bits_is_X; // @[Reg.scala 20:22]
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      walkReq_vaddr <= io_ptw_i_bits_vaddr; // @[Reg.scala 20:22]
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      asidReq <= io_cmm_mmu_satp[59:44]; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_is_X <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_is_X <= walkReq_is_X; // @[PTW.scala 199:22]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_is_giga_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_is_giga_page <= pte_is_giga_page; // @[PTW.scala 202:58]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_is_mega_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_is_mega_page <= pte_is_mega_page; // @[PTW.scala 202:58]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_asid <= 16'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_asid <= asidReq; // @[PTW.scala 206:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_0 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_0 <= walkReq_vaddr[20:12]; // @[PTW.scala 203:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_1 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_1 <= walkReq_vaddr[29:21]; // @[PTW.scala 204:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_2 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_2 <= walkReq_vaddr[38:30]; // @[PTW.scala 205:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_is_ptw_fail <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_is_ptw_fail <= is_ptw_fail; // @[PTW.scala 198:29]
    end
    if (reset) begin // @[PTW.scala 105:29]
      walkRspValid <= 1'h0; // @[PTW.scala 105:29]
    end else begin
      walkRspValid <= _GEN_25;
    end
    if (reset) begin // @[PTW.scala 343:33]
      ptw_access_ready <= 1'h0; // @[PTW.scala 343:33]
    end else begin
      ptw_access_ready <= _GEN_34;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_11 & ~reset & ~(~io_ptw_o_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:210 assert( io.ptw_o.valid === false.B )\n"); // @[PTW.scala 210:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_ptw_o_valid) & (_T_11 & ~reset)) begin
          $fatal; // @[PTW.scala 210:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  currState = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  kill_trans = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  counter = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  addr_qout = _RAND_3[31:0];
  _RAND_4 = {2{`RANDOM}};
  ptw_access_data_lo_0 = _RAND_4[63:0];
  _RAND_5 = {2{`RANDOM}};
  pte_value_value = _RAND_5[63:0];
  _RAND_6 = {1{`RANDOM}};
  walkReq_is_X = _RAND_6[0:0];
  _RAND_7 = {2{`RANDOM}};
  walkReq_vaddr = _RAND_7[63:0];
  _RAND_8 = {1{`RANDOM}};
  asidReq = _RAND_8[15:0];
  _RAND_9 = {1{`RANDOM}};
  walkRspBits_is_X = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  walkRspBits_renew_is_giga_page = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  walkRspBits_renew_is_mega_page = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  walkRspBits_renew_asid = _RAND_12[15:0];
  _RAND_13 = {1{`RANDOM}};
  walkRspBits_renew_vpn_0 = _RAND_13[8:0];
  _RAND_14 = {1{`RANDOM}};
  walkRspBits_renew_vpn_1 = _RAND_14[8:0];
  _RAND_15 = {1{`RANDOM}};
  walkRspBits_renew_vpn_2 = _RAND_15[8:0];
  _RAND_16 = {1{`RANDOM}};
  walkRspBits_is_ptw_fail = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  walkRspValid = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  ptw_access_ready = _RAND_18[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module PTW_1(
  input         clock,
  input         reset,
  output        io_ptw_i_ready,
  input         io_ptw_i_valid,
  input         io_ptw_i_bits_is_X,
  input  [63:0] io_ptw_i_bits_vaddr,
  input         io_ptw_o_ready,
  output        io_ptw_o_valid,
  output        io_ptw_o_bits_is_X,
  output        io_ptw_o_bits_renew_is_giga_page,
  output        io_ptw_o_bits_renew_is_mega_page,
  output [15:0] io_ptw_o_bits_renew_asid,
  output [8:0]  io_ptw_o_bits_renew_vpn_0,
  output [8:0]  io_ptw_o_bits_renew_vpn_1,
  output [8:0]  io_ptw_o_bits_renew_vpn_2,
  output        io_ptw_o_bits_is_ptw_fail,
  input  [63:0] io_cmm_mmu_satp,
  input         io_cmm_mmu_sfence_vma,
  output        io_ptw_access_ready,
  input         io_ptw_access_valid,
  input  [2:0]  io_ptw_access_bits_opcode,
  input  [2:0]  io_ptw_access_bits_size,
  input  [63:0] io_ptw_access_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [63:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [63:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
`endif // RANDOMIZE_REG_INIT
  reg [1:0] currState; // @[PTW.scala 87:26]
  reg  kill_trans; // @[PTW.scala 89:27]
  wire  _T = io_ptw_access_ready & io_ptw_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _beats1_decode_T_1 = 11'hf << io_ptw_access_bits_size; // @[package.scala 234:77]
  wire [3:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beats1_decode = _beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = io_ptw_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  beats1 = beats1_opdata & beats1_decode; // @[Edges.scala 220:14]
  reg  counter; // @[Edges.scala 228:27]
  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
  wire  first = ~counter; // @[Edges.scala 230:25]
  wire  last = counter | ~beats1; // @[Edges.scala 231:37]
  wire  is_trans_done = last & _T; // @[Edges.scala 232:22]
  reg [31:0] addr_qout; // @[PTW.scala 95:26]
  wire  _walkReq_T = currState == 2'h0; // @[PTW.scala 102:63]
  wire  _nextState_T = io_ptw_i_ready & io_ptw_i_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _nextState_T_1 = _nextState_T ? 2'h1 : 2'h0; // @[PTW.scala 112:23]
  reg [63:0] ptw_access_data_lo_0; // @[PTW.scala 218:31]
  wire [127:0] ptw_access_data = {io_ptw_access_bits_data,ptw_access_data_lo_0}; // @[Cat.scala 33:92]
  wire [127:0] pte_value_data = is_trans_done ? ptw_access_data : 128'h0; // @[PTW.scala 226:27 227:12]
  wire [6:0] _pte_value_data_sel_T_1 = {addr_qout[3], 6'h0}; // @[PTW.scala 231:54]
  wire [127:0] _pte_value_data_sel_T_2 = pte_value_data >> _pte_value_data_sel_T_1; // @[PTW.scala 230:22]
  wire [63:0] pte_value_data_sel = _pte_value_data_sel_T_2[63:0]; // @[PTW.scala 224:24 230:14]
  reg [63:0] pte_value_value; // @[PTW.scala 234:24]
  wire [63:0] pte_value = is_trans_done ? pte_value_data_sel : pte_value_value; // @[PTW.scala 240:8]
  wire  is_ptw_end = pte_value[1] & pte_value[3]; // @[PTW.scala 164:22]
  wire  _is_ptw_fail_T_1 = currState == 2'h1; // @[PTW.scala 172:20]
  wire [8:0] is_ptw_fail_hetVecWire__0 = pte_value[18:10]; // @[MMU.scala 44:37]
  wire  _is_ptw_fail_T_5 = is_ptw_fail_hetVecWire__0 != 9'h0; // @[PTW.scala 172:57]
  wire [8:0] is_ptw_fail_hetVecWire_1_1 = pte_value[27:19]; // @[MMU.scala 44:51]
  wire  _is_ptw_fail_T_10 = is_ptw_fail_hetVecWire__0 != 9'h0 | is_ptw_fail_hetVecWire_1_1 != 9'h0; // @[PTW.scala 172:65]
  wire  _is_ptw_fail_T_11 = currState == 2'h2; // @[PTW.scala 173:20]
  wire  _is_ptw_fail_T_22 = _is_ptw_fail_T_1 & _is_ptw_fail_T_10 | _is_ptw_fail_T_11 & _is_ptw_fail_T_5; // @[Mux.scala 27:73]
  wire  _is_ptw_fail_T_24 = is_ptw_end & _is_ptw_fail_T_22; // @[PTW.scala 169:18]
  wire  _is_ptw_fail_T_34 = ~pte_value[1] & pte_value[2]; // @[PTW.scala 179:26]
  wire  _is_ptw_fail_T_35 = ~pte_value[0] | _is_ptw_fail_T_34; // @[PTW.scala 178:27]
  wire  is_ptw_fail = _is_ptw_fail_T_24 | _is_ptw_fail_T_35; // @[PTW.scala 176:7]
  wire  _nextState_T_4 = is_ptw_end | is_ptw_fail | kill_trans; // @[PTW.scala 118:41]
  wire [1:0] _nextState_T_5 = is_ptw_end | is_ptw_fail | kill_trans ? 2'h0 : 2'h2; // @[PTW.scala 118:14]
  wire [1:0] _nextState_T_6 = is_trans_done ? _nextState_T_5 : 2'h1; // @[PTW.scala 116:12]
  wire [1:0] _nextState_T_10 = _nextState_T_4 ? 2'h0 : 2'h3; // @[PTW.scala 126:14]
  wire [1:0] _nextState_T_11 = is_trans_done ? _nextState_T_10 : 2'h2; // @[PTW.scala 124:12]
  wire [1:0] _nextState_T_16 = is_trans_done ? 2'h0 : 2'h3; // @[PTW.scala 132:12]
  wire [1:0] _GEN_6 = 2'h3 == currState ? _nextState_T_16 : 2'h0; // @[PTW.scala 110:23 131:17]
  wire [1:0] _GEN_7 = 2'h2 == currState ? _nextState_T_11 : _GEN_6; // @[PTW.scala 110:23 123:17]
  wire [1:0] _GEN_8 = 2'h1 == currState ? _nextState_T_6 : _GEN_7; // @[PTW.scala 110:23 115:17]
  wire [1:0] nextState = 2'h0 == currState ? _nextState_T_1 : _GEN_8; // @[PTW.scala 110:23 112:17]
  wire  _walkReq_T_2 = currState == 2'h0 & nextState != 2'h0; // @[PTW.scala 102:83]
  reg  walkReq_is_X; // @[Reg.scala 19:16]
  reg [63:0] walkReq_vaddr; // @[Reg.scala 19:16]
  reg [15:0] asidReq; // @[Reg.scala 19:16]
  reg  walkRspBits_is_X; // @[PTW.scala 104:28]
  reg  walkRspBits_renew_is_giga_page; // @[PTW.scala 104:28]
  reg  walkRspBits_renew_is_mega_page; // @[PTW.scala 104:28]
  reg [15:0] walkRspBits_renew_asid; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_0; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_1; // @[PTW.scala 104:28]
  reg [8:0] walkRspBits_renew_vpn_2; // @[PTW.scala 104:28]
  reg  walkRspBits_is_ptw_fail; // @[PTW.scala 104:28]
  reg  walkRspValid; // @[PTW.scala 105:29]
  wire  _a_T = nextState == 2'h1; // @[PTW.scala 148:19]
  wire  _a_T_2 = nextState == 2'h2; // @[PTW.scala 149:19]
  wire [25:0] a_hetVecWire__2 = pte_value[53:28]; // @[MMU.scala 44:65]
  wire [43:0] _a_T_12 = {a_hetVecWire__2,is_ptw_fail_hetVecWire_1_1,is_ptw_fail_hetVecWire__0}; // @[Cat.scala 33:92]
  wire  _a_T_13 = nextState == 2'h3; // @[PTW.scala 150:19]
  wire [43:0] _a_T_24 = _a_T ? io_cmm_mmu_satp[43:0] : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_25 = _a_T_2 ? _a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_26 = _a_T_13 ? _a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] _a_T_27 = _a_T_24 | _a_T_25; // @[Mux.scala 27:73]
  wire [43:0] a = _a_T_27 | _a_T_26; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_2 = {io_ptw_i_bits_vaddr[38:30],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_5 = {walkReq_vaddr[29:21],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_8 = {walkReq_vaddr[20:12],3'h0}; // @[Cat.scala 33:92]
  wire [11:0] _addr_dnxt_T_9 = _a_T ? _addr_dnxt_T_2 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_10 = _a_T_2 ? _addr_dnxt_T_5 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_11 = _a_T_13 ? _addr_dnxt_T_8 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_12 = _addr_dnxt_T_9 | _addr_dnxt_T_10; // @[Mux.scala 27:73]
  wire [11:0] _addr_dnxt_T_13 = _addr_dnxt_T_12 | _addr_dnxt_T_11; // @[Mux.scala 27:73]
  wire [55:0] _addr_dnxt_T_14 = {a,_addr_dnxt_T_13}; // @[Cat.scala 33:92]
  wire  pte_is_mega_page = is_ptw_end & _is_ptw_fail_T_11; // @[PTW.scala 184:34]
  wire  pte_is_giga_page = is_ptw_end & _is_ptw_fail_T_1; // @[PTW.scala 185:34]
  wire  _T_10 = currState != 2'h0; // @[PTW.scala 197:51]
  wire  _T_11 = nextState == 2'h0 & currState != 2'h0; // @[PTW.scala 197:39]
  wire  _T_12 = ~io_ptw_o_valid; // @[PTW.scala 210:28]
  wire  _T_16 = io_ptw_o_ready & io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_12 = _T_16 ? 1'h0 : walkRspValid; // @[PTW.scala 211:32 212:18 105:29]
  wire  _GEN_25 = nextState == 2'h0 & currState != 2'h0 | _GEN_12; // @[PTW.scala 197:73 208:18]
  reg  ptw_access_ready; // @[PTW.scala 343:33]
  wire  _GEN_33 = _T ? 1'h0 : ptw_access_ready; // @[PTW.scala 361:37 362:22 343:33]
  wire  _GEN_34 = io_ptw_access_valid & ~io_ptw_access_ready | _GEN_33; // @[PTW.scala 359:53 360:22]
  wire  _GEN_35 = _walkReq_T ? 1'h0 : kill_trans; // @[PTW.scala 384:48 385:16 89:27]
  wire  _GEN_36 = io_cmm_mmu_sfence_vma & _T_10 | _GEN_35; // @[PTW.scala 382:65 383:16]
  wire  _io_ptw_o_valid_T = ~kill_trans; // @[PTW.scala 390:36]
  wire [31:0] addr_dnxt = _addr_dnxt_T_14[31:0]; // @[PTW.scala 153:13 94:23]
  assign io_ptw_i_ready = _walkReq_T & _T_12 & ~io_cmm_mmu_sfence_vma & _io_ptw_o_valid_T; // @[PTW.scala 393:94]
  assign io_ptw_o_valid = walkRspValid & ~kill_trans; // @[PTW.scala 390:34]
  assign io_ptw_o_bits_is_X = walkRspBits_is_X; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_is_giga_page = walkRspBits_renew_is_giga_page; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_is_mega_page = walkRspBits_renew_is_mega_page; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_asid = walkRspBits_renew_asid; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_0 = walkRspBits_renew_vpn_0; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_1 = walkRspBits_renew_vpn_1; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_renew_vpn_2 = walkRspBits_renew_vpn_2; // @[PTW.scala 389:18]
  assign io_ptw_o_bits_is_ptw_fail = walkRspBits_is_ptw_fail; // @[PTW.scala 389:18]
  assign io_ptw_access_ready = ptw_access_ready; // @[PTW.scala 346:23]
  always @(posedge clock) begin
    if (reset) begin // @[PTW.scala 87:26]
      currState <= 2'h0; // @[PTW.scala 87:26]
    end else if (2'h0 == currState) begin // @[PTW.scala 110:23]
      if (_nextState_T) begin // @[PTW.scala 112:23]
        currState <= 2'h1;
      end else begin
        currState <= 2'h0;
      end
    end else if (2'h1 == currState) begin // @[PTW.scala 110:23]
      if (is_trans_done) begin // @[PTW.scala 116:12]
        currState <= _nextState_T_5;
      end else begin
        currState <= 2'h1;
      end
    end else if (2'h2 == currState) begin // @[PTW.scala 110:23]
      currState <= _nextState_T_11; // @[PTW.scala 123:17]
    end else begin
      currState <= _GEN_6;
    end
    if (reset) begin // @[PTW.scala 89:27]
      kill_trans <= 1'h0; // @[PTW.scala 89:27]
    end else begin
      kill_trans <= _GEN_36;
    end
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        counter <= beats1;
      end else begin
        counter <= counter1;
      end
    end
    if (reset) begin // @[PTW.scala 95:26]
      addr_qout <= 32'h0; // @[PTW.scala 95:26]
    end else begin
      addr_qout <= addr_dnxt; // @[PTW.scala 95:26]
    end
    if (_T & ~is_trans_done) begin // @[PTW.scala 243:46]
      ptw_access_data_lo_0 <= io_ptw_access_bits_data; // @[PTW.scala 244:34]
    end
    if (reset) begin // @[PTW.scala 234:24]
      pte_value_value <= 64'h0; // @[PTW.scala 234:24]
    end else if (is_trans_done) begin // @[PTW.scala 240:8]
      pte_value_value <= pte_value_data_sel;
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      walkReq_is_X <= io_ptw_i_bits_is_X; // @[Reg.scala 20:22]
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      walkReq_vaddr <= io_ptw_i_bits_vaddr; // @[Reg.scala 20:22]
    end
    if (_walkReq_T_2) begin // @[Reg.scala 20:18]
      asidReq <= io_cmm_mmu_satp[59:44]; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_is_X <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_is_X <= walkReq_is_X; // @[PTW.scala 199:22]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_is_giga_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_is_giga_page <= pte_is_giga_page; // @[PTW.scala 202:58]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_is_mega_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_is_mega_page <= pte_is_mega_page; // @[PTW.scala 202:58]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_asid <= 16'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_asid <= asidReq; // @[PTW.scala 206:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_0 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_0 <= walkReq_vaddr[20:12]; // @[PTW.scala 203:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_1 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_1 <= walkReq_vaddr[29:21]; // @[PTW.scala 204:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_renew_vpn_2 <= 9'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_renew_vpn_2 <= walkReq_vaddr[38:30]; // @[PTW.scala 205:30]
    end
    if (reset) begin // @[PTW.scala 104:28]
      walkRspBits_is_ptw_fail <= 1'h0; // @[PTW.scala 104:28]
    end else if (nextState == 2'h0 & currState != 2'h0) begin // @[PTW.scala 197:73]
      walkRspBits_is_ptw_fail <= is_ptw_fail; // @[PTW.scala 198:29]
    end
    if (reset) begin // @[PTW.scala 105:29]
      walkRspValid <= 1'h0; // @[PTW.scala 105:29]
    end else begin
      walkRspValid <= _GEN_25;
    end
    if (reset) begin // @[PTW.scala 343:33]
      ptw_access_ready <= 1'h0; // @[PTW.scala 343:33]
    end else begin
      ptw_access_ready <= _GEN_34;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_11 & ~reset & ~(~io_ptw_o_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:210 assert( io.ptw_o.valid === false.B )\n"); // @[PTW.scala 210:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_ptw_o_valid) & (_T_11 & ~reset)) begin
          $fatal; // @[PTW.scala 210:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  currState = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  kill_trans = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  counter = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  addr_qout = _RAND_3[31:0];
  _RAND_4 = {2{`RANDOM}};
  ptw_access_data_lo_0 = _RAND_4[63:0];
  _RAND_5 = {2{`RANDOM}};
  pte_value_value = _RAND_5[63:0];
  _RAND_6 = {1{`RANDOM}};
  walkReq_is_X = _RAND_6[0:0];
  _RAND_7 = {2{`RANDOM}};
  walkReq_vaddr = _RAND_7[63:0];
  _RAND_8 = {1{`RANDOM}};
  asidReq = _RAND_8[15:0];
  _RAND_9 = {1{`RANDOM}};
  walkRspBits_is_X = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  walkRspBits_renew_is_giga_page = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  walkRspBits_renew_is_mega_page = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  walkRspBits_renew_asid = _RAND_12[15:0];
  _RAND_13 = {1{`RANDOM}};
  walkRspBits_renew_vpn_0 = _RAND_13[8:0];
  _RAND_14 = {1{`RANDOM}};
  walkRspBits_renew_vpn_1 = _RAND_14[8:0];
  _RAND_15 = {1{`RANDOM}};
  walkRspBits_renew_vpn_2 = _RAND_15[8:0];
  _RAND_16 = {1{`RANDOM}};
  walkRspBits_is_ptw_fail = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  walkRspValid = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  ptw_access_ready = _RAND_18[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MMU(
  input         clock,
  input         reset,
  input         io_if_mmu_valid,
  input         io_if_mmu_bits_is_X,
  input  [63:0] io_if_mmu_bits_vaddr,
  input         io_mmu_if_ready,
  input         io_if_flush,
  output        io_lsu_mmu_ready,
  input         io_lsu_mmu_valid,
  input         io_lsu_mmu_bits_is_X,
  input  [63:0] io_lsu_mmu_bits_vaddr,
  input         io_mmu_lsu_ready,
  output        io_mmu_lsu_valid,
  input         io_lsu_flush,
  input  [63:0] io_cmm_mmu_satp,
  input  [1:0]  io_cmm_mmu_priv_lvl_if,
  input  [1:0]  io_cmm_mmu_priv_lvl_ls,
  input         io_cmm_mmu_sfence_vma,
  input         io_ptw_access_valid,
  input  [2:0]  io_ptw_access_bits_opcode,
  input  [2:0]  io_ptw_access_bits_size,
  input         io_ptw_access_bits_source,
  input  [63:0] io_ptw_access_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
`endif // RANDOMIZE_REG_INIT
  wire  itlb_clock; // @[MMU.scala 131:20]
  wire  itlb_reset; // @[MMU.scala 131:20]
  wire  itlb_io_req_valid; // @[MMU.scala 131:20]
  wire [63:0] itlb_io_req_bits_vaddr; // @[MMU.scala 131:20]
  wire  itlb_io_is_hit; // @[MMU.scala 131:20]
  wire [15:0] itlb_io_asid_i; // @[MMU.scala 131:20]
  wire  itlb_io_tlb_renew_valid; // @[MMU.scala 131:20]
  wire  itlb_io_tlb_renew_bits_is_giga_page; // @[MMU.scala 131:20]
  wire  itlb_io_tlb_renew_bits_is_mega_page; // @[MMU.scala 131:20]
  wire [15:0] itlb_io_tlb_renew_bits_asid; // @[MMU.scala 131:20]
  wire [8:0] itlb_io_tlb_renew_bits_vpn_0; // @[MMU.scala 131:20]
  wire [8:0] itlb_io_tlb_renew_bits_vpn_1; // @[MMU.scala 131:20]
  wire [8:0] itlb_io_tlb_renew_bits_vpn_2; // @[MMU.scala 131:20]
  wire  itlb_io_sfence_vma; // @[MMU.scala 131:20]
  wire  dtlb_clock; // @[MMU.scala 132:20]
  wire  dtlb_reset; // @[MMU.scala 132:20]
  wire  dtlb_io_req_valid; // @[MMU.scala 132:20]
  wire [63:0] dtlb_io_req_bits_vaddr; // @[MMU.scala 132:20]
  wire  dtlb_io_is_hit; // @[MMU.scala 132:20]
  wire [15:0] dtlb_io_asid_i; // @[MMU.scala 132:20]
  wire  dtlb_io_tlb_renew_valid; // @[MMU.scala 132:20]
  wire  dtlb_io_tlb_renew_bits_is_giga_page; // @[MMU.scala 132:20]
  wire  dtlb_io_tlb_renew_bits_is_mega_page; // @[MMU.scala 132:20]
  wire [15:0] dtlb_io_tlb_renew_bits_asid; // @[MMU.scala 132:20]
  wire [8:0] dtlb_io_tlb_renew_bits_vpn_0; // @[MMU.scala 132:20]
  wire [8:0] dtlb_io_tlb_renew_bits_vpn_1; // @[MMU.scala 132:20]
  wire [8:0] dtlb_io_tlb_renew_bits_vpn_2; // @[MMU.scala 132:20]
  wire  dtlb_io_sfence_vma; // @[MMU.scala 132:20]
  wire  iptw_clock; // @[MMU.scala 133:21]
  wire  iptw_reset; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_i_ready; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_i_valid; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_i_bits_is_X; // @[MMU.scala 133:21]
  wire [63:0] iptw_io_ptw_i_bits_vaddr; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_ready; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_valid; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_bits_is_X; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 133:21]
  wire [15:0] iptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 133:21]
  wire [8:0] iptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 133:21]
  wire [8:0] iptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 133:21]
  wire [8:0] iptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_o_bits_is_ptw_fail; // @[MMU.scala 133:21]
  wire [63:0] iptw_io_cmm_mmu_satp; // @[MMU.scala 133:21]
  wire  iptw_io_cmm_mmu_sfence_vma; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_access_ready; // @[MMU.scala 133:21]
  wire  iptw_io_ptw_access_valid; // @[MMU.scala 133:21]
  wire [2:0] iptw_io_ptw_access_bits_opcode; // @[MMU.scala 133:21]
  wire [2:0] iptw_io_ptw_access_bits_size; // @[MMU.scala 133:21]
  wire [63:0] iptw_io_ptw_access_bits_data; // @[MMU.scala 133:21]
  wire  dptw_clock; // @[MMU.scala 134:21]
  wire  dptw_reset; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_i_ready; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_i_valid; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_i_bits_is_X; // @[MMU.scala 134:21]
  wire [63:0] dptw_io_ptw_i_bits_vaddr; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_ready; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_valid; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_bits_is_X; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 134:21]
  wire [15:0] dptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 134:21]
  wire [8:0] dptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 134:21]
  wire [8:0] dptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 134:21]
  wire [8:0] dptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_o_bits_is_ptw_fail; // @[MMU.scala 134:21]
  wire [63:0] dptw_io_cmm_mmu_satp; // @[MMU.scala 134:21]
  wire  dptw_io_cmm_mmu_sfence_vma; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_access_ready; // @[MMU.scala 134:21]
  wire  dptw_io_ptw_access_valid; // @[MMU.scala 134:21]
  wire [2:0] dptw_io_ptw_access_bits_opcode; // @[MMU.scala 134:21]
  wire [2:0] dptw_io_ptw_access_bits_size; // @[MMU.scala 134:21]
  wire [63:0] dptw_io_ptw_access_bits_data; // @[MMU.scala 134:21]
  wire  _is_bypass_if_T_1 = io_cmm_mmu_satp[63:60] == 4'h0; // @[MMU.scala 136:45]
  wire  is_bypass_if = io_cmm_mmu_satp[63:60] == 4'h0 | io_cmm_mmu_priv_lvl_if == 2'h3; // @[MMU.scala 136:53]
  wire  is_bypass_ls = _is_bypass_if_T_1 | io_cmm_mmu_priv_lvl_ls == 2'h3; // @[MMU.scala 137:53]
  reg  kill_iptw; // @[MMU.scala 141:26]
  reg  kill_dptw; // @[MMU.scala 142:26]
  wire  _GEN_0 = iptw_io_ptw_i_ready ? 1'h0 : kill_iptw; // @[MMU.scala 147:39 148:15 141:26]
  wire  _GEN_1 = io_if_flush | _GEN_0; // @[MMU.scala 145:23 146:15]
  wire  _GEN_2 = dptw_io_ptw_i_ready ? 1'h0 : kill_dptw; // @[MMU.scala 152:39 153:15 142:26]
  wire  _GEN_3 = io_lsu_flush | _GEN_2; // @[MMU.scala 150:24 151:15]
  wire  _io_lsu_mmu_ready_T = io_mmu_lsu_ready & io_mmu_lsu_valid; // @[Decoupled.scala 52:35]
  wire  _io_lsu_mmu_ready_T_1 = ~io_lsu_flush; // @[MMU.scala 168:23]
  wire  _io_lsu_mmu_ready_T_3 = ~kill_dptw; // @[MMU.scala 168:39]
  wire  _T = io_lsu_mmu_ready & io_lsu_mmu_valid; // @[Decoupled.scala 52:35]
  wire  _T_4 = ~reset; // @[MMU.scala 170:9]
  wire  _iptw_io_ptw_i_valid_T_4 = ~kill_iptw; // @[MMU.scala 180:78]
  wire  _io_mmu_lsu_valid_T_4 = io_lsu_mmu_valid & dtlb_io_is_hit; // @[MMU.scala 247:27]
  wire  _io_mmu_lsu_valid_T_5 = io_lsu_mmu_valid & is_bypass_ls | _io_mmu_lsu_valid_T_4; // @[MMU.scala 246:43]
  wire  _io_mmu_lsu_valid_T_6 = ~dptw_io_ptw_o_bits_is_X; // @[MMU.scala 248:30]
  wire  _io_mmu_lsu_valid_T_7 = ~dptw_io_ptw_o_bits_is_X & dptw_io_ptw_o_valid; // @[MMU.scala 248:55]
  wire  _io_mmu_lsu_valid_T_8 = io_lsu_mmu_valid & (~dptw_io_ptw_o_bits_is_X & dptw_io_ptw_o_valid); // @[MMU.scala 248:27]
  wire  _io_mmu_lsu_valid_T_9 = _io_mmu_lsu_valid_T_5 | _io_mmu_lsu_valid_T_8; // @[MMU.scala 247:45]
  wire  _itlb_io_tlb_renew_valid_T = iptw_io_ptw_o_ready & iptw_io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  _dtlb_io_tlb_renew_valid_T = dptw_io_ptw_o_ready & dptw_io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_5 = io_ptw_access_bits_source & io_ptw_access_valid; // @[MMU.scala 294:52 295:24 280:28]
  wire [2:0] _GEN_6 = io_ptw_access_bits_source ? io_ptw_access_bits_opcode : 3'h0; // @[MMU.scala 294:52 295:24 282:27]
  wire [2:0] _GEN_8 = io_ptw_access_bits_source ? io_ptw_access_bits_size : 3'h0; // @[MMU.scala 294:52 295:24 282:27]
  wire [63:0] _GEN_12 = io_ptw_access_bits_source ? io_ptw_access_bits_data : 64'h0; // @[MMU.scala 294:52 295:24 282:27]
  TLB itlb ( // @[MMU.scala 131:20]
    .clock(itlb_clock),
    .reset(itlb_reset),
    .io_req_valid(itlb_io_req_valid),
    .io_req_bits_vaddr(itlb_io_req_bits_vaddr),
    .io_is_hit(itlb_io_is_hit),
    .io_asid_i(itlb_io_asid_i),
    .io_tlb_renew_valid(itlb_io_tlb_renew_valid),
    .io_tlb_renew_bits_is_giga_page(itlb_io_tlb_renew_bits_is_giga_page),
    .io_tlb_renew_bits_is_mega_page(itlb_io_tlb_renew_bits_is_mega_page),
    .io_tlb_renew_bits_asid(itlb_io_tlb_renew_bits_asid),
    .io_tlb_renew_bits_vpn_0(itlb_io_tlb_renew_bits_vpn_0),
    .io_tlb_renew_bits_vpn_1(itlb_io_tlb_renew_bits_vpn_1),
    .io_tlb_renew_bits_vpn_2(itlb_io_tlb_renew_bits_vpn_2),
    .io_sfence_vma(itlb_io_sfence_vma)
  );
  TLB dtlb ( // @[MMU.scala 132:20]
    .clock(dtlb_clock),
    .reset(dtlb_reset),
    .io_req_valid(dtlb_io_req_valid),
    .io_req_bits_vaddr(dtlb_io_req_bits_vaddr),
    .io_is_hit(dtlb_io_is_hit),
    .io_asid_i(dtlb_io_asid_i),
    .io_tlb_renew_valid(dtlb_io_tlb_renew_valid),
    .io_tlb_renew_bits_is_giga_page(dtlb_io_tlb_renew_bits_is_giga_page),
    .io_tlb_renew_bits_is_mega_page(dtlb_io_tlb_renew_bits_is_mega_page),
    .io_tlb_renew_bits_asid(dtlb_io_tlb_renew_bits_asid),
    .io_tlb_renew_bits_vpn_0(dtlb_io_tlb_renew_bits_vpn_0),
    .io_tlb_renew_bits_vpn_1(dtlb_io_tlb_renew_bits_vpn_1),
    .io_tlb_renew_bits_vpn_2(dtlb_io_tlb_renew_bits_vpn_2),
    .io_sfence_vma(dtlb_io_sfence_vma)
  );
  PTW iptw ( // @[MMU.scala 133:21]
    .clock(iptw_clock),
    .reset(iptw_reset),
    .io_ptw_i_ready(iptw_io_ptw_i_ready),
    .io_ptw_i_valid(iptw_io_ptw_i_valid),
    .io_ptw_i_bits_is_X(iptw_io_ptw_i_bits_is_X),
    .io_ptw_i_bits_vaddr(iptw_io_ptw_i_bits_vaddr),
    .io_ptw_o_ready(iptw_io_ptw_o_ready),
    .io_ptw_o_valid(iptw_io_ptw_o_valid),
    .io_ptw_o_bits_is_X(iptw_io_ptw_o_bits_is_X),
    .io_ptw_o_bits_renew_is_giga_page(iptw_io_ptw_o_bits_renew_is_giga_page),
    .io_ptw_o_bits_renew_is_mega_page(iptw_io_ptw_o_bits_renew_is_mega_page),
    .io_ptw_o_bits_renew_asid(iptw_io_ptw_o_bits_renew_asid),
    .io_ptw_o_bits_renew_vpn_0(iptw_io_ptw_o_bits_renew_vpn_0),
    .io_ptw_o_bits_renew_vpn_1(iptw_io_ptw_o_bits_renew_vpn_1),
    .io_ptw_o_bits_renew_vpn_2(iptw_io_ptw_o_bits_renew_vpn_2),
    .io_ptw_o_bits_is_ptw_fail(iptw_io_ptw_o_bits_is_ptw_fail),
    .io_cmm_mmu_satp(iptw_io_cmm_mmu_satp),
    .io_cmm_mmu_sfence_vma(iptw_io_cmm_mmu_sfence_vma),
    .io_ptw_access_ready(iptw_io_ptw_access_ready),
    .io_ptw_access_valid(iptw_io_ptw_access_valid),
    .io_ptw_access_bits_opcode(iptw_io_ptw_access_bits_opcode),
    .io_ptw_access_bits_size(iptw_io_ptw_access_bits_size),
    .io_ptw_access_bits_data(iptw_io_ptw_access_bits_data)
  );
  PTW_1 dptw ( // @[MMU.scala 134:21]
    .clock(dptw_clock),
    .reset(dptw_reset),
    .io_ptw_i_ready(dptw_io_ptw_i_ready),
    .io_ptw_i_valid(dptw_io_ptw_i_valid),
    .io_ptw_i_bits_is_X(dptw_io_ptw_i_bits_is_X),
    .io_ptw_i_bits_vaddr(dptw_io_ptw_i_bits_vaddr),
    .io_ptw_o_ready(dptw_io_ptw_o_ready),
    .io_ptw_o_valid(dptw_io_ptw_o_valid),
    .io_ptw_o_bits_is_X(dptw_io_ptw_o_bits_is_X),
    .io_ptw_o_bits_renew_is_giga_page(dptw_io_ptw_o_bits_renew_is_giga_page),
    .io_ptw_o_bits_renew_is_mega_page(dptw_io_ptw_o_bits_renew_is_mega_page),
    .io_ptw_o_bits_renew_asid(dptw_io_ptw_o_bits_renew_asid),
    .io_ptw_o_bits_renew_vpn_0(dptw_io_ptw_o_bits_renew_vpn_0),
    .io_ptw_o_bits_renew_vpn_1(dptw_io_ptw_o_bits_renew_vpn_1),
    .io_ptw_o_bits_renew_vpn_2(dptw_io_ptw_o_bits_renew_vpn_2),
    .io_ptw_o_bits_is_ptw_fail(dptw_io_ptw_o_bits_is_ptw_fail),
    .io_cmm_mmu_satp(dptw_io_cmm_mmu_satp),
    .io_cmm_mmu_sfence_vma(dptw_io_cmm_mmu_sfence_vma),
    .io_ptw_access_ready(dptw_io_ptw_access_ready),
    .io_ptw_access_valid(dptw_io_ptw_access_valid),
    .io_ptw_access_bits_opcode(dptw_io_ptw_access_bits_opcode),
    .io_ptw_access_bits_size(dptw_io_ptw_access_bits_size),
    .io_ptw_access_bits_data(dptw_io_ptw_access_bits_data)
  );
  assign io_lsu_mmu_ready = _io_lsu_mmu_ready_T & ~io_lsu_flush & ~kill_dptw; // @[MMU.scala 168:37]
  assign io_mmu_lsu_valid = _io_lsu_mmu_ready_T_1 & _io_lsu_mmu_ready_T_3 & _io_mmu_lsu_valid_T_9; // @[MMU.scala 245:34]
  assign itlb_clock = clock;
  assign itlb_reset = reset;
  assign itlb_io_req_valid = io_if_mmu_valid; // @[MMU.scala 156:21]
  assign itlb_io_req_bits_vaddr = io_if_mmu_bits_vaddr; // @[MMU.scala 157:21]
  assign itlb_io_asid_i = io_cmm_mmu_satp[59:44]; // @[MMU.scala 158:37]
  assign itlb_io_tlb_renew_valid = _itlb_io_tlb_renew_valid_T & iptw_io_ptw_o_bits_is_X & ~
    iptw_io_ptw_o_bits_is_ptw_fail & _iptw_io_ptw_i_valid_T_4; // @[MMU.scala 268:110]
  assign itlb_io_tlb_renew_bits_is_giga_page = iptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 265:26]
  assign itlb_io_tlb_renew_bits_is_mega_page = iptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 265:26]
  assign itlb_io_tlb_renew_bits_asid = iptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 265:26]
  assign itlb_io_tlb_renew_bits_vpn_0 = iptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 265:26]
  assign itlb_io_tlb_renew_bits_vpn_1 = iptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 265:26]
  assign itlb_io_tlb_renew_bits_vpn_2 = iptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 265:26]
  assign itlb_io_sfence_vma = io_cmm_mmu_sfence_vma; // @[MMU.scala 298:22]
  assign dtlb_clock = clock;
  assign dtlb_reset = reset;
  assign dtlb_io_req_valid = io_lsu_mmu_valid; // @[MMU.scala 164:21]
  assign dtlb_io_req_bits_vaddr = io_lsu_mmu_bits_vaddr; // @[MMU.scala 165:21]
  assign dtlb_io_asid_i = io_cmm_mmu_satp[59:44]; // @[MMU.scala 166:37]
  assign dtlb_io_tlb_renew_valid = _dtlb_io_tlb_renew_valid_T & _io_mmu_lsu_valid_T_6 & ~dptw_io_ptw_o_bits_is_ptw_fail
     & _io_lsu_mmu_ready_T_3; // @[MMU.scala 269:110]
  assign dtlb_io_tlb_renew_bits_is_giga_page = dptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 266:26]
  assign dtlb_io_tlb_renew_bits_is_mega_page = dptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 266:26]
  assign dtlb_io_tlb_renew_bits_asid = dptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 266:26]
  assign dtlb_io_tlb_renew_bits_vpn_0 = dptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 266:26]
  assign dtlb_io_tlb_renew_bits_vpn_1 = dptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 266:26]
  assign dtlb_io_tlb_renew_bits_vpn_2 = dptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 266:26]
  assign dtlb_io_sfence_vma = io_cmm_mmu_sfence_vma; // @[MMU.scala 299:22]
  assign iptw_clock = clock;
  assign iptw_reset = reset;
  assign iptw_io_ptw_i_valid = io_if_mmu_valid & ~itlb_io_is_hit & ~is_bypass_if & ~kill_iptw; // @[MMU.scala 180:76]
  assign iptw_io_ptw_i_bits_is_X = io_if_mmu_bits_is_X; // @[MMU.scala 181:23]
  assign iptw_io_ptw_i_bits_vaddr = io_if_mmu_bits_vaddr; // @[MMU.scala 181:23]
  assign iptw_io_ptw_o_ready = io_mmu_if_ready | kill_iptw | io_if_flush; // @[MMU.scala 259:55]
  assign iptw_io_cmm_mmu_satp = io_cmm_mmu_satp; // @[MMU.scala 174:19]
  assign iptw_io_cmm_mmu_sfence_vma = io_cmm_mmu_sfence_vma; // @[MMU.scala 174:19]
  assign iptw_io_ptw_access_valid = ~io_ptw_access_bits_source & io_ptw_access_valid; // @[MMU.scala 292:45 293:24 279:28]
  assign iptw_io_ptw_access_bits_opcode = ~io_ptw_access_bits_source ? io_ptw_access_bits_opcode : 3'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign iptw_io_ptw_access_bits_size = ~io_ptw_access_bits_source ? io_ptw_access_bits_size : 3'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign iptw_io_ptw_access_bits_data = ~io_ptw_access_bits_source ? io_ptw_access_bits_data : 64'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign dptw_clock = clock;
  assign dptw_reset = reset;
  assign dptw_io_ptw_i_valid = io_lsu_mmu_valid & ~dtlb_io_is_hit & ~is_bypass_ls & _io_lsu_mmu_ready_T_3; // @[MMU.scala 183:77]
  assign dptw_io_ptw_i_bits_is_X = io_lsu_mmu_bits_is_X; // @[MMU.scala 184:23]
  assign dptw_io_ptw_i_bits_vaddr = io_lsu_mmu_bits_vaddr; // @[MMU.scala 184:23]
  assign dptw_io_ptw_o_ready = io_mmu_lsu_ready | kill_dptw | io_lsu_flush; // @[MMU.scala 262:55]
  assign dptw_io_cmm_mmu_satp = io_cmm_mmu_satp; // @[MMU.scala 175:19]
  assign dptw_io_cmm_mmu_sfence_vma = io_cmm_mmu_sfence_vma; // @[MMU.scala 175:19]
  assign dptw_io_ptw_access_valid = ~io_ptw_access_bits_source ? 1'h0 : _GEN_5; // @[MMU.scala 280:28 292:45]
  assign dptw_io_ptw_access_bits_opcode = ~io_ptw_access_bits_source ? 3'h0 : _GEN_6; // @[MMU.scala 282:27 292:45]
  assign dptw_io_ptw_access_bits_size = ~io_ptw_access_bits_source ? 3'h0 : _GEN_8; // @[MMU.scala 282:27 292:45]
  assign dptw_io_ptw_access_bits_data = ~io_ptw_access_bits_source ? 64'h0 : _GEN_12; // @[MMU.scala 282:27 292:45]
  always @(posedge clock) begin
    if (reset) begin // @[MMU.scala 141:26]
      kill_iptw <= 1'h0; // @[MMU.scala 141:26]
    end else begin
      kill_iptw <= _GEN_1;
    end
    if (reset) begin // @[MMU.scala 142:26]
      kill_dptw <= 1'h0; // @[MMU.scala 142:26]
    end else begin
      kill_dptw <= _GEN_3;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(_T == _io_lsu_mmu_ready_T)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MMU.scala:170 assert( io.lsu_mmu.fire === io.mmu_lsu.fire )\n"
            ); // @[MMU.scala 170:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T == _io_lsu_mmu_ready_T) & ~reset) begin
          $fatal; // @[MMU.scala 170:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & ~(~(iptw_io_ptw_o_bits_is_X & iptw_io_ptw_o_valid & itlb_io_is_hit & _iptw_io_ptw_i_valid_T_4))
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MMU.scala:220 assert( ~((iptw.io.ptw_o.bits.is_X & iptw.io.ptw_o.valid) & itlb.io.is_hit & ~kill_iptw )  )\n"
            ); // @[MMU.scala 220:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(iptw_io_ptw_o_bits_is_X & iptw_io_ptw_o_valid & itlb_io_is_hit & _iptw_io_ptw_i_valid_T_4)) & _T_4
          ) begin
          $fatal; // @[MMU.scala 220:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & ~(~(_io_mmu_lsu_valid_T_7 & dtlb_io_is_hit & _io_lsu_mmu_ready_T_3))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MMU.scala:256 assert( ~((~dptw.io.ptw_o.bits.is_X & dptw.io.ptw_o.valid) & dtlb.io.is_hit & ~kill_dptw)  )\n"
            ); // @[MMU.scala 256:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_io_mmu_lsu_valid_T_7 & dtlb_io_is_hit & _io_lsu_mmu_ready_T_3)) & _T_4) begin
          $fatal; // @[MMU.scala 256:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_cmm_mmu_sfence_vma & _T_4 & ~(io_if_flush & io_lsu_flush)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MMU.scala:338 assert( io.if_flush & io.lsu_flush )\n"); // @[MMU.scala 338:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(io_if_flush & io_lsu_flush) & (io_cmm_mmu_sfence_vma & _T_4)) begin
          $fatal; // @[MMU.scala 338:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  kill_iptw = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  kill_dptw = _RAND_1[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module diff(
  input  [63:0] io_diffXReg_0,
  input  [63:0] io_diffXReg_1,
  input  [63:0] io_diffXReg_2,
  input  [63:0] io_diffXReg_3,
  input  [63:0] io_diffXReg_4,
  input  [63:0] io_diffXReg_5,
  input  [63:0] io_diffXReg_6,
  input  [63:0] io_diffXReg_7,
  input  [63:0] io_diffXReg_8,
  input  [63:0] io_diffXReg_9,
  input  [63:0] io_diffXReg_10,
  input  [63:0] io_diffXReg_11,
  input  [63:0] io_diffXReg_12,
  input  [63:0] io_diffXReg_13,
  input  [63:0] io_diffXReg_14,
  input  [63:0] io_diffXReg_15,
  input  [63:0] io_diffXReg_16,
  input  [63:0] io_diffXReg_17,
  input  [63:0] io_diffXReg_18,
  input  [63:0] io_diffXReg_19,
  input  [63:0] io_diffXReg_20,
  input  [63:0] io_diffXReg_21,
  input  [63:0] io_diffXReg_22,
  input  [63:0] io_diffXReg_23,
  input  [63:0] io_diffXReg_24,
  input  [63:0] io_diffXReg_25,
  input  [63:0] io_diffXReg_26,
  input  [63:0] io_diffXReg_27,
  input  [63:0] io_diffXReg_28,
  input  [63:0] io_diffXReg_29,
  input  [63:0] io_diffXReg_30,
  input  [63:0] io_diffXReg_31,
  input  [64:0] io_diffFReg_0,
  input  [64:0] io_diffFReg_1,
  input  [64:0] io_diffFReg_2,
  input  [64:0] io_diffFReg_3,
  input  [64:0] io_diffFReg_4,
  input  [64:0] io_diffFReg_5,
  input  [64:0] io_diffFReg_6,
  input  [64:0] io_diffFReg_7,
  input  [64:0] io_diffFReg_8,
  input  [64:0] io_diffFReg_9,
  input  [64:0] io_diffFReg_10,
  input  [64:0] io_diffFReg_11,
  input  [64:0] io_diffFReg_12,
  input  [64:0] io_diffFReg_13,
  input  [64:0] io_diffFReg_14,
  input  [64:0] io_diffFReg_15,
  input  [64:0] io_diffFReg_16,
  input  [64:0] io_diffFReg_17,
  input  [64:0] io_diffFReg_18,
  input  [64:0] io_diffFReg_19,
  input  [64:0] io_diffFReg_20,
  input  [64:0] io_diffFReg_21,
  input  [64:0] io_diffFReg_22,
  input  [64:0] io_diffFReg_23,
  input  [64:0] io_diffFReg_24,
  input  [64:0] io_diffFReg_25,
  input  [64:0] io_diffFReg_26,
  input  [64:0] io_diffFReg_27,
  input  [64:0] io_diffFReg_28,
  input  [64:0] io_diffFReg_29,
  input  [64:0] io_diffFReg_30,
  input  [64:0] io_diffFReg_31,
  input  [63:0] io_commit_pc_0,
  input         io_commit_comfirm_0,
  input         io_commit_abort_0,
  input  [1:0]  io_commit_priv_lvl,
  input         io_commit_is_ecall_M,
  input         io_commit_is_ecall_S,
  input         io_commit_is_ecall_U,
  input  [63:0] io_csr_mstatus,
  input  [63:0] io_csr_mtvec,
  input  [63:0] io_csr_mscratch,
  input  [63:0] io_csr_mepc,
  input  [63:0] io_csr_mcause,
  input  [63:0] io_csr_mtval,
  input  [63:0] io_csr_mvendorid,
  input  [63:0] io_csr_marchid,
  input  [63:0] io_csr_mimpid,
  input  [63:0] io_csr_mhartid,
  input  [63:0] io_csr_misa,
  input  [63:0] io_csr_mie,
  input  [63:0] io_csr_mip,
  input  [63:0] io_csr_medeleg,
  input  [63:0] io_csr_mideleg,
  input  [63:0] io_csr_pmpcfg_0,
  input  [63:0] io_csr_pmpaddr_0,
  input  [63:0] io_csr_pmpaddr_1,
  input  [63:0] io_csr_pmpaddr_2,
  input  [63:0] io_csr_pmpaddr_3,
  input  [63:0] io_csr_pmpaddr_4,
  input  [63:0] io_csr_pmpaddr_5,
  input  [63:0] io_csr_pmpaddr_6,
  input  [63:0] io_csr_pmpaddr_7,
  input  [63:0] io_csr_stvec,
  input  [63:0] io_csr_sscratch,
  input  [63:0] io_csr_sepc,
  input  [63:0] io_csr_scause,
  input  [63:0] io_csr_stval,
  input  [63:0] io_csr_satp,
  input  [31:0] io_csr_fflags,
  input  [7:0]  io_csr_frm,
  input  [63:0] io_csr_mcycle,
  input  [63:0] io_csr_minstret,
  input  [63:0] io_csr_mhpmcounter_0,
  input  [63:0] io_csr_mhpmcounter_1,
  input  [63:0] io_csr_mhpmcounter_2,
  input  [63:0] io_csr_mhpmcounter_3,
  input  [63:0] io_csr_mhpmcounter_4,
  input  [63:0] io_csr_mhpmcounter_5,
  input  [63:0] io_csr_mhpmcounter_6,
  input  [63:0] io_csr_mhpmcounter_7,
  input  [63:0] io_csr_mhpmcounter_8,
  input  [63:0] io_csr_mhpmcounter_9,
  input  [63:0] io_csr_mhpmcounter_10,
  input  [63:0] io_csr_mhpmcounter_11,
  input  [63:0] io_csr_mhpmcounter_12,
  input  [63:0] io_csr_mhpmcounter_13,
  input  [63:0] io_csr_mhpmcounter_14,
  input  [63:0] io_csr_mhpmcounter_15,
  input  [63:0] io_csr_mhpmcounter_16,
  input  [63:0] io_csr_mhpmcounter_17,
  input  [63:0] io_csr_mhpmcounter_18,
  input  [63:0] io_csr_mhpmcounter_19,
  input  [63:0] io_csr_mhpmcounter_20,
  input  [63:0] io_csr_mhpmcounter_21,
  input  [63:0] io_csr_mhpmcounter_22,
  input  [63:0] io_csr_mhpmcounter_23,
  input  [63:0] io_csr_mhpmcounter_24,
  input  [63:0] io_csr_mhpmcounter_25,
  input  [63:0] io_csr_mhpmcounter_26,
  input  [63:0] io_csr_mhpmcounter_27,
  input  [63:0] io_csr_mhpmcounter_28,
  input  [63:0] io_csr_mhpmcounter_29,
  input  [63:0] io_csr_mhpmcounter_30,
  input  [63:0] io_csr_mhpmcounter_31
);
  wire [32:0] FReg1_ft_0_unbx_floats_0 = {io_diffFReg_0[31],io_diffFReg_0[52],io_diffFReg_0[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_0_unbx_isbox = &io_diffFReg_0[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_0_unbx_T = FReg1_ft_0_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_0_unbx = FReg1_ft_0_unbx_floats_0 | _FReg1_ft_0_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_0_ie_rawIn_exp = FReg1_ft_0_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_0_ie_rawIn_isZero = FReg1_ft_0_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_0_ie_rawIn_isSpecial = FReg1_ft_0_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_0_ie_rawIn__isNaN = FReg1_ft_0_ie_rawIn_isSpecial & FReg1_ft_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_0_ie_rawIn__isInf = FReg1_ft_0_ie_rawIn_isSpecial & ~FReg1_ft_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_0_ie_rawIn__sign = FReg1_ft_0_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_0_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_0_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_0_ie_rawIn_out_sig_T = ~FReg1_ft_0_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_0_ie_rawIn__sig = {1'h0,_FReg1_ft_0_ie_rawIn_out_sig_T,FReg1_ft_0_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_0_ie_isSubnormal = $signed(FReg1_ft_0_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_0_ie_denormShiftDist = 5'h1 - FReg1_ft_0_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_0_ie_denormFract_T_1 = FReg1_ft_0_ie_rawIn__sig[24:1] >> FReg1_ft_0_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_0_ie_denormFract = _FReg1_ft_0_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_0_ie_expOut_T_2 = FReg1_ft_0_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_0_ie_expOut_T_3 = FReg1_ft_0_ie_isSubnormal ? 8'h0 : _FReg1_ft_0_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_0_ie_expOut_T_4 = FReg1_ft_0_ie_rawIn__isNaN | FReg1_ft_0_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_0_ie_expOut_T_6 = _FReg1_ft_0_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_0_ie_expOut = _FReg1_ft_0_ie_expOut_T_3 | _FReg1_ft_0_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_0_ie_fractOut_T_1 = FReg1_ft_0_ie_rawIn__isInf ? 23'h0 : FReg1_ft_0_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_0_ie_fractOut = FReg1_ft_0_ie_isSubnormal ? FReg1_ft_0_ie_denormFract :
    _FReg1_ft_0_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_0_ie = {FReg1_ft_0_ie_rawIn__sign,FReg1_ft_0_ie_expOut,FReg1_ft_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_0_T_3 = FReg1_ft_0_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_1_unbx_floats_0 = {io_diffFReg_1[31],io_diffFReg_1[52],io_diffFReg_1[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_1_unbx_isbox = &io_diffFReg_1[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_1_unbx_T = FReg1_ft_1_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_1_unbx = FReg1_ft_1_unbx_floats_0 | _FReg1_ft_1_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_1_ie_rawIn_exp = FReg1_ft_1_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_1_ie_rawIn_isZero = FReg1_ft_1_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_1_ie_rawIn_isSpecial = FReg1_ft_1_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_1_ie_rawIn__isNaN = FReg1_ft_1_ie_rawIn_isSpecial & FReg1_ft_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_1_ie_rawIn__isInf = FReg1_ft_1_ie_rawIn_isSpecial & ~FReg1_ft_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_1_ie_rawIn__sign = FReg1_ft_1_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_1_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_1_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_1_ie_rawIn_out_sig_T = ~FReg1_ft_1_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_1_ie_rawIn__sig = {1'h0,_FReg1_ft_1_ie_rawIn_out_sig_T,FReg1_ft_1_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_1_ie_isSubnormal = $signed(FReg1_ft_1_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_1_ie_denormShiftDist = 5'h1 - FReg1_ft_1_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_1_ie_denormFract_T_1 = FReg1_ft_1_ie_rawIn__sig[24:1] >> FReg1_ft_1_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_1_ie_denormFract = _FReg1_ft_1_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_1_ie_expOut_T_2 = FReg1_ft_1_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_1_ie_expOut_T_3 = FReg1_ft_1_ie_isSubnormal ? 8'h0 : _FReg1_ft_1_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_1_ie_expOut_T_4 = FReg1_ft_1_ie_rawIn__isNaN | FReg1_ft_1_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_1_ie_expOut_T_6 = _FReg1_ft_1_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_1_ie_expOut = _FReg1_ft_1_ie_expOut_T_3 | _FReg1_ft_1_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_1_ie_fractOut_T_1 = FReg1_ft_1_ie_rawIn__isInf ? 23'h0 : FReg1_ft_1_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_1_ie_fractOut = FReg1_ft_1_ie_isSubnormal ? FReg1_ft_1_ie_denormFract :
    _FReg1_ft_1_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_1_ie = {FReg1_ft_1_ie_rawIn__sign,FReg1_ft_1_ie_expOut,FReg1_ft_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_1_T_3 = FReg1_ft_1_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_2_unbx_floats_0 = {io_diffFReg_2[31],io_diffFReg_2[52],io_diffFReg_2[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_2_unbx_isbox = &io_diffFReg_2[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_2_unbx_T = FReg1_ft_2_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_2_unbx = FReg1_ft_2_unbx_floats_0 | _FReg1_ft_2_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_2_ie_rawIn_exp = FReg1_ft_2_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_2_ie_rawIn_isZero = FReg1_ft_2_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_2_ie_rawIn_isSpecial = FReg1_ft_2_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_2_ie_rawIn__isNaN = FReg1_ft_2_ie_rawIn_isSpecial & FReg1_ft_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_2_ie_rawIn__isInf = FReg1_ft_2_ie_rawIn_isSpecial & ~FReg1_ft_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_2_ie_rawIn__sign = FReg1_ft_2_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_2_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_2_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_2_ie_rawIn_out_sig_T = ~FReg1_ft_2_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_2_ie_rawIn__sig = {1'h0,_FReg1_ft_2_ie_rawIn_out_sig_T,FReg1_ft_2_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_2_ie_isSubnormal = $signed(FReg1_ft_2_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_2_ie_denormShiftDist = 5'h1 - FReg1_ft_2_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_2_ie_denormFract_T_1 = FReg1_ft_2_ie_rawIn__sig[24:1] >> FReg1_ft_2_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_2_ie_denormFract = _FReg1_ft_2_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_2_ie_expOut_T_2 = FReg1_ft_2_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_2_ie_expOut_T_3 = FReg1_ft_2_ie_isSubnormal ? 8'h0 : _FReg1_ft_2_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_2_ie_expOut_T_4 = FReg1_ft_2_ie_rawIn__isNaN | FReg1_ft_2_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_2_ie_expOut_T_6 = _FReg1_ft_2_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_2_ie_expOut = _FReg1_ft_2_ie_expOut_T_3 | _FReg1_ft_2_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_2_ie_fractOut_T_1 = FReg1_ft_2_ie_rawIn__isInf ? 23'h0 : FReg1_ft_2_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_2_ie_fractOut = FReg1_ft_2_ie_isSubnormal ? FReg1_ft_2_ie_denormFract :
    _FReg1_ft_2_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_2_ie = {FReg1_ft_2_ie_rawIn__sign,FReg1_ft_2_ie_expOut,FReg1_ft_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_2_T_3 = FReg1_ft_2_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_3_unbx_floats_0 = {io_diffFReg_3[31],io_diffFReg_3[52],io_diffFReg_3[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_3_unbx_isbox = &io_diffFReg_3[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_3_unbx_T = FReg1_ft_3_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_3_unbx = FReg1_ft_3_unbx_floats_0 | _FReg1_ft_3_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_3_ie_rawIn_exp = FReg1_ft_3_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_3_ie_rawIn_isZero = FReg1_ft_3_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_3_ie_rawIn_isSpecial = FReg1_ft_3_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_3_ie_rawIn__isNaN = FReg1_ft_3_ie_rawIn_isSpecial & FReg1_ft_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_3_ie_rawIn__isInf = FReg1_ft_3_ie_rawIn_isSpecial & ~FReg1_ft_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_3_ie_rawIn__sign = FReg1_ft_3_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_3_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_3_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_3_ie_rawIn_out_sig_T = ~FReg1_ft_3_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_3_ie_rawIn__sig = {1'h0,_FReg1_ft_3_ie_rawIn_out_sig_T,FReg1_ft_3_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_3_ie_isSubnormal = $signed(FReg1_ft_3_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_3_ie_denormShiftDist = 5'h1 - FReg1_ft_3_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_3_ie_denormFract_T_1 = FReg1_ft_3_ie_rawIn__sig[24:1] >> FReg1_ft_3_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_3_ie_denormFract = _FReg1_ft_3_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_3_ie_expOut_T_2 = FReg1_ft_3_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_3_ie_expOut_T_3 = FReg1_ft_3_ie_isSubnormal ? 8'h0 : _FReg1_ft_3_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_3_ie_expOut_T_4 = FReg1_ft_3_ie_rawIn__isNaN | FReg1_ft_3_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_3_ie_expOut_T_6 = _FReg1_ft_3_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_3_ie_expOut = _FReg1_ft_3_ie_expOut_T_3 | _FReg1_ft_3_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_3_ie_fractOut_T_1 = FReg1_ft_3_ie_rawIn__isInf ? 23'h0 : FReg1_ft_3_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_3_ie_fractOut = FReg1_ft_3_ie_isSubnormal ? FReg1_ft_3_ie_denormFract :
    _FReg1_ft_3_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_3_ie = {FReg1_ft_3_ie_rawIn__sign,FReg1_ft_3_ie_expOut,FReg1_ft_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_3_T_3 = FReg1_ft_3_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_4_unbx_floats_0 = {io_diffFReg_4[31],io_diffFReg_4[52],io_diffFReg_4[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_4_unbx_isbox = &io_diffFReg_4[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_4_unbx_T = FReg1_ft_4_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_4_unbx = FReg1_ft_4_unbx_floats_0 | _FReg1_ft_4_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_4_ie_rawIn_exp = FReg1_ft_4_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_4_ie_rawIn_isZero = FReg1_ft_4_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_4_ie_rawIn_isSpecial = FReg1_ft_4_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_4_ie_rawIn__isNaN = FReg1_ft_4_ie_rawIn_isSpecial & FReg1_ft_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_4_ie_rawIn__isInf = FReg1_ft_4_ie_rawIn_isSpecial & ~FReg1_ft_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_4_ie_rawIn__sign = FReg1_ft_4_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_4_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_4_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_4_ie_rawIn_out_sig_T = ~FReg1_ft_4_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_4_ie_rawIn__sig = {1'h0,_FReg1_ft_4_ie_rawIn_out_sig_T,FReg1_ft_4_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_4_ie_isSubnormal = $signed(FReg1_ft_4_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_4_ie_denormShiftDist = 5'h1 - FReg1_ft_4_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_4_ie_denormFract_T_1 = FReg1_ft_4_ie_rawIn__sig[24:1] >> FReg1_ft_4_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_4_ie_denormFract = _FReg1_ft_4_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_4_ie_expOut_T_2 = FReg1_ft_4_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_4_ie_expOut_T_3 = FReg1_ft_4_ie_isSubnormal ? 8'h0 : _FReg1_ft_4_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_4_ie_expOut_T_4 = FReg1_ft_4_ie_rawIn__isNaN | FReg1_ft_4_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_4_ie_expOut_T_6 = _FReg1_ft_4_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_4_ie_expOut = _FReg1_ft_4_ie_expOut_T_3 | _FReg1_ft_4_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_4_ie_fractOut_T_1 = FReg1_ft_4_ie_rawIn__isInf ? 23'h0 : FReg1_ft_4_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_4_ie_fractOut = FReg1_ft_4_ie_isSubnormal ? FReg1_ft_4_ie_denormFract :
    _FReg1_ft_4_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_4_ie = {FReg1_ft_4_ie_rawIn__sign,FReg1_ft_4_ie_expOut,FReg1_ft_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_4_T_3 = FReg1_ft_4_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_5_unbx_floats_0 = {io_diffFReg_5[31],io_diffFReg_5[52],io_diffFReg_5[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_5_unbx_isbox = &io_diffFReg_5[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_5_unbx_T = FReg1_ft_5_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_5_unbx = FReg1_ft_5_unbx_floats_0 | _FReg1_ft_5_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_5_ie_rawIn_exp = FReg1_ft_5_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_5_ie_rawIn_isZero = FReg1_ft_5_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_5_ie_rawIn_isSpecial = FReg1_ft_5_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_5_ie_rawIn__isNaN = FReg1_ft_5_ie_rawIn_isSpecial & FReg1_ft_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_5_ie_rawIn__isInf = FReg1_ft_5_ie_rawIn_isSpecial & ~FReg1_ft_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_5_ie_rawIn__sign = FReg1_ft_5_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_5_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_5_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_5_ie_rawIn_out_sig_T = ~FReg1_ft_5_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_5_ie_rawIn__sig = {1'h0,_FReg1_ft_5_ie_rawIn_out_sig_T,FReg1_ft_5_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_5_ie_isSubnormal = $signed(FReg1_ft_5_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_5_ie_denormShiftDist = 5'h1 - FReg1_ft_5_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_5_ie_denormFract_T_1 = FReg1_ft_5_ie_rawIn__sig[24:1] >> FReg1_ft_5_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_5_ie_denormFract = _FReg1_ft_5_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_5_ie_expOut_T_2 = FReg1_ft_5_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_5_ie_expOut_T_3 = FReg1_ft_5_ie_isSubnormal ? 8'h0 : _FReg1_ft_5_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_5_ie_expOut_T_4 = FReg1_ft_5_ie_rawIn__isNaN | FReg1_ft_5_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_5_ie_expOut_T_6 = _FReg1_ft_5_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_5_ie_expOut = _FReg1_ft_5_ie_expOut_T_3 | _FReg1_ft_5_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_5_ie_fractOut_T_1 = FReg1_ft_5_ie_rawIn__isInf ? 23'h0 : FReg1_ft_5_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_5_ie_fractOut = FReg1_ft_5_ie_isSubnormal ? FReg1_ft_5_ie_denormFract :
    _FReg1_ft_5_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_5_ie = {FReg1_ft_5_ie_rawIn__sign,FReg1_ft_5_ie_expOut,FReg1_ft_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_5_T_3 = FReg1_ft_5_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_6_unbx_floats_0 = {io_diffFReg_6[31],io_diffFReg_6[52],io_diffFReg_6[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_6_unbx_isbox = &io_diffFReg_6[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_6_unbx_T = FReg1_ft_6_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_6_unbx = FReg1_ft_6_unbx_floats_0 | _FReg1_ft_6_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_6_ie_rawIn_exp = FReg1_ft_6_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_6_ie_rawIn_isZero = FReg1_ft_6_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_6_ie_rawIn_isSpecial = FReg1_ft_6_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_6_ie_rawIn__isNaN = FReg1_ft_6_ie_rawIn_isSpecial & FReg1_ft_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_6_ie_rawIn__isInf = FReg1_ft_6_ie_rawIn_isSpecial & ~FReg1_ft_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_6_ie_rawIn__sign = FReg1_ft_6_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_6_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_6_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_6_ie_rawIn_out_sig_T = ~FReg1_ft_6_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_6_ie_rawIn__sig = {1'h0,_FReg1_ft_6_ie_rawIn_out_sig_T,FReg1_ft_6_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_6_ie_isSubnormal = $signed(FReg1_ft_6_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_6_ie_denormShiftDist = 5'h1 - FReg1_ft_6_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_6_ie_denormFract_T_1 = FReg1_ft_6_ie_rawIn__sig[24:1] >> FReg1_ft_6_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_6_ie_denormFract = _FReg1_ft_6_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_6_ie_expOut_T_2 = FReg1_ft_6_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_6_ie_expOut_T_3 = FReg1_ft_6_ie_isSubnormal ? 8'h0 : _FReg1_ft_6_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_6_ie_expOut_T_4 = FReg1_ft_6_ie_rawIn__isNaN | FReg1_ft_6_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_6_ie_expOut_T_6 = _FReg1_ft_6_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_6_ie_expOut = _FReg1_ft_6_ie_expOut_T_3 | _FReg1_ft_6_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_6_ie_fractOut_T_1 = FReg1_ft_6_ie_rawIn__isInf ? 23'h0 : FReg1_ft_6_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_6_ie_fractOut = FReg1_ft_6_ie_isSubnormal ? FReg1_ft_6_ie_denormFract :
    _FReg1_ft_6_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_6_ie = {FReg1_ft_6_ie_rawIn__sign,FReg1_ft_6_ie_expOut,FReg1_ft_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_6_T_3 = FReg1_ft_6_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_7_unbx_floats_0 = {io_diffFReg_7[31],io_diffFReg_7[52],io_diffFReg_7[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_7_unbx_isbox = &io_diffFReg_7[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_7_unbx_T = FReg1_ft_7_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_7_unbx = FReg1_ft_7_unbx_floats_0 | _FReg1_ft_7_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_7_ie_rawIn_exp = FReg1_ft_7_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_7_ie_rawIn_isZero = FReg1_ft_7_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_7_ie_rawIn_isSpecial = FReg1_ft_7_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_7_ie_rawIn__isNaN = FReg1_ft_7_ie_rawIn_isSpecial & FReg1_ft_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_7_ie_rawIn__isInf = FReg1_ft_7_ie_rawIn_isSpecial & ~FReg1_ft_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_7_ie_rawIn__sign = FReg1_ft_7_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_7_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_7_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_7_ie_rawIn_out_sig_T = ~FReg1_ft_7_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_7_ie_rawIn__sig = {1'h0,_FReg1_ft_7_ie_rawIn_out_sig_T,FReg1_ft_7_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_7_ie_isSubnormal = $signed(FReg1_ft_7_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_7_ie_denormShiftDist = 5'h1 - FReg1_ft_7_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_7_ie_denormFract_T_1 = FReg1_ft_7_ie_rawIn__sig[24:1] >> FReg1_ft_7_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_7_ie_denormFract = _FReg1_ft_7_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_7_ie_expOut_T_2 = FReg1_ft_7_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_7_ie_expOut_T_3 = FReg1_ft_7_ie_isSubnormal ? 8'h0 : _FReg1_ft_7_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_7_ie_expOut_T_4 = FReg1_ft_7_ie_rawIn__isNaN | FReg1_ft_7_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_7_ie_expOut_T_6 = _FReg1_ft_7_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_7_ie_expOut = _FReg1_ft_7_ie_expOut_T_3 | _FReg1_ft_7_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_7_ie_fractOut_T_1 = FReg1_ft_7_ie_rawIn__isInf ? 23'h0 : FReg1_ft_7_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_7_ie_fractOut = FReg1_ft_7_ie_isSubnormal ? FReg1_ft_7_ie_denormFract :
    _FReg1_ft_7_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_7_ie = {FReg1_ft_7_ie_rawIn__sign,FReg1_ft_7_ie_expOut,FReg1_ft_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_7_T_3 = FReg1_ft_7_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_0_unbx_floats_0 = {io_diffFReg_8[31],io_diffFReg_8[52],io_diffFReg_8[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_0_unbx_isbox = &io_diffFReg_8[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_0_unbx_T = FReg1_fs_0_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_0_unbx = FReg1_fs_0_unbx_floats_0 | _FReg1_fs_0_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_0_ie_rawIn_exp = FReg1_fs_0_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_0_ie_rawIn_isZero = FReg1_fs_0_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_0_ie_rawIn_isSpecial = FReg1_fs_0_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_0_ie_rawIn__isNaN = FReg1_fs_0_ie_rawIn_isSpecial & FReg1_fs_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_0_ie_rawIn__isInf = FReg1_fs_0_ie_rawIn_isSpecial & ~FReg1_fs_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_0_ie_rawIn__sign = FReg1_fs_0_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_0_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_0_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_0_ie_rawIn_out_sig_T = ~FReg1_fs_0_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_0_ie_rawIn__sig = {1'h0,_FReg1_fs_0_ie_rawIn_out_sig_T,FReg1_fs_0_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_0_ie_isSubnormal = $signed(FReg1_fs_0_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_0_ie_denormShiftDist = 5'h1 - FReg1_fs_0_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_0_ie_denormFract_T_1 = FReg1_fs_0_ie_rawIn__sig[24:1] >> FReg1_fs_0_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_0_ie_denormFract = _FReg1_fs_0_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_0_ie_expOut_T_2 = FReg1_fs_0_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_0_ie_expOut_T_3 = FReg1_fs_0_ie_isSubnormal ? 8'h0 : _FReg1_fs_0_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_0_ie_expOut_T_4 = FReg1_fs_0_ie_rawIn__isNaN | FReg1_fs_0_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_0_ie_expOut_T_6 = _FReg1_fs_0_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_0_ie_expOut = _FReg1_fs_0_ie_expOut_T_3 | _FReg1_fs_0_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_0_ie_fractOut_T_1 = FReg1_fs_0_ie_rawIn__isInf ? 23'h0 : FReg1_fs_0_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_0_ie_fractOut = FReg1_fs_0_ie_isSubnormal ? FReg1_fs_0_ie_denormFract :
    _FReg1_fs_0_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_0_ie = {FReg1_fs_0_ie_rawIn__sign,FReg1_fs_0_ie_expOut,FReg1_fs_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_0_T_3 = FReg1_fs_0_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_1_unbx_floats_0 = {io_diffFReg_9[31],io_diffFReg_9[52],io_diffFReg_9[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_1_unbx_isbox = &io_diffFReg_9[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_1_unbx_T = FReg1_fs_1_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_1_unbx = FReg1_fs_1_unbx_floats_0 | _FReg1_fs_1_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_1_ie_rawIn_exp = FReg1_fs_1_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_1_ie_rawIn_isZero = FReg1_fs_1_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_1_ie_rawIn_isSpecial = FReg1_fs_1_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_1_ie_rawIn__isNaN = FReg1_fs_1_ie_rawIn_isSpecial & FReg1_fs_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_1_ie_rawIn__isInf = FReg1_fs_1_ie_rawIn_isSpecial & ~FReg1_fs_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_1_ie_rawIn__sign = FReg1_fs_1_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_1_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_1_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_1_ie_rawIn_out_sig_T = ~FReg1_fs_1_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_1_ie_rawIn__sig = {1'h0,_FReg1_fs_1_ie_rawIn_out_sig_T,FReg1_fs_1_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_1_ie_isSubnormal = $signed(FReg1_fs_1_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_1_ie_denormShiftDist = 5'h1 - FReg1_fs_1_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_1_ie_denormFract_T_1 = FReg1_fs_1_ie_rawIn__sig[24:1] >> FReg1_fs_1_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_1_ie_denormFract = _FReg1_fs_1_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_1_ie_expOut_T_2 = FReg1_fs_1_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_1_ie_expOut_T_3 = FReg1_fs_1_ie_isSubnormal ? 8'h0 : _FReg1_fs_1_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_1_ie_expOut_T_4 = FReg1_fs_1_ie_rawIn__isNaN | FReg1_fs_1_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_1_ie_expOut_T_6 = _FReg1_fs_1_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_1_ie_expOut = _FReg1_fs_1_ie_expOut_T_3 | _FReg1_fs_1_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_1_ie_fractOut_T_1 = FReg1_fs_1_ie_rawIn__isInf ? 23'h0 : FReg1_fs_1_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_1_ie_fractOut = FReg1_fs_1_ie_isSubnormal ? FReg1_fs_1_ie_denormFract :
    _FReg1_fs_1_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_1_ie = {FReg1_fs_1_ie_rawIn__sign,FReg1_fs_1_ie_expOut,FReg1_fs_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_1_T_3 = FReg1_fs_1_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_0_unbx_floats_0 = {io_diffFReg_10[31],io_diffFReg_10[52],io_diffFReg_10[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_0_unbx_isbox = &io_diffFReg_10[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_0_unbx_T = FReg1_fa_0_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_0_unbx = FReg1_fa_0_unbx_floats_0 | _FReg1_fa_0_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_0_ie_rawIn_exp = FReg1_fa_0_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_0_ie_rawIn_isZero = FReg1_fa_0_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_0_ie_rawIn_isSpecial = FReg1_fa_0_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_0_ie_rawIn__isNaN = FReg1_fa_0_ie_rawIn_isSpecial & FReg1_fa_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_0_ie_rawIn__isInf = FReg1_fa_0_ie_rawIn_isSpecial & ~FReg1_fa_0_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_0_ie_rawIn__sign = FReg1_fa_0_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_0_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_0_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_0_ie_rawIn_out_sig_T = ~FReg1_fa_0_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_0_ie_rawIn__sig = {1'h0,_FReg1_fa_0_ie_rawIn_out_sig_T,FReg1_fa_0_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_0_ie_isSubnormal = $signed(FReg1_fa_0_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_0_ie_denormShiftDist = 5'h1 - FReg1_fa_0_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_0_ie_denormFract_T_1 = FReg1_fa_0_ie_rawIn__sig[24:1] >> FReg1_fa_0_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_0_ie_denormFract = _FReg1_fa_0_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_0_ie_expOut_T_2 = FReg1_fa_0_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_0_ie_expOut_T_3 = FReg1_fa_0_ie_isSubnormal ? 8'h0 : _FReg1_fa_0_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_0_ie_expOut_T_4 = FReg1_fa_0_ie_rawIn__isNaN | FReg1_fa_0_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_0_ie_expOut_T_6 = _FReg1_fa_0_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_0_ie_expOut = _FReg1_fa_0_ie_expOut_T_3 | _FReg1_fa_0_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_0_ie_fractOut_T_1 = FReg1_fa_0_ie_rawIn__isInf ? 23'h0 : FReg1_fa_0_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_0_ie_fractOut = FReg1_fa_0_ie_isSubnormal ? FReg1_fa_0_ie_denormFract :
    _FReg1_fa_0_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_0_ie = {FReg1_fa_0_ie_rawIn__sign,FReg1_fa_0_ie_expOut,FReg1_fa_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_0_T_3 = FReg1_fa_0_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_1_unbx_floats_0 = {io_diffFReg_11[31],io_diffFReg_11[52],io_diffFReg_11[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_1_unbx_isbox = &io_diffFReg_11[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_1_unbx_T = FReg1_fa_1_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_1_unbx = FReg1_fa_1_unbx_floats_0 | _FReg1_fa_1_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_1_ie_rawIn_exp = FReg1_fa_1_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_1_ie_rawIn_isZero = FReg1_fa_1_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_1_ie_rawIn_isSpecial = FReg1_fa_1_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_1_ie_rawIn__isNaN = FReg1_fa_1_ie_rawIn_isSpecial & FReg1_fa_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_1_ie_rawIn__isInf = FReg1_fa_1_ie_rawIn_isSpecial & ~FReg1_fa_1_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_1_ie_rawIn__sign = FReg1_fa_1_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_1_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_1_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_1_ie_rawIn_out_sig_T = ~FReg1_fa_1_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_1_ie_rawIn__sig = {1'h0,_FReg1_fa_1_ie_rawIn_out_sig_T,FReg1_fa_1_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_1_ie_isSubnormal = $signed(FReg1_fa_1_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_1_ie_denormShiftDist = 5'h1 - FReg1_fa_1_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_1_ie_denormFract_T_1 = FReg1_fa_1_ie_rawIn__sig[24:1] >> FReg1_fa_1_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_1_ie_denormFract = _FReg1_fa_1_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_1_ie_expOut_T_2 = FReg1_fa_1_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_1_ie_expOut_T_3 = FReg1_fa_1_ie_isSubnormal ? 8'h0 : _FReg1_fa_1_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_1_ie_expOut_T_4 = FReg1_fa_1_ie_rawIn__isNaN | FReg1_fa_1_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_1_ie_expOut_T_6 = _FReg1_fa_1_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_1_ie_expOut = _FReg1_fa_1_ie_expOut_T_3 | _FReg1_fa_1_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_1_ie_fractOut_T_1 = FReg1_fa_1_ie_rawIn__isInf ? 23'h0 : FReg1_fa_1_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_1_ie_fractOut = FReg1_fa_1_ie_isSubnormal ? FReg1_fa_1_ie_denormFract :
    _FReg1_fa_1_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_1_ie = {FReg1_fa_1_ie_rawIn__sign,FReg1_fa_1_ie_expOut,FReg1_fa_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_1_T_3 = FReg1_fa_1_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_2_unbx_floats_0 = {io_diffFReg_12[31],io_diffFReg_12[52],io_diffFReg_12[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_2_unbx_isbox = &io_diffFReg_12[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_2_unbx_T = FReg1_fa_2_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_2_unbx = FReg1_fa_2_unbx_floats_0 | _FReg1_fa_2_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_2_ie_rawIn_exp = FReg1_fa_2_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_2_ie_rawIn_isZero = FReg1_fa_2_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_2_ie_rawIn_isSpecial = FReg1_fa_2_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_2_ie_rawIn__isNaN = FReg1_fa_2_ie_rawIn_isSpecial & FReg1_fa_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_2_ie_rawIn__isInf = FReg1_fa_2_ie_rawIn_isSpecial & ~FReg1_fa_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_2_ie_rawIn__sign = FReg1_fa_2_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_2_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_2_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_2_ie_rawIn_out_sig_T = ~FReg1_fa_2_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_2_ie_rawIn__sig = {1'h0,_FReg1_fa_2_ie_rawIn_out_sig_T,FReg1_fa_2_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_2_ie_isSubnormal = $signed(FReg1_fa_2_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_2_ie_denormShiftDist = 5'h1 - FReg1_fa_2_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_2_ie_denormFract_T_1 = FReg1_fa_2_ie_rawIn__sig[24:1] >> FReg1_fa_2_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_2_ie_denormFract = _FReg1_fa_2_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_2_ie_expOut_T_2 = FReg1_fa_2_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_2_ie_expOut_T_3 = FReg1_fa_2_ie_isSubnormal ? 8'h0 : _FReg1_fa_2_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_2_ie_expOut_T_4 = FReg1_fa_2_ie_rawIn__isNaN | FReg1_fa_2_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_2_ie_expOut_T_6 = _FReg1_fa_2_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_2_ie_expOut = _FReg1_fa_2_ie_expOut_T_3 | _FReg1_fa_2_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_2_ie_fractOut_T_1 = FReg1_fa_2_ie_rawIn__isInf ? 23'h0 : FReg1_fa_2_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_2_ie_fractOut = FReg1_fa_2_ie_isSubnormal ? FReg1_fa_2_ie_denormFract :
    _FReg1_fa_2_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_2_ie = {FReg1_fa_2_ie_rawIn__sign,FReg1_fa_2_ie_expOut,FReg1_fa_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_2_T_3 = FReg1_fa_2_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_3_unbx_floats_0 = {io_diffFReg_13[31],io_diffFReg_13[52],io_diffFReg_13[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_3_unbx_isbox = &io_diffFReg_13[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_3_unbx_T = FReg1_fa_3_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_3_unbx = FReg1_fa_3_unbx_floats_0 | _FReg1_fa_3_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_3_ie_rawIn_exp = FReg1_fa_3_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_3_ie_rawIn_isZero = FReg1_fa_3_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_3_ie_rawIn_isSpecial = FReg1_fa_3_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_3_ie_rawIn__isNaN = FReg1_fa_3_ie_rawIn_isSpecial & FReg1_fa_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_3_ie_rawIn__isInf = FReg1_fa_3_ie_rawIn_isSpecial & ~FReg1_fa_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_3_ie_rawIn__sign = FReg1_fa_3_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_3_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_3_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_3_ie_rawIn_out_sig_T = ~FReg1_fa_3_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_3_ie_rawIn__sig = {1'h0,_FReg1_fa_3_ie_rawIn_out_sig_T,FReg1_fa_3_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_3_ie_isSubnormal = $signed(FReg1_fa_3_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_3_ie_denormShiftDist = 5'h1 - FReg1_fa_3_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_3_ie_denormFract_T_1 = FReg1_fa_3_ie_rawIn__sig[24:1] >> FReg1_fa_3_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_3_ie_denormFract = _FReg1_fa_3_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_3_ie_expOut_T_2 = FReg1_fa_3_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_3_ie_expOut_T_3 = FReg1_fa_3_ie_isSubnormal ? 8'h0 : _FReg1_fa_3_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_3_ie_expOut_T_4 = FReg1_fa_3_ie_rawIn__isNaN | FReg1_fa_3_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_3_ie_expOut_T_6 = _FReg1_fa_3_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_3_ie_expOut = _FReg1_fa_3_ie_expOut_T_3 | _FReg1_fa_3_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_3_ie_fractOut_T_1 = FReg1_fa_3_ie_rawIn__isInf ? 23'h0 : FReg1_fa_3_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_3_ie_fractOut = FReg1_fa_3_ie_isSubnormal ? FReg1_fa_3_ie_denormFract :
    _FReg1_fa_3_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_3_ie = {FReg1_fa_3_ie_rawIn__sign,FReg1_fa_3_ie_expOut,FReg1_fa_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_3_T_3 = FReg1_fa_3_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_4_unbx_floats_0 = {io_diffFReg_14[31],io_diffFReg_14[52],io_diffFReg_14[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_4_unbx_isbox = &io_diffFReg_14[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_4_unbx_T = FReg1_fa_4_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_4_unbx = FReg1_fa_4_unbx_floats_0 | _FReg1_fa_4_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_4_ie_rawIn_exp = FReg1_fa_4_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_4_ie_rawIn_isZero = FReg1_fa_4_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_4_ie_rawIn_isSpecial = FReg1_fa_4_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_4_ie_rawIn__isNaN = FReg1_fa_4_ie_rawIn_isSpecial & FReg1_fa_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_4_ie_rawIn__isInf = FReg1_fa_4_ie_rawIn_isSpecial & ~FReg1_fa_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_4_ie_rawIn__sign = FReg1_fa_4_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_4_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_4_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_4_ie_rawIn_out_sig_T = ~FReg1_fa_4_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_4_ie_rawIn__sig = {1'h0,_FReg1_fa_4_ie_rawIn_out_sig_T,FReg1_fa_4_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_4_ie_isSubnormal = $signed(FReg1_fa_4_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_4_ie_denormShiftDist = 5'h1 - FReg1_fa_4_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_4_ie_denormFract_T_1 = FReg1_fa_4_ie_rawIn__sig[24:1] >> FReg1_fa_4_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_4_ie_denormFract = _FReg1_fa_4_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_4_ie_expOut_T_2 = FReg1_fa_4_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_4_ie_expOut_T_3 = FReg1_fa_4_ie_isSubnormal ? 8'h0 : _FReg1_fa_4_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_4_ie_expOut_T_4 = FReg1_fa_4_ie_rawIn__isNaN | FReg1_fa_4_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_4_ie_expOut_T_6 = _FReg1_fa_4_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_4_ie_expOut = _FReg1_fa_4_ie_expOut_T_3 | _FReg1_fa_4_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_4_ie_fractOut_T_1 = FReg1_fa_4_ie_rawIn__isInf ? 23'h0 : FReg1_fa_4_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_4_ie_fractOut = FReg1_fa_4_ie_isSubnormal ? FReg1_fa_4_ie_denormFract :
    _FReg1_fa_4_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_4_ie = {FReg1_fa_4_ie_rawIn__sign,FReg1_fa_4_ie_expOut,FReg1_fa_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_4_T_3 = FReg1_fa_4_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_5_unbx_floats_0 = {io_diffFReg_15[31],io_diffFReg_15[52],io_diffFReg_15[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_5_unbx_isbox = &io_diffFReg_15[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_5_unbx_T = FReg1_fa_5_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_5_unbx = FReg1_fa_5_unbx_floats_0 | _FReg1_fa_5_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_5_ie_rawIn_exp = FReg1_fa_5_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_5_ie_rawIn_isZero = FReg1_fa_5_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_5_ie_rawIn_isSpecial = FReg1_fa_5_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_5_ie_rawIn__isNaN = FReg1_fa_5_ie_rawIn_isSpecial & FReg1_fa_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_5_ie_rawIn__isInf = FReg1_fa_5_ie_rawIn_isSpecial & ~FReg1_fa_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_5_ie_rawIn__sign = FReg1_fa_5_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_5_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_5_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_5_ie_rawIn_out_sig_T = ~FReg1_fa_5_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_5_ie_rawIn__sig = {1'h0,_FReg1_fa_5_ie_rawIn_out_sig_T,FReg1_fa_5_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_5_ie_isSubnormal = $signed(FReg1_fa_5_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_5_ie_denormShiftDist = 5'h1 - FReg1_fa_5_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_5_ie_denormFract_T_1 = FReg1_fa_5_ie_rawIn__sig[24:1] >> FReg1_fa_5_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_5_ie_denormFract = _FReg1_fa_5_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_5_ie_expOut_T_2 = FReg1_fa_5_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_5_ie_expOut_T_3 = FReg1_fa_5_ie_isSubnormal ? 8'h0 : _FReg1_fa_5_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_5_ie_expOut_T_4 = FReg1_fa_5_ie_rawIn__isNaN | FReg1_fa_5_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_5_ie_expOut_T_6 = _FReg1_fa_5_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_5_ie_expOut = _FReg1_fa_5_ie_expOut_T_3 | _FReg1_fa_5_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_5_ie_fractOut_T_1 = FReg1_fa_5_ie_rawIn__isInf ? 23'h0 : FReg1_fa_5_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_5_ie_fractOut = FReg1_fa_5_ie_isSubnormal ? FReg1_fa_5_ie_denormFract :
    _FReg1_fa_5_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_5_ie = {FReg1_fa_5_ie_rawIn__sign,FReg1_fa_5_ie_expOut,FReg1_fa_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_5_T_3 = FReg1_fa_5_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_6_unbx_floats_0 = {io_diffFReg_16[31],io_diffFReg_16[52],io_diffFReg_16[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_6_unbx_isbox = &io_diffFReg_16[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_6_unbx_T = FReg1_fa_6_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_6_unbx = FReg1_fa_6_unbx_floats_0 | _FReg1_fa_6_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_6_ie_rawIn_exp = FReg1_fa_6_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_6_ie_rawIn_isZero = FReg1_fa_6_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_6_ie_rawIn_isSpecial = FReg1_fa_6_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_6_ie_rawIn__isNaN = FReg1_fa_6_ie_rawIn_isSpecial & FReg1_fa_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_6_ie_rawIn__isInf = FReg1_fa_6_ie_rawIn_isSpecial & ~FReg1_fa_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_6_ie_rawIn__sign = FReg1_fa_6_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_6_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_6_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_6_ie_rawIn_out_sig_T = ~FReg1_fa_6_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_6_ie_rawIn__sig = {1'h0,_FReg1_fa_6_ie_rawIn_out_sig_T,FReg1_fa_6_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_6_ie_isSubnormal = $signed(FReg1_fa_6_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_6_ie_denormShiftDist = 5'h1 - FReg1_fa_6_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_6_ie_denormFract_T_1 = FReg1_fa_6_ie_rawIn__sig[24:1] >> FReg1_fa_6_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_6_ie_denormFract = _FReg1_fa_6_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_6_ie_expOut_T_2 = FReg1_fa_6_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_6_ie_expOut_T_3 = FReg1_fa_6_ie_isSubnormal ? 8'h0 : _FReg1_fa_6_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_6_ie_expOut_T_4 = FReg1_fa_6_ie_rawIn__isNaN | FReg1_fa_6_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_6_ie_expOut_T_6 = _FReg1_fa_6_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_6_ie_expOut = _FReg1_fa_6_ie_expOut_T_3 | _FReg1_fa_6_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_6_ie_fractOut_T_1 = FReg1_fa_6_ie_rawIn__isInf ? 23'h0 : FReg1_fa_6_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_6_ie_fractOut = FReg1_fa_6_ie_isSubnormal ? FReg1_fa_6_ie_denormFract :
    _FReg1_fa_6_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_6_ie = {FReg1_fa_6_ie_rawIn__sign,FReg1_fa_6_ie_expOut,FReg1_fa_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_6_T_3 = FReg1_fa_6_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fa_7_unbx_floats_0 = {io_diffFReg_17[31],io_diffFReg_17[52],io_diffFReg_17[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_7_unbx_isbox = &io_diffFReg_17[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fa_7_unbx_T = FReg1_fa_7_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fa_7_unbx = FReg1_fa_7_unbx_floats_0 | _FReg1_fa_7_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fa_7_ie_rawIn_exp = FReg1_fa_7_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fa_7_ie_rawIn_isZero = FReg1_fa_7_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fa_7_ie_rawIn_isSpecial = FReg1_fa_7_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fa_7_ie_rawIn__isNaN = FReg1_fa_7_ie_rawIn_isSpecial & FReg1_fa_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fa_7_ie_rawIn__isInf = FReg1_fa_7_ie_rawIn_isSpecial & ~FReg1_fa_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fa_7_ie_rawIn__sign = FReg1_fa_7_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fa_7_ie_rawIn__sExp = {1'b0,$signed(FReg1_fa_7_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fa_7_ie_rawIn_out_sig_T = ~FReg1_fa_7_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fa_7_ie_rawIn__sig = {1'h0,_FReg1_fa_7_ie_rawIn_out_sig_T,FReg1_fa_7_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fa_7_ie_isSubnormal = $signed(FReg1_fa_7_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fa_7_ie_denormShiftDist = 5'h1 - FReg1_fa_7_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fa_7_ie_denormFract_T_1 = FReg1_fa_7_ie_rawIn__sig[24:1] >> FReg1_fa_7_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fa_7_ie_denormFract = _FReg1_fa_7_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fa_7_ie_expOut_T_2 = FReg1_fa_7_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fa_7_ie_expOut_T_3 = FReg1_fa_7_ie_isSubnormal ? 8'h0 : _FReg1_fa_7_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fa_7_ie_expOut_T_4 = FReg1_fa_7_ie_rawIn__isNaN | FReg1_fa_7_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fa_7_ie_expOut_T_6 = _FReg1_fa_7_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fa_7_ie_expOut = _FReg1_fa_7_ie_expOut_T_3 | _FReg1_fa_7_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fa_7_ie_fractOut_T_1 = FReg1_fa_7_ie_rawIn__isInf ? 23'h0 : FReg1_fa_7_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fa_7_ie_fractOut = FReg1_fa_7_ie_isSubnormal ? FReg1_fa_7_ie_denormFract :
    _FReg1_fa_7_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fa_7_ie = {FReg1_fa_7_ie_rawIn__sign,FReg1_fa_7_ie_expOut,FReg1_fa_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fa_7_T_3 = FReg1_fa_7_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_2_unbx_floats_0 = {io_diffFReg_18[31],io_diffFReg_18[52],io_diffFReg_18[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_2_unbx_isbox = &io_diffFReg_18[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_2_unbx_T = FReg1_fs_2_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_2_unbx = FReg1_fs_2_unbx_floats_0 | _FReg1_fs_2_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_2_ie_rawIn_exp = FReg1_fs_2_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_2_ie_rawIn_isZero = FReg1_fs_2_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_2_ie_rawIn_isSpecial = FReg1_fs_2_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_2_ie_rawIn__isNaN = FReg1_fs_2_ie_rawIn_isSpecial & FReg1_fs_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_2_ie_rawIn__isInf = FReg1_fs_2_ie_rawIn_isSpecial & ~FReg1_fs_2_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_2_ie_rawIn__sign = FReg1_fs_2_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_2_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_2_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_2_ie_rawIn_out_sig_T = ~FReg1_fs_2_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_2_ie_rawIn__sig = {1'h0,_FReg1_fs_2_ie_rawIn_out_sig_T,FReg1_fs_2_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_2_ie_isSubnormal = $signed(FReg1_fs_2_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_2_ie_denormShiftDist = 5'h1 - FReg1_fs_2_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_2_ie_denormFract_T_1 = FReg1_fs_2_ie_rawIn__sig[24:1] >> FReg1_fs_2_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_2_ie_denormFract = _FReg1_fs_2_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_2_ie_expOut_T_2 = FReg1_fs_2_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_2_ie_expOut_T_3 = FReg1_fs_2_ie_isSubnormal ? 8'h0 : _FReg1_fs_2_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_2_ie_expOut_T_4 = FReg1_fs_2_ie_rawIn__isNaN | FReg1_fs_2_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_2_ie_expOut_T_6 = _FReg1_fs_2_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_2_ie_expOut = _FReg1_fs_2_ie_expOut_T_3 | _FReg1_fs_2_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_2_ie_fractOut_T_1 = FReg1_fs_2_ie_rawIn__isInf ? 23'h0 : FReg1_fs_2_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_2_ie_fractOut = FReg1_fs_2_ie_isSubnormal ? FReg1_fs_2_ie_denormFract :
    _FReg1_fs_2_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_2_ie = {FReg1_fs_2_ie_rawIn__sign,FReg1_fs_2_ie_expOut,FReg1_fs_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_2_T_3 = FReg1_fs_2_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_3_unbx_floats_0 = {io_diffFReg_19[31],io_diffFReg_19[52],io_diffFReg_19[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_3_unbx_isbox = &io_diffFReg_19[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_3_unbx_T = FReg1_fs_3_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_3_unbx = FReg1_fs_3_unbx_floats_0 | _FReg1_fs_3_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_3_ie_rawIn_exp = FReg1_fs_3_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_3_ie_rawIn_isZero = FReg1_fs_3_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_3_ie_rawIn_isSpecial = FReg1_fs_3_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_3_ie_rawIn__isNaN = FReg1_fs_3_ie_rawIn_isSpecial & FReg1_fs_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_3_ie_rawIn__isInf = FReg1_fs_3_ie_rawIn_isSpecial & ~FReg1_fs_3_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_3_ie_rawIn__sign = FReg1_fs_3_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_3_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_3_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_3_ie_rawIn_out_sig_T = ~FReg1_fs_3_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_3_ie_rawIn__sig = {1'h0,_FReg1_fs_3_ie_rawIn_out_sig_T,FReg1_fs_3_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_3_ie_isSubnormal = $signed(FReg1_fs_3_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_3_ie_denormShiftDist = 5'h1 - FReg1_fs_3_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_3_ie_denormFract_T_1 = FReg1_fs_3_ie_rawIn__sig[24:1] >> FReg1_fs_3_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_3_ie_denormFract = _FReg1_fs_3_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_3_ie_expOut_T_2 = FReg1_fs_3_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_3_ie_expOut_T_3 = FReg1_fs_3_ie_isSubnormal ? 8'h0 : _FReg1_fs_3_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_3_ie_expOut_T_4 = FReg1_fs_3_ie_rawIn__isNaN | FReg1_fs_3_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_3_ie_expOut_T_6 = _FReg1_fs_3_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_3_ie_expOut = _FReg1_fs_3_ie_expOut_T_3 | _FReg1_fs_3_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_3_ie_fractOut_T_1 = FReg1_fs_3_ie_rawIn__isInf ? 23'h0 : FReg1_fs_3_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_3_ie_fractOut = FReg1_fs_3_ie_isSubnormal ? FReg1_fs_3_ie_denormFract :
    _FReg1_fs_3_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_3_ie = {FReg1_fs_3_ie_rawIn__sign,FReg1_fs_3_ie_expOut,FReg1_fs_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_3_T_3 = FReg1_fs_3_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_4_unbx_floats_0 = {io_diffFReg_20[31],io_diffFReg_20[52],io_diffFReg_20[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_4_unbx_isbox = &io_diffFReg_20[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_4_unbx_T = FReg1_fs_4_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_4_unbx = FReg1_fs_4_unbx_floats_0 | _FReg1_fs_4_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_4_ie_rawIn_exp = FReg1_fs_4_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_4_ie_rawIn_isZero = FReg1_fs_4_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_4_ie_rawIn_isSpecial = FReg1_fs_4_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_4_ie_rawIn__isNaN = FReg1_fs_4_ie_rawIn_isSpecial & FReg1_fs_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_4_ie_rawIn__isInf = FReg1_fs_4_ie_rawIn_isSpecial & ~FReg1_fs_4_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_4_ie_rawIn__sign = FReg1_fs_4_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_4_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_4_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_4_ie_rawIn_out_sig_T = ~FReg1_fs_4_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_4_ie_rawIn__sig = {1'h0,_FReg1_fs_4_ie_rawIn_out_sig_T,FReg1_fs_4_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_4_ie_isSubnormal = $signed(FReg1_fs_4_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_4_ie_denormShiftDist = 5'h1 - FReg1_fs_4_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_4_ie_denormFract_T_1 = FReg1_fs_4_ie_rawIn__sig[24:1] >> FReg1_fs_4_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_4_ie_denormFract = _FReg1_fs_4_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_4_ie_expOut_T_2 = FReg1_fs_4_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_4_ie_expOut_T_3 = FReg1_fs_4_ie_isSubnormal ? 8'h0 : _FReg1_fs_4_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_4_ie_expOut_T_4 = FReg1_fs_4_ie_rawIn__isNaN | FReg1_fs_4_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_4_ie_expOut_T_6 = _FReg1_fs_4_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_4_ie_expOut = _FReg1_fs_4_ie_expOut_T_3 | _FReg1_fs_4_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_4_ie_fractOut_T_1 = FReg1_fs_4_ie_rawIn__isInf ? 23'h0 : FReg1_fs_4_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_4_ie_fractOut = FReg1_fs_4_ie_isSubnormal ? FReg1_fs_4_ie_denormFract :
    _FReg1_fs_4_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_4_ie = {FReg1_fs_4_ie_rawIn__sign,FReg1_fs_4_ie_expOut,FReg1_fs_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_4_T_3 = FReg1_fs_4_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_5_unbx_floats_0 = {io_diffFReg_21[31],io_diffFReg_21[52],io_diffFReg_21[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_5_unbx_isbox = &io_diffFReg_21[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_5_unbx_T = FReg1_fs_5_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_5_unbx = FReg1_fs_5_unbx_floats_0 | _FReg1_fs_5_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_5_ie_rawIn_exp = FReg1_fs_5_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_5_ie_rawIn_isZero = FReg1_fs_5_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_5_ie_rawIn_isSpecial = FReg1_fs_5_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_5_ie_rawIn__isNaN = FReg1_fs_5_ie_rawIn_isSpecial & FReg1_fs_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_5_ie_rawIn__isInf = FReg1_fs_5_ie_rawIn_isSpecial & ~FReg1_fs_5_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_5_ie_rawIn__sign = FReg1_fs_5_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_5_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_5_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_5_ie_rawIn_out_sig_T = ~FReg1_fs_5_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_5_ie_rawIn__sig = {1'h0,_FReg1_fs_5_ie_rawIn_out_sig_T,FReg1_fs_5_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_5_ie_isSubnormal = $signed(FReg1_fs_5_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_5_ie_denormShiftDist = 5'h1 - FReg1_fs_5_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_5_ie_denormFract_T_1 = FReg1_fs_5_ie_rawIn__sig[24:1] >> FReg1_fs_5_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_5_ie_denormFract = _FReg1_fs_5_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_5_ie_expOut_T_2 = FReg1_fs_5_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_5_ie_expOut_T_3 = FReg1_fs_5_ie_isSubnormal ? 8'h0 : _FReg1_fs_5_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_5_ie_expOut_T_4 = FReg1_fs_5_ie_rawIn__isNaN | FReg1_fs_5_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_5_ie_expOut_T_6 = _FReg1_fs_5_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_5_ie_expOut = _FReg1_fs_5_ie_expOut_T_3 | _FReg1_fs_5_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_5_ie_fractOut_T_1 = FReg1_fs_5_ie_rawIn__isInf ? 23'h0 : FReg1_fs_5_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_5_ie_fractOut = FReg1_fs_5_ie_isSubnormal ? FReg1_fs_5_ie_denormFract :
    _FReg1_fs_5_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_5_ie = {FReg1_fs_5_ie_rawIn__sign,FReg1_fs_5_ie_expOut,FReg1_fs_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_5_T_3 = FReg1_fs_5_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_6_unbx_floats_0 = {io_diffFReg_22[31],io_diffFReg_22[52],io_diffFReg_22[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_6_unbx_isbox = &io_diffFReg_22[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_6_unbx_T = FReg1_fs_6_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_6_unbx = FReg1_fs_6_unbx_floats_0 | _FReg1_fs_6_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_6_ie_rawIn_exp = FReg1_fs_6_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_6_ie_rawIn_isZero = FReg1_fs_6_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_6_ie_rawIn_isSpecial = FReg1_fs_6_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_6_ie_rawIn__isNaN = FReg1_fs_6_ie_rawIn_isSpecial & FReg1_fs_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_6_ie_rawIn__isInf = FReg1_fs_6_ie_rawIn_isSpecial & ~FReg1_fs_6_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_6_ie_rawIn__sign = FReg1_fs_6_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_6_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_6_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_6_ie_rawIn_out_sig_T = ~FReg1_fs_6_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_6_ie_rawIn__sig = {1'h0,_FReg1_fs_6_ie_rawIn_out_sig_T,FReg1_fs_6_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_6_ie_isSubnormal = $signed(FReg1_fs_6_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_6_ie_denormShiftDist = 5'h1 - FReg1_fs_6_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_6_ie_denormFract_T_1 = FReg1_fs_6_ie_rawIn__sig[24:1] >> FReg1_fs_6_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_6_ie_denormFract = _FReg1_fs_6_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_6_ie_expOut_T_2 = FReg1_fs_6_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_6_ie_expOut_T_3 = FReg1_fs_6_ie_isSubnormal ? 8'h0 : _FReg1_fs_6_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_6_ie_expOut_T_4 = FReg1_fs_6_ie_rawIn__isNaN | FReg1_fs_6_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_6_ie_expOut_T_6 = _FReg1_fs_6_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_6_ie_expOut = _FReg1_fs_6_ie_expOut_T_3 | _FReg1_fs_6_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_6_ie_fractOut_T_1 = FReg1_fs_6_ie_rawIn__isInf ? 23'h0 : FReg1_fs_6_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_6_ie_fractOut = FReg1_fs_6_ie_isSubnormal ? FReg1_fs_6_ie_denormFract :
    _FReg1_fs_6_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_6_ie = {FReg1_fs_6_ie_rawIn__sign,FReg1_fs_6_ie_expOut,FReg1_fs_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_6_T_3 = FReg1_fs_6_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_7_unbx_floats_0 = {io_diffFReg_23[31],io_diffFReg_23[52],io_diffFReg_23[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_7_unbx_isbox = &io_diffFReg_23[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_7_unbx_T = FReg1_fs_7_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_7_unbx = FReg1_fs_7_unbx_floats_0 | _FReg1_fs_7_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_7_ie_rawIn_exp = FReg1_fs_7_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_7_ie_rawIn_isZero = FReg1_fs_7_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_7_ie_rawIn_isSpecial = FReg1_fs_7_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_7_ie_rawIn__isNaN = FReg1_fs_7_ie_rawIn_isSpecial & FReg1_fs_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_7_ie_rawIn__isInf = FReg1_fs_7_ie_rawIn_isSpecial & ~FReg1_fs_7_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_7_ie_rawIn__sign = FReg1_fs_7_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_7_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_7_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_7_ie_rawIn_out_sig_T = ~FReg1_fs_7_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_7_ie_rawIn__sig = {1'h0,_FReg1_fs_7_ie_rawIn_out_sig_T,FReg1_fs_7_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_7_ie_isSubnormal = $signed(FReg1_fs_7_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_7_ie_denormShiftDist = 5'h1 - FReg1_fs_7_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_7_ie_denormFract_T_1 = FReg1_fs_7_ie_rawIn__sig[24:1] >> FReg1_fs_7_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_7_ie_denormFract = _FReg1_fs_7_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_7_ie_expOut_T_2 = FReg1_fs_7_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_7_ie_expOut_T_3 = FReg1_fs_7_ie_isSubnormal ? 8'h0 : _FReg1_fs_7_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_7_ie_expOut_T_4 = FReg1_fs_7_ie_rawIn__isNaN | FReg1_fs_7_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_7_ie_expOut_T_6 = _FReg1_fs_7_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_7_ie_expOut = _FReg1_fs_7_ie_expOut_T_3 | _FReg1_fs_7_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_7_ie_fractOut_T_1 = FReg1_fs_7_ie_rawIn__isInf ? 23'h0 : FReg1_fs_7_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_7_ie_fractOut = FReg1_fs_7_ie_isSubnormal ? FReg1_fs_7_ie_denormFract :
    _FReg1_fs_7_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_7_ie = {FReg1_fs_7_ie_rawIn__sign,FReg1_fs_7_ie_expOut,FReg1_fs_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_7_T_3 = FReg1_fs_7_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_8_unbx_floats_0 = {io_diffFReg_24[31],io_diffFReg_24[52],io_diffFReg_24[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_8_unbx_isbox = &io_diffFReg_24[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_8_unbx_T = FReg1_fs_8_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_8_unbx = FReg1_fs_8_unbx_floats_0 | _FReg1_fs_8_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_8_ie_rawIn_exp = FReg1_fs_8_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_8_ie_rawIn_isZero = FReg1_fs_8_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_8_ie_rawIn_isSpecial = FReg1_fs_8_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_8_ie_rawIn__isNaN = FReg1_fs_8_ie_rawIn_isSpecial & FReg1_fs_8_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_8_ie_rawIn__isInf = FReg1_fs_8_ie_rawIn_isSpecial & ~FReg1_fs_8_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_8_ie_rawIn__sign = FReg1_fs_8_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_8_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_8_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_8_ie_rawIn_out_sig_T = ~FReg1_fs_8_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_8_ie_rawIn__sig = {1'h0,_FReg1_fs_8_ie_rawIn_out_sig_T,FReg1_fs_8_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_8_ie_isSubnormal = $signed(FReg1_fs_8_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_8_ie_denormShiftDist = 5'h1 - FReg1_fs_8_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_8_ie_denormFract_T_1 = FReg1_fs_8_ie_rawIn__sig[24:1] >> FReg1_fs_8_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_8_ie_denormFract = _FReg1_fs_8_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_8_ie_expOut_T_2 = FReg1_fs_8_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_8_ie_expOut_T_3 = FReg1_fs_8_ie_isSubnormal ? 8'h0 : _FReg1_fs_8_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_8_ie_expOut_T_4 = FReg1_fs_8_ie_rawIn__isNaN | FReg1_fs_8_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_8_ie_expOut_T_6 = _FReg1_fs_8_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_8_ie_expOut = _FReg1_fs_8_ie_expOut_T_3 | _FReg1_fs_8_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_8_ie_fractOut_T_1 = FReg1_fs_8_ie_rawIn__isInf ? 23'h0 : FReg1_fs_8_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_8_ie_fractOut = FReg1_fs_8_ie_isSubnormal ? FReg1_fs_8_ie_denormFract :
    _FReg1_fs_8_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_8_ie = {FReg1_fs_8_ie_rawIn__sign,FReg1_fs_8_ie_expOut,FReg1_fs_8_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_8_T_3 = FReg1_fs_8_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_9_unbx_floats_0 = {io_diffFReg_25[31],io_diffFReg_25[52],io_diffFReg_25[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_9_unbx_isbox = &io_diffFReg_25[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_9_unbx_T = FReg1_fs_9_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_9_unbx = FReg1_fs_9_unbx_floats_0 | _FReg1_fs_9_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_9_ie_rawIn_exp = FReg1_fs_9_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_9_ie_rawIn_isZero = FReg1_fs_9_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_9_ie_rawIn_isSpecial = FReg1_fs_9_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_9_ie_rawIn__isNaN = FReg1_fs_9_ie_rawIn_isSpecial & FReg1_fs_9_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_9_ie_rawIn__isInf = FReg1_fs_9_ie_rawIn_isSpecial & ~FReg1_fs_9_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_9_ie_rawIn__sign = FReg1_fs_9_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_9_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_9_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_9_ie_rawIn_out_sig_T = ~FReg1_fs_9_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_9_ie_rawIn__sig = {1'h0,_FReg1_fs_9_ie_rawIn_out_sig_T,FReg1_fs_9_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_9_ie_isSubnormal = $signed(FReg1_fs_9_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_9_ie_denormShiftDist = 5'h1 - FReg1_fs_9_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_9_ie_denormFract_T_1 = FReg1_fs_9_ie_rawIn__sig[24:1] >> FReg1_fs_9_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_9_ie_denormFract = _FReg1_fs_9_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_9_ie_expOut_T_2 = FReg1_fs_9_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_9_ie_expOut_T_3 = FReg1_fs_9_ie_isSubnormal ? 8'h0 : _FReg1_fs_9_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_9_ie_expOut_T_4 = FReg1_fs_9_ie_rawIn__isNaN | FReg1_fs_9_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_9_ie_expOut_T_6 = _FReg1_fs_9_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_9_ie_expOut = _FReg1_fs_9_ie_expOut_T_3 | _FReg1_fs_9_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_9_ie_fractOut_T_1 = FReg1_fs_9_ie_rawIn__isInf ? 23'h0 : FReg1_fs_9_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_9_ie_fractOut = FReg1_fs_9_ie_isSubnormal ? FReg1_fs_9_ie_denormFract :
    _FReg1_fs_9_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_9_ie = {FReg1_fs_9_ie_rawIn__sign,FReg1_fs_9_ie_expOut,FReg1_fs_9_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_9_T_3 = FReg1_fs_9_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_10_unbx_floats_0 = {io_diffFReg_26[31],io_diffFReg_26[52],io_diffFReg_26[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_10_unbx_isbox = &io_diffFReg_26[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_10_unbx_T = FReg1_fs_10_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_10_unbx = FReg1_fs_10_unbx_floats_0 | _FReg1_fs_10_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_10_ie_rawIn_exp = FReg1_fs_10_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_10_ie_rawIn_isZero = FReg1_fs_10_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_10_ie_rawIn_isSpecial = FReg1_fs_10_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_10_ie_rawIn__isNaN = FReg1_fs_10_ie_rawIn_isSpecial & FReg1_fs_10_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_10_ie_rawIn__isInf = FReg1_fs_10_ie_rawIn_isSpecial & ~FReg1_fs_10_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_10_ie_rawIn__sign = FReg1_fs_10_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_10_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_10_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_10_ie_rawIn_out_sig_T = ~FReg1_fs_10_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_10_ie_rawIn__sig = {1'h0,_FReg1_fs_10_ie_rawIn_out_sig_T,FReg1_fs_10_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_10_ie_isSubnormal = $signed(FReg1_fs_10_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_10_ie_denormShiftDist = 5'h1 - FReg1_fs_10_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_10_ie_denormFract_T_1 = FReg1_fs_10_ie_rawIn__sig[24:1] >> FReg1_fs_10_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_10_ie_denormFract = _FReg1_fs_10_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_10_ie_expOut_T_2 = FReg1_fs_10_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_10_ie_expOut_T_3 = FReg1_fs_10_ie_isSubnormal ? 8'h0 : _FReg1_fs_10_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_10_ie_expOut_T_4 = FReg1_fs_10_ie_rawIn__isNaN | FReg1_fs_10_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_10_ie_expOut_T_6 = _FReg1_fs_10_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_10_ie_expOut = _FReg1_fs_10_ie_expOut_T_3 | _FReg1_fs_10_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_10_ie_fractOut_T_1 = FReg1_fs_10_ie_rawIn__isInf ? 23'h0 : FReg1_fs_10_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_10_ie_fractOut = FReg1_fs_10_ie_isSubnormal ? FReg1_fs_10_ie_denormFract :
    _FReg1_fs_10_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_10_ie = {FReg1_fs_10_ie_rawIn__sign,FReg1_fs_10_ie_expOut,FReg1_fs_10_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_10_T_3 = FReg1_fs_10_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_fs_11_unbx_floats_0 = {io_diffFReg_27[31],io_diffFReg_27[52],io_diffFReg_27[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_11_unbx_isbox = &io_diffFReg_27[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_fs_11_unbx_T = FReg1_fs_11_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_fs_11_unbx = FReg1_fs_11_unbx_floats_0 | _FReg1_fs_11_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_fs_11_ie_rawIn_exp = FReg1_fs_11_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_fs_11_ie_rawIn_isZero = FReg1_fs_11_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_fs_11_ie_rawIn_isSpecial = FReg1_fs_11_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_fs_11_ie_rawIn__isNaN = FReg1_fs_11_ie_rawIn_isSpecial & FReg1_fs_11_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_fs_11_ie_rawIn__isInf = FReg1_fs_11_ie_rawIn_isSpecial & ~FReg1_fs_11_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_fs_11_ie_rawIn__sign = FReg1_fs_11_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_fs_11_ie_rawIn__sExp = {1'b0,$signed(FReg1_fs_11_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_fs_11_ie_rawIn_out_sig_T = ~FReg1_fs_11_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_fs_11_ie_rawIn__sig = {1'h0,_FReg1_fs_11_ie_rawIn_out_sig_T,FReg1_fs_11_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_fs_11_ie_isSubnormal = $signed(FReg1_fs_11_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_fs_11_ie_denormShiftDist = 5'h1 - FReg1_fs_11_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_fs_11_ie_denormFract_T_1 = FReg1_fs_11_ie_rawIn__sig[24:1] >> FReg1_fs_11_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_fs_11_ie_denormFract = _FReg1_fs_11_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_fs_11_ie_expOut_T_2 = FReg1_fs_11_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_fs_11_ie_expOut_T_3 = FReg1_fs_11_ie_isSubnormal ? 8'h0 : _FReg1_fs_11_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_fs_11_ie_expOut_T_4 = FReg1_fs_11_ie_rawIn__isNaN | FReg1_fs_11_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_fs_11_ie_expOut_T_6 = _FReg1_fs_11_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_fs_11_ie_expOut = _FReg1_fs_11_ie_expOut_T_3 | _FReg1_fs_11_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_fs_11_ie_fractOut_T_1 = FReg1_fs_11_ie_rawIn__isInf ? 23'h0 : FReg1_fs_11_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_fs_11_ie_fractOut = FReg1_fs_11_ie_isSubnormal ? FReg1_fs_11_ie_denormFract :
    _FReg1_fs_11_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_fs_11_ie = {FReg1_fs_11_ie_rawIn__sign,FReg1_fs_11_ie_expOut,FReg1_fs_11_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_fs_11_T_3 = FReg1_fs_11_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_8_unbx_floats_0 = {io_diffFReg_28[31],io_diffFReg_28[52],io_diffFReg_28[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_8_unbx_isbox = &io_diffFReg_28[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_8_unbx_T = FReg1_ft_8_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_8_unbx = FReg1_ft_8_unbx_floats_0 | _FReg1_ft_8_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_8_ie_rawIn_exp = FReg1_ft_8_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_8_ie_rawIn_isZero = FReg1_ft_8_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_8_ie_rawIn_isSpecial = FReg1_ft_8_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_8_ie_rawIn__isNaN = FReg1_ft_8_ie_rawIn_isSpecial & FReg1_ft_8_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_8_ie_rawIn__isInf = FReg1_ft_8_ie_rawIn_isSpecial & ~FReg1_ft_8_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_8_ie_rawIn__sign = FReg1_ft_8_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_8_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_8_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_8_ie_rawIn_out_sig_T = ~FReg1_ft_8_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_8_ie_rawIn__sig = {1'h0,_FReg1_ft_8_ie_rawIn_out_sig_T,FReg1_ft_8_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_8_ie_isSubnormal = $signed(FReg1_ft_8_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_8_ie_denormShiftDist = 5'h1 - FReg1_ft_8_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_8_ie_denormFract_T_1 = FReg1_ft_8_ie_rawIn__sig[24:1] >> FReg1_ft_8_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_8_ie_denormFract = _FReg1_ft_8_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_8_ie_expOut_T_2 = FReg1_ft_8_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_8_ie_expOut_T_3 = FReg1_ft_8_ie_isSubnormal ? 8'h0 : _FReg1_ft_8_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_8_ie_expOut_T_4 = FReg1_ft_8_ie_rawIn__isNaN | FReg1_ft_8_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_8_ie_expOut_T_6 = _FReg1_ft_8_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_8_ie_expOut = _FReg1_ft_8_ie_expOut_T_3 | _FReg1_ft_8_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_8_ie_fractOut_T_1 = FReg1_ft_8_ie_rawIn__isInf ? 23'h0 : FReg1_ft_8_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_8_ie_fractOut = FReg1_ft_8_ie_isSubnormal ? FReg1_ft_8_ie_denormFract :
    _FReg1_ft_8_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_8_ie = {FReg1_ft_8_ie_rawIn__sign,FReg1_ft_8_ie_expOut,FReg1_ft_8_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_8_T_3 = FReg1_ft_8_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_9_unbx_floats_0 = {io_diffFReg_29[31],io_diffFReg_29[52],io_diffFReg_29[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_9_unbx_isbox = &io_diffFReg_29[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_9_unbx_T = FReg1_ft_9_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_9_unbx = FReg1_ft_9_unbx_floats_0 | _FReg1_ft_9_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_9_ie_rawIn_exp = FReg1_ft_9_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_9_ie_rawIn_isZero = FReg1_ft_9_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_9_ie_rawIn_isSpecial = FReg1_ft_9_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_9_ie_rawIn__isNaN = FReg1_ft_9_ie_rawIn_isSpecial & FReg1_ft_9_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_9_ie_rawIn__isInf = FReg1_ft_9_ie_rawIn_isSpecial & ~FReg1_ft_9_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_9_ie_rawIn__sign = FReg1_ft_9_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_9_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_9_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_9_ie_rawIn_out_sig_T = ~FReg1_ft_9_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_9_ie_rawIn__sig = {1'h0,_FReg1_ft_9_ie_rawIn_out_sig_T,FReg1_ft_9_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_9_ie_isSubnormal = $signed(FReg1_ft_9_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_9_ie_denormShiftDist = 5'h1 - FReg1_ft_9_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_9_ie_denormFract_T_1 = FReg1_ft_9_ie_rawIn__sig[24:1] >> FReg1_ft_9_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_9_ie_denormFract = _FReg1_ft_9_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_9_ie_expOut_T_2 = FReg1_ft_9_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_9_ie_expOut_T_3 = FReg1_ft_9_ie_isSubnormal ? 8'h0 : _FReg1_ft_9_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_9_ie_expOut_T_4 = FReg1_ft_9_ie_rawIn__isNaN | FReg1_ft_9_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_9_ie_expOut_T_6 = _FReg1_ft_9_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_9_ie_expOut = _FReg1_ft_9_ie_expOut_T_3 | _FReg1_ft_9_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_9_ie_fractOut_T_1 = FReg1_ft_9_ie_rawIn__isInf ? 23'h0 : FReg1_ft_9_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_9_ie_fractOut = FReg1_ft_9_ie_isSubnormal ? FReg1_ft_9_ie_denormFract :
    _FReg1_ft_9_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_9_ie = {FReg1_ft_9_ie_rawIn__sign,FReg1_ft_9_ie_expOut,FReg1_ft_9_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_9_T_3 = FReg1_ft_9_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_10_unbx_floats_0 = {io_diffFReg_30[31],io_diffFReg_30[52],io_diffFReg_30[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_10_unbx_isbox = &io_diffFReg_30[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_10_unbx_T = FReg1_ft_10_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_10_unbx = FReg1_ft_10_unbx_floats_0 | _FReg1_ft_10_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_10_ie_rawIn_exp = FReg1_ft_10_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_10_ie_rawIn_isZero = FReg1_ft_10_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_10_ie_rawIn_isSpecial = FReg1_ft_10_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_10_ie_rawIn__isNaN = FReg1_ft_10_ie_rawIn_isSpecial & FReg1_ft_10_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_10_ie_rawIn__isInf = FReg1_ft_10_ie_rawIn_isSpecial & ~FReg1_ft_10_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_10_ie_rawIn__sign = FReg1_ft_10_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_10_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_10_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_10_ie_rawIn_out_sig_T = ~FReg1_ft_10_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_10_ie_rawIn__sig = {1'h0,_FReg1_ft_10_ie_rawIn_out_sig_T,FReg1_ft_10_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_10_ie_isSubnormal = $signed(FReg1_ft_10_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_10_ie_denormShiftDist = 5'h1 - FReg1_ft_10_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_10_ie_denormFract_T_1 = FReg1_ft_10_ie_rawIn__sig[24:1] >> FReg1_ft_10_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_10_ie_denormFract = _FReg1_ft_10_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_10_ie_expOut_T_2 = FReg1_ft_10_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_10_ie_expOut_T_3 = FReg1_ft_10_ie_isSubnormal ? 8'h0 : _FReg1_ft_10_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_10_ie_expOut_T_4 = FReg1_ft_10_ie_rawIn__isNaN | FReg1_ft_10_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_10_ie_expOut_T_6 = _FReg1_ft_10_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_10_ie_expOut = _FReg1_ft_10_ie_expOut_T_3 | _FReg1_ft_10_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_10_ie_fractOut_T_1 = FReg1_ft_10_ie_rawIn__isInf ? 23'h0 : FReg1_ft_10_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_10_ie_fractOut = FReg1_ft_10_ie_isSubnormal ? FReg1_ft_10_ie_denormFract :
    _FReg1_ft_10_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_10_ie = {FReg1_ft_10_ie_rawIn__sign,FReg1_ft_10_ie_expOut,FReg1_ft_10_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_10_T_3 = FReg1_ft_10_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [32:0] FReg1_ft_11_unbx_floats_0 = {io_diffFReg_31[31],io_diffFReg_31[52],io_diffFReg_31[30:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_11_unbx_isbox = &io_diffFReg_31[64:60]; // @[Fpu.scala 118:84]
  wire [32:0] _FReg1_ft_11_unbx_T = FReg1_ft_11_unbx_isbox ? 33'h0 : 33'he0400000; // @[Fpu.scala 163:31]
  wire [32:0] FReg1_ft_11_unbx = FReg1_ft_11_unbx_floats_0 | _FReg1_ft_11_unbx_T; // @[Fpu.scala 163:26]
  wire [8:0] FReg1_ft_11_ie_rawIn_exp = FReg1_ft_11_unbx[31:23]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg1_ft_11_ie_rawIn_isZero = FReg1_ft_11_ie_rawIn_exp[8:6] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg1_ft_11_ie_rawIn_isSpecial = FReg1_ft_11_ie_rawIn_exp[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg1_ft_11_ie_rawIn__isNaN = FReg1_ft_11_ie_rawIn_isSpecial & FReg1_ft_11_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg1_ft_11_ie_rawIn__isInf = FReg1_ft_11_ie_rawIn_isSpecial & ~FReg1_ft_11_ie_rawIn_exp[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg1_ft_11_ie_rawIn__sign = FReg1_ft_11_unbx[32]; // @[rawFloatFromRecFN.scala 58:25]
  wire [9:0] FReg1_ft_11_ie_rawIn__sExp = {1'b0,$signed(FReg1_ft_11_ie_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg1_ft_11_ie_rawIn_out_sig_T = ~FReg1_ft_11_ie_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg1_ft_11_ie_rawIn__sig = {1'h0,_FReg1_ft_11_ie_rawIn_out_sig_T,FReg1_ft_11_unbx[22:0]}; // @[Cat.scala 33:92]
  wire  FReg1_ft_11_ie_isSubnormal = $signed(FReg1_ft_11_ie_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg1_ft_11_ie_denormShiftDist = 5'h1 - FReg1_ft_11_ie_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg1_ft_11_ie_denormFract_T_1 = FReg1_ft_11_ie_rawIn__sig[24:1] >> FReg1_ft_11_ie_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg1_ft_11_ie_denormFract = _FReg1_ft_11_ie_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg1_ft_11_ie_expOut_T_2 = FReg1_ft_11_ie_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg1_ft_11_ie_expOut_T_3 = FReg1_ft_11_ie_isSubnormal ? 8'h0 : _FReg1_ft_11_ie_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg1_ft_11_ie_expOut_T_4 = FReg1_ft_11_ie_rawIn__isNaN | FReg1_ft_11_ie_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg1_ft_11_ie_expOut_T_6 = _FReg1_ft_11_ie_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg1_ft_11_ie_expOut = _FReg1_ft_11_ie_expOut_T_3 | _FReg1_ft_11_ie_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg1_ft_11_ie_fractOut_T_1 = FReg1_ft_11_ie_rawIn__isInf ? 23'h0 : FReg1_ft_11_ie_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg1_ft_11_ie_fractOut = FReg1_ft_11_ie_isSubnormal ? FReg1_ft_11_ie_denormFract :
    _FReg1_ft_11_ie_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg1_ft_11_ie = {FReg1_ft_11_ie_rawIn__sign,FReg1_ft_11_ie_expOut,FReg1_ft_11_ie_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] _FReg1_ft_11_T_3 = FReg1_ft_11_ie[31] ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire  FReg2_ft_0_unbx_sign = FReg1_ft_0_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_0_unbx_fractIn = FReg1_ft_0_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_0_unbx_expIn = FReg1_ft_0_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_0_unbx_expOut_expCode = FReg2_ft_0_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_0_unbx_expOut_T = FReg2_ft_0_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_0_unrecoded_rawIn_exp = io_diffFReg_0[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_0_unrecoded_rawIn_isZero = FReg2_ft_0_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_0_unrecoded_rawIn_isSpecial = FReg2_ft_0_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_0_unrecoded_rawIn__isNaN = FReg2_ft_0_unrecoded_rawIn_isSpecial & FReg2_ft_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_0_unrecoded_rawIn__isInf = FReg2_ft_0_unrecoded_rawIn_isSpecial & ~FReg2_ft_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_0_unrecoded_rawIn__sign = io_diffFReg_0[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_0_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_0_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_0_unrecoded_rawIn_out_sig_T = ~FReg2_ft_0_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_0_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_0_unrecoded_rawIn_out_sig_T,io_diffFReg_0[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_0_unrecoded_isSubnormal = $signed(FReg2_ft_0_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_0_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_0_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_0_unrecoded_denormFract_T_1 = FReg2_ft_0_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_0_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_0_unrecoded_denormFract = _FReg2_ft_0_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_0_unrecoded_expOut_T_2 = FReg2_ft_0_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_0_unrecoded_expOut_T_3 = FReg2_ft_0_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_0_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_0_unrecoded_expOut_T_4 = FReg2_ft_0_unrecoded_rawIn__isNaN | FReg2_ft_0_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_0_unrecoded_expOut_T_6 = _FReg2_ft_0_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_0_unrecoded_expOut = _FReg2_ft_0_unrecoded_expOut_T_3 | _FReg2_ft_0_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_0_unrecoded_fractOut_T_1 = FReg2_ft_0_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_0_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_0_unrecoded_fractOut = FReg2_ft_0_unrecoded_isSubnormal ? FReg2_ft_0_unrecoded_denormFract :
    _FReg2_ft_0_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_0_unrecoded = {FReg2_ft_0_unrecoded_rawIn__sign,FReg2_ft_0_unrecoded_expOut,
    FReg2_ft_0_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_0_prevUnrecoded_rawIn_isSpecial = FReg2_ft_0_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_0_prevUnrecoded_rawIn__isNaN = FReg2_ft_0_prevUnrecoded_rawIn_isSpecial & FReg2_ft_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_0_prevUnrecoded_rawIn__isInf = FReg2_ft_0_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_0_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_0_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_0_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_0_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_0_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_0_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_0_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_0_prevUnrecoded_isSubnormal = $signed(FReg2_ft_0_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_0_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_0_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_0_prevUnrecoded_denormFract_T_1 = FReg2_ft_0_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_0_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_0_prevUnrecoded_denormFract = _FReg2_ft_0_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_0_prevUnrecoded_expOut_T_2 = FReg2_ft_0_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_0_prevUnrecoded_expOut_T_3 = FReg2_ft_0_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_0_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_0_prevUnrecoded_expOut_T_4 = FReg2_ft_0_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_0_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_0_prevUnrecoded_expOut_T_6 = _FReg2_ft_0_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_0_prevUnrecoded_expOut = _FReg2_ft_0_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_0_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_0_prevUnrecoded_fractOut_T_1 = FReg2_ft_0_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_0_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_0_prevUnrecoded_fractOut = FReg2_ft_0_prevUnrecoded_isSubnormal ?
    FReg2_ft_0_prevUnrecoded_denormFract : _FReg2_ft_0_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_0_prevUnrecoded = {FReg2_ft_0_unbx_sign,FReg2_ft_0_prevUnrecoded_expOut,
    FReg2_ft_0_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_0_T_2 = &io_diffFReg_0[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_0_T_4 = _FReg2_ft_0_T_2 ? FReg2_ft_0_prevUnrecoded : FReg2_ft_0_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_1_unbx_sign = FReg1_ft_1_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_1_unbx_fractIn = FReg1_ft_1_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_1_unbx_expIn = FReg1_ft_1_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_1_unbx_expOut_expCode = FReg2_ft_1_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_1_unbx_expOut_T = FReg2_ft_1_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_1_unrecoded_rawIn_exp = io_diffFReg_1[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_1_unrecoded_rawIn_isZero = FReg2_ft_1_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_1_unrecoded_rawIn_isSpecial = FReg2_ft_1_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_1_unrecoded_rawIn__isNaN = FReg2_ft_1_unrecoded_rawIn_isSpecial & FReg2_ft_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_1_unrecoded_rawIn__isInf = FReg2_ft_1_unrecoded_rawIn_isSpecial & ~FReg2_ft_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_1_unrecoded_rawIn__sign = io_diffFReg_1[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_1_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_1_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_1_unrecoded_rawIn_out_sig_T = ~FReg2_ft_1_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_1_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_1_unrecoded_rawIn_out_sig_T,io_diffFReg_1[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_1_unrecoded_isSubnormal = $signed(FReg2_ft_1_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_1_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_1_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_1_unrecoded_denormFract_T_1 = FReg2_ft_1_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_1_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_1_unrecoded_denormFract = _FReg2_ft_1_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_1_unrecoded_expOut_T_2 = FReg2_ft_1_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_1_unrecoded_expOut_T_3 = FReg2_ft_1_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_1_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_1_unrecoded_expOut_T_4 = FReg2_ft_1_unrecoded_rawIn__isNaN | FReg2_ft_1_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_1_unrecoded_expOut_T_6 = _FReg2_ft_1_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_1_unrecoded_expOut = _FReg2_ft_1_unrecoded_expOut_T_3 | _FReg2_ft_1_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_1_unrecoded_fractOut_T_1 = FReg2_ft_1_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_1_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_1_unrecoded_fractOut = FReg2_ft_1_unrecoded_isSubnormal ? FReg2_ft_1_unrecoded_denormFract :
    _FReg2_ft_1_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_1_unrecoded = {FReg2_ft_1_unrecoded_rawIn__sign,FReg2_ft_1_unrecoded_expOut,
    FReg2_ft_1_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_1_prevUnrecoded_rawIn_isSpecial = FReg2_ft_1_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_1_prevUnrecoded_rawIn__isNaN = FReg2_ft_1_prevUnrecoded_rawIn_isSpecial & FReg2_ft_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_1_prevUnrecoded_rawIn__isInf = FReg2_ft_1_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_1_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_1_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_1_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_1_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_1_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_1_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_1_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_1_prevUnrecoded_isSubnormal = $signed(FReg2_ft_1_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_1_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_1_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_1_prevUnrecoded_denormFract_T_1 = FReg2_ft_1_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_1_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_1_prevUnrecoded_denormFract = _FReg2_ft_1_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_1_prevUnrecoded_expOut_T_2 = FReg2_ft_1_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_1_prevUnrecoded_expOut_T_3 = FReg2_ft_1_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_1_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_1_prevUnrecoded_expOut_T_4 = FReg2_ft_1_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_1_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_1_prevUnrecoded_expOut_T_6 = _FReg2_ft_1_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_1_prevUnrecoded_expOut = _FReg2_ft_1_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_1_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_1_prevUnrecoded_fractOut_T_1 = FReg2_ft_1_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_1_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_1_prevUnrecoded_fractOut = FReg2_ft_1_prevUnrecoded_isSubnormal ?
    FReg2_ft_1_prevUnrecoded_denormFract : _FReg2_ft_1_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_1_prevUnrecoded = {FReg2_ft_1_unbx_sign,FReg2_ft_1_prevUnrecoded_expOut,
    FReg2_ft_1_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_1_T_2 = &io_diffFReg_1[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_1_T_4 = _FReg2_ft_1_T_2 ? FReg2_ft_1_prevUnrecoded : FReg2_ft_1_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_2_unbx_sign = FReg1_ft_2_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_2_unbx_fractIn = FReg1_ft_2_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_2_unbx_expIn = FReg1_ft_2_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_2_unbx_expOut_expCode = FReg2_ft_2_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_2_unbx_expOut_T = FReg2_ft_2_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_2_unrecoded_rawIn_exp = io_diffFReg_2[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_2_unrecoded_rawIn_isZero = FReg2_ft_2_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_2_unrecoded_rawIn_isSpecial = FReg2_ft_2_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_2_unrecoded_rawIn__isNaN = FReg2_ft_2_unrecoded_rawIn_isSpecial & FReg2_ft_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_2_unrecoded_rawIn__isInf = FReg2_ft_2_unrecoded_rawIn_isSpecial & ~FReg2_ft_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_2_unrecoded_rawIn__sign = io_diffFReg_2[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_2_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_2_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_2_unrecoded_rawIn_out_sig_T = ~FReg2_ft_2_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_2_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_2_unrecoded_rawIn_out_sig_T,io_diffFReg_2[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_2_unrecoded_isSubnormal = $signed(FReg2_ft_2_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_2_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_2_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_2_unrecoded_denormFract_T_1 = FReg2_ft_2_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_2_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_2_unrecoded_denormFract = _FReg2_ft_2_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_2_unrecoded_expOut_T_2 = FReg2_ft_2_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_2_unrecoded_expOut_T_3 = FReg2_ft_2_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_2_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_2_unrecoded_expOut_T_4 = FReg2_ft_2_unrecoded_rawIn__isNaN | FReg2_ft_2_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_2_unrecoded_expOut_T_6 = _FReg2_ft_2_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_2_unrecoded_expOut = _FReg2_ft_2_unrecoded_expOut_T_3 | _FReg2_ft_2_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_2_unrecoded_fractOut_T_1 = FReg2_ft_2_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_2_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_2_unrecoded_fractOut = FReg2_ft_2_unrecoded_isSubnormal ? FReg2_ft_2_unrecoded_denormFract :
    _FReg2_ft_2_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_2_unrecoded = {FReg2_ft_2_unrecoded_rawIn__sign,FReg2_ft_2_unrecoded_expOut,
    FReg2_ft_2_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_2_prevUnrecoded_rawIn_isSpecial = FReg2_ft_2_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_2_prevUnrecoded_rawIn__isNaN = FReg2_ft_2_prevUnrecoded_rawIn_isSpecial & FReg2_ft_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_2_prevUnrecoded_rawIn__isInf = FReg2_ft_2_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_2_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_2_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_2_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_2_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_2_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_2_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_2_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_2_prevUnrecoded_isSubnormal = $signed(FReg2_ft_2_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_2_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_2_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_2_prevUnrecoded_denormFract_T_1 = FReg2_ft_2_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_2_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_2_prevUnrecoded_denormFract = _FReg2_ft_2_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_2_prevUnrecoded_expOut_T_2 = FReg2_ft_2_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_2_prevUnrecoded_expOut_T_3 = FReg2_ft_2_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_2_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_2_prevUnrecoded_expOut_T_4 = FReg2_ft_2_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_2_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_2_prevUnrecoded_expOut_T_6 = _FReg2_ft_2_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_2_prevUnrecoded_expOut = _FReg2_ft_2_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_2_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_2_prevUnrecoded_fractOut_T_1 = FReg2_ft_2_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_2_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_2_prevUnrecoded_fractOut = FReg2_ft_2_prevUnrecoded_isSubnormal ?
    FReg2_ft_2_prevUnrecoded_denormFract : _FReg2_ft_2_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_2_prevUnrecoded = {FReg2_ft_2_unbx_sign,FReg2_ft_2_prevUnrecoded_expOut,
    FReg2_ft_2_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_2_T_2 = &io_diffFReg_2[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_2_T_4 = _FReg2_ft_2_T_2 ? FReg2_ft_2_prevUnrecoded : FReg2_ft_2_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_3_unbx_sign = FReg1_ft_3_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_3_unbx_fractIn = FReg1_ft_3_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_3_unbx_expIn = FReg1_ft_3_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_3_unbx_expOut_expCode = FReg2_ft_3_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_3_unbx_expOut_T = FReg2_ft_3_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_3_unrecoded_rawIn_exp = io_diffFReg_3[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_3_unrecoded_rawIn_isZero = FReg2_ft_3_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_3_unrecoded_rawIn_isSpecial = FReg2_ft_3_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_3_unrecoded_rawIn__isNaN = FReg2_ft_3_unrecoded_rawIn_isSpecial & FReg2_ft_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_3_unrecoded_rawIn__isInf = FReg2_ft_3_unrecoded_rawIn_isSpecial & ~FReg2_ft_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_3_unrecoded_rawIn__sign = io_diffFReg_3[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_3_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_3_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_3_unrecoded_rawIn_out_sig_T = ~FReg2_ft_3_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_3_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_3_unrecoded_rawIn_out_sig_T,io_diffFReg_3[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_3_unrecoded_isSubnormal = $signed(FReg2_ft_3_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_3_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_3_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_3_unrecoded_denormFract_T_1 = FReg2_ft_3_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_3_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_3_unrecoded_denormFract = _FReg2_ft_3_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_3_unrecoded_expOut_T_2 = FReg2_ft_3_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_3_unrecoded_expOut_T_3 = FReg2_ft_3_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_3_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_3_unrecoded_expOut_T_4 = FReg2_ft_3_unrecoded_rawIn__isNaN | FReg2_ft_3_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_3_unrecoded_expOut_T_6 = _FReg2_ft_3_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_3_unrecoded_expOut = _FReg2_ft_3_unrecoded_expOut_T_3 | _FReg2_ft_3_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_3_unrecoded_fractOut_T_1 = FReg2_ft_3_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_3_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_3_unrecoded_fractOut = FReg2_ft_3_unrecoded_isSubnormal ? FReg2_ft_3_unrecoded_denormFract :
    _FReg2_ft_3_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_3_unrecoded = {FReg2_ft_3_unrecoded_rawIn__sign,FReg2_ft_3_unrecoded_expOut,
    FReg2_ft_3_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_3_prevUnrecoded_rawIn_isSpecial = FReg2_ft_3_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_3_prevUnrecoded_rawIn__isNaN = FReg2_ft_3_prevUnrecoded_rawIn_isSpecial & FReg2_ft_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_3_prevUnrecoded_rawIn__isInf = FReg2_ft_3_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_3_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_3_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_3_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_3_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_3_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_3_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_3_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_3_prevUnrecoded_isSubnormal = $signed(FReg2_ft_3_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_3_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_3_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_3_prevUnrecoded_denormFract_T_1 = FReg2_ft_3_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_3_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_3_prevUnrecoded_denormFract = _FReg2_ft_3_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_3_prevUnrecoded_expOut_T_2 = FReg2_ft_3_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_3_prevUnrecoded_expOut_T_3 = FReg2_ft_3_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_3_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_3_prevUnrecoded_expOut_T_4 = FReg2_ft_3_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_3_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_3_prevUnrecoded_expOut_T_6 = _FReg2_ft_3_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_3_prevUnrecoded_expOut = _FReg2_ft_3_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_3_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_3_prevUnrecoded_fractOut_T_1 = FReg2_ft_3_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_3_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_3_prevUnrecoded_fractOut = FReg2_ft_3_prevUnrecoded_isSubnormal ?
    FReg2_ft_3_prevUnrecoded_denormFract : _FReg2_ft_3_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_3_prevUnrecoded = {FReg2_ft_3_unbx_sign,FReg2_ft_3_prevUnrecoded_expOut,
    FReg2_ft_3_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_3_T_2 = &io_diffFReg_3[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_3_T_4 = _FReg2_ft_3_T_2 ? FReg2_ft_3_prevUnrecoded : FReg2_ft_3_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_4_unbx_sign = FReg1_ft_4_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_4_unbx_fractIn = FReg1_ft_4_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_4_unbx_expIn = FReg1_ft_4_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_4_unbx_expOut_expCode = FReg2_ft_4_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_4_unbx_expOut_T = FReg2_ft_4_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_4_unrecoded_rawIn_exp = io_diffFReg_4[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_4_unrecoded_rawIn_isZero = FReg2_ft_4_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_4_unrecoded_rawIn_isSpecial = FReg2_ft_4_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_4_unrecoded_rawIn__isNaN = FReg2_ft_4_unrecoded_rawIn_isSpecial & FReg2_ft_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_4_unrecoded_rawIn__isInf = FReg2_ft_4_unrecoded_rawIn_isSpecial & ~FReg2_ft_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_4_unrecoded_rawIn__sign = io_diffFReg_4[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_4_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_4_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_4_unrecoded_rawIn_out_sig_T = ~FReg2_ft_4_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_4_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_4_unrecoded_rawIn_out_sig_T,io_diffFReg_4[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_4_unrecoded_isSubnormal = $signed(FReg2_ft_4_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_4_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_4_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_4_unrecoded_denormFract_T_1 = FReg2_ft_4_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_4_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_4_unrecoded_denormFract = _FReg2_ft_4_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_4_unrecoded_expOut_T_2 = FReg2_ft_4_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_4_unrecoded_expOut_T_3 = FReg2_ft_4_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_4_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_4_unrecoded_expOut_T_4 = FReg2_ft_4_unrecoded_rawIn__isNaN | FReg2_ft_4_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_4_unrecoded_expOut_T_6 = _FReg2_ft_4_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_4_unrecoded_expOut = _FReg2_ft_4_unrecoded_expOut_T_3 | _FReg2_ft_4_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_4_unrecoded_fractOut_T_1 = FReg2_ft_4_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_4_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_4_unrecoded_fractOut = FReg2_ft_4_unrecoded_isSubnormal ? FReg2_ft_4_unrecoded_denormFract :
    _FReg2_ft_4_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_4_unrecoded = {FReg2_ft_4_unrecoded_rawIn__sign,FReg2_ft_4_unrecoded_expOut,
    FReg2_ft_4_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_4_prevUnrecoded_rawIn_isSpecial = FReg2_ft_4_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_4_prevUnrecoded_rawIn__isNaN = FReg2_ft_4_prevUnrecoded_rawIn_isSpecial & FReg2_ft_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_4_prevUnrecoded_rawIn__isInf = FReg2_ft_4_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_4_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_4_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_4_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_4_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_4_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_4_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_4_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_4_prevUnrecoded_isSubnormal = $signed(FReg2_ft_4_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_4_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_4_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_4_prevUnrecoded_denormFract_T_1 = FReg2_ft_4_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_4_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_4_prevUnrecoded_denormFract = _FReg2_ft_4_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_4_prevUnrecoded_expOut_T_2 = FReg2_ft_4_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_4_prevUnrecoded_expOut_T_3 = FReg2_ft_4_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_4_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_4_prevUnrecoded_expOut_T_4 = FReg2_ft_4_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_4_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_4_prevUnrecoded_expOut_T_6 = _FReg2_ft_4_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_4_prevUnrecoded_expOut = _FReg2_ft_4_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_4_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_4_prevUnrecoded_fractOut_T_1 = FReg2_ft_4_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_4_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_4_prevUnrecoded_fractOut = FReg2_ft_4_prevUnrecoded_isSubnormal ?
    FReg2_ft_4_prevUnrecoded_denormFract : _FReg2_ft_4_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_4_prevUnrecoded = {FReg2_ft_4_unbx_sign,FReg2_ft_4_prevUnrecoded_expOut,
    FReg2_ft_4_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_4_T_2 = &io_diffFReg_4[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_4_T_4 = _FReg2_ft_4_T_2 ? FReg2_ft_4_prevUnrecoded : FReg2_ft_4_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_5_unbx_sign = FReg1_ft_5_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_5_unbx_fractIn = FReg1_ft_5_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_5_unbx_expIn = FReg1_ft_5_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_5_unbx_expOut_expCode = FReg2_ft_5_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_5_unbx_expOut_T = FReg2_ft_5_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_5_unrecoded_rawIn_exp = io_diffFReg_5[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_5_unrecoded_rawIn_isZero = FReg2_ft_5_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_5_unrecoded_rawIn_isSpecial = FReg2_ft_5_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_5_unrecoded_rawIn__isNaN = FReg2_ft_5_unrecoded_rawIn_isSpecial & FReg2_ft_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_5_unrecoded_rawIn__isInf = FReg2_ft_5_unrecoded_rawIn_isSpecial & ~FReg2_ft_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_5_unrecoded_rawIn__sign = io_diffFReg_5[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_5_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_5_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_5_unrecoded_rawIn_out_sig_T = ~FReg2_ft_5_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_5_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_5_unrecoded_rawIn_out_sig_T,io_diffFReg_5[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_5_unrecoded_isSubnormal = $signed(FReg2_ft_5_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_5_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_5_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_5_unrecoded_denormFract_T_1 = FReg2_ft_5_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_5_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_5_unrecoded_denormFract = _FReg2_ft_5_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_5_unrecoded_expOut_T_2 = FReg2_ft_5_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_5_unrecoded_expOut_T_3 = FReg2_ft_5_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_5_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_5_unrecoded_expOut_T_4 = FReg2_ft_5_unrecoded_rawIn__isNaN | FReg2_ft_5_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_5_unrecoded_expOut_T_6 = _FReg2_ft_5_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_5_unrecoded_expOut = _FReg2_ft_5_unrecoded_expOut_T_3 | _FReg2_ft_5_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_5_unrecoded_fractOut_T_1 = FReg2_ft_5_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_5_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_5_unrecoded_fractOut = FReg2_ft_5_unrecoded_isSubnormal ? FReg2_ft_5_unrecoded_denormFract :
    _FReg2_ft_5_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_5_unrecoded = {FReg2_ft_5_unrecoded_rawIn__sign,FReg2_ft_5_unrecoded_expOut,
    FReg2_ft_5_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_5_prevUnrecoded_rawIn_isSpecial = FReg2_ft_5_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_5_prevUnrecoded_rawIn__isNaN = FReg2_ft_5_prevUnrecoded_rawIn_isSpecial & FReg2_ft_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_5_prevUnrecoded_rawIn__isInf = FReg2_ft_5_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_5_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_5_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_5_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_5_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_5_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_5_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_5_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_5_prevUnrecoded_isSubnormal = $signed(FReg2_ft_5_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_5_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_5_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_5_prevUnrecoded_denormFract_T_1 = FReg2_ft_5_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_5_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_5_prevUnrecoded_denormFract = _FReg2_ft_5_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_5_prevUnrecoded_expOut_T_2 = FReg2_ft_5_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_5_prevUnrecoded_expOut_T_3 = FReg2_ft_5_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_5_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_5_prevUnrecoded_expOut_T_4 = FReg2_ft_5_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_5_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_5_prevUnrecoded_expOut_T_6 = _FReg2_ft_5_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_5_prevUnrecoded_expOut = _FReg2_ft_5_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_5_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_5_prevUnrecoded_fractOut_T_1 = FReg2_ft_5_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_5_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_5_prevUnrecoded_fractOut = FReg2_ft_5_prevUnrecoded_isSubnormal ?
    FReg2_ft_5_prevUnrecoded_denormFract : _FReg2_ft_5_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_5_prevUnrecoded = {FReg2_ft_5_unbx_sign,FReg2_ft_5_prevUnrecoded_expOut,
    FReg2_ft_5_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_5_T_2 = &io_diffFReg_5[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_5_T_4 = _FReg2_ft_5_T_2 ? FReg2_ft_5_prevUnrecoded : FReg2_ft_5_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_6_unbx_sign = FReg1_ft_6_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_6_unbx_fractIn = FReg1_ft_6_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_6_unbx_expIn = FReg1_ft_6_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_6_unbx_expOut_expCode = FReg2_ft_6_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_6_unbx_expOut_T = FReg2_ft_6_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_6_unrecoded_rawIn_exp = io_diffFReg_6[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_6_unrecoded_rawIn_isZero = FReg2_ft_6_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_6_unrecoded_rawIn_isSpecial = FReg2_ft_6_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_6_unrecoded_rawIn__isNaN = FReg2_ft_6_unrecoded_rawIn_isSpecial & FReg2_ft_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_6_unrecoded_rawIn__isInf = FReg2_ft_6_unrecoded_rawIn_isSpecial & ~FReg2_ft_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_6_unrecoded_rawIn__sign = io_diffFReg_6[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_6_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_6_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_6_unrecoded_rawIn_out_sig_T = ~FReg2_ft_6_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_6_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_6_unrecoded_rawIn_out_sig_T,io_diffFReg_6[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_6_unrecoded_isSubnormal = $signed(FReg2_ft_6_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_6_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_6_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_6_unrecoded_denormFract_T_1 = FReg2_ft_6_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_6_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_6_unrecoded_denormFract = _FReg2_ft_6_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_6_unrecoded_expOut_T_2 = FReg2_ft_6_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_6_unrecoded_expOut_T_3 = FReg2_ft_6_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_6_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_6_unrecoded_expOut_T_4 = FReg2_ft_6_unrecoded_rawIn__isNaN | FReg2_ft_6_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_6_unrecoded_expOut_T_6 = _FReg2_ft_6_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_6_unrecoded_expOut = _FReg2_ft_6_unrecoded_expOut_T_3 | _FReg2_ft_6_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_6_unrecoded_fractOut_T_1 = FReg2_ft_6_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_6_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_6_unrecoded_fractOut = FReg2_ft_6_unrecoded_isSubnormal ? FReg2_ft_6_unrecoded_denormFract :
    _FReg2_ft_6_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_6_unrecoded = {FReg2_ft_6_unrecoded_rawIn__sign,FReg2_ft_6_unrecoded_expOut,
    FReg2_ft_6_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_6_prevUnrecoded_rawIn_isSpecial = FReg2_ft_6_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_6_prevUnrecoded_rawIn__isNaN = FReg2_ft_6_prevUnrecoded_rawIn_isSpecial & FReg2_ft_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_6_prevUnrecoded_rawIn__isInf = FReg2_ft_6_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_6_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_6_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_6_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_6_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_6_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_6_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_6_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_6_prevUnrecoded_isSubnormal = $signed(FReg2_ft_6_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_6_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_6_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_6_prevUnrecoded_denormFract_T_1 = FReg2_ft_6_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_6_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_6_prevUnrecoded_denormFract = _FReg2_ft_6_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_6_prevUnrecoded_expOut_T_2 = FReg2_ft_6_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_6_prevUnrecoded_expOut_T_3 = FReg2_ft_6_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_6_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_6_prevUnrecoded_expOut_T_4 = FReg2_ft_6_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_6_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_6_prevUnrecoded_expOut_T_6 = _FReg2_ft_6_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_6_prevUnrecoded_expOut = _FReg2_ft_6_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_6_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_6_prevUnrecoded_fractOut_T_1 = FReg2_ft_6_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_6_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_6_prevUnrecoded_fractOut = FReg2_ft_6_prevUnrecoded_isSubnormal ?
    FReg2_ft_6_prevUnrecoded_denormFract : _FReg2_ft_6_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_6_prevUnrecoded = {FReg2_ft_6_unbx_sign,FReg2_ft_6_prevUnrecoded_expOut,
    FReg2_ft_6_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_6_T_2 = &io_diffFReg_6[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_6_T_4 = _FReg2_ft_6_T_2 ? FReg2_ft_6_prevUnrecoded : FReg2_ft_6_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_7_unbx_sign = FReg1_ft_7_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_7_unbx_fractIn = FReg1_ft_7_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_7_unbx_expIn = FReg1_ft_7_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_7_unbx_expOut_expCode = FReg2_ft_7_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_7_unbx_expOut_T = FReg2_ft_7_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_7_unrecoded_rawIn_exp = io_diffFReg_7[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_7_unrecoded_rawIn_isZero = FReg2_ft_7_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_7_unrecoded_rawIn_isSpecial = FReg2_ft_7_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_7_unrecoded_rawIn__isNaN = FReg2_ft_7_unrecoded_rawIn_isSpecial & FReg2_ft_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_7_unrecoded_rawIn__isInf = FReg2_ft_7_unrecoded_rawIn_isSpecial & ~FReg2_ft_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_7_unrecoded_rawIn__sign = io_diffFReg_7[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_7_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_7_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_7_unrecoded_rawIn_out_sig_T = ~FReg2_ft_7_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_7_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_7_unrecoded_rawIn_out_sig_T,io_diffFReg_7[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_7_unrecoded_isSubnormal = $signed(FReg2_ft_7_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_7_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_7_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_7_unrecoded_denormFract_T_1 = FReg2_ft_7_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_7_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_7_unrecoded_denormFract = _FReg2_ft_7_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_7_unrecoded_expOut_T_2 = FReg2_ft_7_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_7_unrecoded_expOut_T_3 = FReg2_ft_7_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_7_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_7_unrecoded_expOut_T_4 = FReg2_ft_7_unrecoded_rawIn__isNaN | FReg2_ft_7_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_7_unrecoded_expOut_T_6 = _FReg2_ft_7_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_7_unrecoded_expOut = _FReg2_ft_7_unrecoded_expOut_T_3 | _FReg2_ft_7_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_7_unrecoded_fractOut_T_1 = FReg2_ft_7_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_7_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_7_unrecoded_fractOut = FReg2_ft_7_unrecoded_isSubnormal ? FReg2_ft_7_unrecoded_denormFract :
    _FReg2_ft_7_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_7_unrecoded = {FReg2_ft_7_unrecoded_rawIn__sign,FReg2_ft_7_unrecoded_expOut,
    FReg2_ft_7_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_7_prevUnrecoded_rawIn_isSpecial = FReg2_ft_7_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_7_prevUnrecoded_rawIn__isNaN = FReg2_ft_7_prevUnrecoded_rawIn_isSpecial & FReg2_ft_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_7_prevUnrecoded_rawIn__isInf = FReg2_ft_7_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_7_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_7_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_7_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_7_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_7_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_7_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_7_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_7_prevUnrecoded_isSubnormal = $signed(FReg2_ft_7_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_7_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_7_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_7_prevUnrecoded_denormFract_T_1 = FReg2_ft_7_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_7_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_7_prevUnrecoded_denormFract = _FReg2_ft_7_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_7_prevUnrecoded_expOut_T_2 = FReg2_ft_7_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_7_prevUnrecoded_expOut_T_3 = FReg2_ft_7_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_7_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_7_prevUnrecoded_expOut_T_4 = FReg2_ft_7_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_7_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_7_prevUnrecoded_expOut_T_6 = _FReg2_ft_7_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_7_prevUnrecoded_expOut = _FReg2_ft_7_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_7_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_7_prevUnrecoded_fractOut_T_1 = FReg2_ft_7_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_7_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_7_prevUnrecoded_fractOut = FReg2_ft_7_prevUnrecoded_isSubnormal ?
    FReg2_ft_7_prevUnrecoded_denormFract : _FReg2_ft_7_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_7_prevUnrecoded = {FReg2_ft_7_unbx_sign,FReg2_ft_7_prevUnrecoded_expOut,
    FReg2_ft_7_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_7_T_2 = &io_diffFReg_7[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_7_T_4 = _FReg2_ft_7_T_2 ? FReg2_ft_7_prevUnrecoded : FReg2_ft_7_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_0_unbx_sign = FReg1_fs_0_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_0_unbx_fractIn = FReg1_fs_0_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_0_unbx_expIn = FReg1_fs_0_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_0_unbx_expOut_expCode = FReg2_fs_0_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_0_unbx_expOut_T = FReg2_fs_0_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_0_unrecoded_rawIn_exp = io_diffFReg_8[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_0_unrecoded_rawIn_isZero = FReg2_fs_0_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_0_unrecoded_rawIn_isSpecial = FReg2_fs_0_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_0_unrecoded_rawIn__isNaN = FReg2_fs_0_unrecoded_rawIn_isSpecial & FReg2_fs_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_0_unrecoded_rawIn__isInf = FReg2_fs_0_unrecoded_rawIn_isSpecial & ~FReg2_fs_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_0_unrecoded_rawIn__sign = io_diffFReg_8[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_0_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_0_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_0_unrecoded_rawIn_out_sig_T = ~FReg2_fs_0_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_0_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_0_unrecoded_rawIn_out_sig_T,io_diffFReg_8[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_0_unrecoded_isSubnormal = $signed(FReg2_fs_0_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_0_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_0_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_0_unrecoded_denormFract_T_1 = FReg2_fs_0_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_0_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_0_unrecoded_denormFract = _FReg2_fs_0_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_0_unrecoded_expOut_T_2 = FReg2_fs_0_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_0_unrecoded_expOut_T_3 = FReg2_fs_0_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_0_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_0_unrecoded_expOut_T_4 = FReg2_fs_0_unrecoded_rawIn__isNaN | FReg2_fs_0_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_0_unrecoded_expOut_T_6 = _FReg2_fs_0_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_0_unrecoded_expOut = _FReg2_fs_0_unrecoded_expOut_T_3 | _FReg2_fs_0_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_0_unrecoded_fractOut_T_1 = FReg2_fs_0_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_0_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_0_unrecoded_fractOut = FReg2_fs_0_unrecoded_isSubnormal ? FReg2_fs_0_unrecoded_denormFract :
    _FReg2_fs_0_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_0_unrecoded = {FReg2_fs_0_unrecoded_rawIn__sign,FReg2_fs_0_unrecoded_expOut,
    FReg2_fs_0_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_0_prevUnrecoded_rawIn_isSpecial = FReg2_fs_0_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_0_prevUnrecoded_rawIn__isNaN = FReg2_fs_0_prevUnrecoded_rawIn_isSpecial & FReg2_fs_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_0_prevUnrecoded_rawIn__isInf = FReg2_fs_0_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_0_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_0_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_0_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_0_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_0_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_0_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_0_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_0_prevUnrecoded_isSubnormal = $signed(FReg2_fs_0_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_0_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_0_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_0_prevUnrecoded_denormFract_T_1 = FReg2_fs_0_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_0_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_0_prevUnrecoded_denormFract = _FReg2_fs_0_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_0_prevUnrecoded_expOut_T_2 = FReg2_fs_0_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_0_prevUnrecoded_expOut_T_3 = FReg2_fs_0_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_0_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_0_prevUnrecoded_expOut_T_4 = FReg2_fs_0_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_0_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_0_prevUnrecoded_expOut_T_6 = _FReg2_fs_0_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_0_prevUnrecoded_expOut = _FReg2_fs_0_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_0_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_0_prevUnrecoded_fractOut_T_1 = FReg2_fs_0_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_0_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_0_prevUnrecoded_fractOut = FReg2_fs_0_prevUnrecoded_isSubnormal ?
    FReg2_fs_0_prevUnrecoded_denormFract : _FReg2_fs_0_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_0_prevUnrecoded = {FReg2_fs_0_unbx_sign,FReg2_fs_0_prevUnrecoded_expOut,
    FReg2_fs_0_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_0_T_2 = &io_diffFReg_8[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_0_T_4 = _FReg2_fs_0_T_2 ? FReg2_fs_0_prevUnrecoded : FReg2_fs_0_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_1_unbx_sign = FReg1_fs_1_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_1_unbx_fractIn = FReg1_fs_1_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_1_unbx_expIn = FReg1_fs_1_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_1_unbx_expOut_expCode = FReg2_fs_1_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_1_unbx_expOut_T = FReg2_fs_1_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_1_unrecoded_rawIn_exp = io_diffFReg_9[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_1_unrecoded_rawIn_isZero = FReg2_fs_1_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_1_unrecoded_rawIn_isSpecial = FReg2_fs_1_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_1_unrecoded_rawIn__isNaN = FReg2_fs_1_unrecoded_rawIn_isSpecial & FReg2_fs_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_1_unrecoded_rawIn__isInf = FReg2_fs_1_unrecoded_rawIn_isSpecial & ~FReg2_fs_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_1_unrecoded_rawIn__sign = io_diffFReg_9[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_1_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_1_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_1_unrecoded_rawIn_out_sig_T = ~FReg2_fs_1_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_1_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_1_unrecoded_rawIn_out_sig_T,io_diffFReg_9[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_1_unrecoded_isSubnormal = $signed(FReg2_fs_1_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_1_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_1_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_1_unrecoded_denormFract_T_1 = FReg2_fs_1_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_1_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_1_unrecoded_denormFract = _FReg2_fs_1_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_1_unrecoded_expOut_T_2 = FReg2_fs_1_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_1_unrecoded_expOut_T_3 = FReg2_fs_1_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_1_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_1_unrecoded_expOut_T_4 = FReg2_fs_1_unrecoded_rawIn__isNaN | FReg2_fs_1_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_1_unrecoded_expOut_T_6 = _FReg2_fs_1_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_1_unrecoded_expOut = _FReg2_fs_1_unrecoded_expOut_T_3 | _FReg2_fs_1_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_1_unrecoded_fractOut_T_1 = FReg2_fs_1_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_1_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_1_unrecoded_fractOut = FReg2_fs_1_unrecoded_isSubnormal ? FReg2_fs_1_unrecoded_denormFract :
    _FReg2_fs_1_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_1_unrecoded = {FReg2_fs_1_unrecoded_rawIn__sign,FReg2_fs_1_unrecoded_expOut,
    FReg2_fs_1_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_1_prevUnrecoded_rawIn_isSpecial = FReg2_fs_1_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_1_prevUnrecoded_rawIn__isNaN = FReg2_fs_1_prevUnrecoded_rawIn_isSpecial & FReg2_fs_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_1_prevUnrecoded_rawIn__isInf = FReg2_fs_1_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_1_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_1_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_1_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_1_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_1_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_1_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_1_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_1_prevUnrecoded_isSubnormal = $signed(FReg2_fs_1_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_1_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_1_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_1_prevUnrecoded_denormFract_T_1 = FReg2_fs_1_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_1_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_1_prevUnrecoded_denormFract = _FReg2_fs_1_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_1_prevUnrecoded_expOut_T_2 = FReg2_fs_1_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_1_prevUnrecoded_expOut_T_3 = FReg2_fs_1_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_1_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_1_prevUnrecoded_expOut_T_4 = FReg2_fs_1_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_1_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_1_prevUnrecoded_expOut_T_6 = _FReg2_fs_1_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_1_prevUnrecoded_expOut = _FReg2_fs_1_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_1_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_1_prevUnrecoded_fractOut_T_1 = FReg2_fs_1_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_1_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_1_prevUnrecoded_fractOut = FReg2_fs_1_prevUnrecoded_isSubnormal ?
    FReg2_fs_1_prevUnrecoded_denormFract : _FReg2_fs_1_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_1_prevUnrecoded = {FReg2_fs_1_unbx_sign,FReg2_fs_1_prevUnrecoded_expOut,
    FReg2_fs_1_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_1_T_2 = &io_diffFReg_9[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_1_T_4 = _FReg2_fs_1_T_2 ? FReg2_fs_1_prevUnrecoded : FReg2_fs_1_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_0_unbx_sign = FReg1_fa_0_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_0_unbx_fractIn = FReg1_fa_0_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_0_unbx_expIn = FReg1_fa_0_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_0_unbx_expOut_expCode = FReg2_fa_0_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_0_unbx_expOut_T = FReg2_fa_0_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_0_unrecoded_rawIn_exp = io_diffFReg_10[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_0_unrecoded_rawIn_isZero = FReg2_fa_0_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_0_unrecoded_rawIn_isSpecial = FReg2_fa_0_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_0_unrecoded_rawIn__isNaN = FReg2_fa_0_unrecoded_rawIn_isSpecial & FReg2_fa_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_0_unrecoded_rawIn__isInf = FReg2_fa_0_unrecoded_rawIn_isSpecial & ~FReg2_fa_0_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_0_unrecoded_rawIn__sign = io_diffFReg_10[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_0_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_0_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_0_unrecoded_rawIn_out_sig_T = ~FReg2_fa_0_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_0_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_0_unrecoded_rawIn_out_sig_T,io_diffFReg_10[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_0_unrecoded_isSubnormal = $signed(FReg2_fa_0_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_0_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_0_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_0_unrecoded_denormFract_T_1 = FReg2_fa_0_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_0_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_0_unrecoded_denormFract = _FReg2_fa_0_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_0_unrecoded_expOut_T_2 = FReg2_fa_0_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_0_unrecoded_expOut_T_3 = FReg2_fa_0_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_0_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_0_unrecoded_expOut_T_4 = FReg2_fa_0_unrecoded_rawIn__isNaN | FReg2_fa_0_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_0_unrecoded_expOut_T_6 = _FReg2_fa_0_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_0_unrecoded_expOut = _FReg2_fa_0_unrecoded_expOut_T_3 | _FReg2_fa_0_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_0_unrecoded_fractOut_T_1 = FReg2_fa_0_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_0_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_0_unrecoded_fractOut = FReg2_fa_0_unrecoded_isSubnormal ? FReg2_fa_0_unrecoded_denormFract :
    _FReg2_fa_0_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_0_unrecoded = {FReg2_fa_0_unrecoded_rawIn__sign,FReg2_fa_0_unrecoded_expOut,
    FReg2_fa_0_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_0_prevUnrecoded_rawIn_isSpecial = FReg2_fa_0_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_0_prevUnrecoded_rawIn__isNaN = FReg2_fa_0_prevUnrecoded_rawIn_isSpecial & FReg2_fa_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_0_prevUnrecoded_rawIn__isInf = FReg2_fa_0_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_0_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_0_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_0_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_0_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_0_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_0_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_0_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_0_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_0_prevUnrecoded_isSubnormal = $signed(FReg2_fa_0_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_0_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_0_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_0_prevUnrecoded_denormFract_T_1 = FReg2_fa_0_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_0_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_0_prevUnrecoded_denormFract = _FReg2_fa_0_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_0_prevUnrecoded_expOut_T_2 = FReg2_fa_0_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_0_prevUnrecoded_expOut_T_3 = FReg2_fa_0_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_0_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_0_prevUnrecoded_expOut_T_4 = FReg2_fa_0_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_0_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_0_prevUnrecoded_expOut_T_6 = _FReg2_fa_0_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_0_prevUnrecoded_expOut = _FReg2_fa_0_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_0_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_0_prevUnrecoded_fractOut_T_1 = FReg2_fa_0_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_0_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_0_prevUnrecoded_fractOut = FReg2_fa_0_prevUnrecoded_isSubnormal ?
    FReg2_fa_0_prevUnrecoded_denormFract : _FReg2_fa_0_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_0_prevUnrecoded = {FReg2_fa_0_unbx_sign,FReg2_fa_0_prevUnrecoded_expOut,
    FReg2_fa_0_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_0_T_2 = &io_diffFReg_10[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_0_T_4 = _FReg2_fa_0_T_2 ? FReg2_fa_0_prevUnrecoded : FReg2_fa_0_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_1_unbx_sign = FReg1_fa_1_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_1_unbx_fractIn = FReg1_fa_1_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_1_unbx_expIn = FReg1_fa_1_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_1_unbx_expOut_expCode = FReg2_fa_1_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_1_unbx_expOut_T = FReg2_fa_1_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_1_unrecoded_rawIn_exp = io_diffFReg_11[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_1_unrecoded_rawIn_isZero = FReg2_fa_1_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_1_unrecoded_rawIn_isSpecial = FReg2_fa_1_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_1_unrecoded_rawIn__isNaN = FReg2_fa_1_unrecoded_rawIn_isSpecial & FReg2_fa_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_1_unrecoded_rawIn__isInf = FReg2_fa_1_unrecoded_rawIn_isSpecial & ~FReg2_fa_1_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_1_unrecoded_rawIn__sign = io_diffFReg_11[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_1_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_1_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_1_unrecoded_rawIn_out_sig_T = ~FReg2_fa_1_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_1_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_1_unrecoded_rawIn_out_sig_T,io_diffFReg_11[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_1_unrecoded_isSubnormal = $signed(FReg2_fa_1_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_1_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_1_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_1_unrecoded_denormFract_T_1 = FReg2_fa_1_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_1_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_1_unrecoded_denormFract = _FReg2_fa_1_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_1_unrecoded_expOut_T_2 = FReg2_fa_1_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_1_unrecoded_expOut_T_3 = FReg2_fa_1_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_1_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_1_unrecoded_expOut_T_4 = FReg2_fa_1_unrecoded_rawIn__isNaN | FReg2_fa_1_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_1_unrecoded_expOut_T_6 = _FReg2_fa_1_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_1_unrecoded_expOut = _FReg2_fa_1_unrecoded_expOut_T_3 | _FReg2_fa_1_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_1_unrecoded_fractOut_T_1 = FReg2_fa_1_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_1_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_1_unrecoded_fractOut = FReg2_fa_1_unrecoded_isSubnormal ? FReg2_fa_1_unrecoded_denormFract :
    _FReg2_fa_1_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_1_unrecoded = {FReg2_fa_1_unrecoded_rawIn__sign,FReg2_fa_1_unrecoded_expOut,
    FReg2_fa_1_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_1_prevUnrecoded_rawIn_isSpecial = FReg2_fa_1_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_1_prevUnrecoded_rawIn__isNaN = FReg2_fa_1_prevUnrecoded_rawIn_isSpecial & FReg2_fa_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_1_prevUnrecoded_rawIn__isInf = FReg2_fa_1_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_1_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_1_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_1_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_1_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_1_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_1_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_1_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_1_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_1_prevUnrecoded_isSubnormal = $signed(FReg2_fa_1_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_1_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_1_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_1_prevUnrecoded_denormFract_T_1 = FReg2_fa_1_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_1_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_1_prevUnrecoded_denormFract = _FReg2_fa_1_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_1_prevUnrecoded_expOut_T_2 = FReg2_fa_1_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_1_prevUnrecoded_expOut_T_3 = FReg2_fa_1_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_1_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_1_prevUnrecoded_expOut_T_4 = FReg2_fa_1_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_1_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_1_prevUnrecoded_expOut_T_6 = _FReg2_fa_1_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_1_prevUnrecoded_expOut = _FReg2_fa_1_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_1_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_1_prevUnrecoded_fractOut_T_1 = FReg2_fa_1_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_1_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_1_prevUnrecoded_fractOut = FReg2_fa_1_prevUnrecoded_isSubnormal ?
    FReg2_fa_1_prevUnrecoded_denormFract : _FReg2_fa_1_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_1_prevUnrecoded = {FReg2_fa_1_unbx_sign,FReg2_fa_1_prevUnrecoded_expOut,
    FReg2_fa_1_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_1_T_2 = &io_diffFReg_11[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_1_T_4 = _FReg2_fa_1_T_2 ? FReg2_fa_1_prevUnrecoded : FReg2_fa_1_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_2_unbx_sign = FReg1_fa_2_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_2_unbx_fractIn = FReg1_fa_2_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_2_unbx_expIn = FReg1_fa_2_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_2_unbx_expOut_expCode = FReg2_fa_2_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_2_unbx_expOut_T = FReg2_fa_2_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_2_unrecoded_rawIn_exp = io_diffFReg_12[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_2_unrecoded_rawIn_isZero = FReg2_fa_2_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_2_unrecoded_rawIn_isSpecial = FReg2_fa_2_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_2_unrecoded_rawIn__isNaN = FReg2_fa_2_unrecoded_rawIn_isSpecial & FReg2_fa_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_2_unrecoded_rawIn__isInf = FReg2_fa_2_unrecoded_rawIn_isSpecial & ~FReg2_fa_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_2_unrecoded_rawIn__sign = io_diffFReg_12[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_2_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_2_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_2_unrecoded_rawIn_out_sig_T = ~FReg2_fa_2_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_2_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_2_unrecoded_rawIn_out_sig_T,io_diffFReg_12[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_2_unrecoded_isSubnormal = $signed(FReg2_fa_2_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_2_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_2_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_2_unrecoded_denormFract_T_1 = FReg2_fa_2_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_2_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_2_unrecoded_denormFract = _FReg2_fa_2_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_2_unrecoded_expOut_T_2 = FReg2_fa_2_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_2_unrecoded_expOut_T_3 = FReg2_fa_2_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_2_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_2_unrecoded_expOut_T_4 = FReg2_fa_2_unrecoded_rawIn__isNaN | FReg2_fa_2_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_2_unrecoded_expOut_T_6 = _FReg2_fa_2_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_2_unrecoded_expOut = _FReg2_fa_2_unrecoded_expOut_T_3 | _FReg2_fa_2_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_2_unrecoded_fractOut_T_1 = FReg2_fa_2_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_2_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_2_unrecoded_fractOut = FReg2_fa_2_unrecoded_isSubnormal ? FReg2_fa_2_unrecoded_denormFract :
    _FReg2_fa_2_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_2_unrecoded = {FReg2_fa_2_unrecoded_rawIn__sign,FReg2_fa_2_unrecoded_expOut,
    FReg2_fa_2_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_2_prevUnrecoded_rawIn_isSpecial = FReg2_fa_2_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_2_prevUnrecoded_rawIn__isNaN = FReg2_fa_2_prevUnrecoded_rawIn_isSpecial & FReg2_fa_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_2_prevUnrecoded_rawIn__isInf = FReg2_fa_2_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_2_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_2_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_2_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_2_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_2_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_2_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_2_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_2_prevUnrecoded_isSubnormal = $signed(FReg2_fa_2_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_2_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_2_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_2_prevUnrecoded_denormFract_T_1 = FReg2_fa_2_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_2_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_2_prevUnrecoded_denormFract = _FReg2_fa_2_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_2_prevUnrecoded_expOut_T_2 = FReg2_fa_2_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_2_prevUnrecoded_expOut_T_3 = FReg2_fa_2_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_2_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_2_prevUnrecoded_expOut_T_4 = FReg2_fa_2_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_2_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_2_prevUnrecoded_expOut_T_6 = _FReg2_fa_2_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_2_prevUnrecoded_expOut = _FReg2_fa_2_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_2_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_2_prevUnrecoded_fractOut_T_1 = FReg2_fa_2_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_2_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_2_prevUnrecoded_fractOut = FReg2_fa_2_prevUnrecoded_isSubnormal ?
    FReg2_fa_2_prevUnrecoded_denormFract : _FReg2_fa_2_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_2_prevUnrecoded = {FReg2_fa_2_unbx_sign,FReg2_fa_2_prevUnrecoded_expOut,
    FReg2_fa_2_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_2_T_2 = &io_diffFReg_12[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_2_T_4 = _FReg2_fa_2_T_2 ? FReg2_fa_2_prevUnrecoded : FReg2_fa_2_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_3_unbx_sign = FReg1_fa_3_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_3_unbx_fractIn = FReg1_fa_3_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_3_unbx_expIn = FReg1_fa_3_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_3_unbx_expOut_expCode = FReg2_fa_3_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_3_unbx_expOut_T = FReg2_fa_3_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_3_unrecoded_rawIn_exp = io_diffFReg_13[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_3_unrecoded_rawIn_isZero = FReg2_fa_3_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_3_unrecoded_rawIn_isSpecial = FReg2_fa_3_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_3_unrecoded_rawIn__isNaN = FReg2_fa_3_unrecoded_rawIn_isSpecial & FReg2_fa_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_3_unrecoded_rawIn__isInf = FReg2_fa_3_unrecoded_rawIn_isSpecial & ~FReg2_fa_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_3_unrecoded_rawIn__sign = io_diffFReg_13[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_3_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_3_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_3_unrecoded_rawIn_out_sig_T = ~FReg2_fa_3_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_3_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_3_unrecoded_rawIn_out_sig_T,io_diffFReg_13[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_3_unrecoded_isSubnormal = $signed(FReg2_fa_3_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_3_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_3_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_3_unrecoded_denormFract_T_1 = FReg2_fa_3_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_3_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_3_unrecoded_denormFract = _FReg2_fa_3_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_3_unrecoded_expOut_T_2 = FReg2_fa_3_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_3_unrecoded_expOut_T_3 = FReg2_fa_3_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_3_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_3_unrecoded_expOut_T_4 = FReg2_fa_3_unrecoded_rawIn__isNaN | FReg2_fa_3_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_3_unrecoded_expOut_T_6 = _FReg2_fa_3_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_3_unrecoded_expOut = _FReg2_fa_3_unrecoded_expOut_T_3 | _FReg2_fa_3_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_3_unrecoded_fractOut_T_1 = FReg2_fa_3_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_3_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_3_unrecoded_fractOut = FReg2_fa_3_unrecoded_isSubnormal ? FReg2_fa_3_unrecoded_denormFract :
    _FReg2_fa_3_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_3_unrecoded = {FReg2_fa_3_unrecoded_rawIn__sign,FReg2_fa_3_unrecoded_expOut,
    FReg2_fa_3_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_3_prevUnrecoded_rawIn_isSpecial = FReg2_fa_3_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_3_prevUnrecoded_rawIn__isNaN = FReg2_fa_3_prevUnrecoded_rawIn_isSpecial & FReg2_fa_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_3_prevUnrecoded_rawIn__isInf = FReg2_fa_3_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_3_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_3_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_3_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_3_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_3_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_3_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_3_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_3_prevUnrecoded_isSubnormal = $signed(FReg2_fa_3_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_3_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_3_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_3_prevUnrecoded_denormFract_T_1 = FReg2_fa_3_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_3_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_3_prevUnrecoded_denormFract = _FReg2_fa_3_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_3_prevUnrecoded_expOut_T_2 = FReg2_fa_3_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_3_prevUnrecoded_expOut_T_3 = FReg2_fa_3_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_3_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_3_prevUnrecoded_expOut_T_4 = FReg2_fa_3_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_3_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_3_prevUnrecoded_expOut_T_6 = _FReg2_fa_3_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_3_prevUnrecoded_expOut = _FReg2_fa_3_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_3_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_3_prevUnrecoded_fractOut_T_1 = FReg2_fa_3_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_3_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_3_prevUnrecoded_fractOut = FReg2_fa_3_prevUnrecoded_isSubnormal ?
    FReg2_fa_3_prevUnrecoded_denormFract : _FReg2_fa_3_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_3_prevUnrecoded = {FReg2_fa_3_unbx_sign,FReg2_fa_3_prevUnrecoded_expOut,
    FReg2_fa_3_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_3_T_2 = &io_diffFReg_13[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_3_T_4 = _FReg2_fa_3_T_2 ? FReg2_fa_3_prevUnrecoded : FReg2_fa_3_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_4_unbx_sign = FReg1_fa_4_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_4_unbx_fractIn = FReg1_fa_4_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_4_unbx_expIn = FReg1_fa_4_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_4_unbx_expOut_expCode = FReg2_fa_4_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_4_unbx_expOut_T = FReg2_fa_4_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_4_unrecoded_rawIn_exp = io_diffFReg_14[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_4_unrecoded_rawIn_isZero = FReg2_fa_4_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_4_unrecoded_rawIn_isSpecial = FReg2_fa_4_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_4_unrecoded_rawIn__isNaN = FReg2_fa_4_unrecoded_rawIn_isSpecial & FReg2_fa_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_4_unrecoded_rawIn__isInf = FReg2_fa_4_unrecoded_rawIn_isSpecial & ~FReg2_fa_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_4_unrecoded_rawIn__sign = io_diffFReg_14[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_4_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_4_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_4_unrecoded_rawIn_out_sig_T = ~FReg2_fa_4_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_4_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_4_unrecoded_rawIn_out_sig_T,io_diffFReg_14[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_4_unrecoded_isSubnormal = $signed(FReg2_fa_4_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_4_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_4_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_4_unrecoded_denormFract_T_1 = FReg2_fa_4_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_4_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_4_unrecoded_denormFract = _FReg2_fa_4_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_4_unrecoded_expOut_T_2 = FReg2_fa_4_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_4_unrecoded_expOut_T_3 = FReg2_fa_4_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_4_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_4_unrecoded_expOut_T_4 = FReg2_fa_4_unrecoded_rawIn__isNaN | FReg2_fa_4_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_4_unrecoded_expOut_T_6 = _FReg2_fa_4_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_4_unrecoded_expOut = _FReg2_fa_4_unrecoded_expOut_T_3 | _FReg2_fa_4_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_4_unrecoded_fractOut_T_1 = FReg2_fa_4_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_4_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_4_unrecoded_fractOut = FReg2_fa_4_unrecoded_isSubnormal ? FReg2_fa_4_unrecoded_denormFract :
    _FReg2_fa_4_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_4_unrecoded = {FReg2_fa_4_unrecoded_rawIn__sign,FReg2_fa_4_unrecoded_expOut,
    FReg2_fa_4_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_4_prevUnrecoded_rawIn_isSpecial = FReg2_fa_4_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_4_prevUnrecoded_rawIn__isNaN = FReg2_fa_4_prevUnrecoded_rawIn_isSpecial & FReg2_fa_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_4_prevUnrecoded_rawIn__isInf = FReg2_fa_4_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_4_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_4_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_4_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_4_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_4_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_4_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_4_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_4_prevUnrecoded_isSubnormal = $signed(FReg2_fa_4_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_4_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_4_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_4_prevUnrecoded_denormFract_T_1 = FReg2_fa_4_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_4_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_4_prevUnrecoded_denormFract = _FReg2_fa_4_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_4_prevUnrecoded_expOut_T_2 = FReg2_fa_4_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_4_prevUnrecoded_expOut_T_3 = FReg2_fa_4_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_4_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_4_prevUnrecoded_expOut_T_4 = FReg2_fa_4_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_4_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_4_prevUnrecoded_expOut_T_6 = _FReg2_fa_4_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_4_prevUnrecoded_expOut = _FReg2_fa_4_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_4_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_4_prevUnrecoded_fractOut_T_1 = FReg2_fa_4_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_4_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_4_prevUnrecoded_fractOut = FReg2_fa_4_prevUnrecoded_isSubnormal ?
    FReg2_fa_4_prevUnrecoded_denormFract : _FReg2_fa_4_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_4_prevUnrecoded = {FReg2_fa_4_unbx_sign,FReg2_fa_4_prevUnrecoded_expOut,
    FReg2_fa_4_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_4_T_2 = &io_diffFReg_14[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_4_T_4 = _FReg2_fa_4_T_2 ? FReg2_fa_4_prevUnrecoded : FReg2_fa_4_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_5_unbx_sign = FReg1_fa_5_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_5_unbx_fractIn = FReg1_fa_5_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_5_unbx_expIn = FReg1_fa_5_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_5_unbx_expOut_expCode = FReg2_fa_5_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_5_unbx_expOut_T = FReg2_fa_5_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_5_unrecoded_rawIn_exp = io_diffFReg_15[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_5_unrecoded_rawIn_isZero = FReg2_fa_5_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_5_unrecoded_rawIn_isSpecial = FReg2_fa_5_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_5_unrecoded_rawIn__isNaN = FReg2_fa_5_unrecoded_rawIn_isSpecial & FReg2_fa_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_5_unrecoded_rawIn__isInf = FReg2_fa_5_unrecoded_rawIn_isSpecial & ~FReg2_fa_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_5_unrecoded_rawIn__sign = io_diffFReg_15[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_5_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_5_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_5_unrecoded_rawIn_out_sig_T = ~FReg2_fa_5_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_5_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_5_unrecoded_rawIn_out_sig_T,io_diffFReg_15[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_5_unrecoded_isSubnormal = $signed(FReg2_fa_5_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_5_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_5_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_5_unrecoded_denormFract_T_1 = FReg2_fa_5_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_5_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_5_unrecoded_denormFract = _FReg2_fa_5_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_5_unrecoded_expOut_T_2 = FReg2_fa_5_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_5_unrecoded_expOut_T_3 = FReg2_fa_5_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_5_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_5_unrecoded_expOut_T_4 = FReg2_fa_5_unrecoded_rawIn__isNaN | FReg2_fa_5_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_5_unrecoded_expOut_T_6 = _FReg2_fa_5_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_5_unrecoded_expOut = _FReg2_fa_5_unrecoded_expOut_T_3 | _FReg2_fa_5_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_5_unrecoded_fractOut_T_1 = FReg2_fa_5_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_5_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_5_unrecoded_fractOut = FReg2_fa_5_unrecoded_isSubnormal ? FReg2_fa_5_unrecoded_denormFract :
    _FReg2_fa_5_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_5_unrecoded = {FReg2_fa_5_unrecoded_rawIn__sign,FReg2_fa_5_unrecoded_expOut,
    FReg2_fa_5_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_5_prevUnrecoded_rawIn_isSpecial = FReg2_fa_5_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_5_prevUnrecoded_rawIn__isNaN = FReg2_fa_5_prevUnrecoded_rawIn_isSpecial & FReg2_fa_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_5_prevUnrecoded_rawIn__isInf = FReg2_fa_5_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_5_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_5_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_5_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_5_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_5_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_5_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_5_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_5_prevUnrecoded_isSubnormal = $signed(FReg2_fa_5_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_5_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_5_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_5_prevUnrecoded_denormFract_T_1 = FReg2_fa_5_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_5_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_5_prevUnrecoded_denormFract = _FReg2_fa_5_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_5_prevUnrecoded_expOut_T_2 = FReg2_fa_5_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_5_prevUnrecoded_expOut_T_3 = FReg2_fa_5_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_5_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_5_prevUnrecoded_expOut_T_4 = FReg2_fa_5_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_5_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_5_prevUnrecoded_expOut_T_6 = _FReg2_fa_5_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_5_prevUnrecoded_expOut = _FReg2_fa_5_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_5_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_5_prevUnrecoded_fractOut_T_1 = FReg2_fa_5_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_5_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_5_prevUnrecoded_fractOut = FReg2_fa_5_prevUnrecoded_isSubnormal ?
    FReg2_fa_5_prevUnrecoded_denormFract : _FReg2_fa_5_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_5_prevUnrecoded = {FReg2_fa_5_unbx_sign,FReg2_fa_5_prevUnrecoded_expOut,
    FReg2_fa_5_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_5_T_2 = &io_diffFReg_15[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_5_T_4 = _FReg2_fa_5_T_2 ? FReg2_fa_5_prevUnrecoded : FReg2_fa_5_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_6_unbx_sign = FReg1_fa_6_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_6_unbx_fractIn = FReg1_fa_6_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_6_unbx_expIn = FReg1_fa_6_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_6_unbx_expOut_expCode = FReg2_fa_6_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_6_unbx_expOut_T = FReg2_fa_6_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_6_unrecoded_rawIn_exp = io_diffFReg_16[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_6_unrecoded_rawIn_isZero = FReg2_fa_6_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_6_unrecoded_rawIn_isSpecial = FReg2_fa_6_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_6_unrecoded_rawIn__isNaN = FReg2_fa_6_unrecoded_rawIn_isSpecial & FReg2_fa_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_6_unrecoded_rawIn__isInf = FReg2_fa_6_unrecoded_rawIn_isSpecial & ~FReg2_fa_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_6_unrecoded_rawIn__sign = io_diffFReg_16[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_6_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_6_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_6_unrecoded_rawIn_out_sig_T = ~FReg2_fa_6_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_6_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_6_unrecoded_rawIn_out_sig_T,io_diffFReg_16[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_6_unrecoded_isSubnormal = $signed(FReg2_fa_6_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_6_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_6_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_6_unrecoded_denormFract_T_1 = FReg2_fa_6_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_6_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_6_unrecoded_denormFract = _FReg2_fa_6_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_6_unrecoded_expOut_T_2 = FReg2_fa_6_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_6_unrecoded_expOut_T_3 = FReg2_fa_6_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_6_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_6_unrecoded_expOut_T_4 = FReg2_fa_6_unrecoded_rawIn__isNaN | FReg2_fa_6_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_6_unrecoded_expOut_T_6 = _FReg2_fa_6_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_6_unrecoded_expOut = _FReg2_fa_6_unrecoded_expOut_T_3 | _FReg2_fa_6_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_6_unrecoded_fractOut_T_1 = FReg2_fa_6_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_6_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_6_unrecoded_fractOut = FReg2_fa_6_unrecoded_isSubnormal ? FReg2_fa_6_unrecoded_denormFract :
    _FReg2_fa_6_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_6_unrecoded = {FReg2_fa_6_unrecoded_rawIn__sign,FReg2_fa_6_unrecoded_expOut,
    FReg2_fa_6_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_6_prevUnrecoded_rawIn_isSpecial = FReg2_fa_6_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_6_prevUnrecoded_rawIn__isNaN = FReg2_fa_6_prevUnrecoded_rawIn_isSpecial & FReg2_fa_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_6_prevUnrecoded_rawIn__isInf = FReg2_fa_6_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_6_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_6_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_6_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_6_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_6_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_6_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_6_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_6_prevUnrecoded_isSubnormal = $signed(FReg2_fa_6_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_6_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_6_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_6_prevUnrecoded_denormFract_T_1 = FReg2_fa_6_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_6_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_6_prevUnrecoded_denormFract = _FReg2_fa_6_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_6_prevUnrecoded_expOut_T_2 = FReg2_fa_6_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_6_prevUnrecoded_expOut_T_3 = FReg2_fa_6_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_6_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_6_prevUnrecoded_expOut_T_4 = FReg2_fa_6_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_6_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_6_prevUnrecoded_expOut_T_6 = _FReg2_fa_6_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_6_prevUnrecoded_expOut = _FReg2_fa_6_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_6_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_6_prevUnrecoded_fractOut_T_1 = FReg2_fa_6_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_6_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_6_prevUnrecoded_fractOut = FReg2_fa_6_prevUnrecoded_isSubnormal ?
    FReg2_fa_6_prevUnrecoded_denormFract : _FReg2_fa_6_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_6_prevUnrecoded = {FReg2_fa_6_unbx_sign,FReg2_fa_6_prevUnrecoded_expOut,
    FReg2_fa_6_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_6_T_2 = &io_diffFReg_16[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_6_T_4 = _FReg2_fa_6_T_2 ? FReg2_fa_6_prevUnrecoded : FReg2_fa_6_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fa_7_unbx_sign = FReg1_fa_7_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fa_7_unbx_fractIn = FReg1_fa_7_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fa_7_unbx_expIn = FReg1_fa_7_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fa_7_unbx_expOut_expCode = FReg2_fa_7_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fa_7_unbx_expOut_T = FReg2_fa_7_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fa_7_unrecoded_rawIn_exp = io_diffFReg_17[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fa_7_unrecoded_rawIn_isZero = FReg2_fa_7_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fa_7_unrecoded_rawIn_isSpecial = FReg2_fa_7_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_7_unrecoded_rawIn__isNaN = FReg2_fa_7_unrecoded_rawIn_isSpecial & FReg2_fa_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_7_unrecoded_rawIn__isInf = FReg2_fa_7_unrecoded_rawIn_isSpecial & ~FReg2_fa_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fa_7_unrecoded_rawIn__sign = io_diffFReg_17[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fa_7_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_7_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_7_unrecoded_rawIn_out_sig_T = ~FReg2_fa_7_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fa_7_unrecoded_rawIn__sig = {1'h0,_FReg2_fa_7_unrecoded_rawIn_out_sig_T,io_diffFReg_17[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fa_7_unrecoded_isSubnormal = $signed(FReg2_fa_7_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fa_7_unrecoded_denormShiftDist = 6'h1 - FReg2_fa_7_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fa_7_unrecoded_denormFract_T_1 = FReg2_fa_7_unrecoded_rawIn__sig[53:1] >>
    FReg2_fa_7_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fa_7_unrecoded_denormFract = _FReg2_fa_7_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fa_7_unrecoded_expOut_T_2 = FReg2_fa_7_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fa_7_unrecoded_expOut_T_3 = FReg2_fa_7_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fa_7_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_7_unrecoded_expOut_T_4 = FReg2_fa_7_unrecoded_rawIn__isNaN | FReg2_fa_7_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fa_7_unrecoded_expOut_T_6 = _FReg2_fa_7_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fa_7_unrecoded_expOut = _FReg2_fa_7_unrecoded_expOut_T_3 | _FReg2_fa_7_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fa_7_unrecoded_fractOut_T_1 = FReg2_fa_7_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fa_7_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fa_7_unrecoded_fractOut = FReg2_fa_7_unrecoded_isSubnormal ? FReg2_fa_7_unrecoded_denormFract :
    _FReg2_fa_7_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fa_7_unrecoded = {FReg2_fa_7_unrecoded_rawIn__sign,FReg2_fa_7_unrecoded_expOut,
    FReg2_fa_7_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fa_7_prevUnrecoded_rawIn_isSpecial = FReg2_fa_7_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fa_7_prevUnrecoded_rawIn__isNaN = FReg2_fa_7_prevUnrecoded_rawIn_isSpecial & FReg2_fa_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fa_7_prevUnrecoded_rawIn__isInf = FReg2_fa_7_prevUnrecoded_rawIn_isSpecial & ~FReg2_fa_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fa_7_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fa_7_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fa_7_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fa_7_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fa_7_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fa_7_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fa_7_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fa_7_prevUnrecoded_isSubnormal = $signed(FReg2_fa_7_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fa_7_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fa_7_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fa_7_prevUnrecoded_denormFract_T_1 = FReg2_fa_7_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fa_7_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fa_7_prevUnrecoded_denormFract = _FReg2_fa_7_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fa_7_prevUnrecoded_expOut_T_2 = FReg2_fa_7_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fa_7_prevUnrecoded_expOut_T_3 = FReg2_fa_7_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fa_7_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fa_7_prevUnrecoded_expOut_T_4 = FReg2_fa_7_prevUnrecoded_rawIn__isNaN |
    FReg2_fa_7_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fa_7_prevUnrecoded_expOut_T_6 = _FReg2_fa_7_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fa_7_prevUnrecoded_expOut = _FReg2_fa_7_prevUnrecoded_expOut_T_3 |
    _FReg2_fa_7_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fa_7_prevUnrecoded_fractOut_T_1 = FReg2_fa_7_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fa_7_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fa_7_prevUnrecoded_fractOut = FReg2_fa_7_prevUnrecoded_isSubnormal ?
    FReg2_fa_7_prevUnrecoded_denormFract : _FReg2_fa_7_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fa_7_prevUnrecoded = {FReg2_fa_7_unbx_sign,FReg2_fa_7_prevUnrecoded_expOut,
    FReg2_fa_7_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fa_7_T_2 = &io_diffFReg_17[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fa_7_T_4 = _FReg2_fa_7_T_2 ? FReg2_fa_7_prevUnrecoded : FReg2_fa_7_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_2_unbx_sign = FReg1_fs_2_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_2_unbx_fractIn = FReg1_fs_2_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_2_unbx_expIn = FReg1_fs_2_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_2_unbx_expOut_expCode = FReg2_fs_2_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_2_unbx_expOut_T = FReg2_fs_2_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_2_unrecoded_rawIn_exp = io_diffFReg_18[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_2_unrecoded_rawIn_isZero = FReg2_fs_2_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_2_unrecoded_rawIn_isSpecial = FReg2_fs_2_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_2_unrecoded_rawIn__isNaN = FReg2_fs_2_unrecoded_rawIn_isSpecial & FReg2_fs_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_2_unrecoded_rawIn__isInf = FReg2_fs_2_unrecoded_rawIn_isSpecial & ~FReg2_fs_2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_2_unrecoded_rawIn__sign = io_diffFReg_18[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_2_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_2_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_2_unrecoded_rawIn_out_sig_T = ~FReg2_fs_2_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_2_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_2_unrecoded_rawIn_out_sig_T,io_diffFReg_18[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_2_unrecoded_isSubnormal = $signed(FReg2_fs_2_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_2_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_2_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_2_unrecoded_denormFract_T_1 = FReg2_fs_2_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_2_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_2_unrecoded_denormFract = _FReg2_fs_2_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_2_unrecoded_expOut_T_2 = FReg2_fs_2_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_2_unrecoded_expOut_T_3 = FReg2_fs_2_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_2_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_2_unrecoded_expOut_T_4 = FReg2_fs_2_unrecoded_rawIn__isNaN | FReg2_fs_2_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_2_unrecoded_expOut_T_6 = _FReg2_fs_2_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_2_unrecoded_expOut = _FReg2_fs_2_unrecoded_expOut_T_3 | _FReg2_fs_2_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_2_unrecoded_fractOut_T_1 = FReg2_fs_2_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_2_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_2_unrecoded_fractOut = FReg2_fs_2_unrecoded_isSubnormal ? FReg2_fs_2_unrecoded_denormFract :
    _FReg2_fs_2_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_2_unrecoded = {FReg2_fs_2_unrecoded_rawIn__sign,FReg2_fs_2_unrecoded_expOut,
    FReg2_fs_2_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_2_prevUnrecoded_rawIn_isSpecial = FReg2_fs_2_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_2_prevUnrecoded_rawIn__isNaN = FReg2_fs_2_prevUnrecoded_rawIn_isSpecial & FReg2_fs_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_2_prevUnrecoded_rawIn__isInf = FReg2_fs_2_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_2_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_2_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_2_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_2_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_2_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_2_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_2_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_2_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_2_prevUnrecoded_isSubnormal = $signed(FReg2_fs_2_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_2_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_2_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_2_prevUnrecoded_denormFract_T_1 = FReg2_fs_2_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_2_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_2_prevUnrecoded_denormFract = _FReg2_fs_2_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_2_prevUnrecoded_expOut_T_2 = FReg2_fs_2_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_2_prevUnrecoded_expOut_T_3 = FReg2_fs_2_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_2_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_2_prevUnrecoded_expOut_T_4 = FReg2_fs_2_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_2_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_2_prevUnrecoded_expOut_T_6 = _FReg2_fs_2_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_2_prevUnrecoded_expOut = _FReg2_fs_2_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_2_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_2_prevUnrecoded_fractOut_T_1 = FReg2_fs_2_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_2_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_2_prevUnrecoded_fractOut = FReg2_fs_2_prevUnrecoded_isSubnormal ?
    FReg2_fs_2_prevUnrecoded_denormFract : _FReg2_fs_2_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_2_prevUnrecoded = {FReg2_fs_2_unbx_sign,FReg2_fs_2_prevUnrecoded_expOut,
    FReg2_fs_2_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_2_T_2 = &io_diffFReg_18[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_2_T_4 = _FReg2_fs_2_T_2 ? FReg2_fs_2_prevUnrecoded : FReg2_fs_2_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_3_unbx_sign = FReg1_fs_3_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_3_unbx_fractIn = FReg1_fs_3_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_3_unbx_expIn = FReg1_fs_3_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_3_unbx_expOut_expCode = FReg2_fs_3_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_3_unbx_expOut_T = FReg2_fs_3_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_3_unrecoded_rawIn_exp = io_diffFReg_19[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_3_unrecoded_rawIn_isZero = FReg2_fs_3_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_3_unrecoded_rawIn_isSpecial = FReg2_fs_3_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_3_unrecoded_rawIn__isNaN = FReg2_fs_3_unrecoded_rawIn_isSpecial & FReg2_fs_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_3_unrecoded_rawIn__isInf = FReg2_fs_3_unrecoded_rawIn_isSpecial & ~FReg2_fs_3_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_3_unrecoded_rawIn__sign = io_diffFReg_19[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_3_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_3_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_3_unrecoded_rawIn_out_sig_T = ~FReg2_fs_3_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_3_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_3_unrecoded_rawIn_out_sig_T,io_diffFReg_19[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_3_unrecoded_isSubnormal = $signed(FReg2_fs_3_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_3_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_3_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_3_unrecoded_denormFract_T_1 = FReg2_fs_3_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_3_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_3_unrecoded_denormFract = _FReg2_fs_3_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_3_unrecoded_expOut_T_2 = FReg2_fs_3_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_3_unrecoded_expOut_T_3 = FReg2_fs_3_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_3_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_3_unrecoded_expOut_T_4 = FReg2_fs_3_unrecoded_rawIn__isNaN | FReg2_fs_3_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_3_unrecoded_expOut_T_6 = _FReg2_fs_3_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_3_unrecoded_expOut = _FReg2_fs_3_unrecoded_expOut_T_3 | _FReg2_fs_3_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_3_unrecoded_fractOut_T_1 = FReg2_fs_3_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_3_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_3_unrecoded_fractOut = FReg2_fs_3_unrecoded_isSubnormal ? FReg2_fs_3_unrecoded_denormFract :
    _FReg2_fs_3_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_3_unrecoded = {FReg2_fs_3_unrecoded_rawIn__sign,FReg2_fs_3_unrecoded_expOut,
    FReg2_fs_3_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_3_prevUnrecoded_rawIn_isSpecial = FReg2_fs_3_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_3_prevUnrecoded_rawIn__isNaN = FReg2_fs_3_prevUnrecoded_rawIn_isSpecial & FReg2_fs_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_3_prevUnrecoded_rawIn__isInf = FReg2_fs_3_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_3_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_3_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_3_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_3_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_3_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_3_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_3_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_3_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_3_prevUnrecoded_isSubnormal = $signed(FReg2_fs_3_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_3_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_3_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_3_prevUnrecoded_denormFract_T_1 = FReg2_fs_3_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_3_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_3_prevUnrecoded_denormFract = _FReg2_fs_3_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_3_prevUnrecoded_expOut_T_2 = FReg2_fs_3_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_3_prevUnrecoded_expOut_T_3 = FReg2_fs_3_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_3_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_3_prevUnrecoded_expOut_T_4 = FReg2_fs_3_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_3_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_3_prevUnrecoded_expOut_T_6 = _FReg2_fs_3_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_3_prevUnrecoded_expOut = _FReg2_fs_3_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_3_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_3_prevUnrecoded_fractOut_T_1 = FReg2_fs_3_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_3_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_3_prevUnrecoded_fractOut = FReg2_fs_3_prevUnrecoded_isSubnormal ?
    FReg2_fs_3_prevUnrecoded_denormFract : _FReg2_fs_3_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_3_prevUnrecoded = {FReg2_fs_3_unbx_sign,FReg2_fs_3_prevUnrecoded_expOut,
    FReg2_fs_3_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_3_T_2 = &io_diffFReg_19[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_3_T_4 = _FReg2_fs_3_T_2 ? FReg2_fs_3_prevUnrecoded : FReg2_fs_3_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_4_unbx_sign = FReg1_fs_4_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_4_unbx_fractIn = FReg1_fs_4_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_4_unbx_expIn = FReg1_fs_4_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_4_unbx_expOut_expCode = FReg2_fs_4_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_4_unbx_expOut_T = FReg2_fs_4_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_4_unrecoded_rawIn_exp = io_diffFReg_20[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_4_unrecoded_rawIn_isZero = FReg2_fs_4_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_4_unrecoded_rawIn_isSpecial = FReg2_fs_4_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_4_unrecoded_rawIn__isNaN = FReg2_fs_4_unrecoded_rawIn_isSpecial & FReg2_fs_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_4_unrecoded_rawIn__isInf = FReg2_fs_4_unrecoded_rawIn_isSpecial & ~FReg2_fs_4_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_4_unrecoded_rawIn__sign = io_diffFReg_20[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_4_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_4_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_4_unrecoded_rawIn_out_sig_T = ~FReg2_fs_4_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_4_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_4_unrecoded_rawIn_out_sig_T,io_diffFReg_20[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_4_unrecoded_isSubnormal = $signed(FReg2_fs_4_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_4_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_4_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_4_unrecoded_denormFract_T_1 = FReg2_fs_4_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_4_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_4_unrecoded_denormFract = _FReg2_fs_4_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_4_unrecoded_expOut_T_2 = FReg2_fs_4_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_4_unrecoded_expOut_T_3 = FReg2_fs_4_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_4_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_4_unrecoded_expOut_T_4 = FReg2_fs_4_unrecoded_rawIn__isNaN | FReg2_fs_4_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_4_unrecoded_expOut_T_6 = _FReg2_fs_4_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_4_unrecoded_expOut = _FReg2_fs_4_unrecoded_expOut_T_3 | _FReg2_fs_4_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_4_unrecoded_fractOut_T_1 = FReg2_fs_4_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_4_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_4_unrecoded_fractOut = FReg2_fs_4_unrecoded_isSubnormal ? FReg2_fs_4_unrecoded_denormFract :
    _FReg2_fs_4_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_4_unrecoded = {FReg2_fs_4_unrecoded_rawIn__sign,FReg2_fs_4_unrecoded_expOut,
    FReg2_fs_4_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_4_prevUnrecoded_rawIn_isSpecial = FReg2_fs_4_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_4_prevUnrecoded_rawIn__isNaN = FReg2_fs_4_prevUnrecoded_rawIn_isSpecial & FReg2_fs_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_4_prevUnrecoded_rawIn__isInf = FReg2_fs_4_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_4_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_4_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_4_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_4_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_4_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_4_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_4_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_4_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_4_prevUnrecoded_isSubnormal = $signed(FReg2_fs_4_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_4_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_4_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_4_prevUnrecoded_denormFract_T_1 = FReg2_fs_4_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_4_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_4_prevUnrecoded_denormFract = _FReg2_fs_4_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_4_prevUnrecoded_expOut_T_2 = FReg2_fs_4_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_4_prevUnrecoded_expOut_T_3 = FReg2_fs_4_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_4_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_4_prevUnrecoded_expOut_T_4 = FReg2_fs_4_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_4_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_4_prevUnrecoded_expOut_T_6 = _FReg2_fs_4_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_4_prevUnrecoded_expOut = _FReg2_fs_4_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_4_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_4_prevUnrecoded_fractOut_T_1 = FReg2_fs_4_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_4_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_4_prevUnrecoded_fractOut = FReg2_fs_4_prevUnrecoded_isSubnormal ?
    FReg2_fs_4_prevUnrecoded_denormFract : _FReg2_fs_4_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_4_prevUnrecoded = {FReg2_fs_4_unbx_sign,FReg2_fs_4_prevUnrecoded_expOut,
    FReg2_fs_4_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_4_T_2 = &io_diffFReg_20[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_4_T_4 = _FReg2_fs_4_T_2 ? FReg2_fs_4_prevUnrecoded : FReg2_fs_4_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_5_unbx_sign = FReg1_fs_5_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_5_unbx_fractIn = FReg1_fs_5_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_5_unbx_expIn = FReg1_fs_5_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_5_unbx_expOut_expCode = FReg2_fs_5_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_5_unbx_expOut_T = FReg2_fs_5_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_5_unrecoded_rawIn_exp = io_diffFReg_21[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_5_unrecoded_rawIn_isZero = FReg2_fs_5_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_5_unrecoded_rawIn_isSpecial = FReg2_fs_5_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_5_unrecoded_rawIn__isNaN = FReg2_fs_5_unrecoded_rawIn_isSpecial & FReg2_fs_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_5_unrecoded_rawIn__isInf = FReg2_fs_5_unrecoded_rawIn_isSpecial & ~FReg2_fs_5_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_5_unrecoded_rawIn__sign = io_diffFReg_21[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_5_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_5_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_5_unrecoded_rawIn_out_sig_T = ~FReg2_fs_5_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_5_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_5_unrecoded_rawIn_out_sig_T,io_diffFReg_21[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_5_unrecoded_isSubnormal = $signed(FReg2_fs_5_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_5_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_5_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_5_unrecoded_denormFract_T_1 = FReg2_fs_5_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_5_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_5_unrecoded_denormFract = _FReg2_fs_5_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_5_unrecoded_expOut_T_2 = FReg2_fs_5_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_5_unrecoded_expOut_T_3 = FReg2_fs_5_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_5_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_5_unrecoded_expOut_T_4 = FReg2_fs_5_unrecoded_rawIn__isNaN | FReg2_fs_5_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_5_unrecoded_expOut_T_6 = _FReg2_fs_5_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_5_unrecoded_expOut = _FReg2_fs_5_unrecoded_expOut_T_3 | _FReg2_fs_5_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_5_unrecoded_fractOut_T_1 = FReg2_fs_5_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_5_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_5_unrecoded_fractOut = FReg2_fs_5_unrecoded_isSubnormal ? FReg2_fs_5_unrecoded_denormFract :
    _FReg2_fs_5_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_5_unrecoded = {FReg2_fs_5_unrecoded_rawIn__sign,FReg2_fs_5_unrecoded_expOut,
    FReg2_fs_5_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_5_prevUnrecoded_rawIn_isSpecial = FReg2_fs_5_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_5_prevUnrecoded_rawIn__isNaN = FReg2_fs_5_prevUnrecoded_rawIn_isSpecial & FReg2_fs_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_5_prevUnrecoded_rawIn__isInf = FReg2_fs_5_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_5_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_5_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_5_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_5_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_5_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_5_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_5_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_5_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_5_prevUnrecoded_isSubnormal = $signed(FReg2_fs_5_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_5_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_5_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_5_prevUnrecoded_denormFract_T_1 = FReg2_fs_5_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_5_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_5_prevUnrecoded_denormFract = _FReg2_fs_5_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_5_prevUnrecoded_expOut_T_2 = FReg2_fs_5_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_5_prevUnrecoded_expOut_T_3 = FReg2_fs_5_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_5_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_5_prevUnrecoded_expOut_T_4 = FReg2_fs_5_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_5_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_5_prevUnrecoded_expOut_T_6 = _FReg2_fs_5_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_5_prevUnrecoded_expOut = _FReg2_fs_5_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_5_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_5_prevUnrecoded_fractOut_T_1 = FReg2_fs_5_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_5_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_5_prevUnrecoded_fractOut = FReg2_fs_5_prevUnrecoded_isSubnormal ?
    FReg2_fs_5_prevUnrecoded_denormFract : _FReg2_fs_5_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_5_prevUnrecoded = {FReg2_fs_5_unbx_sign,FReg2_fs_5_prevUnrecoded_expOut,
    FReg2_fs_5_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_5_T_2 = &io_diffFReg_21[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_5_T_4 = _FReg2_fs_5_T_2 ? FReg2_fs_5_prevUnrecoded : FReg2_fs_5_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_6_unbx_sign = FReg1_fs_6_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_6_unbx_fractIn = FReg1_fs_6_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_6_unbx_expIn = FReg1_fs_6_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_6_unbx_expOut_expCode = FReg2_fs_6_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_6_unbx_expOut_T = FReg2_fs_6_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_6_unrecoded_rawIn_exp = io_diffFReg_22[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_6_unrecoded_rawIn_isZero = FReg2_fs_6_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_6_unrecoded_rawIn_isSpecial = FReg2_fs_6_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_6_unrecoded_rawIn__isNaN = FReg2_fs_6_unrecoded_rawIn_isSpecial & FReg2_fs_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_6_unrecoded_rawIn__isInf = FReg2_fs_6_unrecoded_rawIn_isSpecial & ~FReg2_fs_6_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_6_unrecoded_rawIn__sign = io_diffFReg_22[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_6_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_6_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_6_unrecoded_rawIn_out_sig_T = ~FReg2_fs_6_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_6_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_6_unrecoded_rawIn_out_sig_T,io_diffFReg_22[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_6_unrecoded_isSubnormal = $signed(FReg2_fs_6_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_6_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_6_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_6_unrecoded_denormFract_T_1 = FReg2_fs_6_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_6_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_6_unrecoded_denormFract = _FReg2_fs_6_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_6_unrecoded_expOut_T_2 = FReg2_fs_6_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_6_unrecoded_expOut_T_3 = FReg2_fs_6_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_6_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_6_unrecoded_expOut_T_4 = FReg2_fs_6_unrecoded_rawIn__isNaN | FReg2_fs_6_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_6_unrecoded_expOut_T_6 = _FReg2_fs_6_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_6_unrecoded_expOut = _FReg2_fs_6_unrecoded_expOut_T_3 | _FReg2_fs_6_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_6_unrecoded_fractOut_T_1 = FReg2_fs_6_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_6_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_6_unrecoded_fractOut = FReg2_fs_6_unrecoded_isSubnormal ? FReg2_fs_6_unrecoded_denormFract :
    _FReg2_fs_6_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_6_unrecoded = {FReg2_fs_6_unrecoded_rawIn__sign,FReg2_fs_6_unrecoded_expOut,
    FReg2_fs_6_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_6_prevUnrecoded_rawIn_isSpecial = FReg2_fs_6_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_6_prevUnrecoded_rawIn__isNaN = FReg2_fs_6_prevUnrecoded_rawIn_isSpecial & FReg2_fs_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_6_prevUnrecoded_rawIn__isInf = FReg2_fs_6_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_6_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_6_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_6_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_6_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_6_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_6_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_6_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_6_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_6_prevUnrecoded_isSubnormal = $signed(FReg2_fs_6_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_6_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_6_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_6_prevUnrecoded_denormFract_T_1 = FReg2_fs_6_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_6_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_6_prevUnrecoded_denormFract = _FReg2_fs_6_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_6_prevUnrecoded_expOut_T_2 = FReg2_fs_6_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_6_prevUnrecoded_expOut_T_3 = FReg2_fs_6_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_6_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_6_prevUnrecoded_expOut_T_4 = FReg2_fs_6_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_6_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_6_prevUnrecoded_expOut_T_6 = _FReg2_fs_6_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_6_prevUnrecoded_expOut = _FReg2_fs_6_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_6_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_6_prevUnrecoded_fractOut_T_1 = FReg2_fs_6_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_6_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_6_prevUnrecoded_fractOut = FReg2_fs_6_prevUnrecoded_isSubnormal ?
    FReg2_fs_6_prevUnrecoded_denormFract : _FReg2_fs_6_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_6_prevUnrecoded = {FReg2_fs_6_unbx_sign,FReg2_fs_6_prevUnrecoded_expOut,
    FReg2_fs_6_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_6_T_2 = &io_diffFReg_22[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_6_T_4 = _FReg2_fs_6_T_2 ? FReg2_fs_6_prevUnrecoded : FReg2_fs_6_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_7_unbx_sign = FReg1_fs_7_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_7_unbx_fractIn = FReg1_fs_7_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_7_unbx_expIn = FReg1_fs_7_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_7_unbx_expOut_expCode = FReg2_fs_7_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_7_unbx_expOut_T = FReg2_fs_7_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_7_unrecoded_rawIn_exp = io_diffFReg_23[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_7_unrecoded_rawIn_isZero = FReg2_fs_7_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_7_unrecoded_rawIn_isSpecial = FReg2_fs_7_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_7_unrecoded_rawIn__isNaN = FReg2_fs_7_unrecoded_rawIn_isSpecial & FReg2_fs_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_7_unrecoded_rawIn__isInf = FReg2_fs_7_unrecoded_rawIn_isSpecial & ~FReg2_fs_7_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_7_unrecoded_rawIn__sign = io_diffFReg_23[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_7_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_7_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_7_unrecoded_rawIn_out_sig_T = ~FReg2_fs_7_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_7_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_7_unrecoded_rawIn_out_sig_T,io_diffFReg_23[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_7_unrecoded_isSubnormal = $signed(FReg2_fs_7_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_7_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_7_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_7_unrecoded_denormFract_T_1 = FReg2_fs_7_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_7_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_7_unrecoded_denormFract = _FReg2_fs_7_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_7_unrecoded_expOut_T_2 = FReg2_fs_7_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_7_unrecoded_expOut_T_3 = FReg2_fs_7_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_7_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_7_unrecoded_expOut_T_4 = FReg2_fs_7_unrecoded_rawIn__isNaN | FReg2_fs_7_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_7_unrecoded_expOut_T_6 = _FReg2_fs_7_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_7_unrecoded_expOut = _FReg2_fs_7_unrecoded_expOut_T_3 | _FReg2_fs_7_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_7_unrecoded_fractOut_T_1 = FReg2_fs_7_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_7_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_7_unrecoded_fractOut = FReg2_fs_7_unrecoded_isSubnormal ? FReg2_fs_7_unrecoded_denormFract :
    _FReg2_fs_7_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_7_unrecoded = {FReg2_fs_7_unrecoded_rawIn__sign,FReg2_fs_7_unrecoded_expOut,
    FReg2_fs_7_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_7_prevUnrecoded_rawIn_isSpecial = FReg2_fs_7_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_7_prevUnrecoded_rawIn__isNaN = FReg2_fs_7_prevUnrecoded_rawIn_isSpecial & FReg2_fs_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_7_prevUnrecoded_rawIn__isInf = FReg2_fs_7_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_7_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_7_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_7_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_7_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_7_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_7_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_7_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_7_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_7_prevUnrecoded_isSubnormal = $signed(FReg2_fs_7_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_7_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_7_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_7_prevUnrecoded_denormFract_T_1 = FReg2_fs_7_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_7_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_7_prevUnrecoded_denormFract = _FReg2_fs_7_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_7_prevUnrecoded_expOut_T_2 = FReg2_fs_7_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_7_prevUnrecoded_expOut_T_3 = FReg2_fs_7_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_7_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_7_prevUnrecoded_expOut_T_4 = FReg2_fs_7_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_7_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_7_prevUnrecoded_expOut_T_6 = _FReg2_fs_7_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_7_prevUnrecoded_expOut = _FReg2_fs_7_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_7_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_7_prevUnrecoded_fractOut_T_1 = FReg2_fs_7_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_7_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_7_prevUnrecoded_fractOut = FReg2_fs_7_prevUnrecoded_isSubnormal ?
    FReg2_fs_7_prevUnrecoded_denormFract : _FReg2_fs_7_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_7_prevUnrecoded = {FReg2_fs_7_unbx_sign,FReg2_fs_7_prevUnrecoded_expOut,
    FReg2_fs_7_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_7_T_2 = &io_diffFReg_23[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_7_T_4 = _FReg2_fs_7_T_2 ? FReg2_fs_7_prevUnrecoded : FReg2_fs_7_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_8_unbx_sign = FReg1_fs_8_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_8_unbx_fractIn = FReg1_fs_8_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_8_unbx_expIn = FReg1_fs_8_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_8_unbx_expOut_expCode = FReg2_fs_8_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_8_unbx_expOut_T = FReg2_fs_8_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_8_unrecoded_rawIn_exp = io_diffFReg_24[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_8_unrecoded_rawIn_isZero = FReg2_fs_8_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_8_unrecoded_rawIn_isSpecial = FReg2_fs_8_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_8_unrecoded_rawIn__isNaN = FReg2_fs_8_unrecoded_rawIn_isSpecial & FReg2_fs_8_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_8_unrecoded_rawIn__isInf = FReg2_fs_8_unrecoded_rawIn_isSpecial & ~FReg2_fs_8_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_8_unrecoded_rawIn__sign = io_diffFReg_24[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_8_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_8_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_8_unrecoded_rawIn_out_sig_T = ~FReg2_fs_8_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_8_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_8_unrecoded_rawIn_out_sig_T,io_diffFReg_24[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_8_unrecoded_isSubnormal = $signed(FReg2_fs_8_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_8_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_8_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_8_unrecoded_denormFract_T_1 = FReg2_fs_8_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_8_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_8_unrecoded_denormFract = _FReg2_fs_8_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_8_unrecoded_expOut_T_2 = FReg2_fs_8_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_8_unrecoded_expOut_T_3 = FReg2_fs_8_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_8_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_8_unrecoded_expOut_T_4 = FReg2_fs_8_unrecoded_rawIn__isNaN | FReg2_fs_8_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_8_unrecoded_expOut_T_6 = _FReg2_fs_8_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_8_unrecoded_expOut = _FReg2_fs_8_unrecoded_expOut_T_3 | _FReg2_fs_8_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_8_unrecoded_fractOut_T_1 = FReg2_fs_8_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_8_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_8_unrecoded_fractOut = FReg2_fs_8_unrecoded_isSubnormal ? FReg2_fs_8_unrecoded_denormFract :
    _FReg2_fs_8_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_8_unrecoded = {FReg2_fs_8_unrecoded_rawIn__sign,FReg2_fs_8_unrecoded_expOut,
    FReg2_fs_8_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_8_prevUnrecoded_rawIn_isSpecial = FReg2_fs_8_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_8_prevUnrecoded_rawIn__isNaN = FReg2_fs_8_prevUnrecoded_rawIn_isSpecial & FReg2_fs_8_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_8_prevUnrecoded_rawIn__isInf = FReg2_fs_8_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_8_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_8_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_8_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_8_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_8_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_8_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_8_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_8_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_8_prevUnrecoded_isSubnormal = $signed(FReg2_fs_8_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_8_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_8_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_8_prevUnrecoded_denormFract_T_1 = FReg2_fs_8_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_8_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_8_prevUnrecoded_denormFract = _FReg2_fs_8_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_8_prevUnrecoded_expOut_T_2 = FReg2_fs_8_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_8_prevUnrecoded_expOut_T_3 = FReg2_fs_8_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_8_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_8_prevUnrecoded_expOut_T_4 = FReg2_fs_8_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_8_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_8_prevUnrecoded_expOut_T_6 = _FReg2_fs_8_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_8_prevUnrecoded_expOut = _FReg2_fs_8_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_8_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_8_prevUnrecoded_fractOut_T_1 = FReg2_fs_8_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_8_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_8_prevUnrecoded_fractOut = FReg2_fs_8_prevUnrecoded_isSubnormal ?
    FReg2_fs_8_prevUnrecoded_denormFract : _FReg2_fs_8_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_8_prevUnrecoded = {FReg2_fs_8_unbx_sign,FReg2_fs_8_prevUnrecoded_expOut,
    FReg2_fs_8_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_8_T_2 = &io_diffFReg_24[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_8_T_4 = _FReg2_fs_8_T_2 ? FReg2_fs_8_prevUnrecoded : FReg2_fs_8_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_9_unbx_sign = FReg1_fs_9_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_9_unbx_fractIn = FReg1_fs_9_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_9_unbx_expIn = FReg1_fs_9_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_9_unbx_expOut_expCode = FReg2_fs_9_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_9_unbx_expOut_T = FReg2_fs_9_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_9_unrecoded_rawIn_exp = io_diffFReg_25[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_9_unrecoded_rawIn_isZero = FReg2_fs_9_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_9_unrecoded_rawIn_isSpecial = FReg2_fs_9_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_9_unrecoded_rawIn__isNaN = FReg2_fs_9_unrecoded_rawIn_isSpecial & FReg2_fs_9_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_9_unrecoded_rawIn__isInf = FReg2_fs_9_unrecoded_rawIn_isSpecial & ~FReg2_fs_9_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_9_unrecoded_rawIn__sign = io_diffFReg_25[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_9_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_9_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_9_unrecoded_rawIn_out_sig_T = ~FReg2_fs_9_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_9_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_9_unrecoded_rawIn_out_sig_T,io_diffFReg_25[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_9_unrecoded_isSubnormal = $signed(FReg2_fs_9_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_9_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_9_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_9_unrecoded_denormFract_T_1 = FReg2_fs_9_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_9_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_9_unrecoded_denormFract = _FReg2_fs_9_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_9_unrecoded_expOut_T_2 = FReg2_fs_9_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_9_unrecoded_expOut_T_3 = FReg2_fs_9_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_9_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_9_unrecoded_expOut_T_4 = FReg2_fs_9_unrecoded_rawIn__isNaN | FReg2_fs_9_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_9_unrecoded_expOut_T_6 = _FReg2_fs_9_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_9_unrecoded_expOut = _FReg2_fs_9_unrecoded_expOut_T_3 | _FReg2_fs_9_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_9_unrecoded_fractOut_T_1 = FReg2_fs_9_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_9_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_9_unrecoded_fractOut = FReg2_fs_9_unrecoded_isSubnormal ? FReg2_fs_9_unrecoded_denormFract :
    _FReg2_fs_9_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_9_unrecoded = {FReg2_fs_9_unrecoded_rawIn__sign,FReg2_fs_9_unrecoded_expOut,
    FReg2_fs_9_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_9_prevUnrecoded_rawIn_isSpecial = FReg2_fs_9_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_9_prevUnrecoded_rawIn__isNaN = FReg2_fs_9_prevUnrecoded_rawIn_isSpecial & FReg2_fs_9_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_9_prevUnrecoded_rawIn__isInf = FReg2_fs_9_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_9_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_9_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_9_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_9_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_9_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_9_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_9_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_9_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_9_prevUnrecoded_isSubnormal = $signed(FReg2_fs_9_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_9_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_9_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_9_prevUnrecoded_denormFract_T_1 = FReg2_fs_9_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_9_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_9_prevUnrecoded_denormFract = _FReg2_fs_9_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_9_prevUnrecoded_expOut_T_2 = FReg2_fs_9_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_9_prevUnrecoded_expOut_T_3 = FReg2_fs_9_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_9_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_9_prevUnrecoded_expOut_T_4 = FReg2_fs_9_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_9_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_9_prevUnrecoded_expOut_T_6 = _FReg2_fs_9_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_9_prevUnrecoded_expOut = _FReg2_fs_9_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_9_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_9_prevUnrecoded_fractOut_T_1 = FReg2_fs_9_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_9_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_9_prevUnrecoded_fractOut = FReg2_fs_9_prevUnrecoded_isSubnormal ?
    FReg2_fs_9_prevUnrecoded_denormFract : _FReg2_fs_9_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_9_prevUnrecoded = {FReg2_fs_9_unbx_sign,FReg2_fs_9_prevUnrecoded_expOut,
    FReg2_fs_9_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_9_T_2 = &io_diffFReg_25[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_9_T_4 = _FReg2_fs_9_T_2 ? FReg2_fs_9_prevUnrecoded : FReg2_fs_9_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_10_unbx_sign = FReg1_fs_10_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_10_unbx_fractIn = FReg1_fs_10_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_10_unbx_expIn = FReg1_fs_10_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_10_unbx_expOut_expCode = FReg2_fs_10_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_10_unbx_expOut_T = FReg2_fs_10_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_10_unrecoded_rawIn_exp = io_diffFReg_26[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_10_unrecoded_rawIn_isZero = FReg2_fs_10_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_10_unrecoded_rawIn_isSpecial = FReg2_fs_10_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_10_unrecoded_rawIn__isNaN = FReg2_fs_10_unrecoded_rawIn_isSpecial & FReg2_fs_10_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_10_unrecoded_rawIn__isInf = FReg2_fs_10_unrecoded_rawIn_isSpecial & ~FReg2_fs_10_unrecoded_rawIn_exp[9]
    ; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_10_unrecoded_rawIn__sign = io_diffFReg_26[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_10_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_10_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_10_unrecoded_rawIn_out_sig_T = ~FReg2_fs_10_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_10_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_10_unrecoded_rawIn_out_sig_T,io_diffFReg_26[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_10_unrecoded_isSubnormal = $signed(FReg2_fs_10_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_10_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_10_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_10_unrecoded_denormFract_T_1 = FReg2_fs_10_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_10_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_10_unrecoded_denormFract = _FReg2_fs_10_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_10_unrecoded_expOut_T_2 = FReg2_fs_10_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_10_unrecoded_expOut_T_3 = FReg2_fs_10_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_10_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_10_unrecoded_expOut_T_4 = FReg2_fs_10_unrecoded_rawIn__isNaN | FReg2_fs_10_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_10_unrecoded_expOut_T_6 = _FReg2_fs_10_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_10_unrecoded_expOut = _FReg2_fs_10_unrecoded_expOut_T_3 | _FReg2_fs_10_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_10_unrecoded_fractOut_T_1 = FReg2_fs_10_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_10_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_10_unrecoded_fractOut = FReg2_fs_10_unrecoded_isSubnormal ? FReg2_fs_10_unrecoded_denormFract :
    _FReg2_fs_10_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_10_unrecoded = {FReg2_fs_10_unrecoded_rawIn__sign,FReg2_fs_10_unrecoded_expOut,
    FReg2_fs_10_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_10_prevUnrecoded_rawIn_isSpecial = FReg2_fs_10_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_10_prevUnrecoded_rawIn__isNaN = FReg2_fs_10_prevUnrecoded_rawIn_isSpecial & FReg2_fs_10_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_10_prevUnrecoded_rawIn__isInf = FReg2_fs_10_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_10_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_10_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_10_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_10_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_10_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_10_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_10_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_10_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_10_prevUnrecoded_isSubnormal = $signed(FReg2_fs_10_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_10_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_10_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_10_prevUnrecoded_denormFract_T_1 = FReg2_fs_10_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_10_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_10_prevUnrecoded_denormFract = _FReg2_fs_10_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_10_prevUnrecoded_expOut_T_2 = FReg2_fs_10_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_10_prevUnrecoded_expOut_T_3 = FReg2_fs_10_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_10_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_10_prevUnrecoded_expOut_T_4 = FReg2_fs_10_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_10_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_10_prevUnrecoded_expOut_T_6 = _FReg2_fs_10_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_10_prevUnrecoded_expOut = _FReg2_fs_10_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_10_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_10_prevUnrecoded_fractOut_T_1 = FReg2_fs_10_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_10_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_10_prevUnrecoded_fractOut = FReg2_fs_10_prevUnrecoded_isSubnormal ?
    FReg2_fs_10_prevUnrecoded_denormFract : _FReg2_fs_10_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_10_prevUnrecoded = {FReg2_fs_10_unbx_sign,FReg2_fs_10_prevUnrecoded_expOut,
    FReg2_fs_10_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_10_T_2 = &io_diffFReg_26[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_10_T_4 = _FReg2_fs_10_T_2 ? FReg2_fs_10_prevUnrecoded : FReg2_fs_10_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_fs_11_unbx_sign = FReg1_fs_11_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_fs_11_unbx_fractIn = FReg1_fs_11_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_fs_11_unbx_expIn = FReg1_fs_11_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_fs_11_unbx_expOut_expCode = FReg2_fs_11_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_fs_11_unbx_expOut_T = FReg2_fs_11_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_fs_11_unrecoded_rawIn_exp = io_diffFReg_27[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_fs_11_unrecoded_rawIn_isZero = FReg2_fs_11_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_fs_11_unrecoded_rawIn_isSpecial = FReg2_fs_11_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_11_unrecoded_rawIn__isNaN = FReg2_fs_11_unrecoded_rawIn_isSpecial & FReg2_fs_11_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_11_unrecoded_rawIn__isInf = FReg2_fs_11_unrecoded_rawIn_isSpecial & ~FReg2_fs_11_unrecoded_rawIn_exp[9]
    ; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_fs_11_unrecoded_rawIn__sign = io_diffFReg_27[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_fs_11_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_11_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_11_unrecoded_rawIn_out_sig_T = ~FReg2_fs_11_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_fs_11_unrecoded_rawIn__sig = {1'h0,_FReg2_fs_11_unrecoded_rawIn_out_sig_T,io_diffFReg_27[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_fs_11_unrecoded_isSubnormal = $signed(FReg2_fs_11_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_fs_11_unrecoded_denormShiftDist = 6'h1 - FReg2_fs_11_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_fs_11_unrecoded_denormFract_T_1 = FReg2_fs_11_unrecoded_rawIn__sig[53:1] >>
    FReg2_fs_11_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_fs_11_unrecoded_denormFract = _FReg2_fs_11_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_fs_11_unrecoded_expOut_T_2 = FReg2_fs_11_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_fs_11_unrecoded_expOut_T_3 = FReg2_fs_11_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_fs_11_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_11_unrecoded_expOut_T_4 = FReg2_fs_11_unrecoded_rawIn__isNaN | FReg2_fs_11_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_fs_11_unrecoded_expOut_T_6 = _FReg2_fs_11_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_fs_11_unrecoded_expOut = _FReg2_fs_11_unrecoded_expOut_T_3 | _FReg2_fs_11_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_fs_11_unrecoded_fractOut_T_1 = FReg2_fs_11_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_fs_11_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_fs_11_unrecoded_fractOut = FReg2_fs_11_unrecoded_isSubnormal ? FReg2_fs_11_unrecoded_denormFract :
    _FReg2_fs_11_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_fs_11_unrecoded = {FReg2_fs_11_unrecoded_rawIn__sign,FReg2_fs_11_unrecoded_expOut,
    FReg2_fs_11_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_fs_11_prevUnrecoded_rawIn_isSpecial = FReg2_fs_11_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_fs_11_prevUnrecoded_rawIn__isNaN = FReg2_fs_11_prevUnrecoded_rawIn_isSpecial & FReg2_fs_11_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_fs_11_prevUnrecoded_rawIn__isInf = FReg2_fs_11_prevUnrecoded_rawIn_isSpecial & ~FReg2_fs_11_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_fs_11_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_fs_11_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_fs_11_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_fs_11_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_fs_11_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_fs_11_prevUnrecoded_rawIn_out_sig_T,
    FReg2_fs_11_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_fs_11_prevUnrecoded_isSubnormal = $signed(FReg2_fs_11_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_fs_11_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_fs_11_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_fs_11_prevUnrecoded_denormFract_T_1 = FReg2_fs_11_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_fs_11_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_fs_11_prevUnrecoded_denormFract = _FReg2_fs_11_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_fs_11_prevUnrecoded_expOut_T_2 = FReg2_fs_11_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_fs_11_prevUnrecoded_expOut_T_3 = FReg2_fs_11_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_fs_11_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_fs_11_prevUnrecoded_expOut_T_4 = FReg2_fs_11_prevUnrecoded_rawIn__isNaN |
    FReg2_fs_11_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_fs_11_prevUnrecoded_expOut_T_6 = _FReg2_fs_11_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_fs_11_prevUnrecoded_expOut = _FReg2_fs_11_prevUnrecoded_expOut_T_3 |
    _FReg2_fs_11_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_fs_11_prevUnrecoded_fractOut_T_1 = FReg2_fs_11_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_fs_11_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_fs_11_prevUnrecoded_fractOut = FReg2_fs_11_prevUnrecoded_isSubnormal ?
    FReg2_fs_11_prevUnrecoded_denormFract : _FReg2_fs_11_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_fs_11_prevUnrecoded = {FReg2_fs_11_unbx_sign,FReg2_fs_11_prevUnrecoded_expOut,
    FReg2_fs_11_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_fs_11_T_2 = &io_diffFReg_27[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_fs_11_T_4 = _FReg2_fs_11_T_2 ? FReg2_fs_11_prevUnrecoded : FReg2_fs_11_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_8_unbx_sign = FReg1_ft_8_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_8_unbx_fractIn = FReg1_ft_8_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_8_unbx_expIn = FReg1_ft_8_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_8_unbx_expOut_expCode = FReg2_ft_8_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_8_unbx_expOut_T = FReg2_ft_8_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_8_unrecoded_rawIn_exp = io_diffFReg_28[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_8_unrecoded_rawIn_isZero = FReg2_ft_8_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_8_unrecoded_rawIn_isSpecial = FReg2_ft_8_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_8_unrecoded_rawIn__isNaN = FReg2_ft_8_unrecoded_rawIn_isSpecial & FReg2_ft_8_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_8_unrecoded_rawIn__isInf = FReg2_ft_8_unrecoded_rawIn_isSpecial & ~FReg2_ft_8_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_8_unrecoded_rawIn__sign = io_diffFReg_28[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_8_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_8_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_8_unrecoded_rawIn_out_sig_T = ~FReg2_ft_8_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_8_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_8_unrecoded_rawIn_out_sig_T,io_diffFReg_28[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_8_unrecoded_isSubnormal = $signed(FReg2_ft_8_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_8_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_8_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_8_unrecoded_denormFract_T_1 = FReg2_ft_8_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_8_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_8_unrecoded_denormFract = _FReg2_ft_8_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_8_unrecoded_expOut_T_2 = FReg2_ft_8_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_8_unrecoded_expOut_T_3 = FReg2_ft_8_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_8_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_8_unrecoded_expOut_T_4 = FReg2_ft_8_unrecoded_rawIn__isNaN | FReg2_ft_8_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_8_unrecoded_expOut_T_6 = _FReg2_ft_8_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_8_unrecoded_expOut = _FReg2_ft_8_unrecoded_expOut_T_3 | _FReg2_ft_8_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_8_unrecoded_fractOut_T_1 = FReg2_ft_8_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_8_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_8_unrecoded_fractOut = FReg2_ft_8_unrecoded_isSubnormal ? FReg2_ft_8_unrecoded_denormFract :
    _FReg2_ft_8_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_8_unrecoded = {FReg2_ft_8_unrecoded_rawIn__sign,FReg2_ft_8_unrecoded_expOut,
    FReg2_ft_8_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_8_prevUnrecoded_rawIn_isSpecial = FReg2_ft_8_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_8_prevUnrecoded_rawIn__isNaN = FReg2_ft_8_prevUnrecoded_rawIn_isSpecial & FReg2_ft_8_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_8_prevUnrecoded_rawIn__isInf = FReg2_ft_8_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_8_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_8_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_8_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_8_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_8_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_8_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_8_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_8_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_8_prevUnrecoded_isSubnormal = $signed(FReg2_ft_8_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_8_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_8_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_8_prevUnrecoded_denormFract_T_1 = FReg2_ft_8_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_8_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_8_prevUnrecoded_denormFract = _FReg2_ft_8_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_8_prevUnrecoded_expOut_T_2 = FReg2_ft_8_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_8_prevUnrecoded_expOut_T_3 = FReg2_ft_8_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_8_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_8_prevUnrecoded_expOut_T_4 = FReg2_ft_8_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_8_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_8_prevUnrecoded_expOut_T_6 = _FReg2_ft_8_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_8_prevUnrecoded_expOut = _FReg2_ft_8_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_8_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_8_prevUnrecoded_fractOut_T_1 = FReg2_ft_8_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_8_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_8_prevUnrecoded_fractOut = FReg2_ft_8_prevUnrecoded_isSubnormal ?
    FReg2_ft_8_prevUnrecoded_denormFract : _FReg2_ft_8_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_8_prevUnrecoded = {FReg2_ft_8_unbx_sign,FReg2_ft_8_prevUnrecoded_expOut,
    FReg2_ft_8_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_8_T_2 = &io_diffFReg_28[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_8_T_4 = _FReg2_ft_8_T_2 ? FReg2_ft_8_prevUnrecoded : FReg2_ft_8_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_9_unbx_sign = FReg1_ft_9_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_9_unbx_fractIn = FReg1_ft_9_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_9_unbx_expIn = FReg1_ft_9_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_9_unbx_expOut_expCode = FReg2_ft_9_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_9_unbx_expOut_T = FReg2_ft_9_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_9_unrecoded_rawIn_exp = io_diffFReg_29[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_9_unrecoded_rawIn_isZero = FReg2_ft_9_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_9_unrecoded_rawIn_isSpecial = FReg2_ft_9_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_9_unrecoded_rawIn__isNaN = FReg2_ft_9_unrecoded_rawIn_isSpecial & FReg2_ft_9_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_9_unrecoded_rawIn__isInf = FReg2_ft_9_unrecoded_rawIn_isSpecial & ~FReg2_ft_9_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_9_unrecoded_rawIn__sign = io_diffFReg_29[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_9_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_9_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_9_unrecoded_rawIn_out_sig_T = ~FReg2_ft_9_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_9_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_9_unrecoded_rawIn_out_sig_T,io_diffFReg_29[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_9_unrecoded_isSubnormal = $signed(FReg2_ft_9_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_9_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_9_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_9_unrecoded_denormFract_T_1 = FReg2_ft_9_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_9_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_9_unrecoded_denormFract = _FReg2_ft_9_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_9_unrecoded_expOut_T_2 = FReg2_ft_9_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_9_unrecoded_expOut_T_3 = FReg2_ft_9_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_9_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_9_unrecoded_expOut_T_4 = FReg2_ft_9_unrecoded_rawIn__isNaN | FReg2_ft_9_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_9_unrecoded_expOut_T_6 = _FReg2_ft_9_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_9_unrecoded_expOut = _FReg2_ft_9_unrecoded_expOut_T_3 | _FReg2_ft_9_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_9_unrecoded_fractOut_T_1 = FReg2_ft_9_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_9_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_9_unrecoded_fractOut = FReg2_ft_9_unrecoded_isSubnormal ? FReg2_ft_9_unrecoded_denormFract :
    _FReg2_ft_9_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_9_unrecoded = {FReg2_ft_9_unrecoded_rawIn__sign,FReg2_ft_9_unrecoded_expOut,
    FReg2_ft_9_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_9_prevUnrecoded_rawIn_isSpecial = FReg2_ft_9_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_9_prevUnrecoded_rawIn__isNaN = FReg2_ft_9_prevUnrecoded_rawIn_isSpecial & FReg2_ft_9_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_9_prevUnrecoded_rawIn__isInf = FReg2_ft_9_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_9_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_9_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_9_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_9_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_9_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_9_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_9_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_9_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_9_prevUnrecoded_isSubnormal = $signed(FReg2_ft_9_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_9_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_9_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_9_prevUnrecoded_denormFract_T_1 = FReg2_ft_9_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_9_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_9_prevUnrecoded_denormFract = _FReg2_ft_9_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_9_prevUnrecoded_expOut_T_2 = FReg2_ft_9_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_9_prevUnrecoded_expOut_T_3 = FReg2_ft_9_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_9_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_9_prevUnrecoded_expOut_T_4 = FReg2_ft_9_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_9_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_9_prevUnrecoded_expOut_T_6 = _FReg2_ft_9_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_9_prevUnrecoded_expOut = _FReg2_ft_9_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_9_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_9_prevUnrecoded_fractOut_T_1 = FReg2_ft_9_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_9_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_9_prevUnrecoded_fractOut = FReg2_ft_9_prevUnrecoded_isSubnormal ?
    FReg2_ft_9_prevUnrecoded_denormFract : _FReg2_ft_9_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_9_prevUnrecoded = {FReg2_ft_9_unbx_sign,FReg2_ft_9_prevUnrecoded_expOut,
    FReg2_ft_9_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_9_T_2 = &io_diffFReg_29[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_9_T_4 = _FReg2_ft_9_T_2 ? FReg2_ft_9_prevUnrecoded : FReg2_ft_9_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_10_unbx_sign = FReg1_ft_10_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_10_unbx_fractIn = FReg1_ft_10_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_10_unbx_expIn = FReg1_ft_10_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_10_unbx_expOut_expCode = FReg2_ft_10_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_10_unbx_expOut_T = FReg2_ft_10_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_10_unrecoded_rawIn_exp = io_diffFReg_30[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_10_unrecoded_rawIn_isZero = FReg2_ft_10_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_10_unrecoded_rawIn_isSpecial = FReg2_ft_10_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_10_unrecoded_rawIn__isNaN = FReg2_ft_10_unrecoded_rawIn_isSpecial & FReg2_ft_10_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_10_unrecoded_rawIn__isInf = FReg2_ft_10_unrecoded_rawIn_isSpecial & ~FReg2_ft_10_unrecoded_rawIn_exp[9]
    ; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_10_unrecoded_rawIn__sign = io_diffFReg_30[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_10_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_10_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_10_unrecoded_rawIn_out_sig_T = ~FReg2_ft_10_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_10_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_10_unrecoded_rawIn_out_sig_T,io_diffFReg_30[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_10_unrecoded_isSubnormal = $signed(FReg2_ft_10_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_10_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_10_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_10_unrecoded_denormFract_T_1 = FReg2_ft_10_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_10_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_10_unrecoded_denormFract = _FReg2_ft_10_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_10_unrecoded_expOut_T_2 = FReg2_ft_10_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_10_unrecoded_expOut_T_3 = FReg2_ft_10_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_10_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_10_unrecoded_expOut_T_4 = FReg2_ft_10_unrecoded_rawIn__isNaN | FReg2_ft_10_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_10_unrecoded_expOut_T_6 = _FReg2_ft_10_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_10_unrecoded_expOut = _FReg2_ft_10_unrecoded_expOut_T_3 | _FReg2_ft_10_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_10_unrecoded_fractOut_T_1 = FReg2_ft_10_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_10_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_10_unrecoded_fractOut = FReg2_ft_10_unrecoded_isSubnormal ? FReg2_ft_10_unrecoded_denormFract :
    _FReg2_ft_10_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_10_unrecoded = {FReg2_ft_10_unrecoded_rawIn__sign,FReg2_ft_10_unrecoded_expOut,
    FReg2_ft_10_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_10_prevUnrecoded_rawIn_isSpecial = FReg2_ft_10_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_10_prevUnrecoded_rawIn__isNaN = FReg2_ft_10_prevUnrecoded_rawIn_isSpecial & FReg2_ft_10_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_10_prevUnrecoded_rawIn__isInf = FReg2_ft_10_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_10_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_10_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_10_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_10_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_10_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_10_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_10_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_10_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_10_prevUnrecoded_isSubnormal = $signed(FReg2_ft_10_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_10_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_10_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_10_prevUnrecoded_denormFract_T_1 = FReg2_ft_10_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_10_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_10_prevUnrecoded_denormFract = _FReg2_ft_10_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_10_prevUnrecoded_expOut_T_2 = FReg2_ft_10_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_10_prevUnrecoded_expOut_T_3 = FReg2_ft_10_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_10_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_10_prevUnrecoded_expOut_T_4 = FReg2_ft_10_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_10_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_10_prevUnrecoded_expOut_T_6 = _FReg2_ft_10_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_10_prevUnrecoded_expOut = _FReg2_ft_10_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_10_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_10_prevUnrecoded_fractOut_T_1 = FReg2_ft_10_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_10_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_10_prevUnrecoded_fractOut = FReg2_ft_10_prevUnrecoded_isSubnormal ?
    FReg2_ft_10_prevUnrecoded_denormFract : _FReg2_ft_10_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_10_prevUnrecoded = {FReg2_ft_10_unbx_sign,FReg2_ft_10_prevUnrecoded_expOut,
    FReg2_ft_10_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_10_T_2 = &io_diffFReg_30[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_10_T_4 = _FReg2_ft_10_T_2 ? FReg2_ft_10_prevUnrecoded : FReg2_ft_10_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire  FReg2_ft_11_unbx_sign = FReg1_ft_11_unbx_floats_0[32]; // @[Fpu.scala 59:17]
  wire [22:0] FReg2_ft_11_unbx_fractIn = FReg1_ft_11_unbx_floats_0[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] FReg2_ft_11_unbx_expIn = FReg1_ft_11_unbx_floats_0[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] FReg2_ft_11_unbx_expOut_expCode = FReg2_ft_11_unbx_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  _FReg2_ft_11_unbx_expOut_T = FReg2_ft_11_unbx_expOut_expCode == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] FReg2_ft_11_unrecoded_rawIn_exp = io_diffFReg_31[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire  FReg2_ft_11_unrecoded_rawIn_isZero = FReg2_ft_11_unrecoded_rawIn_exp[11:9] == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire  FReg2_ft_11_unrecoded_rawIn_isSpecial = FReg2_ft_11_unrecoded_rawIn_exp[11:10] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_11_unrecoded_rawIn__isNaN = FReg2_ft_11_unrecoded_rawIn_isSpecial & FReg2_ft_11_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_11_unrecoded_rawIn__isInf = FReg2_ft_11_unrecoded_rawIn_isSpecial & ~FReg2_ft_11_unrecoded_rawIn_exp[9]
    ; // @[rawFloatFromRecFN.scala 56:33]
  wire  FReg2_ft_11_unrecoded_rawIn__sign = io_diffFReg_31[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] FReg2_ft_11_unrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_11_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_11_unrecoded_rawIn_out_sig_T = ~FReg2_ft_11_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [53:0] FReg2_ft_11_unrecoded_rawIn__sig = {1'h0,_FReg2_ft_11_unrecoded_rawIn_out_sig_T,io_diffFReg_31[51:0]}; // @[Cat.scala 33:92]
  wire  FReg2_ft_11_unrecoded_isSubnormal = $signed(FReg2_ft_11_unrecoded_rawIn__sExp) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] FReg2_ft_11_unrecoded_denormShiftDist = 6'h1 - FReg2_ft_11_unrecoded_rawIn__sExp[5:0]; // @[fNFromRecFN.scala 51:39]
  wire [52:0] _FReg2_ft_11_unrecoded_denormFract_T_1 = FReg2_ft_11_unrecoded_rawIn__sig[53:1] >>
    FReg2_ft_11_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] FReg2_ft_11_unrecoded_denormFract = _FReg2_ft_11_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] _FReg2_ft_11_unrecoded_expOut_T_2 = FReg2_ft_11_unrecoded_rawIn__sExp[10:0] - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] _FReg2_ft_11_unrecoded_expOut_T_3 = FReg2_ft_11_unrecoded_isSubnormal ? 11'h0 :
    _FReg2_ft_11_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_11_unrecoded_expOut_T_4 = FReg2_ft_11_unrecoded_rawIn__isNaN | FReg2_ft_11_unrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [10:0] _FReg2_ft_11_unrecoded_expOut_T_6 = _FReg2_ft_11_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] FReg2_ft_11_unrecoded_expOut = _FReg2_ft_11_unrecoded_expOut_T_3 | _FReg2_ft_11_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] _FReg2_ft_11_unrecoded_fractOut_T_1 = FReg2_ft_11_unrecoded_rawIn__isInf ? 52'h0 :
    FReg2_ft_11_unrecoded_rawIn__sig[51:0]; // @[fNFromRecFN.scala 63:20]
  wire [51:0] FReg2_ft_11_unrecoded_fractOut = FReg2_ft_11_unrecoded_isSubnormal ? FReg2_ft_11_unrecoded_denormFract :
    _FReg2_ft_11_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] FReg2_ft_11_unrecoded = {FReg2_ft_11_unrecoded_rawIn__sign,FReg2_ft_11_unrecoded_expOut,
    FReg2_ft_11_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  FReg2_ft_11_prevUnrecoded_rawIn_isSpecial = FReg2_ft_11_unbx_expIn[8:7] == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  FReg2_ft_11_prevUnrecoded_rawIn__isNaN = FReg2_ft_11_prevUnrecoded_rawIn_isSpecial & FReg2_ft_11_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 55:33]
  wire  FReg2_ft_11_prevUnrecoded_rawIn__isInf = FReg2_ft_11_prevUnrecoded_rawIn_isSpecial & ~FReg2_ft_11_unbx_expIn[6]; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] FReg2_ft_11_prevUnrecoded_rawIn__sExp = {1'b0,$signed(FReg2_ft_11_unbx_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  _FReg2_ft_11_prevUnrecoded_rawIn_out_sig_T = ~_FReg2_ft_11_unbx_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] FReg2_ft_11_prevUnrecoded_rawIn__sig = {1'h0,_FReg2_ft_11_prevUnrecoded_rawIn_out_sig_T,
    FReg2_ft_11_unbx_fractIn}; // @[Cat.scala 33:92]
  wire  FReg2_ft_11_prevUnrecoded_isSubnormal = $signed(FReg2_ft_11_prevUnrecoded_rawIn__sExp) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] FReg2_ft_11_prevUnrecoded_denormShiftDist = 5'h1 - FReg2_ft_11_prevUnrecoded_rawIn__sExp[4:0]; // @[fNFromRecFN.scala 51:39]
  wire [23:0] _FReg2_ft_11_prevUnrecoded_denormFract_T_1 = FReg2_ft_11_prevUnrecoded_rawIn__sig[24:1] >>
    FReg2_ft_11_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] FReg2_ft_11_prevUnrecoded_denormFract = _FReg2_ft_11_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] _FReg2_ft_11_prevUnrecoded_expOut_T_2 = FReg2_ft_11_prevUnrecoded_rawIn__sExp[7:0] - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] _FReg2_ft_11_prevUnrecoded_expOut_T_3 = FReg2_ft_11_prevUnrecoded_isSubnormal ? 8'h0 :
    _FReg2_ft_11_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  _FReg2_ft_11_prevUnrecoded_expOut_T_4 = FReg2_ft_11_prevUnrecoded_rawIn__isNaN |
    FReg2_ft_11_prevUnrecoded_rawIn__isInf; // @[fNFromRecFN.scala 59:44]
  wire [7:0] _FReg2_ft_11_prevUnrecoded_expOut_T_6 = _FReg2_ft_11_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] FReg2_ft_11_prevUnrecoded_expOut = _FReg2_ft_11_prevUnrecoded_expOut_T_3 |
    _FReg2_ft_11_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] _FReg2_ft_11_prevUnrecoded_fractOut_T_1 = FReg2_ft_11_prevUnrecoded_rawIn__isInf ? 23'h0 :
    FReg2_ft_11_prevUnrecoded_rawIn__sig[22:0]; // @[fNFromRecFN.scala 63:20]
  wire [22:0] FReg2_ft_11_prevUnrecoded_fractOut = FReg2_ft_11_prevUnrecoded_isSubnormal ?
    FReg2_ft_11_prevUnrecoded_denormFract : _FReg2_ft_11_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] FReg2_ft_11_prevUnrecoded = {FReg2_ft_11_unbx_sign,FReg2_ft_11_prevUnrecoded_expOut,
    FReg2_ft_11_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire  _FReg2_ft_11_T_2 = &io_diffFReg_31[63:61]; // @[Fpu.scala 34:56]
  wire [31:0] _FReg2_ft_11_T_4 = _FReg2_ft_11_T_2 ? FReg2_ft_11_prevUnrecoded : FReg2_ft_11_unrecoded[31:0]; // @[Fpu.scala 243:44]
  wire [63:0] XReg_zero = io_diffXReg_0; // @[diff.scala 116:18 119:13]
  wire [63:0] XReg_ra = io_diffXReg_1; // @[diff.scala 116:18 120:13]
  wire [63:0] XReg_sp = io_diffXReg_2; // @[diff.scala 116:18 121:13]
  wire [63:0] XReg_gp = io_diffXReg_3; // @[diff.scala 116:18 122:13]
  wire [63:0] XReg_tp = io_diffXReg_4; // @[diff.scala 116:18 123:13]
  wire [63:0] XReg_t_0 = io_diffXReg_5; // @[diff.scala 116:18 124:15]
  wire [63:0] XReg_t_1 = io_diffXReg_6; // @[diff.scala 116:18 125:15]
  wire [63:0] XReg_t_2 = io_diffXReg_7; // @[diff.scala 116:18 126:15]
  wire [63:0] XReg_t_3 = io_diffXReg_28; // @[diff.scala 116:18 147:15]
  wire [63:0] XReg_t_4 = io_diffXReg_29; // @[diff.scala 116:18 148:15]
  wire [63:0] XReg_t_5 = io_diffXReg_30; // @[diff.scala 116:18 149:15]
  wire [63:0] XReg_t_6 = io_diffXReg_31; // @[diff.scala 116:18 150:15]
  wire [63:0] XReg_s_0 = io_diffXReg_8; // @[diff.scala 116:18 127:15]
  wire [63:0] XReg_s_1 = io_diffXReg_9; // @[diff.scala 116:18 128:15]
  wire [63:0] XReg_s_2 = io_diffXReg_18; // @[diff.scala 116:18 137:15]
  wire [63:0] XReg_s_3 = io_diffXReg_19; // @[diff.scala 116:18 138:15]
  wire [63:0] XReg_s_4 = io_diffXReg_20; // @[diff.scala 116:18 139:15]
  wire [63:0] XReg_s_5 = io_diffXReg_21; // @[diff.scala 116:18 140:15]
  wire [63:0] XReg_s_6 = io_diffXReg_22; // @[diff.scala 116:18 141:15]
  wire [63:0] XReg_s_7 = io_diffXReg_23; // @[diff.scala 116:18 142:15]
  wire [63:0] XReg_s_8 = io_diffXReg_24; // @[diff.scala 116:18 143:15]
  wire [63:0] XReg_s_9 = io_diffXReg_25; // @[diff.scala 116:18 144:15]
  wire [63:0] XReg_s_10 = io_diffXReg_26; // @[diff.scala 116:18 145:15]
  wire [63:0] XReg_s_11 = io_diffXReg_27; // @[diff.scala 116:18 146:15]
  wire [63:0] XReg_a_0 = io_diffXReg_10; // @[diff.scala 116:18 129:15]
  wire [63:0] XReg_a_1 = io_diffXReg_11; // @[diff.scala 116:18 130:15]
  wire [63:0] XReg_a_2 = io_diffXReg_12; // @[diff.scala 116:18 131:15]
  wire [63:0] XReg_a_3 = io_diffXReg_13; // @[diff.scala 116:18 132:15]
  wire [63:0] XReg_a_4 = io_diffXReg_14; // @[diff.scala 116:18 133:15]
  wire [63:0] XReg_a_5 = io_diffXReg_15; // @[diff.scala 116:18 134:15]
  wire [63:0] XReg_a_6 = io_diffXReg_16; // @[diff.scala 116:18 135:15]
  wire [63:0] XReg_a_7 = io_diffXReg_17; // @[diff.scala 116:18 136:15]
  wire [63:0] FReg1_ft_0 = {_FReg1_ft_0_T_3,FReg1_ft_0_ie_rawIn__sign,FReg1_ft_0_ie_expOut,FReg1_ft_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_1 = {_FReg1_ft_1_T_3,FReg1_ft_1_ie_rawIn__sign,FReg1_ft_1_ie_expOut,FReg1_ft_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_2 = {_FReg1_ft_2_T_3,FReg1_ft_2_ie_rawIn__sign,FReg1_ft_2_ie_expOut,FReg1_ft_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_3 = {_FReg1_ft_3_T_3,FReg1_ft_3_ie_rawIn__sign,FReg1_ft_3_ie_expOut,FReg1_ft_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_4 = {_FReg1_ft_4_T_3,FReg1_ft_4_ie_rawIn__sign,FReg1_ft_4_ie_expOut,FReg1_ft_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_5 = {_FReg1_ft_5_T_3,FReg1_ft_5_ie_rawIn__sign,FReg1_ft_5_ie_expOut,FReg1_ft_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_6 = {_FReg1_ft_6_T_3,FReg1_ft_6_ie_rawIn__sign,FReg1_ft_6_ie_expOut,FReg1_ft_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_7 = {_FReg1_ft_7_T_3,FReg1_ft_7_ie_rawIn__sign,FReg1_ft_7_ie_expOut,FReg1_ft_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_8 = {_FReg1_ft_8_T_3,FReg1_ft_8_ie_rawIn__sign,FReg1_ft_8_ie_expOut,FReg1_ft_8_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_9 = {_FReg1_ft_9_T_3,FReg1_ft_9_ie_rawIn__sign,FReg1_ft_9_ie_expOut,FReg1_ft_9_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_10 = {_FReg1_ft_10_T_3,FReg1_ft_10_ie_rawIn__sign,FReg1_ft_10_ie_expOut,FReg1_ft_10_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_ft_11 = {_FReg1_ft_11_T_3,FReg1_ft_11_ie_rawIn__sign,FReg1_ft_11_ie_expOut,FReg1_ft_11_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_0 = {_FReg1_fs_0_T_3,FReg1_fs_0_ie_rawIn__sign,FReg1_fs_0_ie_expOut,FReg1_fs_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_1 = {_FReg1_fs_1_T_3,FReg1_fs_1_ie_rawIn__sign,FReg1_fs_1_ie_expOut,FReg1_fs_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_2 = {_FReg1_fs_2_T_3,FReg1_fs_2_ie_rawIn__sign,FReg1_fs_2_ie_expOut,FReg1_fs_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_3 = {_FReg1_fs_3_T_3,FReg1_fs_3_ie_rawIn__sign,FReg1_fs_3_ie_expOut,FReg1_fs_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_4 = {_FReg1_fs_4_T_3,FReg1_fs_4_ie_rawIn__sign,FReg1_fs_4_ie_expOut,FReg1_fs_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_5 = {_FReg1_fs_5_T_3,FReg1_fs_5_ie_rawIn__sign,FReg1_fs_5_ie_expOut,FReg1_fs_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_6 = {_FReg1_fs_6_T_3,FReg1_fs_6_ie_rawIn__sign,FReg1_fs_6_ie_expOut,FReg1_fs_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_7 = {_FReg1_fs_7_T_3,FReg1_fs_7_ie_rawIn__sign,FReg1_fs_7_ie_expOut,FReg1_fs_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_8 = {_FReg1_fs_8_T_3,FReg1_fs_8_ie_rawIn__sign,FReg1_fs_8_ie_expOut,FReg1_fs_8_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_9 = {_FReg1_fs_9_T_3,FReg1_fs_9_ie_rawIn__sign,FReg1_fs_9_ie_expOut,FReg1_fs_9_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_10 = {_FReg1_fs_10_T_3,FReg1_fs_10_ie_rawIn__sign,FReg1_fs_10_ie_expOut,FReg1_fs_10_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fs_11 = {_FReg1_fs_11_T_3,FReg1_fs_11_ie_rawIn__sign,FReg1_fs_11_ie_expOut,FReg1_fs_11_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_0 = {_FReg1_fa_0_T_3,FReg1_fa_0_ie_rawIn__sign,FReg1_fa_0_ie_expOut,FReg1_fa_0_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_1 = {_FReg1_fa_1_T_3,FReg1_fa_1_ie_rawIn__sign,FReg1_fa_1_ie_expOut,FReg1_fa_1_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_2 = {_FReg1_fa_2_T_3,FReg1_fa_2_ie_rawIn__sign,FReg1_fa_2_ie_expOut,FReg1_fa_2_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_3 = {_FReg1_fa_3_T_3,FReg1_fa_3_ie_rawIn__sign,FReg1_fa_3_ie_expOut,FReg1_fa_3_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_4 = {_FReg1_fa_4_T_3,FReg1_fa_4_ie_rawIn__sign,FReg1_fa_4_ie_expOut,FReg1_fa_4_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_5 = {_FReg1_fa_5_T_3,FReg1_fa_5_ie_rawIn__sign,FReg1_fa_5_ie_expOut,FReg1_fa_5_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_6 = {_FReg1_fa_6_T_3,FReg1_fa_6_ie_rawIn__sign,FReg1_fa_6_ie_expOut,FReg1_fa_6_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg1_fa_7 = {_FReg1_fa_7_T_3,FReg1_fa_7_ie_rawIn__sign,FReg1_fa_7_ie_expOut,FReg1_fa_7_ie_fractOut}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_0 = {FReg2_ft_0_unrecoded[63:32],_FReg2_ft_0_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_1 = {FReg2_ft_1_unrecoded[63:32],_FReg2_ft_1_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_2 = {FReg2_ft_2_unrecoded[63:32],_FReg2_ft_2_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_3 = {FReg2_ft_3_unrecoded[63:32],_FReg2_ft_3_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_4 = {FReg2_ft_4_unrecoded[63:32],_FReg2_ft_4_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_5 = {FReg2_ft_5_unrecoded[63:32],_FReg2_ft_5_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_6 = {FReg2_ft_6_unrecoded[63:32],_FReg2_ft_6_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_7 = {FReg2_ft_7_unrecoded[63:32],_FReg2_ft_7_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_8 = {FReg2_ft_8_unrecoded[63:32],_FReg2_ft_8_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_9 = {FReg2_ft_9_unrecoded[63:32],_FReg2_ft_9_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_10 = {FReg2_ft_10_unrecoded[63:32],_FReg2_ft_10_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_ft_11 = {FReg2_ft_11_unrecoded[63:32],_FReg2_ft_11_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_0 = {FReg2_fs_0_unrecoded[63:32],_FReg2_fs_0_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_1 = {FReg2_fs_1_unrecoded[63:32],_FReg2_fs_1_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_2 = {FReg2_fs_2_unrecoded[63:32],_FReg2_fs_2_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_3 = {FReg2_fs_3_unrecoded[63:32],_FReg2_fs_3_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_4 = {FReg2_fs_4_unrecoded[63:32],_FReg2_fs_4_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_5 = {FReg2_fs_5_unrecoded[63:32],_FReg2_fs_5_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_6 = {FReg2_fs_6_unrecoded[63:32],_FReg2_fs_6_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_7 = {FReg2_fs_7_unrecoded[63:32],_FReg2_fs_7_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_8 = {FReg2_fs_8_unrecoded[63:32],_FReg2_fs_8_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_9 = {FReg2_fs_9_unrecoded[63:32],_FReg2_fs_9_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_10 = {FReg2_fs_10_unrecoded[63:32],_FReg2_fs_10_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fs_11 = {FReg2_fs_11_unrecoded[63:32],_FReg2_fs_11_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_0 = {FReg2_fa_0_unrecoded[63:32],_FReg2_fa_0_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_1 = {FReg2_fa_1_unrecoded[63:32],_FReg2_fa_1_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_2 = {FReg2_fa_2_unrecoded[63:32],_FReg2_fa_2_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_3 = {FReg2_fa_3_unrecoded[63:32],_FReg2_fa_3_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_4 = {FReg2_fa_4_unrecoded[63:32],_FReg2_fa_4_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_5 = {FReg2_fa_5_unrecoded[63:32],_FReg2_fa_5_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_6 = {FReg2_fa_6_unrecoded[63:32],_FReg2_fa_6_T_4}; // @[Cat.scala 33:92]
  wire [63:0] FReg2_fa_7 = {FReg2_fa_7_unrecoded[63:32],_FReg2_fa_7_T_4}; // @[Cat.scala 33:92]
endmodule
module Rift2Core(
  input         clock,
  input         reset,
  output        auto_prefetch_clinet_out_a_valid,
  output [2:0]  auto_prefetch_clinet_out_a_bits_opcode,
  output [2:0]  auto_prefetch_clinet_out_a_bits_param,
  output [2:0]  auto_prefetch_clinet_out_a_bits_size,
  output        auto_prefetch_clinet_out_a_bits_source,
  output [31:0] auto_prefetch_clinet_out_a_bits_address,
  output [7:0]  auto_prefetch_clinet_out_a_bits_mask,
  output [63:0] auto_prefetch_clinet_out_a_bits_data,
  output        auto_prefetch_clinet_out_a_bits_corrupt,
  output        auto_prefetch_clinet_out_d_ready,
  input         auto_mmu_client_out_a_ready,
  output        auto_mmu_client_out_a_valid,
  output [2:0]  auto_mmu_client_out_a_bits_opcode,
  output [2:0]  auto_mmu_client_out_a_bits_param,
  output [2:0]  auto_mmu_client_out_a_bits_size,
  output        auto_mmu_client_out_a_bits_source,
  output [31:0] auto_mmu_client_out_a_bits_address,
  output [7:0]  auto_mmu_client_out_a_bits_mask,
  output [63:0] auto_mmu_client_out_a_bits_data,
  output        auto_mmu_client_out_a_bits_corrupt,
  output        auto_mmu_client_out_d_ready,
  input         auto_mmu_client_out_d_valid,
  input  [2:0]  auto_mmu_client_out_d_bits_opcode,
  input  [2:0]  auto_mmu_client_out_d_bits_size,
  input         auto_mmu_client_out_d_bits_source,
  input  [63:0] auto_mmu_client_out_d_bits_data,
  input         auto_periph_client_out_a_ready,
  output        auto_periph_client_out_a_valid,
  output [2:0]  auto_periph_client_out_a_bits_opcode,
  output [2:0]  auto_periph_client_out_a_bits_param,
  output [1:0]  auto_periph_client_out_a_bits_size,
  output        auto_periph_client_out_a_bits_source,
  output [31:0] auto_periph_client_out_a_bits_address,
  output [7:0]  auto_periph_client_out_a_bits_mask,
  output [63:0] auto_periph_client_out_a_bits_data,
  output        auto_periph_client_out_a_bits_corrupt,
  output        auto_periph_client_out_d_ready,
  input         auto_periph_client_out_d_valid,
  input  [2:0]  auto_periph_client_out_d_bits_opcode,
  input  [63:0] auto_periph_client_out_d_bits_data,
  input         auto_system_client_out_a_ready,
  output        auto_system_client_out_a_valid,
  output [2:0]  auto_system_client_out_a_bits_opcode,
  output [2:0]  auto_system_client_out_a_bits_param,
  output [1:0]  auto_system_client_out_a_bits_size,
  output        auto_system_client_out_a_bits_source,
  output [31:0] auto_system_client_out_a_bits_address,
  output [7:0]  auto_system_client_out_a_bits_mask,
  output [63:0] auto_system_client_out_a_bits_data,
  output        auto_system_client_out_a_bits_corrupt,
  output        auto_system_client_out_d_ready,
  input         auto_system_client_out_d_valid,
  input  [2:0]  auto_system_client_out_d_bits_opcode,
  input  [63:0] auto_system_client_out_d_bits_data,
  input         auto_dcache_client_out_a_ready,
  output        auto_dcache_client_out_a_valid,
  output [2:0]  auto_dcache_client_out_a_bits_opcode,
  output [2:0]  auto_dcache_client_out_a_bits_param,
  output [2:0]  auto_dcache_client_out_a_bits_size,
  output        auto_dcache_client_out_a_bits_source,
  output [31:0] auto_dcache_client_out_a_bits_address,
  output [7:0]  auto_dcache_client_out_a_bits_mask,
  output [63:0] auto_dcache_client_out_a_bits_data,
  output        auto_dcache_client_out_a_bits_corrupt,
  output        auto_dcache_client_out_b_ready,
  input         auto_dcache_client_out_b_valid,
  input  [31:0] auto_dcache_client_out_b_bits_address,
  input         auto_dcache_client_out_c_ready,
  output        auto_dcache_client_out_c_valid,
  output [2:0]  auto_dcache_client_out_c_bits_opcode,
  output [2:0]  auto_dcache_client_out_c_bits_param,
  output [2:0]  auto_dcache_client_out_c_bits_size,
  output        auto_dcache_client_out_c_bits_source,
  output [31:0] auto_dcache_client_out_c_bits_address,
  output [63:0] auto_dcache_client_out_c_bits_data,
  output        auto_dcache_client_out_c_bits_corrupt,
  output        auto_dcache_client_out_d_ready,
  input         auto_dcache_client_out_d_valid,
  input  [2:0]  auto_dcache_client_out_d_bits_opcode,
  input  [2:0]  auto_dcache_client_out_d_bits_size,
  input         auto_dcache_client_out_d_bits_source,
  input  [4:0]  auto_dcache_client_out_d_bits_sink,
  input  [63:0] auto_dcache_client_out_d_bits_data,
  input         auto_dcache_client_out_e_ready,
  output        auto_dcache_client_out_e_valid,
  output [4:0]  auto_dcache_client_out_e_bits_sink,
  input         auto_icache_client_out_a_ready,
  output        auto_icache_client_out_a_valid,
  output [2:0]  auto_icache_client_out_a_bits_opcode,
  output [2:0]  auto_icache_client_out_a_bits_param,
  output [2:0]  auto_icache_client_out_a_bits_size,
  output        auto_icache_client_out_a_bits_source,
  output [31:0] auto_icache_client_out_a_bits_address,
  output [7:0]  auto_icache_client_out_a_bits_mask,
  output [63:0] auto_icache_client_out_a_bits_data,
  output        auto_icache_client_out_a_bits_corrupt,
  output        auto_icache_client_out_d_ready,
  input         auto_icache_client_out_d_valid,
  input  [2:0]  auto_icache_client_out_d_bits_opcode,
  input  [2:0]  auto_icache_client_out_d_bits_size,
  input  [63:0] auto_icache_client_out_d_bits_data,
  output        io_dm_hartIsInReset,
  input         io_dm_hartResetReq,
  input         io_dm_hartHaltReq,
  input         io_rtc_clock,
  input         io_aclint_msi,
  input         io_aclint_mti,
  input         io_aclint_ssi,
  input         io_aclint_sti,
  input         io_plic_mei,
  input         io_plic_sei
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_67;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_73;
  reg [31:0] _RAND_76;
  reg [31:0] _RAND_79;
  reg [31:0] _RAND_82;
  reg [31:0] _RAND_85;
  reg [31:0] _RAND_88;
  reg [31:0] _RAND_91;
  reg [31:0] _RAND_94;
  reg [31:0] _RAND_97;
  reg [31:0] _RAND_100;
  reg [31:0] _RAND_103;
  reg [31:0] _RAND_106;
  reg [31:0] _RAND_109;
  reg [31:0] _RAND_112;
  reg [31:0] _RAND_115;
  reg [31:0] _RAND_118;
  reg [31:0] _RAND_121;
  reg [31:0] _RAND_124;
  reg [31:0] _RAND_127;
  reg [31:0] _RAND_130;
  reg [31:0] _RAND_133;
  reg [31:0] _RAND_136;
  reg [31:0] _RAND_139;
  reg [31:0] _RAND_142;
  reg [63:0] _RAND_177;
  reg [63:0] _RAND_179;
  reg [31:0] _RAND_185;
  reg [31:0] _RAND_188;
  reg [31:0] _RAND_191;
  reg [31:0] _RAND_192;
  reg [63:0] _RAND_242;
  reg [31:0] _RAND_1020;
  reg [31:0] _RAND_1021;
  reg [31:0] _RAND_1022;
  reg [31:0] _RAND_1023;
  reg [31:0] _RAND_1024;
  reg [31:0] _RAND_1025;
  reg [31:0] _RAND_1026;
  reg [31:0] _RAND_1027;
  reg [31:0] _RAND_1028;
  reg [31:0] _RAND_1029;
  reg [31:0] _RAND_1030;
  reg [63:0] _RAND_1031;
  reg [63:0] _RAND_1032;
  reg [31:0] _RAND_1034;
  reg [31:0] _RAND_1035;
  reg [31:0] _RAND_1036;
  reg [31:0] _RAND_1037;
  reg [31:0] _RAND_1038;
  reg [31:0] _RAND_1039;
  reg [31:0] _RAND_1040;
  reg [31:0] _RAND_1041;
  reg [31:0] _RAND_1042;
  reg [31:0] _RAND_1043;
  reg [31:0] _RAND_1044;
  reg [31:0] _RAND_1045;
  reg [31:0] _RAND_1046;
  reg [31:0] _RAND_1047;
  reg [63:0] _RAND_1048;
  reg [63:0] _RAND_1049;
  reg [31:0] _RAND_1051;
  reg [31:0] _RAND_1052;
  reg [31:0] _RAND_1053;
  reg [31:0] _RAND_1054;
  reg [31:0] _RAND_1055;
  reg [31:0] _RAND_1056;
  reg [31:0] _RAND_1057;
  reg [31:0] _RAND_1058;
  reg [31:0] _RAND_1059;
  reg [63:0] _RAND_1060;
  reg [63:0] _RAND_1061;
  reg [63:0] _RAND_1062;
  reg [63:0] _RAND_1063;
  reg [31:0] _RAND_1065;
  reg [31:0] _RAND_1066;
  reg [31:0] _RAND_1067;
  reg [31:0] _RAND_1068;
  reg [63:0] _RAND_1069;
  reg [63:0] _RAND_1070;
  reg [31:0] _RAND_1072;
  reg [31:0] _RAND_1073;
  reg [31:0] _RAND_1074;
  reg [31:0] _RAND_1075;
  reg [31:0] _RAND_1076;
  reg [31:0] _RAND_1077;
  reg [31:0] _RAND_1078;
  reg [31:0] _RAND_1079;
  reg [31:0] _RAND_1080;
  reg [31:0] _RAND_1081;
  reg [31:0] _RAND_1082;
  reg [31:0] _RAND_1083;
  reg [31:0] _RAND_1084;
  reg [31:0] _RAND_1085;
  reg [31:0] _RAND_1086;
  reg [31:0] _RAND_1087;
  reg [31:0] _RAND_1088;
  reg [31:0] _RAND_1089;
  reg [31:0] _RAND_1090;
  reg [31:0] _RAND_1091;
  reg [31:0] _RAND_1092;
  reg [31:0] _RAND_1093;
  reg [31:0] _RAND_1094;
  reg [31:0] _RAND_1095;
  reg [31:0] _RAND_1096;
  reg [31:0] _RAND_1097;
  reg [31:0] _RAND_1098;
  reg [31:0] _RAND_1099;
  reg [31:0] _RAND_1100;
  reg [31:0] _RAND_1101;
  reg [31:0] _RAND_1102;
  reg [31:0] _RAND_1103;
  reg [31:0] _RAND_1104;
  reg [31:0] _RAND_1105;
  reg [31:0] _RAND_1106;
  reg [31:0] _RAND_1107;
  reg [31:0] _RAND_1108;
  reg [31:0] _RAND_1109;
  reg [31:0] _RAND_1110;
  reg [31:0] _RAND_1111;
  reg [31:0] _RAND_1112;
  reg [63:0] _RAND_1113;
  reg [63:0] _RAND_1114;
  reg [31:0] _RAND_1566;
  reg [63:0] _RAND_1567;
  reg [31:0] _RAND_1569;
  reg [63:0] _RAND_1570;
  reg [63:0] _RAND_1572;
  reg [31:0] _RAND_1573;
  reg [31:0] _RAND_1574;
  reg [31:0] _RAND_1575;
  reg [31:0] _RAND_1576;
  reg [63:0] _RAND_1577;
  reg [63:0] _RAND_1579;
  reg [63:0] _RAND_1580;
  reg [63:0] _RAND_1581;
  reg [31:0] _RAND_1582;
  reg [63:0] _RAND_1583;
  reg [31:0] _RAND_1768;
  reg [31:0] _RAND_1770;
  reg [127:0] _RAND_1771;
  reg [31:0] _RAND_1772;
  reg [31:0] _RAND_1773;
  reg [31:0] _RAND_1774;
  reg [31:0] _RAND_1775;
  reg [31:0] _RAND_1784;
  reg [31:0] _RAND_1785;
  reg [127:0] _RAND_1786;
  reg [31:0] _RAND_1787;
  reg [31:0] _RAND_1788;
  reg [31:0] _RAND_1789;
  reg [31:0] _RAND_1790;
  reg [31:0] _RAND_1791;
  reg [31:0] _RAND_1792;
  reg [31:0] _RAND_1793;
  reg [31:0] _RAND_1794;
  reg [31:0] _RAND_1795;
  reg [31:0] _RAND_1796;
  reg [31:0] _RAND_1797;
  reg [31:0] _RAND_1798;
  reg [31:0] _RAND_1799;
  reg [31:0] _RAND_1800;
  reg [31:0] _RAND_1801;
  reg [31:0] _RAND_1802;
  reg [31:0] _RAND_1803;
  reg [31:0] _RAND_1804;
  reg [31:0] _RAND_1805;
  reg [31:0] _RAND_1806;
  reg [31:0] _RAND_1807;
  reg [31:0] _RAND_1808;
  reg [31:0] _RAND_1809;
  reg [31:0] _RAND_1810;
  reg [31:0] _RAND_1811;
  reg [31:0] _RAND_1812;
  reg [31:0] _RAND_1813;
  reg [31:0] _RAND_1814;
  reg [31:0] _RAND_1815;
  reg [31:0] _RAND_1816;
  reg [31:0] _RAND_1817;
  reg [31:0] _RAND_1818;
  reg [31:0] _RAND_1819;
  reg [31:0] _RAND_1820;
  reg [31:0] _RAND_1821;
  reg [31:0] _RAND_1822;
  reg [31:0] _RAND_1823;
  reg [31:0] _RAND_1824;
  reg [31:0] _RAND_1825;
  reg [31:0] _RAND_1826;
  reg [31:0] _RAND_1827;
  reg [31:0] _RAND_1828;
  reg [31:0] _RAND_1832;
  reg [31:0] _RAND_1833;
  reg [63:0] _RAND_1834;
  reg [31:0] _RAND_1835;
  reg [31:0] _RAND_1836;
  reg [31:0] _RAND_1837;
  reg [31:0] _RAND_1841;
  reg [31:0] _RAND_1842;
  reg [127:0] _RAND_1843;
  reg [31:0] _RAND_1844;
  reg [31:0] _RAND_1845;
  reg [31:0] _RAND_1846;
  reg [31:0] _RAND_1847;
  reg [31:0] _RAND_1848;
  reg [31:0] _RAND_1849;
  reg [31:0] _RAND_1850;
  reg [31:0] _RAND_1851;
  reg [31:0] _RAND_1852;
  reg [31:0] _RAND_1853;
  reg [31:0] _RAND_1854;
  reg [31:0] _RAND_1855;
  reg [31:0] _RAND_1856;
  reg [31:0] _RAND_1857;
  reg [31:0] _RAND_1858;
  reg [31:0] _RAND_1859;
  reg [31:0] _RAND_1860;
  reg [31:0] _RAND_1861;
  reg [31:0] _RAND_1862;
  reg [31:0] _RAND_1863;
  reg [31:0] _RAND_1864;
  reg [31:0] _RAND_1865;
  reg [31:0] _RAND_1866;
  reg [31:0] _RAND_1867;
  reg [31:0] _RAND_1868;
  reg [31:0] _RAND_1869;
  reg [31:0] _RAND_1870;
  reg [31:0] _RAND_1871;
  reg [31:0] _RAND_1872;
  reg [31:0] _RAND_1873;
  reg [31:0] _RAND_1874;
  reg [31:0] _RAND_1875;
  reg [31:0] _RAND_1876;
  reg [31:0] _RAND_1877;
  reg [31:0] _RAND_1878;
  reg [31:0] _RAND_1879;
  reg [31:0] _RAND_1880;
  reg [31:0] _RAND_1881;
  reg [31:0] _RAND_1882;
  reg [31:0] _RAND_1883;
  reg [31:0] _RAND_1884;
  reg [31:0] _RAND_1885;
  reg [31:0] _RAND_1887;
  reg [31:0] _RAND_1890;
  reg [31:0] _RAND_1893;
  reg [31:0] _RAND_1896;
  reg [31:0] _RAND_1899;
  reg [31:0] _RAND_1902;
  reg [31:0] _RAND_1905;
  reg [31:0] _RAND_1908;
  reg [31:0] _RAND_1911;
  reg [31:0] _RAND_1914;
  reg [31:0] _RAND_1917;
  reg [31:0] _RAND_1920;
  reg [31:0] _RAND_1923;
  reg [31:0] _RAND_1926;
  reg [31:0] _RAND_1929;
  reg [31:0] _RAND_1932;
  reg [31:0] _RAND_1935;
  reg [31:0] _RAND_1938;
  reg [31:0] _RAND_1941;
  reg [31:0] _RAND_1944;
  reg [31:0] _RAND_1947;
  reg [31:0] _RAND_1950;
  reg [31:0] _RAND_1953;
  reg [31:0] _RAND_1956;
  reg [31:0] _RAND_1959;
  reg [31:0] _RAND_1962;
  reg [31:0] _RAND_1965;
  reg [31:0] _RAND_1968;
  reg [31:0] _RAND_1971;
  reg [31:0] _RAND_1974;
  reg [31:0] _RAND_1977;
  reg [31:0] _RAND_1980;
  reg [31:0] _RAND_1983;
  reg [31:0] _RAND_1986;
  reg [31:0] _RAND_2205;
  reg [63:0] _RAND_2206;
  reg [31:0] _RAND_2209;
  reg [63:0] _RAND_2210;
  reg [31:0] _RAND_2212;
  reg [63:0] _RAND_2213;
  reg [31:0] _RAND_2222;
  reg [63:0] _RAND_2223;
  reg [31:0] _RAND_2225;
  reg [63:0] _RAND_2226;
  reg [31:0] _RAND_2227;
  reg [31:0] _RAND_2228;
  reg [31:0] _RAND_2229;
  reg [31:0] _RAND_2231;
  reg [63:0] _RAND_2232;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [63:0] _RAND_0;
  reg [63:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [63:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [63:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [63:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [63:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [63:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [63:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [31:0] _RAND_74;
  reg [31:0] _RAND_75;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_80;
  reg [31:0] _RAND_81;
  reg [31:0] _RAND_83;
  reg [31:0] _RAND_84;
  reg [31:0] _RAND_86;
  reg [31:0] _RAND_87;
  reg [31:0] _RAND_89;
  reg [31:0] _RAND_90;
  reg [31:0] _RAND_92;
  reg [31:0] _RAND_93;
  reg [31:0] _RAND_95;
  reg [31:0] _RAND_96;
  reg [31:0] _RAND_98;
  reg [31:0] _RAND_99;
  reg [31:0] _RAND_101;
  reg [31:0] _RAND_102;
  reg [31:0] _RAND_104;
  reg [31:0] _RAND_105;
  reg [31:0] _RAND_107;
  reg [31:0] _RAND_108;
  reg [31:0] _RAND_110;
  reg [31:0] _RAND_111;
  reg [31:0] _RAND_113;
  reg [31:0] _RAND_114;
  reg [31:0] _RAND_116;
  reg [31:0] _RAND_117;
  reg [31:0] _RAND_119;
  reg [31:0] _RAND_120;
  reg [31:0] _RAND_122;
  reg [31:0] _RAND_123;
  reg [31:0] _RAND_125;
  reg [31:0] _RAND_126;
  reg [31:0] _RAND_128;
  reg [31:0] _RAND_129;
  reg [31:0] _RAND_131;
  reg [31:0] _RAND_132;
  reg [31:0] _RAND_134;
  reg [31:0] _RAND_135;
  reg [31:0] _RAND_137;
  reg [31:0] _RAND_138;
  reg [31:0] _RAND_140;
  reg [31:0] _RAND_141;
  reg [31:0] _RAND_143;
  reg [31:0] _RAND_144;
  reg [31:0] _RAND_145;
  reg [31:0] _RAND_146;
  reg [31:0] _RAND_147;
  reg [31:0] _RAND_148;
  reg [31:0] _RAND_149;
  reg [31:0] _RAND_150;
  reg [31:0] _RAND_151;
  reg [31:0] _RAND_152;
  reg [31:0] _RAND_153;
  reg [31:0] _RAND_154;
  reg [31:0] _RAND_155;
  reg [31:0] _RAND_156;
  reg [31:0] _RAND_157;
  reg [31:0] _RAND_158;
  reg [31:0] _RAND_159;
  reg [31:0] _RAND_160;
  reg [31:0] _RAND_161;
  reg [63:0] _RAND_162;
  reg [31:0] _RAND_163;
  reg [31:0] _RAND_164;
  reg [31:0] _RAND_165;
  reg [31:0] _RAND_166;
  reg [31:0] _RAND_167;
  reg [31:0] _RAND_168;
  reg [31:0] _RAND_169;
  reg [31:0] _RAND_170;
  reg [31:0] _RAND_171;
  reg [31:0] _RAND_172;
  reg [31:0] _RAND_173;
  reg [63:0] _RAND_174;
  reg [31:0] _RAND_175;
  reg [31:0] _RAND_176;
  reg [31:0] _RAND_178;
  reg [31:0] _RAND_180;
  reg [31:0] _RAND_181;
  reg [31:0] _RAND_182;
  reg [31:0] _RAND_183;
  reg [31:0] _RAND_184;
  reg [31:0] _RAND_186;
  reg [31:0] _RAND_187;
  reg [31:0] _RAND_189;
  reg [31:0] _RAND_190;
  reg [31:0] _RAND_193;
  reg [31:0] _RAND_194;
  reg [31:0] _RAND_195;
  reg [31:0] _RAND_196;
  reg [63:0] _RAND_197;
  reg [63:0] _RAND_198;
  reg [31:0] _RAND_199;
  reg [31:0] _RAND_200;
  reg [31:0] _RAND_201;
  reg [31:0] _RAND_202;
  reg [31:0] _RAND_203;
  reg [31:0] _RAND_204;
  reg [31:0] _RAND_205;
  reg [31:0] _RAND_206;
  reg [31:0] _RAND_207;
  reg [31:0] _RAND_208;
  reg [31:0] _RAND_209;
  reg [31:0] _RAND_210;
  reg [31:0] _RAND_211;
  reg [31:0] _RAND_212;
  reg [31:0] _RAND_213;
  reg [31:0] _RAND_214;
  reg [31:0] _RAND_215;
  reg [31:0] _RAND_216;
  reg [63:0] _RAND_217;
  reg [31:0] _RAND_218;
  reg [63:0] _RAND_219;
  reg [31:0] _RAND_220;
  reg [31:0] _RAND_221;
  reg [63:0] _RAND_222;
  reg [31:0] _RAND_223;
  reg [63:0] _RAND_224;
  reg [31:0] _RAND_225;
  reg [31:0] _RAND_226;
  reg [63:0] _RAND_227;
  reg [31:0] _RAND_228;
  reg [63:0] _RAND_229;
  reg [31:0] _RAND_230;
  reg [31:0] _RAND_231;
  reg [63:0] _RAND_232;
  reg [31:0] _RAND_233;
  reg [63:0] _RAND_234;
  reg [31:0] _RAND_235;
  reg [31:0] _RAND_236;
  reg [31:0] _RAND_237;
  reg [31:0] _RAND_238;
  reg [31:0] _RAND_239;
  reg [31:0] _RAND_240;
  reg [31:0] _RAND_241;
  reg [31:0] _RAND_243;
  reg [31:0] _RAND_244;
  reg [63:0] _RAND_245;
  reg [31:0] _RAND_246;
  reg [31:0] _RAND_247;
  reg [31:0] _RAND_248;
  reg [31:0] _RAND_249;
  reg [31:0] _RAND_250;
  reg [31:0] _RAND_251;
  reg [31:0] _RAND_252;
  reg [31:0] _RAND_253;
  reg [31:0] _RAND_254;
  reg [31:0] _RAND_255;
  reg [31:0] _RAND_256;
  reg [31:0] _RAND_257;
  reg [31:0] _RAND_258;
  reg [31:0] _RAND_259;
  reg [31:0] _RAND_260;
  reg [31:0] _RAND_261;
  reg [31:0] _RAND_262;
  reg [31:0] _RAND_263;
  reg [31:0] _RAND_264;
  reg [31:0] _RAND_265;
  reg [31:0] _RAND_266;
  reg [31:0] _RAND_267;
  reg [31:0] _RAND_268;
  reg [31:0] _RAND_269;
  reg [31:0] _RAND_270;
  reg [31:0] _RAND_271;
  reg [31:0] _RAND_272;
  reg [31:0] _RAND_273;
  reg [31:0] _RAND_274;
  reg [31:0] _RAND_275;
  reg [31:0] _RAND_276;
  reg [31:0] _RAND_277;
  reg [31:0] _RAND_278;
  reg [31:0] _RAND_279;
  reg [31:0] _RAND_280;
  reg [31:0] _RAND_281;
  reg [31:0] _RAND_282;
  reg [31:0] _RAND_283;
  reg [31:0] _RAND_284;
  reg [31:0] _RAND_285;
  reg [31:0] _RAND_286;
  reg [31:0] _RAND_287;
  reg [31:0] _RAND_288;
  reg [31:0] _RAND_289;
  reg [31:0] _RAND_290;
  reg [31:0] _RAND_291;
  reg [31:0] _RAND_292;
  reg [31:0] _RAND_293;
  reg [31:0] _RAND_294;
  reg [31:0] _RAND_295;
  reg [31:0] _RAND_296;
  reg [31:0] _RAND_297;
  reg [31:0] _RAND_298;
  reg [31:0] _RAND_299;
  reg [31:0] _RAND_300;
  reg [31:0] _RAND_301;
  reg [31:0] _RAND_302;
  reg [31:0] _RAND_303;
  reg [31:0] _RAND_304;
  reg [31:0] _RAND_305;
  reg [31:0] _RAND_306;
  reg [31:0] _RAND_307;
  reg [31:0] _RAND_308;
  reg [31:0] _RAND_309;
  reg [31:0] _RAND_310;
  reg [31:0] _RAND_311;
  reg [31:0] _RAND_312;
  reg [31:0] _RAND_313;
  reg [31:0] _RAND_314;
  reg [31:0] _RAND_315;
  reg [31:0] _RAND_316;
  reg [31:0] _RAND_317;
  reg [31:0] _RAND_318;
  reg [31:0] _RAND_319;
  reg [31:0] _RAND_320;
  reg [31:0] _RAND_321;
  reg [31:0] _RAND_322;
  reg [31:0] _RAND_323;
  reg [31:0] _RAND_324;
  reg [31:0] _RAND_325;
  reg [31:0] _RAND_326;
  reg [31:0] _RAND_327;
  reg [31:0] _RAND_328;
  reg [31:0] _RAND_329;
  reg [31:0] _RAND_330;
  reg [31:0] _RAND_331;
  reg [31:0] _RAND_332;
  reg [31:0] _RAND_333;
  reg [31:0] _RAND_334;
  reg [31:0] _RAND_335;
  reg [31:0] _RAND_336;
  reg [31:0] _RAND_337;
  reg [31:0] _RAND_338;
  reg [31:0] _RAND_339;
  reg [31:0] _RAND_340;
  reg [31:0] _RAND_341;
  reg [31:0] _RAND_342;
  reg [31:0] _RAND_343;
  reg [31:0] _RAND_344;
  reg [31:0] _RAND_345;
  reg [31:0] _RAND_346;
  reg [31:0] _RAND_347;
  reg [31:0] _RAND_348;
  reg [31:0] _RAND_349;
  reg [31:0] _RAND_350;
  reg [31:0] _RAND_351;
  reg [31:0] _RAND_352;
  reg [31:0] _RAND_353;
  reg [31:0] _RAND_354;
  reg [31:0] _RAND_355;
  reg [31:0] _RAND_356;
  reg [31:0] _RAND_357;
  reg [31:0] _RAND_358;
  reg [31:0] _RAND_359;
  reg [31:0] _RAND_360;
  reg [31:0] _RAND_361;
  reg [31:0] _RAND_362;
  reg [31:0] _RAND_363;
  reg [31:0] _RAND_364;
  reg [31:0] _RAND_365;
  reg [31:0] _RAND_366;
  reg [31:0] _RAND_367;
  reg [31:0] _RAND_368;
  reg [31:0] _RAND_369;
  reg [31:0] _RAND_370;
  reg [31:0] _RAND_371;
  reg [31:0] _RAND_372;
  reg [31:0] _RAND_373;
  reg [31:0] _RAND_374;
  reg [31:0] _RAND_375;
  reg [31:0] _RAND_376;
  reg [31:0] _RAND_377;
  reg [31:0] _RAND_378;
  reg [31:0] _RAND_379;
  reg [31:0] _RAND_380;
  reg [31:0] _RAND_381;
  reg [31:0] _RAND_382;
  reg [31:0] _RAND_383;
  reg [31:0] _RAND_384;
  reg [31:0] _RAND_385;
  reg [31:0] _RAND_386;
  reg [31:0] _RAND_387;
  reg [31:0] _RAND_388;
  reg [31:0] _RAND_389;
  reg [31:0] _RAND_390;
  reg [31:0] _RAND_391;
  reg [31:0] _RAND_392;
  reg [31:0] _RAND_393;
  reg [31:0] _RAND_394;
  reg [31:0] _RAND_395;
  reg [31:0] _RAND_396;
  reg [31:0] _RAND_397;
  reg [31:0] _RAND_398;
  reg [31:0] _RAND_399;
  reg [31:0] _RAND_400;
  reg [31:0] _RAND_401;
  reg [31:0] _RAND_402;
  reg [31:0] _RAND_403;
  reg [31:0] _RAND_404;
  reg [31:0] _RAND_405;
  reg [31:0] _RAND_406;
  reg [31:0] _RAND_407;
  reg [31:0] _RAND_408;
  reg [31:0] _RAND_409;
  reg [31:0] _RAND_410;
  reg [31:0] _RAND_411;
  reg [31:0] _RAND_412;
  reg [31:0] _RAND_413;
  reg [31:0] _RAND_414;
  reg [31:0] _RAND_415;
  reg [31:0] _RAND_416;
  reg [31:0] _RAND_417;
  reg [31:0] _RAND_418;
  reg [31:0] _RAND_419;
  reg [31:0] _RAND_420;
  reg [31:0] _RAND_421;
  reg [31:0] _RAND_422;
  reg [31:0] _RAND_423;
  reg [31:0] _RAND_424;
  reg [31:0] _RAND_425;
  reg [31:0] _RAND_426;
  reg [31:0] _RAND_427;
  reg [31:0] _RAND_428;
  reg [31:0] _RAND_429;
  reg [31:0] _RAND_430;
  reg [31:0] _RAND_431;
  reg [63:0] _RAND_432;
  reg [63:0] _RAND_433;
  reg [31:0] _RAND_434;
  reg [31:0] _RAND_435;
  reg [31:0] _RAND_436;
  reg [31:0] _RAND_437;
  reg [31:0] _RAND_438;
  reg [31:0] _RAND_439;
  reg [31:0] _RAND_440;
  reg [31:0] _RAND_441;
  reg [31:0] _RAND_442;
  reg [31:0] _RAND_443;
  reg [31:0] _RAND_444;
  reg [31:0] _RAND_445;
  reg [31:0] _RAND_446;
  reg [31:0] _RAND_447;
  reg [31:0] _RAND_448;
  reg [31:0] _RAND_449;
  reg [31:0] _RAND_450;
  reg [31:0] _RAND_451;
  reg [31:0] _RAND_452;
  reg [31:0] _RAND_453;
  reg [31:0] _RAND_454;
  reg [31:0] _RAND_455;
  reg [31:0] _RAND_456;
  reg [31:0] _RAND_457;
  reg [31:0] _RAND_458;
  reg [31:0] _RAND_459;
  reg [31:0] _RAND_460;
  reg [31:0] _RAND_461;
  reg [31:0] _RAND_462;
  reg [31:0] _RAND_463;
  reg [31:0] _RAND_464;
  reg [31:0] _RAND_465;
  reg [31:0] _RAND_466;
  reg [31:0] _RAND_467;
  reg [31:0] _RAND_468;
  reg [31:0] _RAND_469;
  reg [31:0] _RAND_470;
  reg [31:0] _RAND_471;
  reg [31:0] _RAND_472;
  reg [31:0] _RAND_473;
  reg [31:0] _RAND_474;
  reg [31:0] _RAND_475;
  reg [31:0] _RAND_476;
  reg [31:0] _RAND_477;
  reg [31:0] _RAND_478;
  reg [31:0] _RAND_479;
  reg [31:0] _RAND_480;
  reg [31:0] _RAND_481;
  reg [31:0] _RAND_482;
  reg [31:0] _RAND_483;
  reg [31:0] _RAND_484;
  reg [31:0] _RAND_485;
  reg [31:0] _RAND_486;
  reg [31:0] _RAND_487;
  reg [31:0] _RAND_488;
  reg [31:0] _RAND_489;
  reg [31:0] _RAND_490;
  reg [31:0] _RAND_491;
  reg [31:0] _RAND_492;
  reg [31:0] _RAND_493;
  reg [31:0] _RAND_494;
  reg [31:0] _RAND_495;
  reg [31:0] _RAND_496;
  reg [31:0] _RAND_497;
  reg [31:0] _RAND_498;
  reg [31:0] _RAND_499;
  reg [31:0] _RAND_500;
  reg [31:0] _RAND_501;
  reg [31:0] _RAND_502;
  reg [31:0] _RAND_503;
  reg [31:0] _RAND_504;
  reg [31:0] _RAND_505;
  reg [31:0] _RAND_506;
  reg [31:0] _RAND_507;
  reg [31:0] _RAND_508;
  reg [31:0] _RAND_509;
  reg [31:0] _RAND_510;
  reg [31:0] _RAND_511;
  reg [31:0] _RAND_512;
  reg [31:0] _RAND_513;
  reg [31:0] _RAND_514;
  reg [31:0] _RAND_515;
  reg [31:0] _RAND_516;
  reg [31:0] _RAND_517;
  reg [31:0] _RAND_518;
  reg [31:0] _RAND_519;
  reg [31:0] _RAND_520;
  reg [31:0] _RAND_521;
  reg [31:0] _RAND_522;
  reg [31:0] _RAND_523;
  reg [31:0] _RAND_524;
  reg [31:0] _RAND_525;
  reg [31:0] _RAND_526;
  reg [31:0] _RAND_527;
  reg [31:0] _RAND_528;
  reg [31:0] _RAND_529;
  reg [31:0] _RAND_530;
  reg [31:0] _RAND_531;
  reg [31:0] _RAND_532;
  reg [31:0] _RAND_533;
  reg [31:0] _RAND_534;
  reg [31:0] _RAND_535;
  reg [31:0] _RAND_536;
  reg [31:0] _RAND_537;
  reg [31:0] _RAND_538;
  reg [31:0] _RAND_539;
  reg [31:0] _RAND_540;
  reg [31:0] _RAND_541;
  reg [31:0] _RAND_542;
  reg [31:0] _RAND_543;
  reg [31:0] _RAND_544;
  reg [31:0] _RAND_545;
  reg [31:0] _RAND_546;
  reg [31:0] _RAND_547;
  reg [31:0] _RAND_548;
  reg [31:0] _RAND_549;
  reg [31:0] _RAND_550;
  reg [31:0] _RAND_551;
  reg [31:0] _RAND_552;
  reg [31:0] _RAND_553;
  reg [31:0] _RAND_554;
  reg [31:0] _RAND_555;
  reg [31:0] _RAND_556;
  reg [31:0] _RAND_557;
  reg [31:0] _RAND_558;
  reg [31:0] _RAND_559;
  reg [31:0] _RAND_560;
  reg [31:0] _RAND_561;
  reg [31:0] _RAND_562;
  reg [31:0] _RAND_563;
  reg [31:0] _RAND_564;
  reg [31:0] _RAND_565;
  reg [31:0] _RAND_566;
  reg [31:0] _RAND_567;
  reg [31:0] _RAND_568;
  reg [31:0] _RAND_569;
  reg [31:0] _RAND_570;
  reg [31:0] _RAND_571;
  reg [31:0] _RAND_572;
  reg [31:0] _RAND_573;
  reg [31:0] _RAND_574;
  reg [31:0] _RAND_575;
  reg [31:0] _RAND_576;
  reg [31:0] _RAND_577;
  reg [31:0] _RAND_578;
  reg [31:0] _RAND_579;
  reg [31:0] _RAND_580;
  reg [31:0] _RAND_581;
  reg [31:0] _RAND_582;
  reg [31:0] _RAND_583;
  reg [31:0] _RAND_584;
  reg [31:0] _RAND_585;
  reg [31:0] _RAND_586;
  reg [31:0] _RAND_587;
  reg [31:0] _RAND_588;
  reg [31:0] _RAND_589;
  reg [31:0] _RAND_590;
  reg [31:0] _RAND_591;
  reg [31:0] _RAND_592;
  reg [31:0] _RAND_593;
  reg [31:0] _RAND_594;
  reg [31:0] _RAND_595;
  reg [31:0] _RAND_596;
  reg [31:0] _RAND_597;
  reg [31:0] _RAND_598;
  reg [31:0] _RAND_599;
  reg [31:0] _RAND_600;
  reg [31:0] _RAND_601;
  reg [31:0] _RAND_602;
  reg [31:0] _RAND_603;
  reg [31:0] _RAND_604;
  reg [31:0] _RAND_605;
  reg [31:0] _RAND_606;
  reg [31:0] _RAND_607;
  reg [31:0] _RAND_608;
  reg [31:0] _RAND_609;
  reg [31:0] _RAND_610;
  reg [31:0] _RAND_611;
  reg [31:0] _RAND_612;
  reg [31:0] _RAND_613;
  reg [31:0] _RAND_614;
  reg [31:0] _RAND_615;
  reg [31:0] _RAND_616;
  reg [31:0] _RAND_617;
  reg [31:0] _RAND_618;
  reg [31:0] _RAND_619;
  reg [31:0] _RAND_620;
  reg [31:0] _RAND_621;
  reg [31:0] _RAND_622;
  reg [63:0] _RAND_623;
  reg [63:0] _RAND_624;
  reg [31:0] _RAND_625;
  reg [31:0] _RAND_626;
  reg [31:0] _RAND_627;
  reg [31:0] _RAND_628;
  reg [31:0] _RAND_629;
  reg [31:0] _RAND_630;
  reg [31:0] _RAND_631;
  reg [63:0] _RAND_632;
  reg [31:0] _RAND_633;
  reg [31:0] _RAND_634;
  reg [31:0] _RAND_635;
  reg [63:0] _RAND_636;
  reg [31:0] _RAND_637;
  reg [31:0] _RAND_638;
  reg [31:0] _RAND_639;
  reg [31:0] _RAND_640;
  reg [31:0] _RAND_641;
  reg [31:0] _RAND_642;
  reg [31:0] _RAND_643;
  reg [63:0] _RAND_644;
  reg [63:0] _RAND_645;
  reg [63:0] _RAND_646;
  reg [31:0] _RAND_647;
  reg [63:0] _RAND_648;
  reg [63:0] _RAND_649;
  reg [63:0] _RAND_650;
  reg [31:0] _RAND_651;
  reg [31:0] _RAND_652;
  reg [31:0] _RAND_653;
  reg [31:0] _RAND_654;
  reg [31:0] _RAND_655;
  reg [31:0] _RAND_656;
  reg [31:0] _RAND_657;
  reg [31:0] _RAND_658;
  reg [31:0] _RAND_659;
  reg [31:0] _RAND_660;
  reg [31:0] _RAND_661;
  reg [31:0] _RAND_662;
  reg [31:0] _RAND_663;
  reg [31:0] _RAND_664;
  reg [31:0] _RAND_665;
  reg [31:0] _RAND_666;
  reg [31:0] _RAND_667;
  reg [31:0] _RAND_668;
  reg [31:0] _RAND_669;
  reg [31:0] _RAND_670;
  reg [31:0] _RAND_671;
  reg [31:0] _RAND_672;
  reg [31:0] _RAND_673;
  reg [31:0] _RAND_674;
  reg [31:0] _RAND_675;
  reg [31:0] _RAND_676;
  reg [31:0] _RAND_677;
  reg [31:0] _RAND_678;
  reg [31:0] _RAND_679;
  reg [31:0] _RAND_680;
  reg [31:0] _RAND_681;
  reg [31:0] _RAND_682;
  reg [31:0] _RAND_683;
  reg [31:0] _RAND_684;
  reg [31:0] _RAND_685;
  reg [31:0] _RAND_686;
  reg [31:0] _RAND_687;
  reg [31:0] _RAND_688;
  reg [31:0] _RAND_689;
  reg [31:0] _RAND_690;
  reg [31:0] _RAND_691;
  reg [31:0] _RAND_692;
  reg [31:0] _RAND_693;
  reg [31:0] _RAND_694;
  reg [31:0] _RAND_695;
  reg [31:0] _RAND_696;
  reg [31:0] _RAND_697;
  reg [31:0] _RAND_698;
  reg [31:0] _RAND_699;
  reg [31:0] _RAND_700;
  reg [31:0] _RAND_701;
  reg [31:0] _RAND_702;
  reg [31:0] _RAND_703;
  reg [31:0] _RAND_704;
  reg [31:0] _RAND_705;
  reg [31:0] _RAND_706;
  reg [31:0] _RAND_707;
  reg [31:0] _RAND_708;
  reg [31:0] _RAND_709;
  reg [31:0] _RAND_710;
  reg [31:0] _RAND_711;
  reg [31:0] _RAND_712;
  reg [31:0] _RAND_713;
  reg [31:0] _RAND_714;
  reg [31:0] _RAND_715;
  reg [31:0] _RAND_716;
  reg [31:0] _RAND_717;
  reg [31:0] _RAND_718;
  reg [31:0] _RAND_719;
  reg [31:0] _RAND_720;
  reg [31:0] _RAND_721;
  reg [31:0] _RAND_722;
  reg [31:0] _RAND_723;
  reg [31:0] _RAND_724;
  reg [31:0] _RAND_725;
  reg [31:0] _RAND_726;
  reg [31:0] _RAND_727;
  reg [31:0] _RAND_728;
  reg [31:0] _RAND_729;
  reg [31:0] _RAND_730;
  reg [31:0] _RAND_731;
  reg [31:0] _RAND_732;
  reg [31:0] _RAND_733;
  reg [31:0] _RAND_734;
  reg [31:0] _RAND_735;
  reg [31:0] _RAND_736;
  reg [31:0] _RAND_737;
  reg [31:0] _RAND_738;
  reg [31:0] _RAND_739;
  reg [31:0] _RAND_740;
  reg [31:0] _RAND_741;
  reg [31:0] _RAND_742;
  reg [31:0] _RAND_743;
  reg [31:0] _RAND_744;
  reg [31:0] _RAND_745;
  reg [31:0] _RAND_746;
  reg [31:0] _RAND_747;
  reg [31:0] _RAND_748;
  reg [31:0] _RAND_749;
  reg [31:0] _RAND_750;
  reg [31:0] _RAND_751;
  reg [31:0] _RAND_752;
  reg [31:0] _RAND_753;
  reg [31:0] _RAND_754;
  reg [31:0] _RAND_755;
  reg [31:0] _RAND_756;
  reg [31:0] _RAND_757;
  reg [31:0] _RAND_758;
  reg [31:0] _RAND_759;
  reg [31:0] _RAND_760;
  reg [31:0] _RAND_761;
  reg [31:0] _RAND_762;
  reg [31:0] _RAND_763;
  reg [31:0] _RAND_764;
  reg [31:0] _RAND_765;
  reg [31:0] _RAND_766;
  reg [31:0] _RAND_767;
  reg [31:0] _RAND_768;
  reg [31:0] _RAND_769;
  reg [31:0] _RAND_770;
  reg [31:0] _RAND_771;
  reg [31:0] _RAND_772;
  reg [31:0] _RAND_773;
  reg [31:0] _RAND_774;
  reg [31:0] _RAND_775;
  reg [31:0] _RAND_776;
  reg [31:0] _RAND_777;
  reg [31:0] _RAND_778;
  reg [31:0] _RAND_779;
  reg [31:0] _RAND_780;
  reg [31:0] _RAND_781;
  reg [31:0] _RAND_782;
  reg [31:0] _RAND_783;
  reg [31:0] _RAND_784;
  reg [31:0] _RAND_785;
  reg [31:0] _RAND_786;
  reg [31:0] _RAND_787;
  reg [31:0] _RAND_788;
  reg [31:0] _RAND_789;
  reg [31:0] _RAND_790;
  reg [31:0] _RAND_791;
  reg [31:0] _RAND_792;
  reg [31:0] _RAND_793;
  reg [31:0] _RAND_794;
  reg [31:0] _RAND_795;
  reg [31:0] _RAND_796;
  reg [31:0] _RAND_797;
  reg [31:0] _RAND_798;
  reg [31:0] _RAND_799;
  reg [31:0] _RAND_800;
  reg [31:0] _RAND_801;
  reg [31:0] _RAND_802;
  reg [63:0] _RAND_803;
  reg [63:0] _RAND_804;
  reg [31:0] _RAND_805;
  reg [31:0] _RAND_806;
  reg [31:0] _RAND_807;
  reg [31:0] _RAND_808;
  reg [31:0] _RAND_809;
  reg [31:0] _RAND_810;
  reg [31:0] _RAND_811;
  reg [31:0] _RAND_812;
  reg [31:0] _RAND_813;
  reg [31:0] _RAND_814;
  reg [31:0] _RAND_815;
  reg [31:0] _RAND_816;
  reg [31:0] _RAND_817;
  reg [31:0] _RAND_818;
  reg [31:0] _RAND_819;
  reg [31:0] _RAND_820;
  reg [31:0] _RAND_821;
  reg [31:0] _RAND_822;
  reg [31:0] _RAND_823;
  reg [31:0] _RAND_824;
  reg [31:0] _RAND_825;
  reg [31:0] _RAND_826;
  reg [31:0] _RAND_827;
  reg [31:0] _RAND_828;
  reg [31:0] _RAND_829;
  reg [31:0] _RAND_830;
  reg [31:0] _RAND_831;
  reg [31:0] _RAND_832;
  reg [31:0] _RAND_833;
  reg [31:0] _RAND_834;
  reg [31:0] _RAND_835;
  reg [31:0] _RAND_836;
  reg [31:0] _RAND_837;
  reg [31:0] _RAND_838;
  reg [31:0] _RAND_839;
  reg [31:0] _RAND_840;
  reg [31:0] _RAND_841;
  reg [31:0] _RAND_842;
  reg [31:0] _RAND_843;
  reg [31:0] _RAND_844;
  reg [31:0] _RAND_845;
  reg [31:0] _RAND_846;
  reg [31:0] _RAND_847;
  reg [31:0] _RAND_848;
  reg [31:0] _RAND_849;
  reg [31:0] _RAND_850;
  reg [31:0] _RAND_851;
  reg [31:0] _RAND_852;
  reg [31:0] _RAND_853;
  reg [31:0] _RAND_854;
  reg [31:0] _RAND_855;
  reg [31:0] _RAND_856;
  reg [31:0] _RAND_857;
  reg [31:0] _RAND_858;
  reg [31:0] _RAND_859;
  reg [31:0] _RAND_860;
  reg [31:0] _RAND_861;
  reg [31:0] _RAND_862;
  reg [31:0] _RAND_863;
  reg [31:0] _RAND_864;
  reg [31:0] _RAND_865;
  reg [31:0] _RAND_866;
  reg [31:0] _RAND_867;
  reg [31:0] _RAND_868;
  reg [31:0] _RAND_869;
  reg [31:0] _RAND_870;
  reg [31:0] _RAND_871;
  reg [31:0] _RAND_872;
  reg [31:0] _RAND_873;
  reg [31:0] _RAND_874;
  reg [31:0] _RAND_875;
  reg [31:0] _RAND_876;
  reg [31:0] _RAND_877;
  reg [31:0] _RAND_878;
  reg [31:0] _RAND_879;
  reg [31:0] _RAND_880;
  reg [31:0] _RAND_881;
  reg [31:0] _RAND_882;
  reg [31:0] _RAND_883;
  reg [31:0] _RAND_884;
  reg [31:0] _RAND_885;
  reg [31:0] _RAND_886;
  reg [31:0] _RAND_887;
  reg [31:0] _RAND_888;
  reg [31:0] _RAND_889;
  reg [31:0] _RAND_890;
  reg [31:0] _RAND_891;
  reg [31:0] _RAND_892;
  reg [31:0] _RAND_893;
  reg [31:0] _RAND_894;
  reg [31:0] _RAND_895;
  reg [31:0] _RAND_896;
  reg [31:0] _RAND_897;
  reg [31:0] _RAND_898;
  reg [31:0] _RAND_899;
  reg [31:0] _RAND_900;
  reg [31:0] _RAND_901;
  reg [31:0] _RAND_902;
  reg [31:0] _RAND_903;
  reg [31:0] _RAND_904;
  reg [31:0] _RAND_905;
  reg [31:0] _RAND_906;
  reg [31:0] _RAND_907;
  reg [31:0] _RAND_908;
  reg [31:0] _RAND_909;
  reg [31:0] _RAND_910;
  reg [31:0] _RAND_911;
  reg [31:0] _RAND_912;
  reg [31:0] _RAND_913;
  reg [31:0] _RAND_914;
  reg [31:0] _RAND_915;
  reg [31:0] _RAND_916;
  reg [31:0] _RAND_917;
  reg [31:0] _RAND_918;
  reg [31:0] _RAND_919;
  reg [31:0] _RAND_920;
  reg [31:0] _RAND_921;
  reg [31:0] _RAND_922;
  reg [31:0] _RAND_923;
  reg [31:0] _RAND_924;
  reg [31:0] _RAND_925;
  reg [31:0] _RAND_926;
  reg [31:0] _RAND_927;
  reg [31:0] _RAND_928;
  reg [31:0] _RAND_929;
  reg [31:0] _RAND_930;
  reg [31:0] _RAND_931;
  reg [31:0] _RAND_932;
  reg [31:0] _RAND_933;
  reg [31:0] _RAND_934;
  reg [31:0] _RAND_935;
  reg [31:0] _RAND_936;
  reg [31:0] _RAND_937;
  reg [31:0] _RAND_938;
  reg [31:0] _RAND_939;
  reg [31:0] _RAND_940;
  reg [31:0] _RAND_941;
  reg [31:0] _RAND_942;
  reg [31:0] _RAND_943;
  reg [31:0] _RAND_944;
  reg [31:0] _RAND_945;
  reg [31:0] _RAND_946;
  reg [31:0] _RAND_947;
  reg [31:0] _RAND_948;
  reg [31:0] _RAND_949;
  reg [31:0] _RAND_950;
  reg [31:0] _RAND_951;
  reg [31:0] _RAND_952;
  reg [31:0] _RAND_953;
  reg [31:0] _RAND_954;
  reg [31:0] _RAND_955;
  reg [31:0] _RAND_956;
  reg [63:0] _RAND_957;
  reg [63:0] _RAND_958;
  reg [31:0] _RAND_959;
  reg [31:0] _RAND_960;
  reg [31:0] _RAND_961;
  reg [31:0] _RAND_962;
  reg [31:0] _RAND_963;
  reg [31:0] _RAND_964;
  reg [31:0] _RAND_965;
  reg [31:0] _RAND_966;
  reg [31:0] _RAND_967;
  reg [63:0] _RAND_968;
  reg [31:0] _RAND_969;
  reg [31:0] _RAND_970;
  reg [31:0] _RAND_971;
  reg [31:0] _RAND_972;
  reg [31:0] _RAND_973;
  reg [31:0] _RAND_974;
  reg [31:0] _RAND_975;
  reg [31:0] _RAND_976;
  reg [31:0] _RAND_977;
  reg [31:0] _RAND_978;
  reg [31:0] _RAND_979;
  reg [31:0] _RAND_980;
  reg [31:0] _RAND_981;
  reg [31:0] _RAND_982;
  reg [31:0] _RAND_983;
  reg [31:0] _RAND_984;
  reg [31:0] _RAND_985;
  reg [31:0] _RAND_986;
  reg [31:0] _RAND_987;
  reg [31:0] _RAND_988;
  reg [31:0] _RAND_989;
  reg [31:0] _RAND_990;
  reg [31:0] _RAND_991;
  reg [63:0] _RAND_992;
  reg [31:0] _RAND_993;
  reg [31:0] _RAND_994;
  reg [31:0] _RAND_995;
  reg [31:0] _RAND_996;
  reg [31:0] _RAND_997;
  reg [31:0] _RAND_998;
  reg [31:0] _RAND_999;
  reg [31:0] _RAND_1000;
  reg [31:0] _RAND_1001;
  reg [31:0] _RAND_1002;
  reg [31:0] _RAND_1003;
  reg [31:0] _RAND_1004;
  reg [31:0] _RAND_1005;
  reg [31:0] _RAND_1006;
  reg [31:0] _RAND_1007;
  reg [31:0] _RAND_1008;
  reg [31:0] _RAND_1009;
  reg [31:0] _RAND_1010;
  reg [31:0] _RAND_1011;
  reg [31:0] _RAND_1012;
  reg [31:0] _RAND_1013;
  reg [31:0] _RAND_1014;
  reg [31:0] _RAND_1015;
  reg [31:0] _RAND_1016;
  reg [31:0] _RAND_1017;
  reg [31:0] _RAND_1018;
  reg [31:0] _RAND_1019;
  reg [31:0] _RAND_1033;
  reg [31:0] _RAND_1050;
  reg [31:0] _RAND_1064;
  reg [31:0] _RAND_1071;
  reg [31:0] _RAND_1115;
  reg [31:0] _RAND_1116;
  reg [31:0] _RAND_1117;
  reg [31:0] _RAND_1118;
  reg [31:0] _RAND_1119;
  reg [31:0] _RAND_1120;
  reg [31:0] _RAND_1121;
  reg [31:0] _RAND_1122;
  reg [31:0] _RAND_1123;
  reg [31:0] _RAND_1124;
  reg [31:0] _RAND_1125;
  reg [31:0] _RAND_1126;
  reg [31:0] _RAND_1127;
  reg [31:0] _RAND_1128;
  reg [31:0] _RAND_1129;
  reg [31:0] _RAND_1130;
  reg [31:0] _RAND_1131;
  reg [31:0] _RAND_1132;
  reg [31:0] _RAND_1133;
  reg [31:0] _RAND_1134;
  reg [31:0] _RAND_1135;
  reg [31:0] _RAND_1136;
  reg [31:0] _RAND_1137;
  reg [31:0] _RAND_1138;
  reg [31:0] _RAND_1139;
  reg [31:0] _RAND_1140;
  reg [31:0] _RAND_1141;
  reg [31:0] _RAND_1142;
  reg [31:0] _RAND_1143;
  reg [31:0] _RAND_1144;
  reg [31:0] _RAND_1145;
  reg [31:0] _RAND_1146;
  reg [31:0] _RAND_1147;
  reg [31:0] _RAND_1148;
  reg [31:0] _RAND_1149;
  reg [31:0] _RAND_1150;
  reg [31:0] _RAND_1151;
  reg [31:0] _RAND_1152;
  reg [31:0] _RAND_1153;
  reg [31:0] _RAND_1154;
  reg [31:0] _RAND_1155;
  reg [31:0] _RAND_1156;
  reg [31:0] _RAND_1157;
  reg [31:0] _RAND_1158;
  reg [31:0] _RAND_1159;
  reg [31:0] _RAND_1160;
  reg [31:0] _RAND_1161;
  reg [31:0] _RAND_1162;
  reg [31:0] _RAND_1163;
  reg [31:0] _RAND_1164;
  reg [31:0] _RAND_1165;
  reg [31:0] _RAND_1166;
  reg [31:0] _RAND_1167;
  reg [31:0] _RAND_1168;
  reg [31:0] _RAND_1169;
  reg [31:0] _RAND_1170;
  reg [31:0] _RAND_1171;
  reg [31:0] _RAND_1172;
  reg [31:0] _RAND_1173;
  reg [31:0] _RAND_1174;
  reg [31:0] _RAND_1175;
  reg [31:0] _RAND_1176;
  reg [31:0] _RAND_1177;
  reg [31:0] _RAND_1178;
  reg [31:0] _RAND_1179;
  reg [31:0] _RAND_1180;
  reg [31:0] _RAND_1181;
  reg [31:0] _RAND_1182;
  reg [31:0] _RAND_1183;
  reg [31:0] _RAND_1184;
  reg [31:0] _RAND_1185;
  reg [31:0] _RAND_1186;
  reg [31:0] _RAND_1187;
  reg [31:0] _RAND_1188;
  reg [31:0] _RAND_1189;
  reg [31:0] _RAND_1190;
  reg [31:0] _RAND_1191;
  reg [31:0] _RAND_1192;
  reg [31:0] _RAND_1193;
  reg [31:0] _RAND_1194;
  reg [31:0] _RAND_1195;
  reg [31:0] _RAND_1196;
  reg [31:0] _RAND_1197;
  reg [31:0] _RAND_1198;
  reg [31:0] _RAND_1199;
  reg [31:0] _RAND_1200;
  reg [31:0] _RAND_1201;
  reg [31:0] _RAND_1202;
  reg [31:0] _RAND_1203;
  reg [31:0] _RAND_1204;
  reg [31:0] _RAND_1205;
  reg [31:0] _RAND_1206;
  reg [31:0] _RAND_1207;
  reg [31:0] _RAND_1208;
  reg [31:0] _RAND_1209;
  reg [31:0] _RAND_1210;
  reg [31:0] _RAND_1211;
  reg [31:0] _RAND_1212;
  reg [31:0] _RAND_1213;
  reg [31:0] _RAND_1214;
  reg [31:0] _RAND_1215;
  reg [31:0] _RAND_1216;
  reg [31:0] _RAND_1217;
  reg [31:0] _RAND_1218;
  reg [63:0] _RAND_1219;
  reg [63:0] _RAND_1220;
  reg [31:0] _RAND_1221;
  reg [31:0] _RAND_1222;
  reg [31:0] _RAND_1223;
  reg [31:0] _RAND_1224;
  reg [31:0] _RAND_1225;
  reg [31:0] _RAND_1226;
  reg [31:0] _RAND_1227;
  reg [31:0] _RAND_1228;
  reg [31:0] _RAND_1229;
  reg [31:0] _RAND_1230;
  reg [31:0] _RAND_1231;
  reg [31:0] _RAND_1232;
  reg [31:0] _RAND_1233;
  reg [31:0] _RAND_1234;
  reg [31:0] _RAND_1235;
  reg [31:0] _RAND_1236;
  reg [31:0] _RAND_1237;
  reg [31:0] _RAND_1238;
  reg [31:0] _RAND_1239;
  reg [31:0] _RAND_1240;
  reg [31:0] _RAND_1241;
  reg [31:0] _RAND_1242;
  reg [31:0] _RAND_1243;
  reg [31:0] _RAND_1244;
  reg [31:0] _RAND_1245;
  reg [31:0] _RAND_1246;
  reg [31:0] _RAND_1247;
  reg [31:0] _RAND_1248;
  reg [31:0] _RAND_1249;
  reg [31:0] _RAND_1250;
  reg [31:0] _RAND_1251;
  reg [31:0] _RAND_1252;
  reg [31:0] _RAND_1253;
  reg [31:0] _RAND_1254;
  reg [31:0] _RAND_1255;
  reg [31:0] _RAND_1256;
  reg [31:0] _RAND_1257;
  reg [31:0] _RAND_1258;
  reg [31:0] _RAND_1259;
  reg [31:0] _RAND_1260;
  reg [31:0] _RAND_1261;
  reg [31:0] _RAND_1262;
  reg [31:0] _RAND_1263;
  reg [31:0] _RAND_1264;
  reg [31:0] _RAND_1265;
  reg [31:0] _RAND_1266;
  reg [31:0] _RAND_1267;
  reg [31:0] _RAND_1268;
  reg [31:0] _RAND_1269;
  reg [31:0] _RAND_1270;
  reg [31:0] _RAND_1271;
  reg [31:0] _RAND_1272;
  reg [31:0] _RAND_1273;
  reg [31:0] _RAND_1274;
  reg [31:0] _RAND_1275;
  reg [31:0] _RAND_1276;
  reg [31:0] _RAND_1277;
  reg [31:0] _RAND_1278;
  reg [31:0] _RAND_1279;
  reg [31:0] _RAND_1280;
  reg [31:0] _RAND_1281;
  reg [31:0] _RAND_1282;
  reg [31:0] _RAND_1283;
  reg [31:0] _RAND_1284;
  reg [31:0] _RAND_1285;
  reg [31:0] _RAND_1286;
  reg [31:0] _RAND_1287;
  reg [31:0] _RAND_1288;
  reg [31:0] _RAND_1289;
  reg [31:0] _RAND_1290;
  reg [31:0] _RAND_1291;
  reg [31:0] _RAND_1292;
  reg [31:0] _RAND_1293;
  reg [31:0] _RAND_1294;
  reg [31:0] _RAND_1295;
  reg [31:0] _RAND_1296;
  reg [31:0] _RAND_1297;
  reg [31:0] _RAND_1298;
  reg [31:0] _RAND_1299;
  reg [31:0] _RAND_1300;
  reg [31:0] _RAND_1301;
  reg [31:0] _RAND_1302;
  reg [31:0] _RAND_1303;
  reg [31:0] _RAND_1304;
  reg [31:0] _RAND_1305;
  reg [31:0] _RAND_1306;
  reg [31:0] _RAND_1307;
  reg [31:0] _RAND_1308;
  reg [31:0] _RAND_1309;
  reg [31:0] _RAND_1310;
  reg [31:0] _RAND_1311;
  reg [31:0] _RAND_1312;
  reg [31:0] _RAND_1313;
  reg [31:0] _RAND_1314;
  reg [31:0] _RAND_1315;
  reg [31:0] _RAND_1316;
  reg [31:0] _RAND_1317;
  reg [31:0] _RAND_1318;
  reg [31:0] _RAND_1319;
  reg [31:0] _RAND_1320;
  reg [31:0] _RAND_1321;
  reg [31:0] _RAND_1322;
  reg [31:0] _RAND_1323;
  reg [63:0] _RAND_1324;
  reg [63:0] _RAND_1325;
  reg [31:0] _RAND_1326;
  reg [31:0] _RAND_1327;
  reg [31:0] _RAND_1328;
  reg [31:0] _RAND_1329;
  reg [31:0] _RAND_1330;
  reg [31:0] _RAND_1331;
  reg [31:0] _RAND_1332;
  reg [31:0] _RAND_1333;
  reg [31:0] _RAND_1334;
  reg [31:0] _RAND_1335;
  reg [31:0] _RAND_1336;
  reg [31:0] _RAND_1337;
  reg [31:0] _RAND_1338;
  reg [31:0] _RAND_1339;
  reg [31:0] _RAND_1340;
  reg [31:0] _RAND_1341;
  reg [31:0] _RAND_1342;
  reg [31:0] _RAND_1343;
  reg [31:0] _RAND_1344;
  reg [31:0] _RAND_1345;
  reg [31:0] _RAND_1346;
  reg [31:0] _RAND_1347;
  reg [31:0] _RAND_1348;
  reg [31:0] _RAND_1349;
  reg [31:0] _RAND_1350;
  reg [31:0] _RAND_1351;
  reg [31:0] _RAND_1352;
  reg [31:0] _RAND_1353;
  reg [31:0] _RAND_1354;
  reg [31:0] _RAND_1355;
  reg [31:0] _RAND_1356;
  reg [31:0] _RAND_1357;
  reg [31:0] _RAND_1358;
  reg [31:0] _RAND_1359;
  reg [31:0] _RAND_1360;
  reg [31:0] _RAND_1361;
  reg [31:0] _RAND_1362;
  reg [31:0] _RAND_1363;
  reg [31:0] _RAND_1364;
  reg [31:0] _RAND_1365;
  reg [31:0] _RAND_1366;
  reg [31:0] _RAND_1367;
  reg [31:0] _RAND_1368;
  reg [31:0] _RAND_1369;
  reg [31:0] _RAND_1370;
  reg [31:0] _RAND_1371;
  reg [31:0] _RAND_1372;
  reg [31:0] _RAND_1373;
  reg [31:0] _RAND_1374;
  reg [31:0] _RAND_1375;
  reg [31:0] _RAND_1376;
  reg [31:0] _RAND_1377;
  reg [31:0] _RAND_1378;
  reg [31:0] _RAND_1379;
  reg [31:0] _RAND_1380;
  reg [31:0] _RAND_1381;
  reg [31:0] _RAND_1382;
  reg [31:0] _RAND_1383;
  reg [31:0] _RAND_1384;
  reg [31:0] _RAND_1385;
  reg [31:0] _RAND_1386;
  reg [31:0] _RAND_1387;
  reg [31:0] _RAND_1388;
  reg [31:0] _RAND_1389;
  reg [31:0] _RAND_1390;
  reg [31:0] _RAND_1391;
  reg [31:0] _RAND_1392;
  reg [31:0] _RAND_1393;
  reg [31:0] _RAND_1394;
  reg [31:0] _RAND_1395;
  reg [31:0] _RAND_1396;
  reg [31:0] _RAND_1397;
  reg [31:0] _RAND_1398;
  reg [31:0] _RAND_1399;
  reg [31:0] _RAND_1400;
  reg [31:0] _RAND_1401;
  reg [31:0] _RAND_1402;
  reg [31:0] _RAND_1403;
  reg [31:0] _RAND_1404;
  reg [31:0] _RAND_1405;
  reg [31:0] _RAND_1406;
  reg [31:0] _RAND_1407;
  reg [31:0] _RAND_1408;
  reg [31:0] _RAND_1409;
  reg [31:0] _RAND_1410;
  reg [31:0] _RAND_1411;
  reg [31:0] _RAND_1412;
  reg [31:0] _RAND_1413;
  reg [31:0] _RAND_1414;
  reg [31:0] _RAND_1415;
  reg [31:0] _RAND_1416;
  reg [31:0] _RAND_1417;
  reg [31:0] _RAND_1418;
  reg [31:0] _RAND_1419;
  reg [31:0] _RAND_1420;
  reg [31:0] _RAND_1421;
  reg [31:0] _RAND_1422;
  reg [31:0] _RAND_1423;
  reg [31:0] _RAND_1424;
  reg [31:0] _RAND_1425;
  reg [31:0] _RAND_1426;
  reg [31:0] _RAND_1427;
  reg [31:0] _RAND_1428;
  reg [63:0] _RAND_1429;
  reg [63:0] _RAND_1430;
  reg [31:0] _RAND_1431;
  reg [31:0] _RAND_1432;
  reg [31:0] _RAND_1433;
  reg [31:0] _RAND_1434;
  reg [31:0] _RAND_1435;
  reg [31:0] _RAND_1436;
  reg [31:0] _RAND_1437;
  reg [31:0] _RAND_1438;
  reg [31:0] _RAND_1439;
  reg [31:0] _RAND_1440;
  reg [31:0] _RAND_1441;
  reg [31:0] _RAND_1442;
  reg [31:0] _RAND_1443;
  reg [31:0] _RAND_1444;
  reg [31:0] _RAND_1445;
  reg [31:0] _RAND_1446;
  reg [31:0] _RAND_1447;
  reg [31:0] _RAND_1448;
  reg [31:0] _RAND_1449;
  reg [31:0] _RAND_1450;
  reg [31:0] _RAND_1451;
  reg [31:0] _RAND_1452;
  reg [31:0] _RAND_1453;
  reg [31:0] _RAND_1454;
  reg [31:0] _RAND_1455;
  reg [31:0] _RAND_1456;
  reg [31:0] _RAND_1457;
  reg [31:0] _RAND_1458;
  reg [31:0] _RAND_1459;
  reg [31:0] _RAND_1460;
  reg [31:0] _RAND_1461;
  reg [31:0] _RAND_1462;
  reg [31:0] _RAND_1463;
  reg [31:0] _RAND_1464;
  reg [31:0] _RAND_1465;
  reg [31:0] _RAND_1466;
  reg [31:0] _RAND_1467;
  reg [31:0] _RAND_1468;
  reg [31:0] _RAND_1469;
  reg [31:0] _RAND_1470;
  reg [31:0] _RAND_1471;
  reg [31:0] _RAND_1472;
  reg [31:0] _RAND_1473;
  reg [31:0] _RAND_1474;
  reg [31:0] _RAND_1475;
  reg [31:0] _RAND_1476;
  reg [31:0] _RAND_1477;
  reg [31:0] _RAND_1478;
  reg [31:0] _RAND_1479;
  reg [31:0] _RAND_1480;
  reg [31:0] _RAND_1481;
  reg [31:0] _RAND_1482;
  reg [31:0] _RAND_1483;
  reg [31:0] _RAND_1484;
  reg [31:0] _RAND_1485;
  reg [31:0] _RAND_1486;
  reg [31:0] _RAND_1487;
  reg [31:0] _RAND_1488;
  reg [31:0] _RAND_1489;
  reg [31:0] _RAND_1490;
  reg [31:0] _RAND_1491;
  reg [31:0] _RAND_1492;
  reg [31:0] _RAND_1493;
  reg [31:0] _RAND_1494;
  reg [31:0] _RAND_1495;
  reg [31:0] _RAND_1496;
  reg [31:0] _RAND_1497;
  reg [31:0] _RAND_1498;
  reg [31:0] _RAND_1499;
  reg [31:0] _RAND_1500;
  reg [31:0] _RAND_1501;
  reg [31:0] _RAND_1502;
  reg [31:0] _RAND_1503;
  reg [31:0] _RAND_1504;
  reg [31:0] _RAND_1505;
  reg [31:0] _RAND_1506;
  reg [31:0] _RAND_1507;
  reg [31:0] _RAND_1508;
  reg [31:0] _RAND_1509;
  reg [31:0] _RAND_1510;
  reg [31:0] _RAND_1511;
  reg [31:0] _RAND_1512;
  reg [31:0] _RAND_1513;
  reg [31:0] _RAND_1514;
  reg [31:0] _RAND_1515;
  reg [31:0] _RAND_1516;
  reg [31:0] _RAND_1517;
  reg [31:0] _RAND_1518;
  reg [31:0] _RAND_1519;
  reg [31:0] _RAND_1520;
  reg [31:0] _RAND_1521;
  reg [31:0] _RAND_1522;
  reg [31:0] _RAND_1523;
  reg [31:0] _RAND_1524;
  reg [31:0] _RAND_1525;
  reg [31:0] _RAND_1526;
  reg [31:0] _RAND_1527;
  reg [31:0] _RAND_1528;
  reg [31:0] _RAND_1529;
  reg [31:0] _RAND_1530;
  reg [31:0] _RAND_1531;
  reg [31:0] _RAND_1532;
  reg [31:0] _RAND_1533;
  reg [63:0] _RAND_1534;
  reg [63:0] _RAND_1535;
  reg [31:0] _RAND_1536;
  reg [31:0] _RAND_1537;
  reg [31:0] _RAND_1538;
  reg [31:0] _RAND_1539;
  reg [31:0] _RAND_1540;
  reg [31:0] _RAND_1541;
  reg [31:0] _RAND_1542;
  reg [31:0] _RAND_1543;
  reg [31:0] _RAND_1544;
  reg [31:0] _RAND_1545;
  reg [31:0] _RAND_1546;
  reg [31:0] _RAND_1547;
  reg [95:0] _RAND_1548;
  reg [95:0] _RAND_1549;
  reg [95:0] _RAND_1550;
  reg [95:0] _RAND_1551;
  reg [95:0] _RAND_1552;
  reg [95:0] _RAND_1553;
  reg [95:0] _RAND_1554;
  reg [95:0] _RAND_1555;
  reg [31:0] _RAND_1556;
  reg [31:0] _RAND_1557;
  reg [31:0] _RAND_1558;
  reg [31:0] _RAND_1559;
  reg [31:0] _RAND_1560;
  reg [31:0] _RAND_1561;
  reg [31:0] _RAND_1562;
  reg [31:0] _RAND_1563;
  reg [31:0] _RAND_1564;
  reg [31:0] _RAND_1565;
  reg [31:0] _RAND_1568;
  reg [31:0] _RAND_1571;
  reg [31:0] _RAND_1578;
  reg [31:0] _RAND_1584;
  reg [31:0] _RAND_1585;
  reg [31:0] _RAND_1586;
  reg [31:0] _RAND_1587;
  reg [31:0] _RAND_1588;
  reg [31:0] _RAND_1589;
  reg [31:0] _RAND_1590;
  reg [31:0] _RAND_1591;
  reg [31:0] _RAND_1592;
  reg [31:0] _RAND_1593;
  reg [31:0] _RAND_1594;
  reg [31:0] _RAND_1595;
  reg [31:0] _RAND_1596;
  reg [31:0] _RAND_1597;
  reg [31:0] _RAND_1598;
  reg [31:0] _RAND_1599;
  reg [31:0] _RAND_1600;
  reg [31:0] _RAND_1601;
  reg [31:0] _RAND_1602;
  reg [31:0] _RAND_1603;
  reg [31:0] _RAND_1604;
  reg [31:0] _RAND_1605;
  reg [31:0] _RAND_1606;
  reg [31:0] _RAND_1607;
  reg [31:0] _RAND_1608;
  reg [31:0] _RAND_1609;
  reg [31:0] _RAND_1610;
  reg [31:0] _RAND_1611;
  reg [31:0] _RAND_1612;
  reg [31:0] _RAND_1613;
  reg [31:0] _RAND_1614;
  reg [31:0] _RAND_1615;
  reg [31:0] _RAND_1616;
  reg [31:0] _RAND_1617;
  reg [31:0] _RAND_1618;
  reg [31:0] _RAND_1619;
  reg [31:0] _RAND_1620;
  reg [31:0] _RAND_1621;
  reg [31:0] _RAND_1622;
  reg [31:0] _RAND_1623;
  reg [63:0] _RAND_1624;
  reg [63:0] _RAND_1625;
  reg [31:0] _RAND_1626;
  reg [31:0] _RAND_1627;
  reg [31:0] _RAND_1628;
  reg [31:0] _RAND_1629;
  reg [31:0] _RAND_1630;
  reg [31:0] _RAND_1631;
  reg [31:0] _RAND_1632;
  reg [31:0] _RAND_1633;
  reg [31:0] _RAND_1634;
  reg [31:0] _RAND_1635;
  reg [31:0] _RAND_1636;
  reg [31:0] _RAND_1637;
  reg [31:0] _RAND_1638;
  reg [31:0] _RAND_1639;
  reg [31:0] _RAND_1640;
  reg [31:0] _RAND_1641;
  reg [31:0] _RAND_1642;
  reg [31:0] _RAND_1643;
  reg [31:0] _RAND_1644;
  reg [31:0] _RAND_1645;
  reg [31:0] _RAND_1646;
  reg [31:0] _RAND_1647;
  reg [31:0] _RAND_1648;
  reg [31:0] _RAND_1649;
  reg [31:0] _RAND_1650;
  reg [31:0] _RAND_1651;
  reg [31:0] _RAND_1652;
  reg [31:0] _RAND_1653;
  reg [31:0] _RAND_1654;
  reg [31:0] _RAND_1655;
  reg [31:0] _RAND_1656;
  reg [31:0] _RAND_1657;
  reg [31:0] _RAND_1658;
  reg [31:0] _RAND_1659;
  reg [31:0] _RAND_1660;
  reg [31:0] _RAND_1661;
  reg [31:0] _RAND_1662;
  reg [31:0] _RAND_1663;
  reg [63:0] _RAND_1664;
  reg [63:0] _RAND_1665;
  reg [31:0] _RAND_1666;
  reg [31:0] _RAND_1667;
  reg [31:0] _RAND_1668;
  reg [31:0] _RAND_1669;
  reg [31:0] _RAND_1670;
  reg [31:0] _RAND_1671;
  reg [31:0] _RAND_1672;
  reg [31:0] _RAND_1673;
  reg [31:0] _RAND_1674;
  reg [31:0] _RAND_1675;
  reg [31:0] _RAND_1676;
  reg [31:0] _RAND_1677;
  reg [31:0] _RAND_1678;
  reg [31:0] _RAND_1679;
  reg [31:0] _RAND_1680;
  reg [31:0] _RAND_1681;
  reg [31:0] _RAND_1682;
  reg [31:0] _RAND_1683;
  reg [31:0] _RAND_1684;
  reg [31:0] _RAND_1685;
  reg [31:0] _RAND_1686;
  reg [31:0] _RAND_1687;
  reg [31:0] _RAND_1688;
  reg [31:0] _RAND_1689;
  reg [31:0] _RAND_1690;
  reg [31:0] _RAND_1691;
  reg [31:0] _RAND_1692;
  reg [31:0] _RAND_1693;
  reg [31:0] _RAND_1694;
  reg [31:0] _RAND_1695;
  reg [31:0] _RAND_1696;
  reg [31:0] _RAND_1697;
  reg [31:0] _RAND_1698;
  reg [31:0] _RAND_1699;
  reg [31:0] _RAND_1700;
  reg [31:0] _RAND_1701;
  reg [31:0] _RAND_1702;
  reg [31:0] _RAND_1703;
  reg [31:0] _RAND_1704;
  reg [31:0] _RAND_1705;
  reg [31:0] _RAND_1706;
  reg [31:0] _RAND_1707;
  reg [31:0] _RAND_1708;
  reg [31:0] _RAND_1709;
  reg [31:0] _RAND_1710;
  reg [63:0] _RAND_1711;
  reg [63:0] _RAND_1712;
  reg [31:0] _RAND_1713;
  reg [31:0] _RAND_1714;
  reg [31:0] _RAND_1715;
  reg [31:0] _RAND_1716;
  reg [31:0] _RAND_1717;
  reg [31:0] _RAND_1718;
  reg [31:0] _RAND_1719;
  reg [31:0] _RAND_1720;
  reg [31:0] _RAND_1721;
  reg [31:0] _RAND_1722;
  reg [31:0] _RAND_1723;
  reg [31:0] _RAND_1724;
  reg [31:0] _RAND_1725;
  reg [31:0] _RAND_1726;
  reg [31:0] _RAND_1727;
  reg [31:0] _RAND_1728;
  reg [31:0] _RAND_1729;
  reg [31:0] _RAND_1730;
  reg [31:0] _RAND_1731;
  reg [31:0] _RAND_1732;
  reg [31:0] _RAND_1733;
  reg [31:0] _RAND_1734;
  reg [31:0] _RAND_1735;
  reg [31:0] _RAND_1736;
  reg [31:0] _RAND_1737;
  reg [31:0] _RAND_1738;
  reg [31:0] _RAND_1739;
  reg [31:0] _RAND_1740;
  reg [31:0] _RAND_1741;
  reg [31:0] _RAND_1742;
  reg [31:0] _RAND_1743;
  reg [31:0] _RAND_1744;
  reg [31:0] _RAND_1745;
  reg [31:0] _RAND_1746;
  reg [31:0] _RAND_1747;
  reg [31:0] _RAND_1748;
  reg [31:0] _RAND_1749;
  reg [31:0] _RAND_1750;
  reg [31:0] _RAND_1751;
  reg [31:0] _RAND_1752;
  reg [63:0] _RAND_1753;
  reg [63:0] _RAND_1754;
  reg [31:0] _RAND_1755;
  reg [31:0] _RAND_1756;
  reg [31:0] _RAND_1757;
  reg [31:0] _RAND_1758;
  reg [63:0] _RAND_1759;
  reg [63:0] _RAND_1760;
  reg [31:0] _RAND_1761;
  reg [31:0] _RAND_1762;
  reg [31:0] _RAND_1763;
  reg [31:0] _RAND_1764;
  reg [31:0] _RAND_1765;
  reg [31:0] _RAND_1766;
  reg [31:0] _RAND_1767;
  reg [31:0] _RAND_1769;
  reg [31:0] _RAND_1776;
  reg [31:0] _RAND_1777;
  reg [31:0] _RAND_1778;
  reg [31:0] _RAND_1779;
  reg [31:0] _RAND_1780;
  reg [31:0] _RAND_1781;
  reg [31:0] _RAND_1782;
  reg [31:0] _RAND_1783;
  reg [31:0] _RAND_1829;
  reg [31:0] _RAND_1830;
  reg [31:0] _RAND_1831;
  reg [31:0] _RAND_1838;
  reg [31:0] _RAND_1839;
  reg [31:0] _RAND_1840;
  reg [31:0] _RAND_1886;
  reg [31:0] _RAND_1888;
  reg [31:0] _RAND_1889;
  reg [31:0] _RAND_1891;
  reg [31:0] _RAND_1892;
  reg [31:0] _RAND_1894;
  reg [31:0] _RAND_1895;
  reg [31:0] _RAND_1897;
  reg [31:0] _RAND_1898;
  reg [31:0] _RAND_1900;
  reg [31:0] _RAND_1901;
  reg [31:0] _RAND_1903;
  reg [31:0] _RAND_1904;
  reg [31:0] _RAND_1906;
  reg [31:0] _RAND_1907;
  reg [31:0] _RAND_1909;
  reg [31:0] _RAND_1910;
  reg [31:0] _RAND_1912;
  reg [31:0] _RAND_1913;
  reg [31:0] _RAND_1915;
  reg [31:0] _RAND_1916;
  reg [31:0] _RAND_1918;
  reg [31:0] _RAND_1919;
  reg [31:0] _RAND_1921;
  reg [31:0] _RAND_1922;
  reg [31:0] _RAND_1924;
  reg [31:0] _RAND_1925;
  reg [31:0] _RAND_1927;
  reg [31:0] _RAND_1928;
  reg [31:0] _RAND_1930;
  reg [31:0] _RAND_1931;
  reg [31:0] _RAND_1933;
  reg [31:0] _RAND_1934;
  reg [31:0] _RAND_1936;
  reg [31:0] _RAND_1937;
  reg [31:0] _RAND_1939;
  reg [31:0] _RAND_1940;
  reg [31:0] _RAND_1942;
  reg [31:0] _RAND_1943;
  reg [31:0] _RAND_1945;
  reg [31:0] _RAND_1946;
  reg [31:0] _RAND_1948;
  reg [31:0] _RAND_1949;
  reg [31:0] _RAND_1951;
  reg [31:0] _RAND_1952;
  reg [31:0] _RAND_1954;
  reg [31:0] _RAND_1955;
  reg [31:0] _RAND_1957;
  reg [31:0] _RAND_1958;
  reg [31:0] _RAND_1960;
  reg [31:0] _RAND_1961;
  reg [31:0] _RAND_1963;
  reg [31:0] _RAND_1964;
  reg [31:0] _RAND_1966;
  reg [31:0] _RAND_1967;
  reg [31:0] _RAND_1969;
  reg [31:0] _RAND_1970;
  reg [31:0] _RAND_1972;
  reg [31:0] _RAND_1973;
  reg [31:0] _RAND_1975;
  reg [31:0] _RAND_1976;
  reg [31:0] _RAND_1978;
  reg [31:0] _RAND_1979;
  reg [31:0] _RAND_1981;
  reg [31:0] _RAND_1982;
  reg [31:0] _RAND_1984;
  reg [31:0] _RAND_1985;
  reg [31:0] _RAND_1987;
  reg [31:0] _RAND_1988;
  reg [31:0] _RAND_1989;
  reg [31:0] _RAND_1990;
  reg [31:0] _RAND_1991;
  reg [31:0] _RAND_1992;
  reg [31:0] _RAND_1993;
  reg [31:0] _RAND_1994;
  reg [31:0] _RAND_1995;
  reg [31:0] _RAND_1996;
  reg [31:0] _RAND_1997;
  reg [31:0] _RAND_1998;
  reg [31:0] _RAND_1999;
  reg [31:0] _RAND_2000;
  reg [31:0] _RAND_2001;
  reg [31:0] _RAND_2002;
  reg [31:0] _RAND_2003;
  reg [31:0] _RAND_2004;
  reg [31:0] _RAND_2005;
  reg [31:0] _RAND_2006;
  reg [31:0] _RAND_2007;
  reg [127:0] _RAND_2008;
  reg [31:0] _RAND_2009;
  reg [31:0] _RAND_2010;
  reg [31:0] _RAND_2011;
  reg [31:0] _RAND_2012;
  reg [31:0] _RAND_2013;
  reg [31:0] _RAND_2014;
  reg [31:0] _RAND_2015;
  reg [31:0] _RAND_2016;
  reg [31:0] _RAND_2017;
  reg [31:0] _RAND_2018;
  reg [31:0] _RAND_2019;
  reg [31:0] _RAND_2020;
  reg [31:0] _RAND_2021;
  reg [31:0] _RAND_2022;
  reg [31:0] _RAND_2023;
  reg [31:0] _RAND_2024;
  reg [31:0] _RAND_2025;
  reg [31:0] _RAND_2026;
  reg [31:0] _RAND_2027;
  reg [31:0] _RAND_2028;
  reg [31:0] _RAND_2029;
  reg [31:0] _RAND_2030;
  reg [31:0] _RAND_2031;
  reg [31:0] _RAND_2032;
  reg [31:0] _RAND_2033;
  reg [31:0] _RAND_2034;
  reg [31:0] _RAND_2035;
  reg [31:0] _RAND_2036;
  reg [31:0] _RAND_2037;
  reg [31:0] _RAND_2038;
  reg [31:0] _RAND_2039;
  reg [31:0] _RAND_2040;
  reg [31:0] _RAND_2041;
  reg [31:0] _RAND_2042;
  reg [31:0] _RAND_2043;
  reg [31:0] _RAND_2044;
  reg [31:0] _RAND_2045;
  reg [31:0] _RAND_2046;
  reg [31:0] _RAND_2047;
  reg [31:0] _RAND_2048;
  reg [31:0] _RAND_2049;
  reg [31:0] _RAND_2050;
  reg [31:0] _RAND_2051;
  reg [31:0] _RAND_2052;
  reg [31:0] _RAND_2053;
  reg [31:0] _RAND_2054;
  reg [31:0] _RAND_2055;
  reg [31:0] _RAND_2056;
  reg [31:0] _RAND_2057;
  reg [31:0] _RAND_2058;
  reg [31:0] _RAND_2059;
  reg [31:0] _RAND_2060;
  reg [31:0] _RAND_2061;
  reg [31:0] _RAND_2062;
  reg [31:0] _RAND_2063;
  reg [31:0] _RAND_2064;
  reg [31:0] _RAND_2065;
  reg [31:0] _RAND_2066;
  reg [31:0] _RAND_2067;
  reg [31:0] _RAND_2068;
  reg [31:0] _RAND_2069;
  reg [31:0] _RAND_2070;
  reg [31:0] _RAND_2071;
  reg [31:0] _RAND_2072;
  reg [31:0] _RAND_2073;
  reg [31:0] _RAND_2074;
  reg [31:0] _RAND_2075;
  reg [31:0] _RAND_2076;
  reg [31:0] _RAND_2077;
  reg [31:0] _RAND_2078;
  reg [31:0] _RAND_2079;
  reg [31:0] _RAND_2080;
  reg [31:0] _RAND_2081;
  reg [31:0] _RAND_2082;
  reg [31:0] _RAND_2083;
  reg [31:0] _RAND_2084;
  reg [31:0] _RAND_2085;
  reg [31:0] _RAND_2086;
  reg [31:0] _RAND_2087;
  reg [31:0] _RAND_2088;
  reg [31:0] _RAND_2089;
  reg [31:0] _RAND_2090;
  reg [31:0] _RAND_2091;
  reg [31:0] _RAND_2092;
  reg [31:0] _RAND_2093;
  reg [31:0] _RAND_2094;
  reg [31:0] _RAND_2095;
  reg [31:0] _RAND_2096;
  reg [31:0] _RAND_2097;
  reg [31:0] _RAND_2098;
  reg [31:0] _RAND_2099;
  reg [31:0] _RAND_2100;
  reg [31:0] _RAND_2101;
  reg [31:0] _RAND_2102;
  reg [31:0] _RAND_2103;
  reg [31:0] _RAND_2104;
  reg [31:0] _RAND_2105;
  reg [31:0] _RAND_2106;
  reg [31:0] _RAND_2107;
  reg [31:0] _RAND_2108;
  reg [31:0] _RAND_2109;
  reg [31:0] _RAND_2110;
  reg [31:0] _RAND_2111;
  reg [31:0] _RAND_2112;
  reg [31:0] _RAND_2113;
  reg [31:0] _RAND_2114;
  reg [31:0] _RAND_2115;
  reg [31:0] _RAND_2116;
  reg [31:0] _RAND_2117;
  reg [31:0] _RAND_2118;
  reg [31:0] _RAND_2119;
  reg [31:0] _RAND_2120;
  reg [31:0] _RAND_2121;
  reg [31:0] _RAND_2122;
  reg [31:0] _RAND_2123;
  reg [31:0] _RAND_2124;
  reg [31:0] _RAND_2125;
  reg [31:0] _RAND_2126;
  reg [31:0] _RAND_2127;
  reg [31:0] _RAND_2128;
  reg [31:0] _RAND_2129;
  reg [31:0] _RAND_2130;
  reg [31:0] _RAND_2131;
  reg [31:0] _RAND_2132;
  reg [31:0] _RAND_2133;
  reg [31:0] _RAND_2134;
  reg [31:0] _RAND_2135;
  reg [31:0] _RAND_2136;
  reg [31:0] _RAND_2137;
  reg [31:0] _RAND_2138;
  reg [31:0] _RAND_2139;
  reg [31:0] _RAND_2140;
  reg [31:0] _RAND_2141;
  reg [31:0] _RAND_2142;
  reg [31:0] _RAND_2143;
  reg [31:0] _RAND_2144;
  reg [127:0] _RAND_2145;
  reg [31:0] _RAND_2146;
  reg [31:0] _RAND_2147;
  reg [31:0] _RAND_2148;
  reg [31:0] _RAND_2149;
  reg [31:0] _RAND_2150;
  reg [127:0] _RAND_2151;
  reg [31:0] _RAND_2152;
  reg [31:0] _RAND_2153;
  reg [31:0] _RAND_2154;
  reg [31:0] _RAND_2155;
  reg [31:0] _RAND_2156;
  reg [31:0] _RAND_2157;
  reg [31:0] _RAND_2158;
  reg [31:0] _RAND_2159;
  reg [31:0] _RAND_2160;
  reg [31:0] _RAND_2161;
  reg [31:0] _RAND_2162;
  reg [31:0] _RAND_2163;
  reg [31:0] _RAND_2164;
  reg [31:0] _RAND_2165;
  reg [31:0] _RAND_2166;
  reg [31:0] _RAND_2167;
  reg [31:0] _RAND_2168;
  reg [31:0] _RAND_2169;
  reg [31:0] _RAND_2170;
  reg [31:0] _RAND_2171;
  reg [31:0] _RAND_2172;
  reg [31:0] _RAND_2173;
  reg [31:0] _RAND_2174;
  reg [31:0] _RAND_2175;
  reg [31:0] _RAND_2176;
  reg [31:0] _RAND_2177;
  reg [31:0] _RAND_2178;
  reg [31:0] _RAND_2179;
  reg [31:0] _RAND_2180;
  reg [31:0] _RAND_2181;
  reg [31:0] _RAND_2182;
  reg [31:0] _RAND_2183;
  reg [31:0] _RAND_2184;
  reg [31:0] _RAND_2185;
  reg [31:0] _RAND_2186;
  reg [31:0] _RAND_2187;
  reg [31:0] _RAND_2188;
  reg [31:0] _RAND_2189;
  reg [31:0] _RAND_2190;
  reg [31:0] _RAND_2191;
  reg [31:0] _RAND_2192;
  reg [31:0] _RAND_2193;
  reg [31:0] _RAND_2194;
  reg [31:0] _RAND_2195;
  reg [31:0] _RAND_2196;
  reg [63:0] _RAND_2197;
  reg [31:0] _RAND_2198;
  reg [31:0] _RAND_2199;
  reg [31:0] _RAND_2200;
  reg [31:0] _RAND_2201;
  reg [31:0] _RAND_2202;
  reg [31:0] _RAND_2203;
  reg [31:0] _RAND_2204;
  reg [31:0] _RAND_2207;
  reg [31:0] _RAND_2208;
  reg [31:0] _RAND_2211;
  reg [31:0] _RAND_2214;
  reg [31:0] _RAND_2215;
  reg [31:0] _RAND_2216;
  reg [31:0] _RAND_2217;
  reg [31:0] _RAND_2218;
  reg [31:0] _RAND_2219;
  reg [31:0] _RAND_2220;
  reg [63:0] _RAND_2221;
  reg [31:0] _RAND_2224;
  reg [31:0] _RAND_2230;
  reg [31:0] _RAND_2233;
  reg [31:0] _RAND_2234;
  reg [31:0] _RAND_2235;
  reg [127:0] _RAND_2236;
  reg [63:0] _RAND_2237;
  reg [31:0] _RAND_2238;
  reg [31:0] _RAND_2239;
  reg [31:0] _RAND_2240;
  reg [31:0] _RAND_2241;
  reg [31:0] _RAND_2242;
  reg [31:0] _RAND_2243;
  reg [31:0] _RAND_2244;
  reg [31:0] _RAND_2245;
  reg [31:0] _RAND_2246;
  reg [63:0] _RAND_2247;
  reg [63:0] _RAND_2248;
  reg [31:0] _RAND_2249;
  reg [31:0] _RAND_2250;
  reg [31:0] _RAND_2251;
  reg [31:0] _RAND_2252;
  reg [31:0] _RAND_2253;
  reg [31:0] _RAND_2254;
  reg [31:0] _RAND_2255;
  reg [31:0] _RAND_2256;
  reg [31:0] _RAND_2257;
  reg [31:0] _RAND_2258;
  reg [31:0] _RAND_2259;
  reg [31:0] _RAND_2260;
  reg [31:0] _RAND_2261;
  reg [31:0] _RAND_2262;
  reg [31:0] _RAND_2263;
  reg [31:0] _RAND_2264;
  reg [31:0] _RAND_2265;
  reg [31:0] _RAND_2266;
  reg [31:0] _RAND_2267;
  reg [31:0] _RAND_2268;
  reg [31:0] _RAND_2269;
  reg [31:0] _RAND_2270;
  reg [31:0] _RAND_2271;
  reg [31:0] _RAND_2272;
  reg [31:0] _RAND_2273;
  reg [31:0] _RAND_2274;
  reg [31:0] _RAND_2275;
  reg [31:0] _RAND_2276;
  reg [31:0] _RAND_2277;
  reg [31:0] _RAND_2278;
  reg [31:0] _RAND_2279;
  reg [31:0] _RAND_2280;
  reg [31:0] _RAND_2281;
  reg [63:0] _RAND_2282;
  reg [63:0] _RAND_2283;
  reg [63:0] _RAND_2284;
  reg [63:0] _RAND_2285;
  reg [63:0] _RAND_2286;
  reg [63:0] _RAND_2287;
  reg [63:0] _RAND_2288;
  reg [63:0] _RAND_2289;
  reg [63:0] _RAND_2290;
  reg [63:0] _RAND_2291;
  reg [63:0] _RAND_2292;
  reg [63:0] _RAND_2293;
  reg [63:0] _RAND_2294;
  reg [63:0] _RAND_2295;
  reg [63:0] _RAND_2296;
  reg [63:0] _RAND_2297;
  reg [63:0] _RAND_2298;
  reg [63:0] _RAND_2299;
  reg [63:0] _RAND_2300;
  reg [63:0] _RAND_2301;
  reg [63:0] _RAND_2302;
  reg [63:0] _RAND_2303;
  reg [63:0] _RAND_2304;
  reg [63:0] _RAND_2305;
  reg [63:0] _RAND_2306;
  reg [63:0] _RAND_2307;
  reg [63:0] _RAND_2308;
  reg [63:0] _RAND_2309;
  reg [63:0] _RAND_2310;
  reg [63:0] _RAND_2311;
  reg [63:0] _RAND_2312;
  reg [63:0] _RAND_2313;
  reg [63:0] _RAND_2314;
  reg [31:0] _RAND_2315;
  reg [31:0] _RAND_2316;
  reg [31:0] _RAND_2317;
  reg [31:0] _RAND_2318;
  reg [31:0] _RAND_2319;
  reg [31:0] _RAND_2320;
  reg [31:0] _RAND_2321;
  reg [31:0] _RAND_2322;
  reg [31:0] _RAND_2323;
  reg [31:0] _RAND_2324;
  reg [31:0] _RAND_2325;
  reg [31:0] _RAND_2326;
  reg [31:0] _RAND_2327;
  reg [31:0] _RAND_2328;
  reg [31:0] _RAND_2329;
  reg [31:0] _RAND_2330;
  reg [31:0] _RAND_2331;
  reg [31:0] _RAND_2332;
  reg [31:0] _RAND_2333;
  reg [31:0] _RAND_2334;
  reg [31:0] _RAND_2335;
  reg [31:0] _RAND_2336;
  reg [31:0] _RAND_2337;
  reg [31:0] _RAND_2338;
  reg [31:0] _RAND_2339;
  reg [31:0] _RAND_2340;
  reg [31:0] _RAND_2341;
  reg [31:0] _RAND_2342;
  reg [31:0] _RAND_2343;
  reg [31:0] _RAND_2344;
  reg [31:0] _RAND_2345;
  reg [31:0] _RAND_2346;
  reg [31:0] _RAND_2347;
  reg [31:0] _RAND_2348;
  reg [31:0] _RAND_2349;
  reg [31:0] _RAND_2350;
  reg [31:0] _RAND_2351;
  reg [31:0] _RAND_2352;
  reg [31:0] _RAND_2353;
  reg [31:0] _RAND_2354;
  reg [31:0] _RAND_2355;
  reg [31:0] _RAND_2356;
  reg [31:0] _RAND_2357;
  reg [31:0] _RAND_2358;
  reg [31:0] _RAND_2359;
  reg [31:0] _RAND_2360;
  reg [31:0] _RAND_2361;
  reg [31:0] _RAND_2362;
  reg [31:0] _RAND_2363;
  reg [31:0] _RAND_2364;
  reg [31:0] _RAND_2365;
  reg [31:0] _RAND_2366;
  reg [31:0] _RAND_2367;
  reg [31:0] _RAND_2368;
  reg [31:0] _RAND_2369;
  reg [31:0] _RAND_2370;
  reg [31:0] _RAND_2371;
  reg [31:0] _RAND_2372;
  reg [31:0] _RAND_2373;
  reg [31:0] _RAND_2374;
  reg [31:0] _RAND_2375;
  reg [31:0] _RAND_2376;
  reg [31:0] _RAND_2377;
  reg [31:0] _RAND_2378;
  reg [31:0] _RAND_2379;
  reg [31:0] _RAND_2380;
  reg [63:0] _RAND_2381;
  reg [31:0] _RAND_2382;
  reg [31:0] _RAND_2383;
  reg [63:0] _RAND_2384;
  reg [31:0] _RAND_2385;
  reg [31:0] _RAND_2386;
  reg [31:0] _RAND_2387;
  reg [31:0] _RAND_2388;
  reg [63:0] _RAND_2389;
  reg [63:0] _RAND_2390;
  reg [31:0] _RAND_2391;
  reg [63:0] _RAND_2392;
  reg [63:0] _RAND_2393;
  reg [31:0] _RAND_2394;
  reg [63:0] _RAND_2395;
  reg [63:0] _RAND_2396;
  reg [31:0] _RAND_2397;
  reg [31:0] _RAND_2398;
  reg [63:0] _RAND_2399;
  reg [63:0] _RAND_2400;
  reg [31:0] _RAND_2401;
  reg [31:0] _RAND_2402;
  reg [31:0] _RAND_2403;
  reg [31:0] _RAND_2404;
  reg [31:0] _RAND_2405;
  reg [31:0] _RAND_2406;
  reg [31:0] _RAND_2407;
  reg [31:0] _RAND_2408;
  reg [31:0] _RAND_2409;
  reg [31:0] _RAND_2410;
  reg [31:0] _RAND_2411;
  reg [31:0] _RAND_2412;
  reg [31:0] _RAND_2413;
  reg [31:0] _RAND_2414;
  reg [63:0] _RAND_2415;
  reg [63:0] _RAND_2416;
  reg [63:0] _RAND_2417;
  reg [31:0] _RAND_2418;
  reg [31:0] _RAND_2419;
  reg [31:0] _RAND_2420;
  reg [31:0] _RAND_2421;
  reg [31:0] _RAND_2422;
  reg [31:0] _RAND_2423;
  reg [63:0] _RAND_2424;
  reg [31:0] _RAND_2425;
  reg [63:0] _RAND_2426;
  reg [63:0] _RAND_2427;
  reg [31:0] _RAND_2428;
  reg [63:0] _RAND_2429;
  reg [63:0] _RAND_2430;
  reg [31:0] _RAND_2431;
  reg [31:0] _RAND_2432;
  reg [31:0] _RAND_2433;
  reg [31:0] _RAND_2434;
  reg [31:0] _RAND_2435;
  reg [31:0] _RAND_2436;
  reg [63:0] _RAND_2437;
  reg [63:0] _RAND_2438;
  reg [63:0] _RAND_2439;
  reg [63:0] _RAND_2440;
  reg [63:0] _RAND_2441;
  reg [63:0] _RAND_2442;
  reg [63:0] _RAND_2443;
  reg [63:0] _RAND_2444;
  reg [31:0] _RAND_2445;
  reg [31:0] _RAND_2446;
  reg [31:0] _RAND_2447;
  reg [31:0] _RAND_2448;
  reg [31:0] _RAND_2449;
  reg [31:0] _RAND_2450;
  reg [63:0] _RAND_2451;
  reg [63:0] _RAND_2452;
  reg [63:0] _RAND_2453;
  reg [63:0] _RAND_2454;
  reg [31:0] _RAND_2455;
  reg [31:0] _RAND_2456;
  reg [31:0] _RAND_2457;
  reg [31:0] _RAND_2458;
  reg [31:0] _RAND_2459;
  reg [31:0] _RAND_2460;
  reg [31:0] _RAND_2461;
  reg [31:0] _RAND_2462;
  reg [31:0] _RAND_2463;
  reg [31:0] _RAND_2464;
  reg [31:0] _RAND_2465;
  reg [31:0] _RAND_2466;
  reg [31:0] _RAND_2467;
  reg [31:0] _RAND_2468;
  reg [31:0] _RAND_2469;
  reg [31:0] _RAND_2470;
  reg [31:0] _RAND_2471;
  reg [31:0] _RAND_2472;
  reg [31:0] _RAND_2473;
  reg [31:0] _RAND_2474;
  reg [31:0] _RAND_2475;
  reg [31:0] _RAND_2476;
  reg [31:0] _RAND_2477;
  reg [31:0] _RAND_2478;
  reg [63:0] _RAND_2479;
  reg [31:0] _RAND_2480;
  reg [31:0] _RAND_2481;
  reg [63:0] _RAND_2482;
  reg [31:0] _RAND_2483;
  reg [31:0] _RAND_2484;
  reg [31:0] _RAND_2485;
  reg [31:0] _RAND_2486;
  reg [31:0] _RAND_2487;
  reg [31:0] _RAND_2488;
  reg [31:0] _RAND_2489;
  reg [31:0] _RAND_2490;
  reg [31:0] _RAND_2491;
  reg [31:0] _RAND_2492;
  reg [31:0] _RAND_2493;
  reg [31:0] _RAND_2494;
  reg [31:0] _RAND_2495;
  reg [31:0] _RAND_2496;
  reg [31:0] _RAND_2497;
  reg [31:0] _RAND_2498;
  reg [31:0] _RAND_2499;
  reg [31:0] _RAND_2500;
  reg [31:0] _RAND_2501;
  reg [31:0] _RAND_2502;
  reg [63:0] _RAND_2503;
  reg [31:0] _RAND_2504;
  reg [31:0] _RAND_2505;
  reg [63:0] _RAND_2506;
  reg [31:0] _RAND_2507;
  reg [31:0] _RAND_2508;
  reg [31:0] _RAND_2509;
  reg [31:0] _RAND_2510;
  reg [31:0] _RAND_2511;
  reg [31:0] _RAND_2512;
  reg [63:0] _RAND_2513;
  reg [63:0] _RAND_2514;
  reg [31:0] _RAND_2515;
  reg [63:0] _RAND_2516;
  reg [31:0] _RAND_2517;
  reg [31:0] _RAND_2518;
  reg [63:0] _RAND_2519;
  reg [31:0] _RAND_2520;
  reg [31:0] _RAND_2521;
  reg [31:0] _RAND_2522;
  reg [31:0] _RAND_2523;
  reg [31:0] _RAND_2524;
  reg [31:0] _RAND_2525;
  reg [31:0] _RAND_2526;
  reg [31:0] _RAND_2527;
  reg [31:0] _RAND_2528;
  reg [31:0] _RAND_2529;
  reg [31:0] _RAND_2530;
  reg [31:0] _RAND_2531;
  reg [31:0] _RAND_2532;
  reg [31:0] _RAND_2533;
  reg [31:0] _RAND_2534;
  reg [31:0] _RAND_2535;
  reg [63:0] _RAND_2536;
  reg [63:0] _RAND_2537;
  reg [31:0] _RAND_2538;
  reg [63:0] _RAND_2539;
  reg [31:0] _RAND_2540;
  reg [31:0] _RAND_2541;
  reg [63:0] _RAND_2542;
  reg [31:0] _RAND_2543;
  reg [31:0] _RAND_2544;
  reg [31:0] _RAND_2545;
  reg [31:0] _RAND_2546;
  reg [31:0] _RAND_2547;
  reg [31:0] _RAND_2548;
  reg [31:0] _RAND_2549;
  reg [31:0] _RAND_2550;
  reg [31:0] _RAND_2551;
  reg [31:0] _RAND_2552;
  reg [31:0] _RAND_2553;
  reg [31:0] _RAND_2554;
  reg [31:0] _RAND_2555;
  reg [31:0] _RAND_2556;
`endif // RANDOMIZE_REG_INIT
  wire  if1_clock;
  wire  if1_reset;
  wire  if1_io_if4Redirect_valid;
  wire [38:0] if1_io_if4Redirect_bits_target;
  wire  if1_io_cmmRedirect_valid;
  wire [63:0] if1_io_cmmRedirect_bits_pc;
  wire  if1_io_pc_gen_ready;
  wire  if1_io_pc_gen_valid;
  wire  if1_io_pc_gen_bits_isActive_0;
  wire  if1_io_pc_gen_bits_isActive_1;
  wire  if1_io_pc_gen_bits_isActive_2;
  wire  if1_io_pc_gen_bits_isActive_3;
  wire [63:0] if1_io_pc_gen_bits_pc;
  wire  if1_uBTB_io_resp_isActive_0;
  wire  if1_uBTB_io_resp_isActive_1;
  wire  if1_uBTB_io_resp_isActive_2;
  wire  if1_uBTB_io_resp_isActive_3;
  wire [1:0] if1_uBTB__io_resp_isActive_0_T_2 = 2'h3 - 2'h0; // @[uBTB.scala 150:42]
  reg [63:0] if1_pc_qout; // @[IF1.scala 42:24]
  wire  if1__pc_qout_v64_T = if1_io_if4Redirect_bits_target[38]; // @[Util.scala 47:31]
  wire [24:0] if1__pc_qout_v64_T_2 = if1__pc_qout_v64_T ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] if1__pc_qout_v64_T_4 = {if1__pc_qout_v64_T_2,if1_io_if4Redirect_bits_target}; // @[Cat.scala 33:92]
  wire  if1__T = if1_io_pc_gen_ready & if1_io_pc_gen_valid; // @[Decoupled.scala 52:35]
  wire [63:0] if1__pc_qout_T_2 = if1_pc_qout + 64'h8; // @[IF1.scala 117:25]
  wire [60:0] if1__pc_qout_T_3 = if1__pc_qout_T_2[63:3]; // @[IF1.scala 117:61]
  wire [63:0] if1__pc_qout_T_4 = {if1__pc_qout_T_3, 3'h0}; // @[IF1.scala 117:87]
  wire [63:0] if1__GEN_0 = if1__T ? if1__pc_qout_T_4 : if1_pc_qout; // @[IF1.scala 116:31 117:13 42:24]
  wire  if2_clock;
  wire  if2_reset;
  wire  if2_io_if2_req_ready;
  wire  if2_io_if2_req_valid;
  wire  if2_io_if2_req_bits_isActive_0;
  wire  if2_io_if2_req_bits_isActive_1;
  wire  if2_io_if2_req_bits_isActive_2;
  wire  if2_io_if2_req_bits_isActive_3;
  wire [63:0] if2_io_if2_req_bits_pc;
  wire  if2_io_if2_resp_0_ready;
  wire  if2_io_if2_resp_0_valid;
  wire [38:0] if2_io_if2_resp_0_bits_pc;
  wire [15:0] if2_io_if2_resp_0_bits_instr;
  wire  if2_io_if2_resp_0_bits_isRedirect;
  wire  if2_io_if2_resp_1_ready;
  wire  if2_io_if2_resp_1_valid;
  wire [38:0] if2_io_if2_resp_1_bits_pc;
  wire [15:0] if2_io_if2_resp_1_bits_instr;
  wire  if2_io_if2_resp_1_bits_isFault;
  wire  if2_io_if2_resp_1_bits_isRedirect;
  wire  if2_io_if2_resp_2_ready;
  wire  if2_io_if2_resp_2_valid;
  wire [38:0] if2_io_if2_resp_2_bits_pc;
  wire [15:0] if2_io_if2_resp_2_bits_instr;
  wire  if2_io_if2_resp_2_bits_isFault;
  wire  if2_io_if2_resp_2_bits_isRedirect;
  wire  if2_io_if2_resp_3_ready;
  wire  if2_io_if2_resp_3_valid;
  wire [38:0] if2_io_if2_resp_3_bits_pc;
  wire [15:0] if2_io_if2_resp_3_bits_instr;
  wire  if2_io_if2_resp_3_bits_isFault;
  wire  if2_io_if2_resp_3_bits_isRedirect;
  wire  if2_io_if_mmu_ready;
  wire  if2_io_if_mmu_valid;
  wire  if2_io_if_mmu_bits_is_X;
  wire [63:0] if2_io_if_mmu_bits_vaddr;
  wire  if2_io_mmu_if_ready;
  wire  if2_io_mmu_if_valid;
  wire [63:0] if2_io_mmu_if_bits_vaddr;
  wire [63:0] if2_io_mmu_if_bits_paddr;
  wire  if2_io_mmu_if_bits_is_paging_fault;
  wire  if2_io_mmu_if_bits_is_access_fault;
  wire [63:0] if2_io_if_cmm_ill_vaddr;
  wire  if2_io_icache_get_ready;
  wire  if2_io_icache_get_valid;
  wire [2:0] if2_io_icache_get_bits_opcode;
  wire [2:0] if2_io_icache_get_bits_param;
  wire [2:0] if2_io_icache_get_bits_size;
  wire  if2_io_icache_get_bits_source;
  wire [31:0] if2_io_icache_get_bits_address;
  wire [7:0] if2_io_icache_get_bits_mask;
  wire [63:0] if2_io_icache_get_bits_data;
  wire  if2_io_icache_get_bits_corrupt;
  wire  if2_io_icache_access_ready;
  wire  if2_io_icache_access_valid;
  wire [2:0] if2_io_icache_access_bits_opcode;
  wire [2:0] if2_io_icache_access_bits_size;
  wire [63:0] if2_io_icache_access_bits_data;
  wire  if2_io_flush;
  wire  if2_io_ifence;
  wire  if2_ibuf_clock;
  wire  if2_ibuf_reset;
  wire  if2_ibuf_io_enq_0_ready;
  wire  if2_ibuf_io_enq_0_valid;
  wire [38:0] if2_ibuf_io_enq_0_bits_pc;
  wire [15:0] if2_ibuf_io_enq_0_bits_instr;
  wire  if2_ibuf_io_enq_0_bits_isFault;
  wire  if2_ibuf_io_enq_1_ready;
  wire  if2_ibuf_io_enq_1_valid;
  wire [38:0] if2_ibuf_io_enq_1_bits_pc;
  wire [15:0] if2_ibuf_io_enq_1_bits_instr;
  wire  if2_ibuf_io_enq_2_ready;
  wire  if2_ibuf_io_enq_2_valid;
  wire [38:0] if2_ibuf_io_enq_2_bits_pc;
  wire [15:0] if2_ibuf_io_enq_2_bits_instr;
  wire  if2_ibuf_io_enq_3_ready;
  wire  if2_ibuf_io_enq_3_valid;
  wire [38:0] if2_ibuf_io_enq_3_bits_pc;
  wire [15:0] if2_ibuf_io_enq_3_bits_instr;
  wire  if2_ibuf_io_deq_0_ready;
  wire  if2_ibuf_io_deq_0_valid;
  wire [38:0] if2_ibuf_io_deq_0_bits_pc;
  wire [15:0] if2_ibuf_io_deq_0_bits_instr;
  wire  if2_ibuf_io_deq_0_bits_isRedirect;
  wire  if2_ibuf_io_deq_1_ready;
  wire  if2_ibuf_io_deq_1_valid;
  wire [38:0] if2_ibuf_io_deq_1_bits_pc;
  wire [15:0] if2_ibuf_io_deq_1_bits_instr;
  wire  if2_ibuf_io_deq_1_bits_isFault;
  wire  if2_ibuf_io_deq_1_bits_isRedirect;
  wire  if2_ibuf_io_deq_2_ready;
  wire  if2_ibuf_io_deq_2_valid;
  wire [38:0] if2_ibuf_io_deq_2_bits_pc;
  wire [15:0] if2_ibuf_io_deq_2_bits_instr;
  wire  if2_ibuf_io_deq_2_bits_isFault;
  wire  if2_ibuf_io_deq_2_bits_isRedirect;
  wire  if2_ibuf_io_deq_3_ready;
  wire  if2_ibuf_io_deq_3_valid;
  wire [38:0] if2_ibuf_io_deq_3_bits_pc;
  wire [15:0] if2_ibuf_io_deq_3_bits_instr;
  wire  if2_ibuf_io_deq_3_bits_isFault;
  wire  if2_ibuf_io_deq_3_bits_isRedirect;
  wire  if2_ibuf_io_flush;
  reg [38:0] if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_1_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_1_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_1_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_1_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_2_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_2_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_2_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_2_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_3_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_3_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_3_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_3_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_4_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_4_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_4_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_4_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_5_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_5_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_5_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_5_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_6_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_6_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_6_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_6_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if2_ibuf_buf_7_pc; // @[MultiPortFifo.scala 57:20]
  reg [15:0] if2_ibuf_buf_7_instr; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_7_isFault; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_7_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg  if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_2; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_3; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_4; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_5; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_6; // @[MultiPortFifo.scala 58:30]
  reg  if2_ibuf_buf_valid_7; // @[MultiPortFifo.scala 58:30]
  reg [2:0] if2_ibuf_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg [2:0] if2_ibuf_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [3:0] if2_ibuf__io_enq_0_ready_T = {{1'd0}, if2_ibuf_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire [2:0] if2_ibuf__io_enq_0_ready_T_1 = if2_ibuf__io_enq_0_ready_T[2:0]; // @[MultiPortFifo.scala 64:78]
  wire  if2_ibuf__GEN_1 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_2 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_1; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_3 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_2; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_4 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_3; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_5 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_4; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_6 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_5; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_7 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_6; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] if2_ibuf__io_enq_1_ready_T_1 = if2_ibuf_wr_ptr + 3'h1; // @[MultiPortFifo.scala 64:78]
  wire  if2_ibuf__GEN_9 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_10 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_9; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_11 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_10; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_12 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_11; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_13 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_12; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_14 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_13; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_15 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_14; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] if2_ibuf__io_enq_2_ready_T_1 = if2_ibuf_wr_ptr + 3'h2; // @[MultiPortFifo.scala 64:78]
  wire  if2_ibuf__GEN_17 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_18 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_17; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_19 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_18; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_20 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_19; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_21 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_20; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_22 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_21; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_23 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_22; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] if2_ibuf__io_enq_3_ready_T_1 = if2_ibuf_wr_ptr + 3'h3; // @[MultiPortFifo.scala 64:78]
  wire  if2_ibuf__GEN_25 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_26 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_25; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_27 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_26; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_28 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_27; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_29 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_28; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_30 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_29; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if2_ibuf__GEN_31 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_30; // @[MultiPortFifo.scala 64:{94,94}]
  wire [3:0] if2_ibuf__io_deq_0_valid_T = {{1'd0}, if2_ibuf_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire [2:0] if2_ibuf__io_deq_0_valid_T_1 = if2_ibuf__io_deq_0_valid_T[2:0]; // @[MultiPortFifo.scala 65:78]
  wire  if2_ibuf__GEN_33 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_34 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_33; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_35 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_34; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_36 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_35; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_37 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_36; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_38 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_37; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] if2_ibuf__io_deq_1_valid_T_1 = if2_ibuf_rd_ptr + 3'h1; // @[MultiPortFifo.scala 65:78]
  wire  if2_ibuf__GEN_41 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_42 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_41; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_43 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_42; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_44 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_43; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_45 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_44; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_46 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_45; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] if2_ibuf__io_deq_2_valid_T_1 = if2_ibuf_rd_ptr + 3'h2; // @[MultiPortFifo.scala 65:78]
  wire  if2_ibuf__GEN_49 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_50 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_49; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_51 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_50; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_52 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_51; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_53 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_52; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_54 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_53; // @[MultiPortFifo.scala 65:{94,94}]
  wire [2:0] if2_ibuf__io_deq_3_valid_T_1 = if2_ibuf_rd_ptr + 3'h3; // @[MultiPortFifo.scala 65:78]
  wire  if2_ibuf__GEN_57 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_1 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_58 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_2 : if2_ibuf__GEN_57; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_59 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_3 : if2_ibuf__GEN_58; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_60 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_4 : if2_ibuf__GEN_59; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_61 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_5 : if2_ibuf__GEN_60; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__GEN_62 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_6 : if2_ibuf__GEN_61; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if2_ibuf__T = if2_ibuf_io_enq_0_ready & if2_ibuf_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_0 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_64 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_1 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_65 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_2 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_66 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_2; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_3 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_67 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_3; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_4 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_68 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_4; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_5 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_69 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_5; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_6 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_70 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_6; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  _GEN_7 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_71 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 | if2_ibuf_buf_valid_7; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if2_ibuf__GEN_72 = if2_ibuf__T ? if2_ibuf__GEN_64 : if2_ibuf_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_73 = if2_ibuf__T ? if2_ibuf__GEN_65 : if2_ibuf_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_74 = if2_ibuf__T ? if2_ibuf__GEN_66 : if2_ibuf_buf_valid_2; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_75 = if2_ibuf__T ? if2_ibuf__GEN_67 : if2_ibuf_buf_valid_3; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_76 = if2_ibuf__T ? if2_ibuf__GEN_68 : if2_ibuf_buf_valid_4; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_77 = if2_ibuf__T ? if2_ibuf__GEN_69 : if2_ibuf_buf_valid_5; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_78 = if2_ibuf__T ? if2_ibuf__GEN_70 : if2_ibuf_buf_valid_6; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__GEN_79 = if2_ibuf__T ? if2_ibuf__GEN_71 : if2_ibuf_buf_valid_7; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if2_ibuf__T_1 = if2_ibuf_io_deq_0_ready & if2_ibuf_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_80 = 3'h0 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_72; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_81 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_73; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_82 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_74; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_83 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_75; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_84 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_76; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_85 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_77; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_86 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_78; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_87 = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_79; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_88 = if2_ibuf__T_1 ? if2_ibuf__GEN_80 : if2_ibuf__GEN_72; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_89 = if2_ibuf__T_1 ? if2_ibuf__GEN_81 : if2_ibuf__GEN_73; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_90 = if2_ibuf__T_1 ? if2_ibuf__GEN_82 : if2_ibuf__GEN_74; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_91 = if2_ibuf__T_1 ? if2_ibuf__GEN_83 : if2_ibuf__GEN_75; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_92 = if2_ibuf__T_1 ? if2_ibuf__GEN_84 : if2_ibuf__GEN_76; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_93 = if2_ibuf__T_1 ? if2_ibuf__GEN_85 : if2_ibuf__GEN_77; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_94 = if2_ibuf__T_1 ? if2_ibuf__GEN_86 : if2_ibuf__GEN_78; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_95 = if2_ibuf__T_1 ? if2_ibuf__GEN_87 : if2_ibuf__GEN_79; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_101 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_102 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_103 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_104 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_1_isRedirect : if2_ibuf_buf_0_isRedirect
    ; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_106 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_101; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_107 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_102; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_108 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_103; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_109 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_104; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_111 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_106; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_112 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_107; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_113 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_108; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_114 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_109; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_116 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_111; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_117 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_112; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_118 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_113; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_119 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_114; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_121 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_116; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_122 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_117; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_123 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_118; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_124 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_119; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_126 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_121; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_127 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_122; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_128 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_123; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_129 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_124; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_131 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_126; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_132 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_127; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_133 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_7_isFault : if2_ibuf__GEN_128; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_134 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf_buf_7_isRedirect : if2_ibuf__GEN_129; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__buf_T_1_pc = if2_ibuf__T ? if2_ibuf_io_enq_0_bits_pc : if2_ibuf__GEN_131; // @[MultiPortFifo.scala 101:33]
  wire [15:0] if2_ibuf__buf_T_1_instr = if2_ibuf__T ? if2_ibuf_io_enq_0_bits_instr : if2_ibuf__GEN_132; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_1_isFault = if2_ibuf__T ? if2_ibuf_io_enq_0_bits_isFault : if2_ibuf__GEN_133; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_1_isRedirect = if2_ibuf__T ? 1'h0 : if2_ibuf__GEN_134; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if2_ibuf__GEN_136 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_137 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_1_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_138 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_2_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_139 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_3_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_140 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_4_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_141 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_5_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_142 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_6_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if2_ibuf__GEN_143 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf_buf_7_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_144 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_145 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_1_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_146 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_2_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_147 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_3_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_148 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_4_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_149 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_5_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_150 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_6_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [15:0] if2_ibuf__GEN_151 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf_buf_7_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_152 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_153 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_1_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_154 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_2_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_155 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_3_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_156 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_4_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_157 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_5_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_158 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_6_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_159 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf_buf_7_isFault; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_160 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_161 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_1_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_162 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_2_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_163 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_3_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_164 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_4_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_165 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_5_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_166 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_6_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_167 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect :
    if2_ibuf_buf_7_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if2_ibuf__GEN_176 = _GEN_0 | if2_ibuf__GEN_88; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_177 = _GEN_1 | if2_ibuf__GEN_89; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_178 = _GEN_2 | if2_ibuf__GEN_90; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_179 = _GEN_3 | if2_ibuf__GEN_91; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_180 = _GEN_4 | if2_ibuf__GEN_92; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_181 = _GEN_5 | if2_ibuf__GEN_93; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_182 = _GEN_6 | if2_ibuf__GEN_94; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_183 = _GEN_7 | if2_ibuf__GEN_95; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_184 = if2_ibuf__T ? if2_ibuf__GEN_176 : if2_ibuf__GEN_88; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_185 = if2_ibuf__T ? if2_ibuf__GEN_177 : if2_ibuf__GEN_89; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_186 = if2_ibuf__T ? if2_ibuf__GEN_178 : if2_ibuf__GEN_90; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_187 = if2_ibuf__T ? if2_ibuf__GEN_179 : if2_ibuf__GEN_91; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_188 = if2_ibuf__T ? if2_ibuf__GEN_180 : if2_ibuf__GEN_92; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_189 = if2_ibuf__T ? if2_ibuf__GEN_181 : if2_ibuf__GEN_93; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_190 = if2_ibuf__T ? if2_ibuf__GEN_182 : if2_ibuf__GEN_94; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_191 = if2_ibuf__T ? if2_ibuf__GEN_183 : if2_ibuf__GEN_95; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__T_3 = if2_ibuf_io_deq_1_ready & if2_ibuf_io_deq_1_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_192 = 3'h0 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_184; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_193 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_185; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_194 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_186; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_195 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_187; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_196 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_188; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_197 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_189; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_198 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_190; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_199 = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_191; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_200 = if2_ibuf__T_3 ? if2_ibuf__GEN_192 : if2_ibuf__GEN_184; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_201 = if2_ibuf__T_3 ? if2_ibuf__GEN_193 : if2_ibuf__GEN_185; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_202 = if2_ibuf__T_3 ? if2_ibuf__GEN_194 : if2_ibuf__GEN_186; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_203 = if2_ibuf__T_3 ? if2_ibuf__GEN_195 : if2_ibuf__GEN_187; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_204 = if2_ibuf__T_3 ? if2_ibuf__GEN_196 : if2_ibuf__GEN_188; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_205 = if2_ibuf__T_3 ? if2_ibuf__GEN_197 : if2_ibuf__GEN_189; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_206 = if2_ibuf__T_3 ? if2_ibuf__GEN_198 : if2_ibuf__GEN_190; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_207 = if2_ibuf__T_3 ? if2_ibuf__GEN_199 : if2_ibuf__GEN_191; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_248 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_136; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_249 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_137; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_250 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_138; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_251 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_139; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_252 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_140; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_253 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_141; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_254 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_142; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_255 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_143; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_256 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_144; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_257 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_145; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_258 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_146; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_259 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_147; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_260 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_148; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_261 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_149; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_262 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_150; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_263 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_151; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_264 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_152; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_265 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_153; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_266 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_154; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_267 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_155; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_268 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_156; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_269 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_157; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_270 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_158; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_271 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_159; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_272 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_160; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_273 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_161; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_274 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_162; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_275 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_163; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_276 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_164; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_277 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_165; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_278 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_166; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_279 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_167; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_288 = _GEN_0 | if2_ibuf__GEN_200; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_289 = _GEN_1 | if2_ibuf__GEN_201; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_290 = _GEN_2 | if2_ibuf__GEN_202; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_291 = _GEN_3 | if2_ibuf__GEN_203; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_292 = _GEN_4 | if2_ibuf__GEN_204; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_293 = _GEN_5 | if2_ibuf__GEN_205; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_294 = _GEN_6 | if2_ibuf__GEN_206; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_295 = _GEN_7 | if2_ibuf__GEN_207; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_296 = if2_ibuf__T ? if2_ibuf__GEN_288 : if2_ibuf__GEN_200; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_297 = if2_ibuf__T ? if2_ibuf__GEN_289 : if2_ibuf__GEN_201; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_298 = if2_ibuf__T ? if2_ibuf__GEN_290 : if2_ibuf__GEN_202; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_299 = if2_ibuf__T ? if2_ibuf__GEN_291 : if2_ibuf__GEN_203; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_300 = if2_ibuf__T ? if2_ibuf__GEN_292 : if2_ibuf__GEN_204; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_301 = if2_ibuf__T ? if2_ibuf__GEN_293 : if2_ibuf__GEN_205; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_302 = if2_ibuf__T ? if2_ibuf__GEN_294 : if2_ibuf__GEN_206; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_303 = if2_ibuf__T ? if2_ibuf__GEN_295 : if2_ibuf__GEN_207; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__T_5 = if2_ibuf_io_deq_2_ready & if2_ibuf_io_deq_2_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_304 = 3'h0 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_296; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_305 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_297; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_306 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_298; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_307 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_299; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_308 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_300; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_309 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_301; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_310 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_302; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_311 = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_303; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_312 = if2_ibuf__T_5 ? if2_ibuf__GEN_304 : if2_ibuf__GEN_296; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_313 = if2_ibuf__T_5 ? if2_ibuf__GEN_305 : if2_ibuf__GEN_297; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_314 = if2_ibuf__T_5 ? if2_ibuf__GEN_306 : if2_ibuf__GEN_298; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_315 = if2_ibuf__T_5 ? if2_ibuf__GEN_307 : if2_ibuf__GEN_299; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_316 = if2_ibuf__T_5 ? if2_ibuf__GEN_308 : if2_ibuf__GEN_300; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_317 = if2_ibuf__T_5 ? if2_ibuf__GEN_309 : if2_ibuf__GEN_301; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_318 = if2_ibuf__T_5 ? if2_ibuf__GEN_310 : if2_ibuf__GEN_302; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_319 = if2_ibuf__T_5 ? if2_ibuf__GEN_311 : if2_ibuf__GEN_303; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_360 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_248; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_361 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_249; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_362 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_250; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_363 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_251; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_364 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_252; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_365 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_253; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_366 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_254; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_367 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_255; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_368 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_256; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_369 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_257; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_370 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_258; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_371 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_259; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_372 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_260; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_373 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_261; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_374 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_262; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_375 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_263; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_376 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_264; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_377 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_265; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_378 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_266; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_379 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_267; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_380 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_268; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_381 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_269; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_382 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_270; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_383 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_271; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_384 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_272; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_385 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_273; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_386 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_274; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_387 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_275; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_388 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_276; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_389 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_277; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_390 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_278; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_391 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_279; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_400 = _GEN_0 | if2_ibuf__GEN_312; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_401 = _GEN_1 | if2_ibuf__GEN_313; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_402 = _GEN_2 | if2_ibuf__GEN_314; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_403 = _GEN_3 | if2_ibuf__GEN_315; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_404 = _GEN_4 | if2_ibuf__GEN_316; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_405 = _GEN_5 | if2_ibuf__GEN_317; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_406 = _GEN_6 | if2_ibuf__GEN_318; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_407 = _GEN_7 | if2_ibuf__GEN_319; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_408 = if2_ibuf__T ? if2_ibuf__GEN_400 : if2_ibuf__GEN_312; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_409 = if2_ibuf__T ? if2_ibuf__GEN_401 : if2_ibuf__GEN_313; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_410 = if2_ibuf__T ? if2_ibuf__GEN_402 : if2_ibuf__GEN_314; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_411 = if2_ibuf__T ? if2_ibuf__GEN_403 : if2_ibuf__GEN_315; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_412 = if2_ibuf__T ? if2_ibuf__GEN_404 : if2_ibuf__GEN_316; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_413 = if2_ibuf__T ? if2_ibuf__GEN_405 : if2_ibuf__GEN_317; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_414 = if2_ibuf__T ? if2_ibuf__GEN_406 : if2_ibuf__GEN_318; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_415 = if2_ibuf__T ? if2_ibuf__GEN_407 : if2_ibuf__GEN_319; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__T_7 = if2_ibuf_io_deq_3_ready & if2_ibuf_io_deq_3_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_416 = 3'h0 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_408; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_417 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_409; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_418 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_410; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_419 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_411; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_420 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_412; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_421 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_413; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_422 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_414; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_423 = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_415; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_424 = if2_ibuf__T_7 ? if2_ibuf__GEN_416 : if2_ibuf__GEN_408; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_425 = if2_ibuf__T_7 ? if2_ibuf__GEN_417 : if2_ibuf__GEN_409; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_426 = if2_ibuf__T_7 ? if2_ibuf__GEN_418 : if2_ibuf__GEN_410; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_427 = if2_ibuf__T_7 ? if2_ibuf__GEN_419 : if2_ibuf__GEN_411; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_428 = if2_ibuf__T_7 ? if2_ibuf__GEN_420 : if2_ibuf__GEN_412; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_429 = if2_ibuf__T_7 ? if2_ibuf__GEN_421 : if2_ibuf__GEN_413; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_430 = if2_ibuf__T_7 ? if2_ibuf__GEN_422 : if2_ibuf__GEN_414; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_431 = if2_ibuf__T_7 ? if2_ibuf__GEN_423 : if2_ibuf__GEN_415; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_472 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_360; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_473 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_361; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_474 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_362; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_475 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_363; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_476 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_364; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_477 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_365; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_478 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_366; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_479 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_pc : if2_ibuf__GEN_367; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_480 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_368; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_481 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_369; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_482 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_370; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_483 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_371; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_484 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_372; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_485 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_373; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_486 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_374; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_487 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_instr : if2_ibuf__GEN_375; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_488 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_376; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_489 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_377; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_490 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_378; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_491 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_379; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_492 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_380; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_493 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_381; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_494 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_382; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_495 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isFault : if2_ibuf__GEN_383; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_496 = 3'h0 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_384; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_497 = 3'h1 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_385; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_498 = 3'h2 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_386; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_499 = 3'h3 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_387; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_500 = 3'h4 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_388; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_501 = 3'h5 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_389; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_502 = 3'h6 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_390; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_503 = 3'h7 == if2_ibuf__io_enq_0_ready_T_1 ? if2_ibuf__buf_T_1_isRedirect : if2_ibuf__GEN_391; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__T_8 = if2_ibuf_io_enq_1_ready & if2_ibuf_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_512 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_424; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_513 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_425; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_514 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_426; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_515 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_427; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_516 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_428; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_517 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_429; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_518 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_430; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_519 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_431; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_520 = if2_ibuf__T_8 ? if2_ibuf__GEN_512 : if2_ibuf__GEN_424; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_521 = if2_ibuf__T_8 ? if2_ibuf__GEN_513 : if2_ibuf__GEN_425; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_522 = if2_ibuf__T_8 ? if2_ibuf__GEN_514 : if2_ibuf__GEN_426; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_523 = if2_ibuf__T_8 ? if2_ibuf__GEN_515 : if2_ibuf__GEN_427; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_524 = if2_ibuf__T_8 ? if2_ibuf__GEN_516 : if2_ibuf__GEN_428; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_525 = if2_ibuf__T_8 ? if2_ibuf__GEN_517 : if2_ibuf__GEN_429; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_526 = if2_ibuf__T_8 ? if2_ibuf__GEN_518 : if2_ibuf__GEN_430; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_527 = if2_ibuf__T_8 ? if2_ibuf__GEN_519 : if2_ibuf__GEN_431; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_528 = 3'h0 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_520; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_529 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_521; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_530 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_522; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_531 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_523; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_532 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_524; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_533 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_525; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_534 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_526; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_535 = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_527; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_536 = if2_ibuf__T_1 ? if2_ibuf__GEN_528 : if2_ibuf__GEN_520; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_537 = if2_ibuf__T_1 ? if2_ibuf__GEN_529 : if2_ibuf__GEN_521; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_538 = if2_ibuf__T_1 ? if2_ibuf__GEN_530 : if2_ibuf__GEN_522; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_539 = if2_ibuf__T_1 ? if2_ibuf__GEN_531 : if2_ibuf__GEN_523; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_540 = if2_ibuf__T_1 ? if2_ibuf__GEN_532 : if2_ibuf__GEN_524; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_541 = if2_ibuf__T_1 ? if2_ibuf__GEN_533 : if2_ibuf__GEN_525; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_542 = if2_ibuf__T_1 ? if2_ibuf__GEN_534 : if2_ibuf__GEN_526; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_543 = if2_ibuf__T_1 ? if2_ibuf__GEN_535 : if2_ibuf__GEN_527; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_549 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_550 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_551 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_552 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_1_isRedirect : if2_ibuf_buf_0_isRedirect
    ; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_554 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_549; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_555 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_550; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_556 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_551; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_557 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_552; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_559 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_554; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_560 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_555; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_561 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_556; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_562 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_557; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_564 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_559; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_565 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_560; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_566 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_561; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_567 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_562; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_569 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_564; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_570 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_565; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_571 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_566; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_572 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_567; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_574 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_569; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_575 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_570; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_576 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_571; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_577 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_572; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_579 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_574; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_580 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_575; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_581 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_7_isFault : if2_ibuf__GEN_576; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_582 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf_buf_7_isRedirect : if2_ibuf__GEN_577; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__buf_T_9_pc = if2_ibuf__T_8 ? if2_ibuf_io_enq_1_bits_pc : if2_ibuf__GEN_579; // @[MultiPortFifo.scala 101:33]
  wire [15:0] if2_ibuf__buf_T_9_instr = if2_ibuf__T_8 ? if2_ibuf_io_enq_1_bits_instr : if2_ibuf__GEN_580; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_9_isFault = if2_ibuf__T_8 ? 1'h0 : if2_ibuf__GEN_581; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_9_isRedirect = if2_ibuf__T_8 ? 1'h0 : if2_ibuf__GEN_582; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if2_ibuf__GEN_584 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_472; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_585 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_473; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_586 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_474; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_587 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_475; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_588 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_476; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_589 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_477; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_590 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_478; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_591 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_479; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_592 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_480; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_593 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_481; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_594 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_482; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_595 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_483; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_596 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_484; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_597 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_485; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_598 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_486; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_599 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_487; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_600 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_488; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_601 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_489; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_602 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_490; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_603 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_491; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_604 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_492; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_605 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_493; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_606 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_494; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_607 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_495; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_608 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_496; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_609 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_497; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_610 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_498; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_611 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_499; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_612 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_500; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_613 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_501; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_614 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_502; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_615 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_503; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_624 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_536; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_625 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_537; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_626 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_538; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_627 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_539; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_628 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_540; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_629 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_541; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_630 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_542; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_631 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_543; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_632 = if2_ibuf__T_8 ? if2_ibuf__GEN_624 : if2_ibuf__GEN_536; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_633 = if2_ibuf__T_8 ? if2_ibuf__GEN_625 : if2_ibuf__GEN_537; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_634 = if2_ibuf__T_8 ? if2_ibuf__GEN_626 : if2_ibuf__GEN_538; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_635 = if2_ibuf__T_8 ? if2_ibuf__GEN_627 : if2_ibuf__GEN_539; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_636 = if2_ibuf__T_8 ? if2_ibuf__GEN_628 : if2_ibuf__GEN_540; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_637 = if2_ibuf__T_8 ? if2_ibuf__GEN_629 : if2_ibuf__GEN_541; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_638 = if2_ibuf__T_8 ? if2_ibuf__GEN_630 : if2_ibuf__GEN_542; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_639 = if2_ibuf__T_8 ? if2_ibuf__GEN_631 : if2_ibuf__GEN_543; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_640 = 3'h0 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_632; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_641 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_633; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_642 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_634; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_643 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_635; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_644 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_636; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_645 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_637; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_646 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_638; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_647 = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_639; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_648 = if2_ibuf__T_3 ? if2_ibuf__GEN_640 : if2_ibuf__GEN_632; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_649 = if2_ibuf__T_3 ? if2_ibuf__GEN_641 : if2_ibuf__GEN_633; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_650 = if2_ibuf__T_3 ? if2_ibuf__GEN_642 : if2_ibuf__GEN_634; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_651 = if2_ibuf__T_3 ? if2_ibuf__GEN_643 : if2_ibuf__GEN_635; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_652 = if2_ibuf__T_3 ? if2_ibuf__GEN_644 : if2_ibuf__GEN_636; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_653 = if2_ibuf__T_3 ? if2_ibuf__GEN_645 : if2_ibuf__GEN_637; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_654 = if2_ibuf__T_3 ? if2_ibuf__GEN_646 : if2_ibuf__GEN_638; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_655 = if2_ibuf__T_3 ? if2_ibuf__GEN_647 : if2_ibuf__GEN_639; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_696 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_584; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_697 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_585; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_698 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_586; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_699 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_587; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_700 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_588; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_701 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_589; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_702 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_590; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_703 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_591; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_704 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_592; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_705 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_593; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_706 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_594; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_707 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_595; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_708 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_596; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_709 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_597; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_710 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_598; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_711 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_599; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_712 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_600; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_713 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_601; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_714 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_602; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_715 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_603; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_716 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_604; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_717 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_605; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_718 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_606; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_719 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_607; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_720 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_608; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_721 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_609; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_722 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_610; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_723 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_611; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_724 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_612; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_725 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_613; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_726 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_614; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_727 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_615; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_736 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_648; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_737 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_649; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_738 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_650; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_739 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_651; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_740 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_652; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_741 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_653; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_742 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_654; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_743 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_655; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_744 = if2_ibuf__T_8 ? if2_ibuf__GEN_736 : if2_ibuf__GEN_648; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_745 = if2_ibuf__T_8 ? if2_ibuf__GEN_737 : if2_ibuf__GEN_649; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_746 = if2_ibuf__T_8 ? if2_ibuf__GEN_738 : if2_ibuf__GEN_650; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_747 = if2_ibuf__T_8 ? if2_ibuf__GEN_739 : if2_ibuf__GEN_651; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_748 = if2_ibuf__T_8 ? if2_ibuf__GEN_740 : if2_ibuf__GEN_652; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_749 = if2_ibuf__T_8 ? if2_ibuf__GEN_741 : if2_ibuf__GEN_653; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_750 = if2_ibuf__T_8 ? if2_ibuf__GEN_742 : if2_ibuf__GEN_654; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_751 = if2_ibuf__T_8 ? if2_ibuf__GEN_743 : if2_ibuf__GEN_655; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_752 = 3'h0 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_744; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_753 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_745; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_754 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_746; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_755 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_747; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_756 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_748; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_757 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_749; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_758 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_750; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_759 = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_751; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_760 = if2_ibuf__T_5 ? if2_ibuf__GEN_752 : if2_ibuf__GEN_744; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_761 = if2_ibuf__T_5 ? if2_ibuf__GEN_753 : if2_ibuf__GEN_745; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_762 = if2_ibuf__T_5 ? if2_ibuf__GEN_754 : if2_ibuf__GEN_746; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_763 = if2_ibuf__T_5 ? if2_ibuf__GEN_755 : if2_ibuf__GEN_747; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_764 = if2_ibuf__T_5 ? if2_ibuf__GEN_756 : if2_ibuf__GEN_748; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_765 = if2_ibuf__T_5 ? if2_ibuf__GEN_757 : if2_ibuf__GEN_749; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_766 = if2_ibuf__T_5 ? if2_ibuf__GEN_758 : if2_ibuf__GEN_750; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_767 = if2_ibuf__T_5 ? if2_ibuf__GEN_759 : if2_ibuf__GEN_751; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_808 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_696; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_809 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_697; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_810 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_698; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_811 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_699; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_812 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_700; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_813 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_701; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_814 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_702; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_815 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_703; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_816 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_704; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_817 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_705; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_818 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_706; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_819 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_707; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_820 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_708; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_821 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_709; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_822 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_710; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_823 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_711; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_824 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_712; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_825 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_713; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_826 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_714; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_827 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_715; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_828 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_716; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_829 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_717; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_830 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_718; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_831 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_719; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_832 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_720; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_833 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_721; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_834 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_722; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_835 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_723; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_836 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_724; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_837 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_725; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_838 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_726; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_839 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_727; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_848 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_760; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_849 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_761; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_850 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_762; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_851 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_763; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_852 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_764; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_853 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_765; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_854 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_766; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_855 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 | if2_ibuf__GEN_767; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_856 = if2_ibuf__T_8 ? if2_ibuf__GEN_848 : if2_ibuf__GEN_760; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_857 = if2_ibuf__T_8 ? if2_ibuf__GEN_849 : if2_ibuf__GEN_761; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_858 = if2_ibuf__T_8 ? if2_ibuf__GEN_850 : if2_ibuf__GEN_762; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_859 = if2_ibuf__T_8 ? if2_ibuf__GEN_851 : if2_ibuf__GEN_763; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_860 = if2_ibuf__T_8 ? if2_ibuf__GEN_852 : if2_ibuf__GEN_764; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_861 = if2_ibuf__T_8 ? if2_ibuf__GEN_853 : if2_ibuf__GEN_765; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_862 = if2_ibuf__T_8 ? if2_ibuf__GEN_854 : if2_ibuf__GEN_766; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_863 = if2_ibuf__T_8 ? if2_ibuf__GEN_855 : if2_ibuf__GEN_767; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_864 = 3'h0 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_856; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_865 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_857; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_866 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_858; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_867 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_859; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_868 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_860; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_869 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_861; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_870 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_862; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_871 = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_863; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_872 = if2_ibuf__T_7 ? if2_ibuf__GEN_864 : if2_ibuf__GEN_856; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_873 = if2_ibuf__T_7 ? if2_ibuf__GEN_865 : if2_ibuf__GEN_857; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_874 = if2_ibuf__T_7 ? if2_ibuf__GEN_866 : if2_ibuf__GEN_858; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_875 = if2_ibuf__T_7 ? if2_ibuf__GEN_867 : if2_ibuf__GEN_859; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_876 = if2_ibuf__T_7 ? if2_ibuf__GEN_868 : if2_ibuf__GEN_860; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_877 = if2_ibuf__T_7 ? if2_ibuf__GEN_869 : if2_ibuf__GEN_861; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_878 = if2_ibuf__T_7 ? if2_ibuf__GEN_870 : if2_ibuf__GEN_862; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_879 = if2_ibuf__T_7 ? if2_ibuf__GEN_871 : if2_ibuf__GEN_863; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_920 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_808; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_921 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_809; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_922 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_810; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_923 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_811; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_924 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_812; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_925 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_813; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_926 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_814; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_927 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_pc : if2_ibuf__GEN_815; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_928 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_816; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_929 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_817; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_930 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_818; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_931 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_819; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_932 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_820; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_933 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_821; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_934 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_822; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_935 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_instr : if2_ibuf__GEN_823; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_936 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_824; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_937 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_825; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_938 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_826; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_939 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_827; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_940 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_828; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_941 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_829; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_942 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_830; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_943 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isFault : if2_ibuf__GEN_831; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_944 = 3'h0 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_832; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_945 = 3'h1 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_833; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_946 = 3'h2 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_834; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_947 = 3'h3 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_835; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_948 = 3'h4 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_836; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_949 = 3'h5 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_837; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_950 = 3'h6 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_838; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_951 = 3'h7 == if2_ibuf__io_enq_1_ready_T_1 ? if2_ibuf__buf_T_9_isRedirect : if2_ibuf__GEN_839; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__T_16 = if2_ibuf_io_enq_2_ready & if2_ibuf_io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_960 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_872; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_961 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_873; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_962 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_874; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_963 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_875; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_964 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_876; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_965 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_877; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_966 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_878; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_967 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_879; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_968 = if2_ibuf__T_16 ? if2_ibuf__GEN_960 : if2_ibuf__GEN_872; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_969 = if2_ibuf__T_16 ? if2_ibuf__GEN_961 : if2_ibuf__GEN_873; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_970 = if2_ibuf__T_16 ? if2_ibuf__GEN_962 : if2_ibuf__GEN_874; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_971 = if2_ibuf__T_16 ? if2_ibuf__GEN_963 : if2_ibuf__GEN_875; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_972 = if2_ibuf__T_16 ? if2_ibuf__GEN_964 : if2_ibuf__GEN_876; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_973 = if2_ibuf__T_16 ? if2_ibuf__GEN_965 : if2_ibuf__GEN_877; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_974 = if2_ibuf__T_16 ? if2_ibuf__GEN_966 : if2_ibuf__GEN_878; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_975 = if2_ibuf__T_16 ? if2_ibuf__GEN_967 : if2_ibuf__GEN_879; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_976 = 3'h0 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_968; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_977 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_969; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_978 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_970; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_979 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_971; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_980 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_972; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_981 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_973; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_982 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_974; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_983 = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_975; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_984 = if2_ibuf__T_1 ? if2_ibuf__GEN_976 : if2_ibuf__GEN_968; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_985 = if2_ibuf__T_1 ? if2_ibuf__GEN_977 : if2_ibuf__GEN_969; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_986 = if2_ibuf__T_1 ? if2_ibuf__GEN_978 : if2_ibuf__GEN_970; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_987 = if2_ibuf__T_1 ? if2_ibuf__GEN_979 : if2_ibuf__GEN_971; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_988 = if2_ibuf__T_1 ? if2_ibuf__GEN_980 : if2_ibuf__GEN_972; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_989 = if2_ibuf__T_1 ? if2_ibuf__GEN_981 : if2_ibuf__GEN_973; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_990 = if2_ibuf__T_1 ? if2_ibuf__GEN_982 : if2_ibuf__GEN_974; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_991 = if2_ibuf__T_1 ? if2_ibuf__GEN_983 : if2_ibuf__GEN_975; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_997 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_998 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_999 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1000 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1002 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_997; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1003 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_998; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1004 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_999; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1005 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_1000; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1007 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_1002; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1008 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_1003; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1009 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_1004; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1010 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_1005; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1012 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_1007; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1013 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_1008; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1014 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_1009; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1015 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_1010; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1017 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_1012; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1018 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_1013; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1019 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_1014; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1020 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_1015; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1022 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_1017; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1023 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_1018; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1024 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_1019; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1025 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_1020; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1027 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_1022; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1028 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_1023; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1029 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_7_isFault : if2_ibuf__GEN_1024; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1030 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf_buf_7_isRedirect : if2_ibuf__GEN_1025; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__buf_T_17_pc = if2_ibuf__T_16 ? if2_ibuf_io_enq_2_bits_pc : if2_ibuf__GEN_1027; // @[MultiPortFifo.scala 101:33]
  wire [15:0] if2_ibuf__buf_T_17_instr = if2_ibuf__T_16 ? if2_ibuf_io_enq_2_bits_instr : if2_ibuf__GEN_1028; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_17_isFault = if2_ibuf__T_16 ? 1'h0 : if2_ibuf__GEN_1029; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_17_isRedirect = if2_ibuf__T_16 ? 1'h0 : if2_ibuf__GEN_1030; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if2_ibuf__GEN_1032 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_920; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1033 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_921; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1034 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_922; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1035 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_923; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1036 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_924; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1037 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_925; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1038 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_926; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1039 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_927; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1040 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_928; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1041 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_929; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1042 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_930; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1043 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_931; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1044 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_932; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1045 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_933; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1046 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_934; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1047 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_935; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1048 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_936; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1049 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_937; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1050 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_938; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1051 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_939; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1052 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_940; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1053 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_941; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1054 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_942; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1055 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_943; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1056 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_944; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1057 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_945; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1058 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_946; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1059 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_947; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1060 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_948; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1061 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_949; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1062 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_950; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1063 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_951; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1072 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_984; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1073 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_985; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1074 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_986; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1075 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_987; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1076 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_988; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1077 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_989; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1078 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_990; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1079 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_991; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1080 = if2_ibuf__T_16 ? if2_ibuf__GEN_1072 : if2_ibuf__GEN_984; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1081 = if2_ibuf__T_16 ? if2_ibuf__GEN_1073 : if2_ibuf__GEN_985; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1082 = if2_ibuf__T_16 ? if2_ibuf__GEN_1074 : if2_ibuf__GEN_986; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1083 = if2_ibuf__T_16 ? if2_ibuf__GEN_1075 : if2_ibuf__GEN_987; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1084 = if2_ibuf__T_16 ? if2_ibuf__GEN_1076 : if2_ibuf__GEN_988; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1085 = if2_ibuf__T_16 ? if2_ibuf__GEN_1077 : if2_ibuf__GEN_989; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1086 = if2_ibuf__T_16 ? if2_ibuf__GEN_1078 : if2_ibuf__GEN_990; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1087 = if2_ibuf__T_16 ? if2_ibuf__GEN_1079 : if2_ibuf__GEN_991; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1088 = 3'h0 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1080; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1089 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1081; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1090 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1082; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1091 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1083; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1092 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1084; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1093 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1085; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1094 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1086; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1095 = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1087; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1096 = if2_ibuf__T_3 ? if2_ibuf__GEN_1088 : if2_ibuf__GEN_1080; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1097 = if2_ibuf__T_3 ? if2_ibuf__GEN_1089 : if2_ibuf__GEN_1081; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1098 = if2_ibuf__T_3 ? if2_ibuf__GEN_1090 : if2_ibuf__GEN_1082; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1099 = if2_ibuf__T_3 ? if2_ibuf__GEN_1091 : if2_ibuf__GEN_1083; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1100 = if2_ibuf__T_3 ? if2_ibuf__GEN_1092 : if2_ibuf__GEN_1084; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1101 = if2_ibuf__T_3 ? if2_ibuf__GEN_1093 : if2_ibuf__GEN_1085; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1102 = if2_ibuf__T_3 ? if2_ibuf__GEN_1094 : if2_ibuf__GEN_1086; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1103 = if2_ibuf__T_3 ? if2_ibuf__GEN_1095 : if2_ibuf__GEN_1087; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_1144 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1032; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1145 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1033; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1146 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1034; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1147 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1035; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1148 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1036; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1149 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1037; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1150 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1038; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1151 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1039; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1152 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1040; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1153 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1041; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1154 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1042; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1155 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1043; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1156 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1044; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1157 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1045; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1158 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1046; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1159 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1047; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1160 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1048; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1161 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1049; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1162 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1050; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1163 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1051; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1164 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1052; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1165 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1053; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1166 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1054; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1167 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1055; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1168 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1056; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1169 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1057; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1170 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1058; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1171 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1059; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1172 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1060; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1173 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1061; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1174 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1062; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1175 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1063; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1184 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1096; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1185 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1097; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1186 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1098; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1187 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1099; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1188 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1100; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1189 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1101; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1190 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1102; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1191 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1103; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1192 = if2_ibuf__T_16 ? if2_ibuf__GEN_1184 : if2_ibuf__GEN_1096; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1193 = if2_ibuf__T_16 ? if2_ibuf__GEN_1185 : if2_ibuf__GEN_1097; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1194 = if2_ibuf__T_16 ? if2_ibuf__GEN_1186 : if2_ibuf__GEN_1098; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1195 = if2_ibuf__T_16 ? if2_ibuf__GEN_1187 : if2_ibuf__GEN_1099; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1196 = if2_ibuf__T_16 ? if2_ibuf__GEN_1188 : if2_ibuf__GEN_1100; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1197 = if2_ibuf__T_16 ? if2_ibuf__GEN_1189 : if2_ibuf__GEN_1101; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1198 = if2_ibuf__T_16 ? if2_ibuf__GEN_1190 : if2_ibuf__GEN_1102; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1199 = if2_ibuf__T_16 ? if2_ibuf__GEN_1191 : if2_ibuf__GEN_1103; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1200 = 3'h0 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1192; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1201 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1193; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1202 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1194; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1203 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1195; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1204 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1196; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1205 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1197; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1206 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1198; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1207 = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1199; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1208 = if2_ibuf__T_5 ? if2_ibuf__GEN_1200 : if2_ibuf__GEN_1192; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1209 = if2_ibuf__T_5 ? if2_ibuf__GEN_1201 : if2_ibuf__GEN_1193; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1210 = if2_ibuf__T_5 ? if2_ibuf__GEN_1202 : if2_ibuf__GEN_1194; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1211 = if2_ibuf__T_5 ? if2_ibuf__GEN_1203 : if2_ibuf__GEN_1195; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1212 = if2_ibuf__T_5 ? if2_ibuf__GEN_1204 : if2_ibuf__GEN_1196; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1213 = if2_ibuf__T_5 ? if2_ibuf__GEN_1205 : if2_ibuf__GEN_1197; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1214 = if2_ibuf__T_5 ? if2_ibuf__GEN_1206 : if2_ibuf__GEN_1198; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1215 = if2_ibuf__T_5 ? if2_ibuf__GEN_1207 : if2_ibuf__GEN_1199; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_1256 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1144; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1257 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1145; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1258 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1146; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1259 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1147; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1260 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1148; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1261 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1149; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1262 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1150; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1263 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1151; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1264 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1152; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1265 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1153; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1266 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1154; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1267 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1155; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1268 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1156; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1269 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1157; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1270 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1158; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1271 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1159; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1272 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1160; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1273 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1161; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1274 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1162; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1275 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1163; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1276 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1164; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1277 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1165; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1278 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1166; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1279 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1167; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1280 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1168; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1281 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1169; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1282 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1170; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1283 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1171; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1284 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1172; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1285 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1173; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1286 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1174; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1287 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1175; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1296 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1208; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1297 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1209; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1298 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1210; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1299 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1211; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1300 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1212; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1301 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1213; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1302 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1214; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1303 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 | if2_ibuf__GEN_1215; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1304 = if2_ibuf__T_16 ? if2_ibuf__GEN_1296 : if2_ibuf__GEN_1208; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1305 = if2_ibuf__T_16 ? if2_ibuf__GEN_1297 : if2_ibuf__GEN_1209; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1306 = if2_ibuf__T_16 ? if2_ibuf__GEN_1298 : if2_ibuf__GEN_1210; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1307 = if2_ibuf__T_16 ? if2_ibuf__GEN_1299 : if2_ibuf__GEN_1211; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1308 = if2_ibuf__T_16 ? if2_ibuf__GEN_1300 : if2_ibuf__GEN_1212; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1309 = if2_ibuf__T_16 ? if2_ibuf__GEN_1301 : if2_ibuf__GEN_1213; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1310 = if2_ibuf__T_16 ? if2_ibuf__GEN_1302 : if2_ibuf__GEN_1214; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1311 = if2_ibuf__T_16 ? if2_ibuf__GEN_1303 : if2_ibuf__GEN_1215; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1312 = 3'h0 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1304; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1313 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1305; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1314 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1306; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1315 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1307; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1316 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1308; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1317 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1309; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1318 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1310; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1319 = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1311; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1320 = if2_ibuf__T_7 ? if2_ibuf__GEN_1312 : if2_ibuf__GEN_1304; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1321 = if2_ibuf__T_7 ? if2_ibuf__GEN_1313 : if2_ibuf__GEN_1305; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1322 = if2_ibuf__T_7 ? if2_ibuf__GEN_1314 : if2_ibuf__GEN_1306; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1323 = if2_ibuf__T_7 ? if2_ibuf__GEN_1315 : if2_ibuf__GEN_1307; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1324 = if2_ibuf__T_7 ? if2_ibuf__GEN_1316 : if2_ibuf__GEN_1308; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1325 = if2_ibuf__T_7 ? if2_ibuf__GEN_1317 : if2_ibuf__GEN_1309; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1326 = if2_ibuf__T_7 ? if2_ibuf__GEN_1318 : if2_ibuf__GEN_1310; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1327 = if2_ibuf__T_7 ? if2_ibuf__GEN_1319 : if2_ibuf__GEN_1311; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_1368 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1256; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1369 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1257; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1370 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1258; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1371 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1259; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1372 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1260; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1373 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1261; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1374 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1262; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1375 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_pc : if2_ibuf__GEN_1263; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1376 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1264; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1377 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1265; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1378 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1266; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1379 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1267; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1380 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1268; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1381 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1269; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1382 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1270; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1383 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_instr : if2_ibuf__GEN_1271; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1384 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1272; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1385 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1273; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1386 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1274; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1387 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1275; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1388 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1276; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1389 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1277; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1390 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1278; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1391 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isFault : if2_ibuf__GEN_1279; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1392 = 3'h0 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1280; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1393 = 3'h1 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1281; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1394 = 3'h2 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1282; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1395 = 3'h3 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1283; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1396 = 3'h4 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1284; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1397 = 3'h5 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1285; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1398 = 3'h6 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1286; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1399 = 3'h7 == if2_ibuf__io_enq_2_ready_T_1 ? if2_ibuf__buf_T_17_isRedirect : if2_ibuf__GEN_1287; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__T_24 = if2_ibuf_io_enq_3_ready & if2_ibuf_io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire  if2_ibuf__GEN_1408 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1320; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1409 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1321; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1410 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1322; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1411 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1323; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1412 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1324; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1413 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1325; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1414 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1326; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1415 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1327; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1416 = if2_ibuf__T_24 ? if2_ibuf__GEN_1408 : if2_ibuf__GEN_1320; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1417 = if2_ibuf__T_24 ? if2_ibuf__GEN_1409 : if2_ibuf__GEN_1321; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1418 = if2_ibuf__T_24 ? if2_ibuf__GEN_1410 : if2_ibuf__GEN_1322; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1419 = if2_ibuf__T_24 ? if2_ibuf__GEN_1411 : if2_ibuf__GEN_1323; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1420 = if2_ibuf__T_24 ? if2_ibuf__GEN_1412 : if2_ibuf__GEN_1324; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1421 = if2_ibuf__T_24 ? if2_ibuf__GEN_1413 : if2_ibuf__GEN_1325; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1422 = if2_ibuf__T_24 ? if2_ibuf__GEN_1414 : if2_ibuf__GEN_1326; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1423 = if2_ibuf__T_24 ? if2_ibuf__GEN_1415 : if2_ibuf__GEN_1327; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1424 = 3'h0 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1416; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1425 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1417; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1426 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1418; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1427 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1419; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1428 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1420; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1429 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1421; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1430 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1422; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1431 = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1423; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1432 = if2_ibuf__T_1 ? if2_ibuf__GEN_1424 : if2_ibuf__GEN_1416; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1433 = if2_ibuf__T_1 ? if2_ibuf__GEN_1425 : if2_ibuf__GEN_1417; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1434 = if2_ibuf__T_1 ? if2_ibuf__GEN_1426 : if2_ibuf__GEN_1418; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1435 = if2_ibuf__T_1 ? if2_ibuf__GEN_1427 : if2_ibuf__GEN_1419; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1436 = if2_ibuf__T_1 ? if2_ibuf__GEN_1428 : if2_ibuf__GEN_1420; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1437 = if2_ibuf__T_1 ? if2_ibuf__GEN_1429 : if2_ibuf__GEN_1421; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1438 = if2_ibuf__T_1 ? if2_ibuf__GEN_1430 : if2_ibuf__GEN_1422; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1439 = if2_ibuf__T_1 ? if2_ibuf__GEN_1431 : if2_ibuf__GEN_1423; // @[MultiPortFifo.scala 98:34]
  wire [38:0] if2_ibuf__GEN_1445 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1446 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1447 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1448 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1450 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_1445; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1451 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_1446; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1452 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_1447; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1453 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_1448; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1455 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_1450; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1456 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_1451; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1457 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_1452; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1458 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_1453; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1460 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_1455; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1461 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_1456; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1462 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_1457; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1463 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_1458; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1465 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_1460; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1466 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_1461; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1467 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_1462; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1468 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_1463; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1470 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_1465; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1471 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_1466; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1472 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_1467; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1473 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_1468; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__GEN_1475 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_1470; // @[MultiPortFifo.scala 101:{33,33}]
  wire [15:0] if2_ibuf__GEN_1476 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_1471; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1477 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_7_isFault : if2_ibuf__GEN_1472; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if2_ibuf__GEN_1478 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf_buf_7_isRedirect : if2_ibuf__GEN_1473; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if2_ibuf__buf_T_25_pc = if2_ibuf__T_24 ? if2_ibuf_io_enq_3_bits_pc : if2_ibuf__GEN_1475; // @[MultiPortFifo.scala 101:33]
  wire [15:0] if2_ibuf__buf_T_25_instr = if2_ibuf__T_24 ? if2_ibuf_io_enq_3_bits_instr : if2_ibuf__GEN_1476; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_25_isFault = if2_ibuf__T_24 ? 1'h0 : if2_ibuf__GEN_1477; // @[MultiPortFifo.scala 101:33]
  wire  if2_ibuf__buf_T_25_isRedirect = if2_ibuf__T_24 ? 1'h0 : if2_ibuf__GEN_1478; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if2_ibuf__GEN_1480 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1368; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1481 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1369; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1482 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1370; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1483 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1371; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1484 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1372; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1485 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1373; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1486 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1374; // @[MultiPortFifo.scala 101:{27,27}]
  wire [38:0] if2_ibuf__GEN_1487 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_pc : if2_ibuf__GEN_1375; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1488 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1376; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1489 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1377; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1490 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1378; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1491 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1379; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1492 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1380; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1493 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1381; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1494 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1382; // @[MultiPortFifo.scala 101:{27,27}]
  wire [15:0] if2_ibuf__GEN_1495 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_instr : if2_ibuf__GEN_1383; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1496 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1384; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1497 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1385; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1498 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1386; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1499 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1387; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1500 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1388; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1501 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1389; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1502 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1390; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1503 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isFault : if2_ibuf__GEN_1391; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1504 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1392; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1505 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1393; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1506 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1394; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1507 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1395; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1508 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1396; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1509 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1397; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1510 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1398; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1511 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 ? if2_ibuf__buf_T_25_isRedirect : if2_ibuf__GEN_1399; // @[MultiPortFifo.scala 101:{27,27}]
  wire  if2_ibuf__GEN_1520 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1432; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1521 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1433; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1522 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1434; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1523 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1435; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1524 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1436; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1525 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1437; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1526 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1438; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1527 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1439; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1528 = if2_ibuf__T_24 ? if2_ibuf__GEN_1520 : if2_ibuf__GEN_1432; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1529 = if2_ibuf__T_24 ? if2_ibuf__GEN_1521 : if2_ibuf__GEN_1433; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1530 = if2_ibuf__T_24 ? if2_ibuf__GEN_1522 : if2_ibuf__GEN_1434; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1531 = if2_ibuf__T_24 ? if2_ibuf__GEN_1523 : if2_ibuf__GEN_1435; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1532 = if2_ibuf__T_24 ? if2_ibuf__GEN_1524 : if2_ibuf__GEN_1436; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1533 = if2_ibuf__T_24 ? if2_ibuf__GEN_1525 : if2_ibuf__GEN_1437; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1534 = if2_ibuf__T_24 ? if2_ibuf__GEN_1526 : if2_ibuf__GEN_1438; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1535 = if2_ibuf__T_24 ? if2_ibuf__GEN_1527 : if2_ibuf__GEN_1439; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1536 = 3'h0 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1528; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1537 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1529; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1538 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1530; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1539 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1531; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1540 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1532; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1541 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1533; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1542 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1534; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1543 = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1535; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1544 = if2_ibuf__T_3 ? if2_ibuf__GEN_1536 : if2_ibuf__GEN_1528; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1545 = if2_ibuf__T_3 ? if2_ibuf__GEN_1537 : if2_ibuf__GEN_1529; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1546 = if2_ibuf__T_3 ? if2_ibuf__GEN_1538 : if2_ibuf__GEN_1530; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1547 = if2_ibuf__T_3 ? if2_ibuf__GEN_1539 : if2_ibuf__GEN_1531; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1548 = if2_ibuf__T_3 ? if2_ibuf__GEN_1540 : if2_ibuf__GEN_1532; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1549 = if2_ibuf__T_3 ? if2_ibuf__GEN_1541 : if2_ibuf__GEN_1533; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1550 = if2_ibuf__T_3 ? if2_ibuf__GEN_1542 : if2_ibuf__GEN_1534; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1551 = if2_ibuf__T_3 ? if2_ibuf__GEN_1543 : if2_ibuf__GEN_1535; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1632 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1544; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1633 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1545; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1634 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1546; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1635 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1547; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1636 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1548; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1637 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1549; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1638 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1550; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1639 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1551; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1640 = if2_ibuf__T_24 ? if2_ibuf__GEN_1632 : if2_ibuf__GEN_1544; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1641 = if2_ibuf__T_24 ? if2_ibuf__GEN_1633 : if2_ibuf__GEN_1545; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1642 = if2_ibuf__T_24 ? if2_ibuf__GEN_1634 : if2_ibuf__GEN_1546; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1643 = if2_ibuf__T_24 ? if2_ibuf__GEN_1635 : if2_ibuf__GEN_1547; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1644 = if2_ibuf__T_24 ? if2_ibuf__GEN_1636 : if2_ibuf__GEN_1548; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1645 = if2_ibuf__T_24 ? if2_ibuf__GEN_1637 : if2_ibuf__GEN_1549; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1646 = if2_ibuf__T_24 ? if2_ibuf__GEN_1638 : if2_ibuf__GEN_1550; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1647 = if2_ibuf__T_24 ? if2_ibuf__GEN_1639 : if2_ibuf__GEN_1551; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1648 = 3'h0 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1640; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1649 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1641; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1650 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1642; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1651 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1643; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1652 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1644; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1653 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1645; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1654 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1646; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1655 = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? 1'h0 : if2_ibuf__GEN_1647; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if2_ibuf__GEN_1656 = if2_ibuf__T_5 ? if2_ibuf__GEN_1648 : if2_ibuf__GEN_1640; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1657 = if2_ibuf__T_5 ? if2_ibuf__GEN_1649 : if2_ibuf__GEN_1641; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1658 = if2_ibuf__T_5 ? if2_ibuf__GEN_1650 : if2_ibuf__GEN_1642; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1659 = if2_ibuf__T_5 ? if2_ibuf__GEN_1651 : if2_ibuf__GEN_1643; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1660 = if2_ibuf__T_5 ? if2_ibuf__GEN_1652 : if2_ibuf__GEN_1644; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1661 = if2_ibuf__T_5 ? if2_ibuf__GEN_1653 : if2_ibuf__GEN_1645; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1662 = if2_ibuf__T_5 ? if2_ibuf__GEN_1654 : if2_ibuf__GEN_1646; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1663 = if2_ibuf__T_5 ? if2_ibuf__GEN_1655 : if2_ibuf__GEN_1647; // @[MultiPortFifo.scala 98:34]
  wire  if2_ibuf__GEN_1744 = 3'h0 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1656; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1745 = 3'h1 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1657; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1746 = 3'h2 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1658; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1747 = 3'h3 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1659; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1748 = 3'h4 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1660; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1749 = 3'h5 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1661; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1750 = 3'h6 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1662; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1751 = 3'h7 == if2_ibuf__io_enq_3_ready_T_1 | if2_ibuf__GEN_1663; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if2_ibuf__GEN_1752 = if2_ibuf__T_24 ? if2_ibuf__GEN_1744 : if2_ibuf__GEN_1656; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1753 = if2_ibuf__T_24 ? if2_ibuf__GEN_1745 : if2_ibuf__GEN_1657; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1754 = if2_ibuf__T_24 ? if2_ibuf__GEN_1746 : if2_ibuf__GEN_1658; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1755 = if2_ibuf__T_24 ? if2_ibuf__GEN_1747 : if2_ibuf__GEN_1659; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1756 = if2_ibuf__T_24 ? if2_ibuf__GEN_1748 : if2_ibuf__GEN_1660; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1757 = if2_ibuf__T_24 ? if2_ibuf__GEN_1749 : if2_ibuf__GEN_1661; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1758 = if2_ibuf__T_24 ? if2_ibuf__GEN_1750 : if2_ibuf__GEN_1662; // @[MultiPortFifo.scala 97:34]
  wire  if2_ibuf__GEN_1759 = if2_ibuf__T_24 ? if2_ibuf__GEN_1751 : if2_ibuf__GEN_1663; // @[MultiPortFifo.scala 97:34]
  wire [1:0] if2_ibuf__rd_ptr_T_1 = if2_ibuf__T_3 ? 2'h2 : {{1'd0}, if2_ibuf__T_1}; // @[Mux.scala 101:16]
  wire [1:0] if2_ibuf__rd_ptr_T_2 = if2_ibuf__T_5 ? 2'h3 : if2_ibuf__rd_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] if2_ibuf__rd_ptr_T_3 = if2_ibuf__T_7 ? 3'h4 : {{1'd0}, if2_ibuf__rd_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] if2_ibuf__rd_ptr_T_5 = if2_ibuf_rd_ptr + if2_ibuf__rd_ptr_T_3; // @[MultiPortFifo.scala 106:26]
  wire [1:0] if2_ibuf__wr_ptr_T_1 = if2_ibuf__T_8 ? 2'h2 : {{1'd0}, if2_ibuf__T}; // @[Mux.scala 101:16]
  wire [1:0] if2_ibuf__wr_ptr_T_2 = if2_ibuf__T_16 ? 2'h3 : if2_ibuf__wr_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] if2_ibuf__wr_ptr_T_3 = if2_ibuf__T_24 ? 3'h4 : {{1'd0}, if2_ibuf__wr_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] if2_ibuf__wr_ptr_T_5 = if2_ibuf_wr_ptr + if2_ibuf__wr_ptr_T_3; // @[MultiPortFifo.scala 107:26]
  wire [38:0] if2_ibuf__GEN_1911 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1912 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1914 = 3'h1 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1916 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_1911; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1917 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_1912; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1919 = 3'h2 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_1914; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1921 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_1916; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1922 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_1917; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1924 = 3'h3 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_1919; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1926 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_1921; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1927 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_1922; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1929 = 3'h4 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_1924; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1931 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_1926; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1932 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_1927; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1934 = 3'h5 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_1929; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1936 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_1931; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1937 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_1932; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1939 = 3'h6 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_1934; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1951 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1952 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1953 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1954 = 3'h1 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1956 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_1951; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1957 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_1952; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1958 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_1953; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1959 = 3'h2 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_1954; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1961 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_1956; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1962 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_1957; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1963 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_1958; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1964 = 3'h3 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_1959; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1966 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_1961; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1967 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_1962; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1968 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_1963; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1969 = 3'h4 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_1964; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1971 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_1966; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1972 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_1967; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1973 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_1968; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1974 = 3'h5 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_1969; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1976 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_1971; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1977 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_1972; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1978 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_1973; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1979 = 3'h6 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_1974; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1991 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1992 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1993 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1994 = 3'h1 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_1996 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_1991; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_1997 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_1992; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1998 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_1993; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_1999 = 3'h2 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_1994; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2001 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_1996; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2002 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_1997; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2003 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_1998; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2004 = 3'h3 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_1999; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2006 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_2001; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2007 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_2002; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2008 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_2003; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2009 = 3'h4 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_2004; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2011 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_2006; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2012 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_2007; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2013 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_2008; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2014 = 3'h5 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_2009; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2016 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_2011; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2017 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_2012; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2018 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_2013; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2019 = 3'h6 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_2014; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2031 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_1_pc : if2_ibuf_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2032 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_1_instr : if2_ibuf_buf_0_instr; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2033 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_1_isFault : if2_ibuf_buf_0_isFault; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2034 = 3'h1 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_1_isRedirect :
    if2_ibuf_buf_0_isRedirect; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2036 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_2_pc : if2_ibuf__GEN_2031; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2037 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_2_instr : if2_ibuf__GEN_2032; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2038 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_2_isFault : if2_ibuf__GEN_2033; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2039 = 3'h2 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_2_isRedirect : if2_ibuf__GEN_2034; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2041 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_3_pc : if2_ibuf__GEN_2036; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2042 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_3_instr : if2_ibuf__GEN_2037; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2043 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_3_isFault : if2_ibuf__GEN_2038; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2044 = 3'h3 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_3_isRedirect : if2_ibuf__GEN_2039; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2046 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_4_pc : if2_ibuf__GEN_2041; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2047 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_4_instr : if2_ibuf__GEN_2042; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2048 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_4_isFault : if2_ibuf__GEN_2043; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2049 = 3'h4 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_4_isRedirect : if2_ibuf__GEN_2044; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2051 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_5_pc : if2_ibuf__GEN_2046; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2052 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_5_instr : if2_ibuf__GEN_2047; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2053 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_5_isFault : if2_ibuf__GEN_2048; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2054 = 3'h5 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_5_isRedirect : if2_ibuf__GEN_2049; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if2_ibuf__GEN_2056 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_6_pc : if2_ibuf__GEN_2051; // @[MultiPortFifo.scala 114:{14,14}]
  wire [15:0] if2_ibuf__GEN_2057 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_6_instr : if2_ibuf__GEN_2052; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2058 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_6_isFault : if2_ibuf__GEN_2053; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__GEN_2059 = 3'h6 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_6_isRedirect : if2_ibuf__GEN_2054; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if2_ibuf__T_33 = ~if2_ibuf_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if2_ibuf__T_34 = if2_ibuf_io_enq_0_valid & if2_ibuf__T_33; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_37 = ~if2_ibuf__T_34; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_39 = ~if2_ibuf_reset; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_40 = ~if2_ibuf__T_37; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_42 = ~if2_ibuf_io_enq_1_valid; // @[MultiPortFifo.scala 161:63]
  wire  if2_ibuf__T_51 = ~if2_ibuf_io_enq_2_valid; // @[MultiPortFifo.scala 161:63]
  wire  if2_ibuf__T_60 = ~if2_ibuf_io_enq_3_valid; // @[MultiPortFifo.scala 161:63]
  wire  if2_ibuf__T_70 = if2_ibuf_io_enq_1_valid & if2_ibuf__T_33; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_73 = ~if2_ibuf__T_70; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_76 = ~if2_ibuf__T_73; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_79 = if2_ibuf_io_enq_1_valid & if2_ibuf__T_42; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_82 = ~if2_ibuf__T_79; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_85 = ~if2_ibuf__T_82; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_106 = if2_ibuf_io_enq_2_valid & if2_ibuf__T_33; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_109 = ~if2_ibuf__T_106; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_112 = ~if2_ibuf__T_109; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_115 = if2_ibuf_io_enq_2_valid & if2_ibuf__T_42; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_118 = ~if2_ibuf__T_115; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_121 = ~if2_ibuf__T_118; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_124 = if2_ibuf_io_enq_2_valid & if2_ibuf__T_51; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_127 = ~if2_ibuf__T_124; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_130 = ~if2_ibuf__T_127; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_142 = if2_ibuf_io_enq_3_valid & if2_ibuf__T_33; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_145 = ~if2_ibuf__T_142; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_148 = ~if2_ibuf__T_145; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_151 = if2_ibuf_io_enq_3_valid & if2_ibuf__T_42; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_154 = ~if2_ibuf__T_151; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_157 = ~if2_ibuf__T_154; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_160 = if2_ibuf_io_enq_3_valid & if2_ibuf__T_51; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_163 = ~if2_ibuf__T_160; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_166 = ~if2_ibuf__T_163; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_169 = if2_ibuf_io_enq_3_valid & if2_ibuf__T_60; // @[MultiPortFifo.scala 161:44]
  wire  if2_ibuf__T_172 = ~if2_ibuf__T_169; // @[MultiPortFifo.scala 161:15]
  wire  if2_ibuf__T_175 = ~if2_ibuf__T_172; // @[MultiPortFifo.scala 161:13]
  wire  if2_ibuf__T_177 = ~if2_ibuf_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if2_ibuf__T_178 = if2_ibuf_io_deq_0_valid & if2_ibuf__T_177; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_181 = ~if2_ibuf__T_178; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_184 = ~if2_ibuf__T_181; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_186 = ~if2_ibuf_io_deq_1_valid; // @[MultiPortFifo.scala 164:63]
  wire  if2_ibuf__T_195 = ~if2_ibuf_io_deq_2_valid; // @[MultiPortFifo.scala 164:63]
  wire  if2_ibuf__T_204 = ~if2_ibuf_io_deq_3_valid; // @[MultiPortFifo.scala 164:63]
  wire  if2_ibuf__T_214 = if2_ibuf_io_deq_1_valid & if2_ibuf__T_177; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_217 = ~if2_ibuf__T_214; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_220 = ~if2_ibuf__T_217; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_223 = if2_ibuf_io_deq_1_valid & if2_ibuf__T_186; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_226 = ~if2_ibuf__T_223; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_229 = ~if2_ibuf__T_226; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_250 = if2_ibuf_io_deq_2_valid & if2_ibuf__T_177; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_253 = ~if2_ibuf__T_250; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_256 = ~if2_ibuf__T_253; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_259 = if2_ibuf_io_deq_2_valid & if2_ibuf__T_186; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_262 = ~if2_ibuf__T_259; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_265 = ~if2_ibuf__T_262; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_268 = if2_ibuf_io_deq_2_valid & if2_ibuf__T_195; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_271 = ~if2_ibuf__T_268; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_274 = ~if2_ibuf__T_271; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_286 = if2_ibuf_io_deq_3_valid & if2_ibuf__T_177; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_289 = ~if2_ibuf__T_286; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_292 = ~if2_ibuf__T_289; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_295 = if2_ibuf_io_deq_3_valid & if2_ibuf__T_186; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_298 = ~if2_ibuf__T_295; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_301 = ~if2_ibuf__T_298; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_304 = if2_ibuf_io_deq_3_valid & if2_ibuf__T_195; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_307 = ~if2_ibuf__T_304; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_310 = ~if2_ibuf__T_307; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_313 = if2_ibuf_io_deq_3_valid & if2_ibuf__T_204; // @[MultiPortFifo.scala 164:44]
  wire  if2_ibuf__T_316 = ~if2_ibuf__T_313; // @[MultiPortFifo.scala 164:15]
  wire  if2_ibuf__T_319 = ~if2_ibuf__T_316; // @[MultiPortFifo.scala 164:13]
  wire  if2_ibuf__T_325 = ~if2_ibuf__T; // @[MultiPortFifo.scala 169:17]
  wire  if2_ibuf__T_334 = ~if2_ibuf__T_8; // @[MultiPortFifo.scala 169:17]
  wire  if2_ibuf__T_347 = ~if2_ibuf__T_16; // @[MultiPortFifo.scala 169:17]
  wire  if2_ibuf__T_353 = ~if2_ibuf__T_1; // @[MultiPortFifo.scala 177:17]
  wire  if2_ibuf__T_362 = ~if2_ibuf__T_3; // @[MultiPortFifo.scala 177:17]
  wire  if2_ibuf__T_375 = ~if2_ibuf__T_5; // @[MultiPortFifo.scala 177:17]
  wire  if2_datRAM_0_clock;
  wire [1:0] if2_datRAM_0_io_addrr;
  wire [1:0] if2_datRAM_0_io_addrw;
  wire [7:0] if2_datRAM_0_io_dataw_0;
  wire [7:0] if2_datRAM_0_io_dataw_1;
  wire [7:0] if2_datRAM_0_io_dataw_2;
  wire [7:0] if2_datRAM_0_io_dataw_3;
  wire [7:0] if2_datRAM_0_io_dataw_4;
  wire [7:0] if2_datRAM_0_io_dataw_5;
  wire [7:0] if2_datRAM_0_io_dataw_6;
  wire [7:0] if2_datRAM_0_io_dataw_7;
  wire [7:0] if2_datRAM_0_io_dataw_8;
  wire [7:0] if2_datRAM_0_io_dataw_9;
  wire [7:0] if2_datRAM_0_io_dataw_10;
  wire [7:0] if2_datRAM_0_io_dataw_11;
  wire [7:0] if2_datRAM_0_io_dataw_12;
  wire [7:0] if2_datRAM_0_io_dataw_13;
  wire [7:0] if2_datRAM_0_io_dataw_14;
  wire [7:0] if2_datRAM_0_io_dataw_15;
  wire [7:0] if2_datRAM_0_io_datar_0;
  wire [7:0] if2_datRAM_0_io_datar_1;
  wire [7:0] if2_datRAM_0_io_datar_2;
  wire [7:0] if2_datRAM_0_io_datar_3;
  wire [7:0] if2_datRAM_0_io_datar_4;
  wire [7:0] if2_datRAM_0_io_datar_5;
  wire [7:0] if2_datRAM_0_io_datar_6;
  wire [7:0] if2_datRAM_0_io_datar_7;
  wire [7:0] if2_datRAM_0_io_datar_8;
  wire [7:0] if2_datRAM_0_io_datar_9;
  wire [7:0] if2_datRAM_0_io_datar_10;
  wire [7:0] if2_datRAM_0_io_datar_11;
  wire [7:0] if2_datRAM_0_io_datar_12;
  wire [7:0] if2_datRAM_0_io_datar_13;
  wire [7:0] if2_datRAM_0_io_datar_14;
  wire [7:0] if2_datRAM_0_io_datar_15;
  wire  if2_datRAM_0_io_enw;
  wire  if2_datRAM_0_io_enr;
  reg [7:0] if2_datRAM_0_datMem_0 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_0_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_0_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_0_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_0_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_0_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_0_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_0_clock;
  reg  if2_datRAM_0_datMem_0_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_0_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_1 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_1_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_1_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_1_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_1_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_1_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_1_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_1_clock;
  reg  if2_datRAM_0_datMem_1_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_1_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_2 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_2_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_2_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_2_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_2_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_2_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_2_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_2_clock;
  reg  if2_datRAM_0_datMem_2_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_2_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_3 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_3_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_3_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_3_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_3_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_3_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_3_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_3_clock;
  reg  if2_datRAM_0_datMem_3_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_3_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_4 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_4_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_4_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_4_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_4_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_4_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_4_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_4_clock;
  reg  if2_datRAM_0_datMem_4_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_4_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_5 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_5_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_5_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_5_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_5_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_5_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_5_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_5_clock;
  reg  if2_datRAM_0_datMem_5_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_5_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_6 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_6_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_6_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_6_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_6_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_6_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_6_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_6_clock;
  reg  if2_datRAM_0_datMem_6_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_6_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_7 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_7_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_7_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_7_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_7_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_7_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_7_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_7_clock;
  reg  if2_datRAM_0_datMem_7_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_7_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_8 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_8_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_8_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_8_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_8_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_8_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_8_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_8_clock;
  reg  if2_datRAM_0_datMem_8_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_8_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_9 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_9_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_9_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_9_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_9_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_9_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_9_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_9_clock;
  reg  if2_datRAM_0_datMem_9_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_9_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_10 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_10_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_10_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_10_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_10_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_10_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_10_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_10_clock;
  reg  if2_datRAM_0_datMem_10_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_10_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_11 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_11_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_11_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_11_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_11_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_11_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_11_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_11_clock;
  reg  if2_datRAM_0_datMem_11_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_11_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_12 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_12_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_12_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_12_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_12_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_12_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_12_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_12_clock;
  reg  if2_datRAM_0_datMem_12_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_12_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_13 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_13_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_13_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_13_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_13_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_13_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_13_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_13_clock;
  reg  if2_datRAM_0_datMem_13_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_13_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_14 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_14_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_14_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_14_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_14_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_14_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_14_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_14_clock;
  reg  if2_datRAM_0_datMem_14_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_14_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_0_datMem_15 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_15_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_15_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_15_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_0_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_0_datMem_15_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_15_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_15_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_0_datMem_15_clock;
  reg  if2_datRAM_0_datMem_15_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_0_datMem_15_MPORT_addr_pipe_0;
  wire  if2_datRAM_1_clock;
  wire [1:0] if2_datRAM_1_io_addrr;
  wire [1:0] if2_datRAM_1_io_addrw;
  wire [7:0] if2_datRAM_1_io_dataw_0;
  wire [7:0] if2_datRAM_1_io_dataw_1;
  wire [7:0] if2_datRAM_1_io_dataw_2;
  wire [7:0] if2_datRAM_1_io_dataw_3;
  wire [7:0] if2_datRAM_1_io_dataw_4;
  wire [7:0] if2_datRAM_1_io_dataw_5;
  wire [7:0] if2_datRAM_1_io_dataw_6;
  wire [7:0] if2_datRAM_1_io_dataw_7;
  wire [7:0] if2_datRAM_1_io_dataw_8;
  wire [7:0] if2_datRAM_1_io_dataw_9;
  wire [7:0] if2_datRAM_1_io_dataw_10;
  wire [7:0] if2_datRAM_1_io_dataw_11;
  wire [7:0] if2_datRAM_1_io_dataw_12;
  wire [7:0] if2_datRAM_1_io_dataw_13;
  wire [7:0] if2_datRAM_1_io_dataw_14;
  wire [7:0] if2_datRAM_1_io_dataw_15;
  wire [7:0] if2_datRAM_1_io_datar_0;
  wire [7:0] if2_datRAM_1_io_datar_1;
  wire [7:0] if2_datRAM_1_io_datar_2;
  wire [7:0] if2_datRAM_1_io_datar_3;
  wire [7:0] if2_datRAM_1_io_datar_4;
  wire [7:0] if2_datRAM_1_io_datar_5;
  wire [7:0] if2_datRAM_1_io_datar_6;
  wire [7:0] if2_datRAM_1_io_datar_7;
  wire [7:0] if2_datRAM_1_io_datar_8;
  wire [7:0] if2_datRAM_1_io_datar_9;
  wire [7:0] if2_datRAM_1_io_datar_10;
  wire [7:0] if2_datRAM_1_io_datar_11;
  wire [7:0] if2_datRAM_1_io_datar_12;
  wire [7:0] if2_datRAM_1_io_datar_13;
  wire [7:0] if2_datRAM_1_io_datar_14;
  wire [7:0] if2_datRAM_1_io_datar_15;
  wire  if2_datRAM_1_io_enw;
  wire  if2_datRAM_1_io_enr;
  reg [7:0] if2_datRAM_1_datMem_0 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_0_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_0_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_0_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_0_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_0_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_0_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_0_clock;
  reg  if2_datRAM_1_datMem_0_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_0_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_1 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_1_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_1_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_1_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_1_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_1_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_1_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_1_clock;
  reg  if2_datRAM_1_datMem_1_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_1_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_2 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_2_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_2_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_2_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_2_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_2_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_2_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_2_clock;
  reg  if2_datRAM_1_datMem_2_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_2_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_3 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_3_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_3_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_3_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_3_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_3_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_3_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_3_clock;
  reg  if2_datRAM_1_datMem_3_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_3_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_4 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_4_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_4_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_4_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_4_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_4_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_4_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_4_clock;
  reg  if2_datRAM_1_datMem_4_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_4_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_5 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_5_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_5_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_5_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_5_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_5_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_5_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_5_clock;
  reg  if2_datRAM_1_datMem_5_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_5_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_6 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_6_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_6_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_6_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_6_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_6_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_6_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_6_clock;
  reg  if2_datRAM_1_datMem_6_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_6_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_7 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_7_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_7_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_7_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_7_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_7_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_7_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_7_clock;
  reg  if2_datRAM_1_datMem_7_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_7_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_8 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_8_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_8_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_8_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_8_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_8_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_8_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_8_clock;
  reg  if2_datRAM_1_datMem_8_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_8_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_9 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_9_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_9_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_9_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_9_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_9_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_9_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_9_clock;
  reg  if2_datRAM_1_datMem_9_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_9_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_10 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_10_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_10_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_10_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_10_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_10_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_10_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_10_clock;
  reg  if2_datRAM_1_datMem_10_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_10_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_11 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_11_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_11_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_11_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_11_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_11_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_11_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_11_clock;
  reg  if2_datRAM_1_datMem_11_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_11_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_12 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_12_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_12_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_12_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_12_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_12_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_12_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_12_clock;
  reg  if2_datRAM_1_datMem_12_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_12_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_13 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_13_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_13_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_13_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_13_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_13_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_13_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_13_clock;
  reg  if2_datRAM_1_datMem_13_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_13_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_14 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_14_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_14_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_14_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_14_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_14_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_14_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_14_clock;
  reg  if2_datRAM_1_datMem_14_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_14_MPORT_addr_pipe_0;
  reg [7:0] if2_datRAM_1_datMem_15 [0:3]; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_15_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_15_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_15_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] if2_datRAM_1_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] if2_datRAM_1_datMem_15_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_15_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_15_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  if2_datRAM_1_datMem_15_clock;
  reg  if2_datRAM_1_datMem_15_MPORT_en_pipe_0;
  reg [1:0] if2_datRAM_1_datMem_15_MPORT_addr_pipe_0;
  wire  if2_tagRAM_0_clock;
  wire [1:0] if2_tagRAM_0_io_addrr;
  wire [1:0] if2_tagRAM_0_io_addrw;
  wire [25:0] if2_tagRAM_0_io_dataw;
  wire [25:0] if2_tagRAM_0_io_datar;
  wire  if2_tagRAM_0_io_enw;
  wire  if2_tagRAM_0_io_enr;
  reg [25:0] if2_tagRAM_0_tagMem [0:3]; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_0_tagMem_io_datar_MPORT_en; // @[CacheRAM.scala 152:27]
  wire [1:0] if2_tagRAM_0_tagMem_io_datar_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire [25:0] if2_tagRAM_0_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [25:0] if2_tagRAM_0_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [1:0] if2_tagRAM_0_tagMem_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_0_tagMem_MPORT_mask; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_0_tagMem_MPORT_en; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_0_tagMem_clock;
  reg  if2_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0;
  reg [1:0] if2_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0;
  wire  if2_tagRAM_1_clock;
  wire [1:0] if2_tagRAM_1_io_addrr;
  wire [1:0] if2_tagRAM_1_io_addrw;
  wire [25:0] if2_tagRAM_1_io_dataw;
  wire [25:0] if2_tagRAM_1_io_datar;
  wire  if2_tagRAM_1_io_enw;
  wire  if2_tagRAM_1_io_enr;
  reg [25:0] if2_tagRAM_1_tagMem [0:3]; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_1_tagMem_io_datar_MPORT_en; // @[CacheRAM.scala 152:27]
  wire [1:0] if2_tagRAM_1_tagMem_io_datar_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire [25:0] if2_tagRAM_1_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [25:0] if2_tagRAM_1_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [1:0] if2_tagRAM_1_tagMem_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_1_tagMem_MPORT_mask; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_1_tagMem_MPORT_en; // @[CacheRAM.scala 152:27]
  wire  if2_tagRAM_1_tagMem_clock;
  reg  if2_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0;
  reg [1:0] if2_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0;
  wire  if2_rpl_sel_rpl_prng_clock;
  wire  if2_rpl_sel_rpl_prng_reset;
  wire  if2_rpl_sel_rpl_prng_io_increment;
  wire  if2_rpl_sel_rpl_prng_io_out_0;
  wire  if2_rpl_sel_rpl_prng_io_out_1;
  wire  if2_rpl_sel_rpl_prng_io_out_2;
  wire  if2_rpl_sel_rpl_prng_io_out_3;
  wire  if2_rpl_sel_rpl_prng_io_out_4;
  wire  if2_rpl_sel_rpl_prng_io_out_5;
  wire  if2_rpl_sel_rpl_prng_io_out_6;
  wire  if2_rpl_sel_rpl_prng_io_out_7;
  wire  if2_rpl_sel_rpl_prng_io_out_8;
  wire  if2_rpl_sel_rpl_prng_io_out_9;
  wire  if2_rpl_sel_rpl_prng_io_out_10;
  wire  if2_rpl_sel_rpl_prng_io_out_11;
  wire  if2_rpl_sel_rpl_prng_io_out_12;
  wire  if2_rpl_sel_rpl_prng_io_out_13;
  wire  if2_rpl_sel_rpl_prng_io_out_14;
  wire  if2_rpl_sel_rpl_prng_io_out_15;
  reg  if2_rpl_sel_rpl_prng_state_0; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_1; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_2; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_3; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_4; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_5; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_6; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_7; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_8; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_9; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_10; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_11; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_12; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_13; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_14; // @[PRNG.scala 55:49]
  reg  if2_rpl_sel_rpl_prng_state_15; // @[PRNG.scala 55:49]
  wire  if2_rpl_sel_rpl_prng__T = if2_rpl_sel_rpl_prng_state_15 ^ if2_rpl_sel_rpl_prng_state_13; // @[LFSR.scala 15:41]
  wire  if2_rpl_sel_rpl_prng__T_1 = if2_rpl_sel_rpl_prng__T ^ if2_rpl_sel_rpl_prng_state_12; // @[LFSR.scala 15:41]
  wire  if2_rpl_sel_rpl_prng__T_2 = if2_rpl_sel_rpl_prng__T_1 ^ if2_rpl_sel_rpl_prng_state_10; // @[LFSR.scala 15:41]
  wire  if2_rpl_sel_rpl_prng__GEN_0 = if2_rpl_sel_rpl_prng_io_increment ? if2_rpl_sel_rpl_prng__T_2 :
    if2_rpl_sel_rpl_prng_state_0; // @[PRNG.scala 69:22 70:11 55:49]
  wire  if2__T = if2_io_icache_access_ready & if2_io_icache_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] if2__beats1_decode_T_1 = 11'hf << if2_io_icache_access_bits_size; // @[package.scala 234:77]
  wire [3:0] if2__beats1_decode_T_2 = if2__beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] if2__beats1_decode_T_3 = ~if2__beats1_decode_T_2; // @[package.scala 234:46]
  wire  if2_beats1_decode = if2__beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  if2_beats1_opdata = if2_io_icache_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  if2_beats1 = if2_beats1_opdata & if2_beats1_decode; // @[Edges.scala 220:14]
  reg  if2_counter; // @[Edges.scala 228:27]
  wire  if2_counter1 = if2_counter - 1'h1; // @[Edges.scala 229:28]
  wire  if2_first = ~if2_counter; // @[Edges.scala 230:25]
  wire  if2__last_T_1 = ~if2_beats1; // @[Edges.scala 231:47]
  wire  if2_last = if2_counter | if2__last_T_1; // @[Edges.scala 231:37]
  wire  if2_is_trans_done = if2_last & if2__T; // @[Edges.scala 232:22]
  reg [63:0] if2_icache_access_data_lo_0; // @[IF2.scala 70:34]
  reg  if2_kill_trans; // @[IF2.scala 71:27]
  wire [1:0] if2_cl_sel = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 79:36]
  wire [25:0] if2_tag_sel = if2_io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  wire  if2__res_T_1 = if2_tagRAM_1_io_datar == if2_tag_sel; // @[IF2.scala 189:29]
  reg  if2_is_valid_3_1; // @[IF2.scala 180:25]
  reg  if2_is_valid_2_1; // @[IF2.scala 180:25]
  reg  if2_is_valid_1_1; // @[IF2.scala 180:25]
  reg  if2_is_valid_0_1; // @[IF2.scala 180:25]
  wire  if2__GEN_8 = 2'h1 == if2_cl_sel ? if2_is_valid_1_1 : if2_is_valid_0_1; // @[IF2.scala 189:{42,42}]
  wire  if2__GEN_9 = 2'h2 == if2_cl_sel ? if2_is_valid_2_1 : if2__GEN_8; // @[IF2.scala 189:{42,42}]
  wire  if2__GEN_10 = 2'h3 == if2_cl_sel ? if2_is_valid_3_1 : if2__GEN_9; // @[IF2.scala 189:{42,42}]
  wire  if2_res_1 = if2__res_T_1 & if2__GEN_10; // @[IF2.scala 189:42]
  wire  if2__res_T = if2_tagRAM_0_io_datar == if2_tag_sel; // @[IF2.scala 189:29]
  reg  if2_is_valid_3_0; // @[IF2.scala 180:25]
  reg  if2_is_valid_2_0; // @[IF2.scala 180:25]
  reg  if2_is_valid_1_0; // @[IF2.scala 180:25]
  reg  if2_is_valid_0_0; // @[IF2.scala 180:25]
  wire  if2__GEN_4 = 2'h1 == if2_cl_sel ? if2_is_valid_1_0 : if2_is_valid_0_0; // @[IF2.scala 189:{42,42}]
  wire  if2__GEN_5 = 2'h2 == if2_cl_sel ? if2_is_valid_2_0 : if2__GEN_4; // @[IF2.scala 189:{42,42}]
  wire  if2__GEN_6 = 2'h3 == if2_cl_sel ? if2_is_valid_3_0 : if2__GEN_5; // @[IF2.scala 189:{42,42}]
  wire  if2_res_0 = if2__res_T & if2__GEN_6; // @[IF2.scala 189:42]
  wire [1:0] if2__is_hit_T = {if2_res_1,if2_res_0}; // @[IF2.scala 86:26]
  wire  if2_is_hit = |if2__is_hit_T; // @[IF2.scala 86:33]
  wire  if2__hit_sel_T_1 = if2__is_hit_T[1]; // @[CircuitMath.scala 28:8]
  reg [3:0] if2_icache_state_qout; // @[IF2.scala 98:34]
  reg  if2_fault_lock; // @[IF2.scala 100:27]
  wire  if2__io_mmu_if_ready_T_1 = ~if2_fault_lock; // @[IF2.scala 113:44]
  wire  if2__io_mmu_if_ready_T_2 = if2_ibuf__T & if2__io_mmu_if_ready_T_1; // @[IF2.scala 113:42]
  wire  if2__io_mmu_if_ready_T_3 = if2_io_mmu_if_bits_is_access_fault | if2_io_mmu_if_bits_is_paging_fault; // @[MMU.scala 77:34]
  wire  if2__io_mmu_if_ready_T_4 = ~if2__io_mmu_if_ready_T_3; // @[IF2.scala 113:58]
  wire  if2__is_access_fault_T = if2_io_mmu_if_valid & if2_io_mmu_if_bits_is_access_fault; // @[IF2.scala 117:38]
  wire  if2__is_paging_fault_T = if2_io_mmu_if_valid & if2_io_mmu_if_bits_is_paging_fault; // @[IF2.scala 118:38]
  wire  if2__T_2 = if2_io_mmu_if_valid & if2__io_mmu_if_ready_T_3; // @[IF2.scala 121:30]
  wire  if2__T_3 = ~if2_io_flush; // @[IF2.scala 121:58]
  wire  if2__T_4 = if2__T_2 & if2__T_3; // @[IF2.scala 121:56]
  wire  if2__T_6 = if2__T_4 & if2_ibuf__T; // @[IF2.scala 121:68]
  wire  if2__GEN_1 = if2__T_6 | if2_fault_lock; // @[IF2.scala 121:105 100:27 121:92]
  wire  if2__T_7 = if2__is_access_fault_T & if2__is_paging_fault_T; // @[IF2.scala 123:29]
  wire  if2__T_8 = ~if2__T_7; // @[IF2.scala 123:11]
  wire  if2__T_10 = ~if2_reset; // @[IF2.scala 123:9]
  wire  if2__T_11 = ~if2__T_8; // @[IF2.scala 123:9]
  wire  if2__icache_state_dnxt_T = if2_icache_state_qout == 4'h0; // @[IF2.scala 133:26]
  wire  if2__icache_state_dnxt_T_3 = if2_io_mmu_if_valid & if2__io_mmu_if_ready_T_4; // @[IF2.scala 134:32]
  wire  if2__icache_state_dnxt_T_5 = if2__icache_state_dnxt_T_3 & if2__T_3; // @[IF2.scala 134:59]
  wire  if2__icache_state_dnxt_T_6 = if2__icache_state_dnxt_T_5 & if2_ibuf_io_enq_3_ready; // @[IF2.scala 134:71]
  wire  if2__icache_state_dnxt_T_8 = if2__icache_state_dnxt_T_6 & if2__io_mmu_if_ready_T_1; // @[IF2.scala 134:100]
  wire  if2__icache_state_dnxt_T_10 = if2_icache_state_qout == 4'h1; // @[IF2.scala 135:26]
  wire  if2__icache_state_dnxt_T_11 = if2_io_icache_get_ready & if2_io_icache_get_valid; // @[Decoupled.scala 52:35]
  wire [1:0] if2__icache_state_dnxt_T_12 = if2__icache_state_dnxt_T_11 ? 2'h2 : 2'h1; // @[IF2.scala 138:26]
  wire [1:0] if2__icache_state_dnxt_T_13 = if2_is_hit ? 2'h0 : if2__icache_state_dnxt_T_12; // @[IF2.scala 137:14]
  wire [1:0] if2__icache_state_dnxt_T_14 = if2_io_flush ? 2'h0 : if2__icache_state_dnxt_T_13; // @[IF2.scala 136:12]
  wire  if2__icache_state_dnxt_T_15 = if2_icache_state_qout == 4'h2; // @[IF2.scala 139:26]
  wire [1:0] if2__icache_state_dnxt_T_16 = if2_is_trans_done ? 2'h0 : 2'h2; // @[IF2.scala 140:14]
  wire  if2__icache_state_dnxt_T_17 = if2__icache_state_dnxt_T & if2__icache_state_dnxt_T_8; // @[Mux.scala 27:73]
  wire [1:0] if2__icache_state_dnxt_T_18 = if2__icache_state_dnxt_T_10 ? if2__icache_state_dnxt_T_14 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] if2__icache_state_dnxt_T_19 = if2__icache_state_dnxt_T_15 ? if2__icache_state_dnxt_T_16 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_140 = {{1'd0}, if2__icache_state_dnxt_T_17}; // @[Mux.scala 27:73]
  wire [1:0] if2__icache_state_dnxt_T_20 = _GEN_140 | if2__icache_state_dnxt_T_18; // @[Mux.scala 27:73]
  wire [1:0] if2__icache_state_dnxt_T_21 = if2__icache_state_dnxt_T_20 | if2__icache_state_dnxt_T_19; // @[Mux.scala 27:73]
  wire [1:0] if2__T_13 = if2_res_0 + if2_res_1; // @[Bitwise.scala 51:90]
  wire  if2__T_15 = if2__T_13 <= 2'h1; // @[IF2.scala 193:28]
  wire  if2__T_18 = ~if2__T_15; // @[IF2.scala 193:13]
  wire  if2__is_emptyBlock_exist_r_T = ~if2__GEN_6; // @[IF2.scala 199:56]
  wire  if2__is_emptyBlock_exist_r_T_1 = ~if2__GEN_10; // @[IF2.scala 199:56]
  wire  if2_is_emptyBlock_exist_r = if2__is_emptyBlock_exist_r_T | if2__is_emptyBlock_exist_r_T_1; // @[IF2.scala 199:56]
  wire  if2_cb_em = if2__is_emptyBlock_exist_r_T ? 1'h0 : 1'h1; // @[IF2.scala 201:42]
  wire [7:0] if2_rpl_sel_rpl_lo = {if2_rpl_sel_rpl_prng_io_out_7,if2_rpl_sel_rpl_prng_io_out_6,
    if2_rpl_sel_rpl_prng_io_out_5,if2_rpl_sel_rpl_prng_io_out_4,if2_rpl_sel_rpl_prng_io_out_3,
    if2_rpl_sel_rpl_prng_io_out_2,if2_rpl_sel_rpl_prng_io_out_1,if2_rpl_sel_rpl_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire [15:0] if2_rpl_sel_rpl = {if2_rpl_sel_rpl_prng_io_out_15,if2_rpl_sel_rpl_prng_io_out_14,
    if2_rpl_sel_rpl_prng_io_out_13,if2_rpl_sel_rpl_prng_io_out_12,if2_rpl_sel_rpl_prng_io_out_11,
    if2_rpl_sel_rpl_prng_io_out_10,if2_rpl_sel_rpl_prng_io_out_9,if2_rpl_sel_rpl_prng_io_out_8,if2_rpl_sel_rpl_lo}; // @[PRNG.scala 95:17]
  wire [15:0] if2__rpl_sel_res_T = if2_is_emptyBlock_exist_r ? {{15'd0}, if2_cb_em} : if2_rpl_sel_rpl; // @[IF2.scala 228:17]
  wire  if2_rpl_sel_res = if2__rpl_sel_res_T[0]; // @[IF2.scala 218:21 228:11]
  wire  if2__cb_sel_T_1 = if2_is_hit ? if2__hit_sel_T_1 : if2_rpl_sel_res; // @[IF2.scala 209:43]
  wire  if2__cb_sel_T_3 = if2__icache_state_dnxt_T_10 & if2__cb_sel_T_1; // @[Mux.scala 27:73]
  wire  if2__cb_sel_T_4 = if2__icache_state_dnxt_T_15 & if2_rpl_sel_res; // @[Mux.scala 27:73]
  wire  if2__cb_sel_T_5 = if2__cb_sel_T_3 | if2__cb_sel_T_4; // @[Mux.scala 27:73]
  wire [3:0] if2_icache_state_dnxt = {{2'd0}, if2__icache_state_dnxt_T_21}; // @[IF2.scala 131:21 97:31]
  wire  if2__datRAM_0_io_enw_T_1 = if2_icache_state_dnxt == 4'h0; // @[IF2.scala 244:73]
  wire  if2__datRAM_0_io_enw_T_2 = if2__icache_state_dnxt_T_15 & if2__datRAM_0_io_enw_T_1; // @[IF2.scala 244:53]
  wire  if2__datRAM_0_io_enw_T_3 = ~if2__cb_sel_T_5; // @[IF2.scala 244:92]
  wire  if2__datRAM_0_io_enw_T_4 = if2__datRAM_0_io_enw_T_2 & if2__datRAM_0_io_enw_T_3; // @[IF2.scala 244:82]
  wire  if2__datRAM_0_io_enw_T_5 = ~if2_kill_trans; // @[IF2.scala 244:103]
  wire  if2__datRAM_0_io_enw_T_6 = if2__datRAM_0_io_enw_T_4 & if2__datRAM_0_io_enw_T_5; // @[IF2.scala 244:101]
  wire [127:0] if2__icache_access_data_T = {if2_io_icache_access_bits_data,if2_icache_access_data_lo_0}; // @[Cat.scala 33:92]
  wire  if2__datRAM_1_io_enw_T_4 = if2__datRAM_0_io_enw_T_2 & if2__cb_sel_T_5; // @[IF2.scala 244:82]
  wire  if2__datRAM_1_io_enw_T_6 = if2__datRAM_1_io_enw_T_4 & if2__datRAM_0_io_enw_T_5; // @[IF2.scala 244:101]
  wire  if2__T_52 = if2_tagRAM_0_io_datar == if2_tagRAM_1_io_datar; // @[IF2.scala 258:39]
  wire  if2__T_53 = if2__T_52 & if2__GEN_6; // @[IF2.scala 258:62]
  wire  if2__T_54 = if2__T_53 & if2__GEN_10; // @[IF2.scala 258:84]
  wire  if2__T_55 = ~if2__T_54; // @[IF2.scala 258:17]
  wire  if2__T_58 = ~if2__T_55; // @[IF2.scala 258:15]
  wire [63:0] if2_icache_sramrd_data_lo = {if2_datRAM_0_io_datar_7,if2_datRAM_0_io_datar_6,if2_datRAM_0_io_datar_5,
    if2_datRAM_0_io_datar_4,if2_datRAM_0_io_datar_3,if2_datRAM_0_io_datar_2,if2_datRAM_0_io_datar_1,
    if2_datRAM_0_io_datar_0}; // @[Cat.scala 33:92]
  wire [127:0] if2__icache_sramrd_data_T = {if2_datRAM_0_io_datar_15,if2_datRAM_0_io_datar_14,if2_datRAM_0_io_datar_13,
    if2_datRAM_0_io_datar_12,if2_datRAM_0_io_datar_11,if2_datRAM_0_io_datar_10,if2_datRAM_0_io_datar_9,
    if2_datRAM_0_io_datar_8,if2_icache_sramrd_data_lo}; // @[Cat.scala 33:92]
  wire [63:0] if2_icache_sramrd_data_lo_1 = {if2_datRAM_1_io_datar_7,if2_datRAM_1_io_datar_6,if2_datRAM_1_io_datar_5,
    if2_datRAM_1_io_datar_4,if2_datRAM_1_io_datar_3,if2_datRAM_1_io_datar_2,if2_datRAM_1_io_datar_1,
    if2_datRAM_1_io_datar_0}; // @[Cat.scala 33:92]
  wire [127:0] if2__icache_sramrd_data_T_1 = {if2_datRAM_1_io_datar_15,if2_datRAM_1_io_datar_14,if2_datRAM_1_io_datar_13
    ,if2_datRAM_1_io_datar_12,if2_datRAM_1_io_datar_11,if2_datRAM_1_io_datar_10,if2_datRAM_1_io_datar_9,
    if2_datRAM_1_io_datar_8,if2_icache_sramrd_data_lo_1}; // @[Cat.scala 33:92]
  wire [127:0] if2__icache_sramrd_data_T_2 = if2_res_0 ? if2__icache_sramrd_data_T : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] if2__icache_sramrd_data_T_3 = if2_res_1 ? if2__icache_sramrd_data_T_1 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] if2__icache_sramrd_data_T_4 = if2__icache_sramrd_data_T_2 | if2__icache_sramrd_data_T_3; // @[Mux.scala 27:73]
  wire  if2__T_63 = if2__datRAM_0_io_enw_T_2 & if2__datRAM_0_io_enw_T_5; // @[IF2.scala 265:63]
  wire  if2__T_65 = if2__T_63 & if2__T_3; // @[IF2.scala 265:77]
  wire  if2__GEN_11 = 2'h0 == if2_cl_sel & if2__datRAM_0_io_enw_T_3 | if2_is_valid_0_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_12 = 2'h0 == if2_cl_sel & if2__cb_sel_T_5 | if2_is_valid_0_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_13 = 2'h1 == if2_cl_sel & if2__datRAM_0_io_enw_T_3 | if2_is_valid_1_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_14 = 2'h1 == if2_cl_sel & if2__cb_sel_T_5 | if2_is_valid_1_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_15 = 2'h2 == if2_cl_sel & if2__datRAM_0_io_enw_T_3 | if2_is_valid_2_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_16 = 2'h2 == if2_cl_sel & if2__cb_sel_T_5 | if2_is_valid_2_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_17 = 2'h3 == if2_cl_sel & if2__datRAM_0_io_enw_T_3 | if2_is_valid_3_0; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__GEN_18 = 2'h3 == if2_cl_sel & if2__cb_sel_T_5 | if2_is_valid_3_1; // @[IF2.scala 180:25 266:{30,30}]
  wire  if2__io_icache_get_valid_T_1 = ~if2_is_hit; // @[IF2.scala 282:54]
  wire  if2__io_icache_get_valid_T_2 = if2__icache_state_dnxt_T_10 & if2__io_icache_get_valid_T_1; // @[IF2.scala 282:52]
  wire [31:0] if2__io_icache_get_bits_T = if2_io_mmu_if_bits_paddr[31:0]; // @[IF2.scala 286:39]
  wire [38:0] _GEN_161 = {{7'd0}, if2__io_icache_get_bits_T}; // @[IF2.scala 286:51]
  wire [38:0] if2__io_icache_get_bits_T_2 = _GEN_161 & 39'hffffffff0; // @[IF2.scala 286:51]
  wire  if2__T_67 = ~if2_is_trans_done; // @[IF2.scala 292:33]
  wire  if2__T_68 = if2__T & if2__T_67; // @[IF2.scala 292:31]
  reg [63:0] if2_REG; // @[IF2.scala 300:21]
  wire  if2__T_69 = if2_REG != if2_io_mmu_if_bits_paddr; // @[IF2.scala 300:44]
  wire  if2__T_71 = if2__T_69 & if2__icache_state_dnxt_T_15; // @[IF2.scala 300:70]
  reg  if2_REG_1; // @[IF2.scala 300:108]
  wire  if2__T_72 = ~if2_REG_1; // @[IF2.scala 300:100]
  wire  if2__T_73 = if2__T_71 & if2__T_72; // @[IF2.scala 300:98]
  reg  if2_REG_2; // @[IF2.scala 300:131]
  wire  if2__T_74 = ~if2_REG_2; // @[IF2.scala 300:123]
  wire  if2__T_75 = if2__T_73 & if2__T_74; // @[IF2.scala 300:121]
  wire  if2__T_76 = ~if2__T_75; // @[IF2.scala 300:11]
  wire  if2__T_79 = ~if2__T_76; // @[IF2.scala 300:9]
  wire [2:0] if2__reAlign_instr_shift_T = if2_io_mmu_if_bits_paddr[2:0]; // @[IF2.scala 315:38]
  wire [5:0] if2__reAlign_instr_shift_T_1 = {if2__reAlign_instr_shift_T,3'h0}; // @[Cat.scala 33:92]
  wire [127:0] if2__reAlign_instr_instr_raw_T_2 = if2__icache_state_dnxt_T_10 ? if2__icache_sramrd_data_T_4 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] if2__reAlign_instr_instr_raw_T_3 = if2__icache_state_dnxt_T_15 ? if2__icache_access_data_T : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] if2__reAlign_instr_instr_raw_T_4 = if2__reAlign_instr_instr_raw_T_2 | if2__reAlign_instr_instr_raw_T_3; // @[Mux.scala 27:73]
  wire  if2__reAlign_instr_instr_raw_T_5 = if2_io_mmu_if_bits_paddr[3]; // @[IF2.scala 322:57]
  wire [6:0] if2__reAlign_instr_instr_raw_T_6 = {if2__reAlign_instr_instr_raw_T_5, 6'h0}; // @[IF2.scala 322:100]
  wire [127:0] if2__reAlign_instr_instr_raw_T_7 = if2__reAlign_instr_instr_raw_T_4 >> if2__reAlign_instr_instr_raw_T_6; // @[IF2.scala 322:12]
  wire [63:0] if2_reAlign_instr_instr_raw = if2__reAlign_instr_instr_raw_T_7[63:0]; // @[IF2.scala 317:25 318:15]
  wire [63:0] if2__reAlign_instr_res_T = if2_reAlign_instr_instr_raw >> if2__reAlign_instr_shift_T_1; // @[IF2.scala 324:22]
  wire [64:0] if2__ibuf_io_enq_0_bits_pc_T = {{1'd0}, if2_io_mmu_if_bits_vaddr}; // @[IF2.scala 332:55]
  wire [63:0] if2__ibuf_io_enq_0_bits_pc_T_1 = if2__ibuf_io_enq_0_bits_pc_T[63:0]; // @[IF2.scala 332:55]
  wire [47:0] if2__ibuf_io_enq_1_bits_instr_T = if2__reAlign_instr_res_T[63:16]; // @[IF2.scala 331:48]
  wire [63:0] if2__ibuf_io_enq_1_bits_pc_T_1 = if2_io_mmu_if_bits_vaddr + 64'h2; // @[IF2.scala 332:55]
  wire [31:0] if2__ibuf_io_enq_2_bits_instr_T = if2__reAlign_instr_res_T[63:32]; // @[IF2.scala 331:48]
  wire [63:0] if2__ibuf_io_enq_2_bits_pc_T_1 = if2_io_mmu_if_bits_vaddr + 64'h4; // @[IF2.scala 332:55]
  wire [63:0] if2__ibuf_io_enq_3_bits_pc_T_1 = if2_io_mmu_if_bits_vaddr + 64'h6; // @[IF2.scala 332:55]
  wire [63:0] if2__GEN_36 = if2__is_paging_fault_T ? 64'h9c45 : if2__reAlign_instr_res_T; // @[IF2.scala 331:31 350:67 351:31]
  wire [63:0] if2__GEN_37 = if2__is_paging_fault_T ? if2_io_if2_req_bits_pc : if2__ibuf_io_enq_0_bits_pc_T_1; // @[IF2.scala 332:31 350:67 352:31]
  wire [63:0] if2__GEN_40 = if2__is_access_fault_T ? 64'h9c41 : if2__GEN_36; // @[IF2.scala 343:60 344:31]
  wire [63:0] if2__GEN_41 = if2__is_access_fault_T ? if2_io_if2_req_bits_pc : if2__GEN_37; // @[IF2.scala 343:60 345:31]
  wire  if2__ibuf_io_enq_0_valid_T_1 = if2__datRAM_0_io_enw_T_5 & if2_io_mmu_if_valid; // @[IF2.scala 361:18]
  wire  if2__ibuf_io_enq_0_valid_T_2 = if2_icache_state_qout != 4'h0; // @[IF2.scala 361:56]
  wire  if2__ibuf_io_enq_0_valid_T_3 = if2__ibuf_io_enq_0_valid_T_1 & if2__ibuf_io_enq_0_valid_T_2; // @[IF2.scala 361:36]
  wire  if2__ibuf_io_enq_0_valid_T_5 = if2__ibuf_io_enq_0_valid_T_3 & if2__datRAM_0_io_enw_T_1; // @[IF2.scala 361:64]
  wire  if2__ibuf_io_enq_0_valid_T_6 = if2__ibuf_io_enq_0_valid_T_5 & if2_ibuf_io_enq_3_ready; // @[IF2.scala 361:92]
  wire [1:0] if2__ibuf_io_enq_0_valid_T_7 = if2_io_mmu_if_bits_paddr[2:1]; // @[IF2.scala 361:145]
  wire  if2__ibuf_io_enq_0_valid_T_10 = if2__ibuf_io_enq_0_valid_T_6 & if2_io_if2_req_bits_isActive_0; // @[IF2.scala 361:191]
  wire  if2__ibuf_io_enq_0_valid_T_14 = if2__ibuf_io_enq_0_valid_T_1 & if2__io_mmu_if_ready_T_3; // @[IF2.scala 362:36]
  wire  if2__ibuf_io_enq_0_valid_T_16 = if2__ibuf_io_enq_0_valid_T_14 & if2__io_mmu_if_ready_T_1; // @[IF2.scala 362:62]
  wire  if2__ibuf_io_enq_1_valid_T_8 = if2__ibuf_io_enq_0_valid_T_7 <= 2'h2; // @[IF2.scala 365:197]
  wire  if2__ibuf_io_enq_1_valid_T_9 = if2__ibuf_io_enq_0_valid_T_6 & if2__ibuf_io_enq_1_valid_T_8; // @[IF2.scala 365:144]
  wire  if2__ibuf_io_enq_2_valid_T_8 = if2__ibuf_io_enq_0_valid_T_7 <= 2'h1; // @[IF2.scala 365:197]
  wire  if2__ibuf_io_enq_2_valid_T_9 = if2__ibuf_io_enq_0_valid_T_6 & if2__ibuf_io_enq_2_valid_T_8; // @[IF2.scala 365:144]
  wire  if2__ibuf_io_enq_3_valid_T_8 = if2__ibuf_io_enq_0_valid_T_7 <= 2'h0; // @[IF2.scala 365:197]
  wire  if2__ibuf_io_enq_3_valid_T_9 = if2__ibuf_io_enq_0_valid_T_6 & if2__ibuf_io_enq_3_valid_T_8; // @[IF2.scala 365:144]
  wire  if2__T_83 = if2_io_flush & if2__ibuf_io_enq_0_valid_T_2; // @[IF2.scala 371:18]
  wire  if2__T_86 = if2__datRAM_0_io_enw_T_1 | if2__icache_state_dnxt_T; // @[IF2.scala 373:42]
  wire  if2__GEN_44 = if2__T_86 ? 1'h0 : if2_kill_trans; // @[IF2.scala 373:72 374:16 71:27]
  wire  if2__GEN_45 = if2__T_83 | if2__GEN_44; // @[IF2.scala 371:48 372:16]
  wire  _GEN_162 = if2__icache_state_dnxt_T_10 & if2__T_10; // @[IF2.scala 193:13]
  wire  if3_clock;
  wire  if3_reset;
  wire  if3_io_if3_req_0_ready;
  wire  if3_io_if3_req_0_valid;
  wire [38:0] if3_io_if3_req_0_bits_pc;
  wire [15:0] if3_io_if3_req_0_bits_instr;
  wire  if3_io_if3_req_0_bits_isRedirect;
  wire  if3_io_if3_req_1_ready;
  wire  if3_io_if3_req_1_valid;
  wire [38:0] if3_io_if3_req_1_bits_pc;
  wire [15:0] if3_io_if3_req_1_bits_instr;
  wire  if3_io_if3_req_1_bits_isFault;
  wire  if3_io_if3_req_1_bits_isRedirect;
  wire  if3_io_if3_req_2_ready;
  wire  if3_io_if3_req_2_valid;
  wire [38:0] if3_io_if3_req_2_bits_pc;
  wire [15:0] if3_io_if3_req_2_bits_instr;
  wire  if3_io_if3_req_2_bits_isFault;
  wire  if3_io_if3_req_2_bits_isRedirect;
  wire  if3_io_if3_req_3_ready;
  wire  if3_io_if3_req_3_valid;
  wire [38:0] if3_io_if3_req_3_bits_pc;
  wire [15:0] if3_io_if3_req_3_bits_instr;
  wire  if3_io_if3_req_3_bits_isFault;
  wire  if3_io_if3_req_3_bits_isRedirect;
  wire  if3_io_if3_resp_0_ready;
  wire  if3_io_if3_resp_0_valid;
  wire  if3_io_if3_resp_0_bits_isRVC;
  wire [31:0] if3_io_if3_resp_0_bits_instr;
  wire [38:0] if3_io_if3_resp_0_bits_pc;
  wire  if3_io_if3_resp_0_bits_isRedirect;
  wire [38:0] if3_io_if3_resp_0_bits_target;
  wire  if3_io_btbResp_0_ready;
  wire  if3_io_btbResp_0_valid;
  wire [38:0] if3_io_btbResp_0_bits_target;
  wire  if3_io_bimResp_0_ready;
  wire  if3_io_bimResp_0_valid;
  wire  if3_io_bimResp_0_bits_bim_p;
  wire  if3_io_bimResp_0_bits_bim_h;
  wire  if3_io_tageResp_0_ready;
  wire  if3_io_jcmm_update_valid;
  wire [38:0] if3_io_jcmm_update_bits_pc;
  wire [63:0] if3_io_jcmm_update_bits_finalTarget;
  wire  if3_io_bcmm_update_valid;
  wire [38:0] if3_io_bcmm_update_bits_pc;
  wire  if3_io_bcmm_update_bits_bimResp_bim_p;
  wire  if3_io_bcmm_update_bits_bimResp_bim_h;
  wire  if3_io_bcmm_update_bits_isFinalTaken;
  wire  if3_io_if4Redirect_valid;
  wire  if3_io_flush;
  wire  if3_combPDT_clock;
  wire  if3_combPDT_reset;
  wire  if3_combPDT_io_enq_0_ready;
  wire  if3_combPDT_io_enq_0_valid;
  wire  if3_combPDT_io_enq_0_bits_isRVC;
  wire [31:0] if3_combPDT_io_enq_0_bits_instr;
  wire [38:0] if3_combPDT_io_enq_0_bits_pc;
  wire  if3_combPDT_io_enq_1_ready;
  wire  if3_combPDT_io_enq_1_valid;
  wire  if3_combPDT_io_enq_1_bits_isRVC;
  wire [31:0] if3_combPDT_io_enq_1_bits_instr;
  wire [38:0] if3_combPDT_io_enq_1_bits_pc;
  wire  if3_combPDT_io_enq_2_ready;
  wire  if3_combPDT_io_enq_2_valid;
  wire  if3_combPDT_io_enq_2_bits_isRVC;
  wire [31:0] if3_combPDT_io_enq_2_bits_instr;
  wire [38:0] if3_combPDT_io_enq_2_bits_pc;
  wire  if3_combPDT_io_enq_3_ready;
  wire  if3_combPDT_io_enq_3_valid;
  wire  if3_combPDT_io_enq_3_bits_isRVC;
  wire [31:0] if3_combPDT_io_enq_3_bits_instr;
  wire [38:0] if3_combPDT_io_enq_3_bits_pc;
  wire  if3_combPDT_io_deq_0_ready;
  wire  if3_combPDT_io_deq_0_valid;
  wire  if3_combPDT_io_deq_0_bits_isRVC;
  wire [31:0] if3_combPDT_io_deq_0_bits_instr;
  wire [38:0] if3_combPDT_io_deq_0_bits_pc;
  wire  if3_combPDT_io_deq_0_bits_isRedirect;
  wire [38:0] if3_combPDT_io_deq_0_bits_target;
  wire  if3_combPDT_io_deq_1_ready;
  wire  if3_combPDT_io_deq_1_valid;
  wire  if3_combPDT_io_deq_1_bits_isRVC;
  wire [31:0] if3_combPDT_io_deq_1_bits_instr;
  wire [38:0] if3_combPDT_io_deq_1_bits_pc;
  wire  if3_combPDT_io_deq_1_bits_isRedirect;
  wire [38:0] if3_combPDT_io_deq_1_bits_target;
  wire  if3_combPDT_io_deq_2_ready;
  wire  if3_combPDT_io_deq_2_valid;
  wire  if3_combPDT_io_deq_2_bits_isRVC;
  wire [31:0] if3_combPDT_io_deq_2_bits_instr;
  wire [38:0] if3_combPDT_io_deq_2_bits_pc;
  wire  if3_combPDT_io_deq_2_bits_isRedirect;
  wire [38:0] if3_combPDT_io_deq_2_bits_target;
  wire  if3_combPDT_io_deq_3_ready;
  wire  if3_combPDT_io_deq_3_valid;
  wire  if3_combPDT_io_deq_3_bits_isRVC;
  wire [31:0] if3_combPDT_io_deq_3_bits_instr;
  wire [38:0] if3_combPDT_io_deq_3_bits_pc;
  wire  if3_combPDT_io_deq_3_bits_isRedirect;
  wire [38:0] if3_combPDT_io_deq_3_bits_target;
  wire  if3_combPDT__T = if3_combPDT_io_enq_0_ready & if3_combPDT_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_1 = if3_combPDT_io_enq_1_ready & if3_combPDT_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_2 = if3_combPDT_io_enq_2_ready & if3_combPDT_io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_3 = if3_combPDT_io_enq_3_ready & if3_combPDT_io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire [1:0] if3_combPDT__T_4 = if3_combPDT__T + if3_combPDT__T_1; // @[Bitwise.scala 51:90]
  wire [1:0] if3_combPDT__T_6 = if3_combPDT__T_2 + if3_combPDT__T_3; // @[Bitwise.scala 51:90]
  wire [2:0] if3_combPDT__T_8 = if3_combPDT__T_4 + if3_combPDT__T_6; // @[Bitwise.scala 51:90]
  wire  if3_combPDT__T_10 = if3_combPDT_io_deq_0_ready & if3_combPDT_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_11 = if3_combPDT_io_deq_1_ready & if3_combPDT_io_deq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_12 = if3_combPDT_io_deq_2_ready & if3_combPDT_io_deq_2_valid; // @[Decoupled.scala 52:35]
  wire  if3_combPDT__T_13 = if3_combPDT_io_deq_3_ready & if3_combPDT_io_deq_3_valid; // @[Decoupled.scala 52:35]
  wire [1:0] if3_combPDT__T_14 = if3_combPDT__T_10 + if3_combPDT__T_11; // @[Bitwise.scala 51:90]
  wire [1:0] if3_combPDT__T_16 = if3_combPDT__T_12 + if3_combPDT__T_13; // @[Bitwise.scala 51:90]
  wire [2:0] if3_combPDT__T_18 = if3_combPDT__T_14 + if3_combPDT__T_16; // @[Bitwise.scala 51:90]
  wire  if3_combPDT__T_20 = if3_combPDT__T_8 == if3_combPDT__T_18; // @[RePort.scala 32:45]
  wire  if3_combPDT__T_22 = ~if3_combPDT_reset; // @[RePort.scala 32:12]
  wire  if3_combPDT__T_23 = ~if3_combPDT__T_20; // @[RePort.scala 32:12]
  wire [3:0] if3_combPDT_in = {if3_combPDT_io_enq_3_valid,if3_combPDT_io_enq_2_valid,if3_combPDT_io_enq_1_valid,
    if3_combPDT_io_enq_0_valid}; // @[RePort.scala 61:48]
  wire  if3_combPDT__is_end_0_T = if3_combPDT_in == 4'h0; // @[RePort.scala 62:21]
  wire  if3_combPDT__sel_0_T = if3_combPDT_in[0]; // @[RePort.scala 63:26]
  wire  if3_combPDT__sel_0_T_1 = if3_combPDT_in[1]; // @[RePort.scala 63:26]
  wire  if3_combPDT__sel_0_T_2 = if3_combPDT_in[2]; // @[RePort.scala 63:26]
  wire [1:0] if3_combPDT__sel_0_T_8 = if3_combPDT__sel_0_T_2 ? 2'h2 : 2'h3; // @[RePort.scala 63:45]
  wire [1:0] if3_combPDT__sel_0_T_9 = if3_combPDT__sel_0_T_1 ? 2'h1 : if3_combPDT__sel_0_T_8; // @[RePort.scala 63:45]
  wire [1:0] if3_combPDT__sel_0_T_10 = if3_combPDT__sel_0_T ? 2'h0 : if3_combPDT__sel_0_T_9; // @[RePort.scala 63:45]
  wire [3:0] if3_combPDT__in_next_0_T = 4'h1 << if3_combPDT__sel_0_T_10; // @[OneHot.scala 57:35]
  wire [3:0] if3_combPDT__in_next_0_T_1 = ~if3_combPDT__in_next_0_T; // @[RePort.scala 64:24]
  wire [3:0] if3_combPDT__in_next_0_T_2 = if3_combPDT_in & if3_combPDT__in_next_0_T_1; // @[RePort.scala 64:22]
  wire  if3_combPDT__is_end_1_T = if3_combPDT__in_next_0_T_2 == 4'h0; // @[RePort.scala 69:21]
  wire  if3_combPDT__sel_1_T = if3_combPDT__in_next_0_T_2[0]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_1_T_1 = if3_combPDT__in_next_0_T_2[1]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_1_T_2 = if3_combPDT__in_next_0_T_2[2]; // @[RePort.scala 70:26]
  wire [1:0] if3_combPDT__sel_1_T_8 = if3_combPDT__sel_1_T_2 ? 2'h2 : 2'h3; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_1_T_9 = if3_combPDT__sel_1_T_1 ? 2'h1 : if3_combPDT__sel_1_T_8; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_1_T_10 = if3_combPDT__sel_1_T ? 2'h0 : if3_combPDT__sel_1_T_9; // @[RePort.scala 70:45]
  wire [3:0] if3_combPDT__in_next_1_T = 4'h1 << if3_combPDT__sel_1_T_10; // @[OneHot.scala 57:35]
  wire [3:0] if3_combPDT__in_next_1_T_1 = ~if3_combPDT__in_next_1_T; // @[RePort.scala 71:24]
  wire [3:0] if3_combPDT__in_next_1_T_2 = if3_combPDT__in_next_0_T_2 & if3_combPDT__in_next_1_T_1; // @[RePort.scala 71:22]
  wire  if3_combPDT__is_end_2_T = if3_combPDT__in_next_1_T_2 == 4'h0; // @[RePort.scala 69:21]
  wire  if3_combPDT__sel_2_T = if3_combPDT__in_next_1_T_2[0]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_2_T_1 = if3_combPDT__in_next_1_T_2[1]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_2_T_2 = if3_combPDT__in_next_1_T_2[2]; // @[RePort.scala 70:26]
  wire [1:0] if3_combPDT__sel_2_T_8 = if3_combPDT__sel_2_T_2 ? 2'h2 : 2'h3; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_2_T_9 = if3_combPDT__sel_2_T_1 ? 2'h1 : if3_combPDT__sel_2_T_8; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_2_T_10 = if3_combPDT__sel_2_T ? 2'h0 : if3_combPDT__sel_2_T_9; // @[RePort.scala 70:45]
  wire [3:0] if3_combPDT__in_next_2_T = 4'h1 << if3_combPDT__sel_2_T_10; // @[OneHot.scala 57:35]
  wire [3:0] if3_combPDT__in_next_2_T_1 = ~if3_combPDT__in_next_2_T; // @[RePort.scala 71:24]
  wire [3:0] if3_combPDT__in_next_2_T_2 = if3_combPDT__in_next_1_T_2 & if3_combPDT__in_next_2_T_1; // @[RePort.scala 71:22]
  wire  if3_combPDT__is_end_3_T = if3_combPDT__in_next_2_T_2 == 4'h0; // @[RePort.scala 69:21]
  wire  if3_combPDT__sel_3_T = if3_combPDT__in_next_2_T_2[0]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_3_T_1 = if3_combPDT__in_next_2_T_2[1]; // @[RePort.scala 70:26]
  wire  if3_combPDT__sel_3_T_2 = if3_combPDT__in_next_2_T_2[2]; // @[RePort.scala 70:26]
  wire [1:0] if3_combPDT__sel_3_T_8 = if3_combPDT__sel_3_T_2 ? 2'h2 : 2'h3; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_3_T_9 = if3_combPDT__sel_3_T_1 ? 2'h1 : if3_combPDT__sel_3_T_8; // @[RePort.scala 70:45]
  wire [1:0] if3_combPDT__sel_3_T_10 = if3_combPDT__sel_3_T ? 2'h0 : if3_combPDT__sel_3_T_9; // @[RePort.scala 70:45]
  wire  if3_combPDT__T_24 = ~if3_combPDT__is_end_0_T; // @[RePort.scala 75:11]
  wire  if3_combPDT__GEN_1 = 2'h1 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_1_bits_isRVC :
    if3_combPDT_io_enq_0_bits_isRVC; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_2 = 2'h2 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_2_bits_isRVC : if3_combPDT__GEN_1; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_3 = 2'h3 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_3_bits_isRVC : if3_combPDT__GEN_2; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_41 = 2'h1 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_1_bits_instr :
    if3_combPDT_io_enq_0_bits_instr; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_42 = 2'h2 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_2_bits_instr :
    if3_combPDT__GEN_41; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_43 = 2'h3 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_3_bits_instr :
    if3_combPDT__GEN_42; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_45 = 2'h1 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_1_bits_pc :
    if3_combPDT_io_enq_0_bits_pc; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_46 = 2'h2 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_2_bits_pc : if3_combPDT__GEN_45
    ; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_47 = 2'h3 == if3_combPDT__sel_0_T_10 ? if3_combPDT_io_enq_3_bits_pc : if3_combPDT__GEN_46
    ; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__T_25 = ~if3_combPDT__is_end_1_T; // @[RePort.scala 75:11]
  wire  if3_combPDT__GEN_76 = 2'h1 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_1_bits_isRVC :
    if3_combPDT_io_enq_0_bits_isRVC; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_77 = 2'h2 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_2_bits_isRVC : if3_combPDT__GEN_76; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_78 = 2'h3 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_3_bits_isRVC : if3_combPDT__GEN_77; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_116 = 2'h1 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_1_bits_instr :
    if3_combPDT_io_enq_0_bits_instr; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_117 = 2'h2 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_2_bits_instr :
    if3_combPDT__GEN_116; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_118 = 2'h3 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_3_bits_instr :
    if3_combPDT__GEN_117; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_120 = 2'h1 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_1_bits_pc :
    if3_combPDT_io_enq_0_bits_pc; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_121 = 2'h2 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_2_bits_pc :
    if3_combPDT__GEN_120; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_122 = 2'h3 == if3_combPDT__sel_1_T_10 ? if3_combPDT_io_enq_3_bits_pc :
    if3_combPDT__GEN_121; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__T_26 = ~if3_combPDT__is_end_2_T; // @[RePort.scala 75:11]
  wire  if3_combPDT__GEN_151 = 2'h1 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_1_bits_isRVC :
    if3_combPDT_io_enq_0_bits_isRVC; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_152 = 2'h2 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_2_bits_isRVC : if3_combPDT__GEN_151; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_153 = 2'h3 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_3_bits_isRVC : if3_combPDT__GEN_152; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_191 = 2'h1 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_1_bits_instr :
    if3_combPDT_io_enq_0_bits_instr; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_192 = 2'h2 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_2_bits_instr :
    if3_combPDT__GEN_191; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_193 = 2'h3 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_3_bits_instr :
    if3_combPDT__GEN_192; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_195 = 2'h1 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_1_bits_pc :
    if3_combPDT_io_enq_0_bits_pc; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_196 = 2'h2 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_2_bits_pc :
    if3_combPDT__GEN_195; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_197 = 2'h3 == if3_combPDT__sel_2_T_10 ? if3_combPDT_io_enq_3_bits_pc :
    if3_combPDT__GEN_196; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__T_27 = ~if3_combPDT__is_end_3_T; // @[RePort.scala 75:11]
  wire  if3_combPDT__GEN_226 = 2'h1 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_1_bits_isRVC :
    if3_combPDT_io_enq_0_bits_isRVC; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_227 = 2'h2 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_2_bits_isRVC : if3_combPDT__GEN_226; // @[RePort.scala 76:{22,22}]
  wire  if3_combPDT__GEN_228 = 2'h3 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_3_bits_isRVC : if3_combPDT__GEN_227; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_266 = 2'h1 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_1_bits_instr :
    if3_combPDT_io_enq_0_bits_instr; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_267 = 2'h2 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_2_bits_instr :
    if3_combPDT__GEN_266; // @[RePort.scala 76:{22,22}]
  wire [31:0] if3_combPDT__GEN_268 = 2'h3 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_3_bits_instr :
    if3_combPDT__GEN_267; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_270 = 2'h1 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_1_bits_pc :
    if3_combPDT_io_enq_0_bits_pc; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_271 = 2'h2 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_2_bits_pc :
    if3_combPDT__GEN_270; // @[RePort.scala 76:{22,22}]
  wire [38:0] if3_combPDT__GEN_272 = 2'h3 == if3_combPDT__sel_3_T_10 ? if3_combPDT_io_enq_3_bits_pc :
    if3_combPDT__GEN_271; // @[RePort.scala 76:{22,22}]
  wire  if3_btb_clock;
  wire  if3_btb_reset;
  wire  if3_btb_io_req_ready;
  wire  if3_btb_io_req_valid;
  wire [38:0] if3_btb_io_req_bits_pc;
  wire  if3_btb_io_resp_ready;
  wire  if3_btb_io_resp_valid;
  wire [38:0] if3_btb_io_resp_bits_target;
  wire  if3_btb_io_update_valid;
  wire [38:0] if3_btb_io_update_bits_target;
  wire [38:0] if3_btb_io_update_bits_pc;
  wire  if3_btb_io_isReady;
  wire  if3_btb_bypassFifo_clock;
  wire  if3_btb_bypassFifo_reset;
  wire  if3_btb_bypassFifo_io_enq_ready;
  wire  if3_btb_bypassFifo_io_enq_valid;
  wire [38:0] if3_btb_bypassFifo_io_enq_bits_target;
  wire  if3_btb_bypassFifo_io_deq_ready;
  wire  if3_btb_bypassFifo_io_deq_valid;
  wire [38:0] if3_btb_bypassFifo_io_deq_bits_target;
  reg [38:0] if3_btb_bypassFifo_ram_target [0:0]; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [38:0] if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [38:0] if3_btb_bypassFifo_ram_target_MPORT_data; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_btb_bypassFifo_ram_target_clock;
  reg  if3_btb_bypassFifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  if3_btb_bypassFifo__empty_T = ~if3_btb_bypassFifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  if3_btb_bypassFifo__do_enq_T = if3_btb_bypassFifo_io_enq_ready & if3_btb_bypassFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  if3_btb_bypassFifo__do_deq_T = if3_btb_bypassFifo_io_deq_ready & if3_btb_bypassFifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  if3_btb_bypassFifo__GEN_9 = if3_btb_bypassFifo_io_deq_ready ? 1'h0 : if3_btb_bypassFifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  if3_btb_bypassFifo__GEN_12 = if3_btb_bypassFifo__empty_T ? if3_btb_bypassFifo__GEN_9 :
    if3_btb_bypassFifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  if3_btb_bypassFifo__GEN_11 = if3_btb_bypassFifo__empty_T ? 1'h0 : if3_btb_bypassFifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  if3_btb_bypassFifo__T = if3_btb_bypassFifo__GEN_12 != if3_btb_bypassFifo__GEN_11; // @[Decoupled.scala 295:15]
  wire  if3_btb_bypassFifo__io_deq_valid_T = ~if3_btb_bypassFifo__empty_T; // @[Decoupled.scala 304:19]
  reg [38:0] if3_btb_btb_table_target [0:3]; // @[BTB.scala 54:32]
  wire  if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en; // @[BTB.scala 54:32]
  wire [1:0] if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr; // @[BTB.scala 54:32]
  wire [38:0] if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_data; // @[BTB.scala 54:32]
  wire [38:0] if3_btb_btb_table_target_MPORT_data; // @[BTB.scala 54:32]
  wire [1:0] if3_btb_btb_table_target_MPORT_addr; // @[BTB.scala 54:32]
  wire  if3_btb_btb_table_target_MPORT_mask; // @[BTB.scala 54:32]
  wire  if3_btb_btb_table_target_MPORT_en; // @[BTB.scala 54:32]
  wire  if3_btb_btb_table_target_clock;
  reg  if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en_pipe_0;
  reg [1:0] if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr_pipe_0;
  reg  if3_btb_por_reset; // @[BTB.scala 46:28]
  reg [1:0] if3_btb_reset_cl; // @[Counter.scala 61:40]
  wire  if3_btb_wrap_wrap = if3_btb_reset_cl == 2'h3; // @[Counter.scala 73:24]
  wire [1:0] if3_btb__wrap_value_T_1 = if3_btb_reset_cl + 2'h1; // @[Counter.scala 77:24]
  wire  if3_btb__GEN_1 = if3_btb_por_reset & if3_btb_wrap_wrap; // @[Counter.scala 136:24 137:12]
  wire  if3_btb__GEN_4 = if3_btb__GEN_1 ? 1'h0 : if3_btb_por_reset; // @[BTB.scala 48:23 46:28 48:35]
  wire [18:0] if3_btb__rd_cl_sel_out_out_T = if3_btb_io_req_bits_pc[18:0]; // @[Hash.scala 32:14]
  wire [19:0] if3_btb__rd_cl_sel_out_out_T_1 = if3_btb_io_req_bits_pc[38:19]; // @[Hash.scala 32:31]
  wire [19:0] _GEN_165 = {{1'd0}, if3_btb__rd_cl_sel_out_out_T}; // @[Hash.scala 32:27]
  wire [19:0] if3_btb__rd_cl_sel_out_out_T_2 = _GEN_165 ^ if3_btb__rd_cl_sel_out_out_T_1; // @[Hash.scala 32:27]
  wire [9:0] if3_btb__rd_cl_sel_out_out_out_T = if3_btb__rd_cl_sel_out_out_T_2[9:0]; // @[Hash.scala 32:14]
  wire [9:0] if3_btb__rd_cl_sel_out_out_out_T_1 = if3_btb__rd_cl_sel_out_out_T_2[19:10]; // @[Hash.scala 32:31]
  wire [9:0] if3_btb__rd_cl_sel_out_out_out_T_2 = if3_btb__rd_cl_sel_out_out_out_T ^ if3_btb__rd_cl_sel_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [4:0] if3_btb__rd_cl_sel_out_out_out_out_T = if3_btb__rd_cl_sel_out_out_out_T_2[4:0]; // @[Hash.scala 32:14]
  wire [4:0] if3_btb__rd_cl_sel_out_out_out_out_T_1 = if3_btb__rd_cl_sel_out_out_out_T_2[9:5]; // @[Hash.scala 32:31]
  wire [4:0] if3_btb__rd_cl_sel_out_out_out_out_T_2 = if3_btb__rd_cl_sel_out_out_out_out_T ^
    if3_btb__rd_cl_sel_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [1:0] if3_btb__rd_cl_sel_out_out_out_out_out_T = if3_btb__rd_cl_sel_out_out_out_out_T_2[1:0]; // @[Hash.scala 32:14]
  wire [2:0] if3_btb__rd_cl_sel_out_out_out_out_out_T_1 = if3_btb__rd_cl_sel_out_out_out_out_T_2[4:2]; // @[Hash.scala 32:31]
  wire [2:0] _GEN_166 = {{1'd0}, if3_btb__rd_cl_sel_out_out_out_out_out_T}; // @[Hash.scala 32:27]
  wire [2:0] if3_btb__rd_cl_sel_out_out_out_out_out_T_2 = _GEN_166 ^ if3_btb__rd_cl_sel_out_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [1:0] if3_btb__rd_cl_sel_out_out_out_out_in1_T = if3_btb__rd_cl_sel_out_out_out_out_out_T_2[1:0]; // @[Hash.scala 117:20]
  wire [1:0] if3_btb_rd_cl_sel_out_out_out_out_in1 = ~if3_btb__rd_cl_sel_out_out_out_out_in1_T; // @[Hash.scala 117:17]
  wire [2:0] _GEN_167 = {{1'd0}, if3_btb_rd_cl_sel_out_out_out_out_in1}; // @[Hash.scala 121:18]
  wire [2:0] if3_btb__rd_cl_sel_out_out_out_out_out_T_3 = _GEN_167 ^ if3_btb__rd_cl_sel_out_out_out_out_out_T_2; // @[Hash.scala 121:18]
  wire [18:0] if3_btb__wr_cl_sel_out_out_T = if3_btb_io_update_bits_pc[18:0]; // @[Hash.scala 32:14]
  wire [19:0] if3_btb__wr_cl_sel_out_out_T_1 = if3_btb_io_update_bits_pc[38:19]; // @[Hash.scala 32:31]
  wire [19:0] _GEN_168 = {{1'd0}, if3_btb__wr_cl_sel_out_out_T}; // @[Hash.scala 32:27]
  wire [19:0] if3_btb__wr_cl_sel_out_out_T_2 = _GEN_168 ^ if3_btb__wr_cl_sel_out_out_T_1; // @[Hash.scala 32:27]
  wire [9:0] if3_btb__wr_cl_sel_out_out_out_T = if3_btb__wr_cl_sel_out_out_T_2[9:0]; // @[Hash.scala 32:14]
  wire [9:0] if3_btb__wr_cl_sel_out_out_out_T_1 = if3_btb__wr_cl_sel_out_out_T_2[19:10]; // @[Hash.scala 32:31]
  wire [9:0] if3_btb__wr_cl_sel_out_out_out_T_2 = if3_btb__wr_cl_sel_out_out_out_T ^ if3_btb__wr_cl_sel_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [4:0] if3_btb__wr_cl_sel_out_out_out_out_T = if3_btb__wr_cl_sel_out_out_out_T_2[4:0]; // @[Hash.scala 32:14]
  wire [4:0] if3_btb__wr_cl_sel_out_out_out_out_T_1 = if3_btb__wr_cl_sel_out_out_out_T_2[9:5]; // @[Hash.scala 32:31]
  wire [4:0] if3_btb__wr_cl_sel_out_out_out_out_T_2 = if3_btb__wr_cl_sel_out_out_out_out_T ^
    if3_btb__wr_cl_sel_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [1:0] if3_btb__wr_cl_sel_out_out_out_out_out_T = if3_btb__wr_cl_sel_out_out_out_out_T_2[1:0]; // @[Hash.scala 32:14]
  wire [2:0] if3_btb__wr_cl_sel_out_out_out_out_out_T_1 = if3_btb__wr_cl_sel_out_out_out_out_T_2[4:2]; // @[Hash.scala 32:31]
  wire [2:0] _GEN_169 = {{1'd0}, if3_btb__wr_cl_sel_out_out_out_out_out_T}; // @[Hash.scala 32:27]
  wire [2:0] if3_btb__wr_cl_sel_out_out_out_out_out_T_2 = _GEN_169 ^ if3_btb__wr_cl_sel_out_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [1:0] if3_btb__wr_cl_sel_out_out_out_out_in1_T = if3_btb__wr_cl_sel_out_out_out_out_out_T_2[1:0]; // @[Hash.scala 117:20]
  wire [1:0] if3_btb_wr_cl_sel_out_out_out_out_in1 = ~if3_btb__wr_cl_sel_out_out_out_out_in1_T; // @[Hash.scala 117:17]
  wire [2:0] _GEN_170 = {{1'd0}, if3_btb_wr_cl_sel_out_out_out_out_in1}; // @[Hash.scala 121:18]
  wire [2:0] if3_btb__wr_cl_sel_out_out_out_out_out_T_3 = _GEN_170 ^ if3_btb__wr_cl_sel_out_out_out_out_out_T_2; // @[Hash.scala 121:18]
  wire [1:0] if3_btb_wr_cl_sel_out_out_out_out_out_1 = if3_btb__wr_cl_sel_out_out_out_out_out_T_3[1:0]; // @[Hash.scala 115:19 121:11]
  reg  if3_btb_bypassFifo_io_enq_valid_REG; // @[BTB.scala 74:37]
  wire  if3_bim_clock;
  wire  if3_bim_reset;
  wire  if3_bim_io_req_ready;
  wire  if3_bim_io_req_valid;
  wire [38:0] if3_bim_io_req_bits_pc;
  wire  if3_bim_io_resp_ready;
  wire  if3_bim_io_resp_valid;
  wire  if3_bim_io_resp_bits_bim_p;
  wire  if3_bim_io_resp_bits_bim_h;
  wire  if3_bim_io_update_valid;
  wire  if3_bim_io_update_bits_bim_p;
  wire  if3_bim_io_update_bits_bim_h;
  wire [38:0] if3_bim_io_update_bits_pc;
  wire  if3_bim_io_update_bits_isFinalTaken;
  wire  if3_bim_io_isReady;
  reg  if3_bim_bim_P [0:7]; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en; // @[BIM.scala 46:26]
  wire [2:0] if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_data; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_MPORT_data; // @[BIM.scala 46:26]
  wire [2:0] if3_bim_bim_P_MPORT_addr; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_MPORT_mask; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_MPORT_en; // @[BIM.scala 46:26]
  wire  if3_bim_bim_P_clock;
  reg  if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en_pipe_0;
  reg [2:0] if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr_pipe_0;
  reg  if3_bim_bim_H [0:7]; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en; // @[BIM.scala 52:26]
  wire [2:0] if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_data; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_MPORT_1_data; // @[BIM.scala 52:26]
  wire [2:0] if3_bim_bim_H_MPORT_1_addr; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_MPORT_1_mask; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_MPORT_1_en; // @[BIM.scala 52:26]
  wire  if3_bim_bim_H_clock;
  reg  if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en_pipe_0;
  reg [2:0] if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr_pipe_0;
  wire  if3_bim_bypassFifo_clock;
  wire  if3_bim_bypassFifo_reset;
  wire  if3_bim_bypassFifo_io_enq_ready;
  wire  if3_bim_bypassFifo_io_enq_valid;
  wire  if3_bim_bypassFifo_io_enq_bits_0;
  wire  if3_bim_bypassFifo_io_enq_bits_1;
  wire  if3_bim_bypassFifo_io_deq_ready;
  wire  if3_bim_bypassFifo_io_deq_valid;
  wire  if3_bim_bypassFifo_io_deq_bits_0;
  wire  if3_bim_bypassFifo_io_deq_bits_1;
  reg  if3_bim_bypassFifo_ram_0 [0:0]; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_0_clock;
  reg  if3_bim_bypassFifo_ram_1 [0:0]; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  if3_bim_bypassFifo_ram_1_clock;
  reg  if3_bim_bypassFifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  if3_bim_bypassFifo__empty_T = ~if3_bim_bypassFifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  if3_bim_bypassFifo__do_enq_T = if3_bim_bypassFifo_io_enq_ready & if3_bim_bypassFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  if3_bim_bypassFifo__do_deq_T = if3_bim_bypassFifo_io_deq_ready & if3_bim_bypassFifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  if3_bim_bypassFifo__GEN_10 = if3_bim_bypassFifo_io_deq_ready ? 1'h0 : if3_bim_bypassFifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  if3_bim_bypassFifo__GEN_14 = if3_bim_bypassFifo__empty_T ? if3_bim_bypassFifo__GEN_10 :
    if3_bim_bypassFifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  if3_bim_bypassFifo__GEN_13 = if3_bim_bypassFifo__empty_T ? 1'h0 : if3_bim_bypassFifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  if3_bim_bypassFifo__T = if3_bim_bypassFifo__GEN_14 != if3_bim_bypassFifo__GEN_13; // @[Decoupled.scala 295:15]
  wire  if3_bim_bypassFifo__io_deq_valid_T = ~if3_bim_bypassFifo__empty_T; // @[Decoupled.scala 304:19]
  reg  if3_bim_por_reset; // @[BIM.scala 37:26]
  reg [2:0] if3_bim_reset_cl; // @[Counter.scala 61:40]
  wire  if3_bim_wrap_wrap = if3_bim_reset_cl == 3'h7; // @[Counter.scala 73:24]
  wire [2:0] if3_bim__wrap_value_T_1 = if3_bim_reset_cl + 3'h1; // @[Counter.scala 77:24]
  wire  if3_bim__GEN_1 = if3_bim_por_reset & if3_bim_wrap_wrap; // @[Counter.scala 136:24 137:12]
  wire  if3_bim__GEN_4 = if3_bim__GEN_1 ? 1'h0 : if3_bim_por_reset; // @[BIM.scala 39:21 37:26 39:33]
  wire [18:0] if3_bim__wr_cl_out_out_T = if3_bim_io_update_bits_pc[18:0]; // @[Hash.scala 32:14]
  wire [19:0] if3_bim__wr_cl_out_out_T_1 = if3_bim_io_update_bits_pc[38:19]; // @[Hash.scala 32:31]
  wire [19:0] _GEN_171 = {{1'd0}, if3_bim__wr_cl_out_out_T}; // @[Hash.scala 32:27]
  wire [19:0] if3_bim__wr_cl_out_out_T_2 = _GEN_171 ^ if3_bim__wr_cl_out_out_T_1; // @[Hash.scala 32:27]
  wire [9:0] if3_bim__wr_cl_out_out_out_T = if3_bim__wr_cl_out_out_T_2[9:0]; // @[Hash.scala 32:14]
  wire [9:0] if3_bim__wr_cl_out_out_out_T_1 = if3_bim__wr_cl_out_out_T_2[19:10]; // @[Hash.scala 32:31]
  wire [9:0] if3_bim__wr_cl_out_out_out_T_2 = if3_bim__wr_cl_out_out_out_T ^ if3_bim__wr_cl_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [4:0] if3_bim__wr_cl_out_out_out_out_T = if3_bim__wr_cl_out_out_out_T_2[4:0]; // @[Hash.scala 32:14]
  wire [4:0] if3_bim__wr_cl_out_out_out_out_T_1 = if3_bim__wr_cl_out_out_out_T_2[9:5]; // @[Hash.scala 32:31]
  wire [4:0] if3_bim__wr_cl_out_out_out_out_T_2 = if3_bim__wr_cl_out_out_out_out_T ^ if3_bim__wr_cl_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [2:0] if3_bim__wr_cl_out_out_out_in1_T = if3_bim__wr_cl_out_out_out_out_T_2[2:0]; // @[Hash.scala 117:20]
  wire [2:0] if3_bim_wr_cl_out_out_out_in1 = ~if3_bim__wr_cl_out_out_out_in1_T; // @[Hash.scala 117:17]
  wire [3:0] if3_bim_wr_cl_out_out_out_in2 = if3_bim__wr_cl_out_out_out_out_T_2[4:1]; // @[Hash.scala 118:19]
  wire [3:0] _GEN_172 = {{1'd0}, if3_bim_wr_cl_out_out_out_in1}; // @[Hash.scala 121:18]
  wire [3:0] if3_bim__wr_cl_out_out_out_out_T_3 = _GEN_172 ^ if3_bim_wr_cl_out_out_out_in2; // @[Hash.scala 121:18]
  wire [18:0] if3_bim__rd_cl_out_out_T = if3_bim_io_req_bits_pc[18:0]; // @[Hash.scala 32:14]
  wire [19:0] if3_bim__rd_cl_out_out_T_1 = if3_bim_io_req_bits_pc[38:19]; // @[Hash.scala 32:31]
  wire [19:0] _GEN_173 = {{1'd0}, if3_bim__rd_cl_out_out_T}; // @[Hash.scala 32:27]
  wire [19:0] if3_bim__rd_cl_out_out_T_2 = _GEN_173 ^ if3_bim__rd_cl_out_out_T_1; // @[Hash.scala 32:27]
  wire [9:0] if3_bim__rd_cl_out_out_out_T = if3_bim__rd_cl_out_out_T_2[9:0]; // @[Hash.scala 32:14]
  wire [9:0] if3_bim__rd_cl_out_out_out_T_1 = if3_bim__rd_cl_out_out_T_2[19:10]; // @[Hash.scala 32:31]
  wire [9:0] if3_bim__rd_cl_out_out_out_T_2 = if3_bim__rd_cl_out_out_out_T ^ if3_bim__rd_cl_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [4:0] if3_bim__rd_cl_out_out_out_out_T = if3_bim__rd_cl_out_out_out_T_2[4:0]; // @[Hash.scala 32:14]
  wire [4:0] if3_bim__rd_cl_out_out_out_out_T_1 = if3_bim__rd_cl_out_out_out_T_2[9:5]; // @[Hash.scala 32:31]
  wire [4:0] if3_bim__rd_cl_out_out_out_out_T_2 = if3_bim__rd_cl_out_out_out_out_T ^ if3_bim__rd_cl_out_out_out_out_T_1; // @[Hash.scala 32:27]
  wire [2:0] if3_bim__rd_cl_out_out_out_in1_T = if3_bim__rd_cl_out_out_out_out_T_2[2:0]; // @[Hash.scala 117:20]
  wire [2:0] if3_bim_rd_cl_out_out_out_in1 = ~if3_bim__rd_cl_out_out_out_in1_T; // @[Hash.scala 117:17]
  wire [3:0] if3_bim_rd_cl_out_out_out_in2 = if3_bim__rd_cl_out_out_out_out_T_2[4:1]; // @[Hash.scala 118:19]
  wire [3:0] _GEN_174 = {{1'd0}, if3_bim_rd_cl_out_out_out_in1}; // @[Hash.scala 121:18]
  wire [3:0] if3_bim__rd_cl_out_out_out_out_T_3 = _GEN_174 ^ if3_bim_rd_cl_out_out_out_in2; // @[Hash.scala 121:18]
  wire  if3_bim__T = if3_bim_io_update_bits_isFinalTaken != if3_bim_io_update_bits_bim_p; // @[frontend.scala 117:35]
  wire  if3_bim__T_1 = if3_bim_io_update_valid & if3_bim__T; // @[BIM.scala 73:37]
  wire  if3_bim__T_2 = ~if3_bim_io_update_bits_bim_h; // @[BIM.scala 73:69]
  wire  if3_bim__T_3 = if3_bim__T_1 & if3_bim__T_2; // @[BIM.scala 73:67]
  wire [2:0] if3_bim_wr_cl_out_out_out_out_1 = if3_bim__wr_cl_out_out_out_out_T_3[2:0]; // @[Hash.scala 115:19 121:11]
  wire  if3_bim__T_6 = ~if3_bim_io_update_bits_bim_p; // @[BIM.scala 76:31]
  wire  if3_bim__T_12 = if3_bim__T ? if3_bim__T_2 : 1'h1; // @[BIM.scala 83:35]
  reg  if3_bim_bypassFifo_io_enq_valid_REG; // @[BIM.scala 89:37]
  wire  if3_tage_io_resp_valid;
  wire  if3_btbFifo_clock;
  wire  if3_btbFifo_reset;
  wire  if3_btbFifo_io_enq_0_ready;
  wire  if3_btbFifo_io_enq_0_valid;
  wire [38:0] if3_btbFifo_io_enq_0_bits_target;
  wire  if3_btbFifo_io_deq_0_ready;
  wire  if3_btbFifo_io_deq_0_valid;
  wire [38:0] if3_btbFifo_io_deq_0_bits_target;
  wire  if3_btbFifo_io_flush;
  wire  if3_btbFifo_fifo_clock;
  wire  if3_btbFifo_fifo_reset;
  wire  if3_btbFifo_fifo_io_enq_0_ready;
  wire  if3_btbFifo_fifo_io_enq_0_valid;
  wire [38:0] if3_btbFifo_fifo_io_enq_0_bits_target;
  wire  if3_btbFifo_fifo_io_deq_0_ready;
  wire  if3_btbFifo_fifo_io_deq_0_valid;
  wire [38:0] if3_btbFifo_fifo_io_deq_0_bits_target;
  wire  if3_btbFifo_fifo_io_flush;
  reg [38:0] if3_btbFifo_fifo_buf_0_target; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_btbFifo_fifo_buf_1_target; // @[MultiPortFifo.scala 57:20]
  reg  if3_btbFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if3_btbFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if3_btbFifo_fifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if3_btbFifo_fifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if3_btbFifo_fifo__io_enq_0_ready_T = {{1'd0}, if3_btbFifo_fifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if3_btbFifo_fifo__io_enq_0_ready_T_1 = if3_btbFifo_fifo__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if3_btbFifo_fifo__GEN_1 = if3_btbFifo_fifo__io_enq_0_ready_T_1 ? if3_btbFifo_fifo_buf_valid_1 :
    if3_btbFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_btbFifo_fifo__io_deq_0_valid_T = {{1'd0}, if3_btbFifo_fifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if3_btbFifo_fifo__io_deq_0_valid_T_1 = if3_btbFifo_fifo__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if3_btbFifo_fifo__T = if3_btbFifo_fifo_io_enq_0_ready & if3_btbFifo_fifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_btbFifo_fifo__GEN_4 = ~if3_btbFifo_fifo__io_enq_0_ready_T_1 | if3_btbFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_btbFifo_fifo__GEN_5 = if3_btbFifo_fifo__io_enq_0_ready_T_1 | if3_btbFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_btbFifo_fifo__GEN_6 = if3_btbFifo_fifo__T ? if3_btbFifo_fifo__GEN_4 : if3_btbFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_btbFifo_fifo__GEN_7 = if3_btbFifo_fifo__T ? if3_btbFifo_fifo__GEN_5 : if3_btbFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_btbFifo_fifo__T_1 = if3_btbFifo_fifo_io_deq_0_ready & if3_btbFifo_fifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_btbFifo_fifo__rd_ptr_T_2 = if3_btbFifo_fifo_rd_ptr + if3_btbFifo_fifo__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if3_btbFifo_fifo__wr_ptr_T_2 = if3_btbFifo_fifo_wr_ptr + if3_btbFifo_fifo__T; // @[MultiPortFifo.scala 107:26]
  wire  if3_btbFifo_fifo__T_3 = ~if3_btbFifo_fifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_btbFifo_fifo__T_4 = if3_btbFifo_fifo_io_enq_0_valid & if3_btbFifo_fifo__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if3_btbFifo_fifo__T_7 = ~if3_btbFifo_fifo__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if3_btbFifo_fifo__T_9 = ~if3_btbFifo_fifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_btbFifo_fifo__T_10 = ~if3_btbFifo_fifo__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if3_btbFifo_fifo__T_12 = ~if3_btbFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_btbFifo_fifo__T_13 = if3_btbFifo_fifo_io_deq_0_valid & if3_btbFifo_fifo__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if3_btbFifo_fifo__T_16 = ~if3_btbFifo_fifo__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if3_btbFifo_fifo__T_19 = ~if3_btbFifo_fifo__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if3_btbFifo_rePortIn_clock;
  wire  if3_btbFifo_rePortIn_reset;
  wire  if3_btbFifo_rePortIn_io_enq_0_ready;
  wire  if3_btbFifo_rePortIn_io_enq_0_valid;
  wire [38:0] if3_btbFifo_rePortIn_io_enq_0_bits_target;
  wire  if3_btbFifo_rePortIn_io_deq_0_ready;
  wire  if3_btbFifo_rePortIn_io_deq_0_valid;
  wire [38:0] if3_btbFifo_rePortIn_io_deq_0_bits_target;
  wire  if3_btbFifo_rePortIn__T = if3_btbFifo_rePortIn_io_enq_0_ready & if3_btbFifo_rePortIn_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_btbFifo_rePortIn__T_1 = if3_btbFifo_rePortIn_io_deq_0_ready & if3_btbFifo_rePortIn_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_btbFifo_rePortIn__T_2 = if3_btbFifo_rePortIn__T == if3_btbFifo_rePortIn__T_1; // @[RePort.scala 32:45]
  wire  if3_btbFifo_rePortIn__T_4 = ~if3_btbFifo_rePortIn_reset; // @[RePort.scala 32:12]
  wire  if3_btbFifo_rePortIn__T_5 = ~if3_btbFifo_rePortIn__T_2; // @[RePort.scala 32:12]
  wire  if3_btbFifo_rePortIn__is_end_0_T = ~if3_btbFifo_rePortIn_io_enq_0_valid; // @[RePort.scala 62:21]
  wire  if3_btbFifo_rePortIn__T_6 = ~if3_btbFifo_rePortIn__is_end_0_T; // @[RePort.scala 75:11]
  wire  if3_btbFifo_zipPort_io_enq_0_ready;
  wire  if3_btbFifo_zipPort_io_enq_0_valid;
  wire [38:0] if3_btbFifo_zipPort_io_enq_0_bits_target;
  wire  if3_btbFifo_zipPort_io_enq_1_ready;
  wire  if3_btbFifo_zipPort_io_enq_1_valid;
  wire [38:0] if3_btbFifo_zipPort_io_enq_1_bits_target;
  wire  if3_btbFifo_zipPort_io_deq_0_ready;
  wire  if3_btbFifo_zipPort_io_deq_0_valid;
  wire [38:0] if3_btbFifo_zipPort_io_deq_0_bits_target;
  wire  if3_btbFifo_zipPort__T = ~if3_btbFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:24]
  wire  if3_btbFifo_zipPort__T_2 = if3_btbFifo_zipPort__T & if3_btbFifo_zipPort_io_enq_1_valid; // @[RePort.scala 235:36]
  wire  if3_btbFifo__T = if3_btbFifo_zipPort_io_enq_1_ready & if3_btbFifo_zipPort_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_btbFifo__T_2 = ~if3_btbFifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_btbFifo__T_3 = if3_btbFifo_io_enq_0_valid & if3_btbFifo__T_2; // @[MultiPortFifo.scala 161:44]
  wire  if3_btbFifo__T_6 = ~if3_btbFifo__T_3; // @[MultiPortFifo.scala 161:15]
  wire  if3_btbFifo__T_8 = ~if3_btbFifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_btbFifo__T_9 = ~if3_btbFifo__T_6; // @[MultiPortFifo.scala 161:13]
  wire  if3_btbFifo__T_11 = ~if3_btbFifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_btbFifo__T_12 = if3_btbFifo_io_deq_0_valid & if3_btbFifo__T_11; // @[MultiPortFifo.scala 164:44]
  wire  if3_btbFifo__T_15 = ~if3_btbFifo__T_12; // @[MultiPortFifo.scala 164:15]
  wire  if3_btbFifo__T_18 = ~if3_btbFifo__T_15; // @[MultiPortFifo.scala 164:13]
  wire  if3_bimFifo_clock;
  wire  if3_bimFifo_reset;
  wire  if3_bimFifo_io_enq_0_ready;
  wire  if3_bimFifo_io_enq_0_valid;
  wire  if3_bimFifo_io_enq_0_bits_bim_p;
  wire  if3_bimFifo_io_enq_0_bits_bim_h;
  wire  if3_bimFifo_io_deq_0_ready;
  wire  if3_bimFifo_io_deq_0_valid;
  wire  if3_bimFifo_io_deq_0_bits_bim_p;
  wire  if3_bimFifo_io_deq_0_bits_bim_h;
  wire  if3_bimFifo_io_flush;
  wire  if3_bimFifo_fifo_clock;
  wire  if3_bimFifo_fifo_reset;
  wire  if3_bimFifo_fifo_io_enq_0_ready;
  wire  if3_bimFifo_fifo_io_enq_0_valid;
  wire  if3_bimFifo_fifo_io_enq_0_bits_bim_p;
  wire  if3_bimFifo_fifo_io_enq_0_bits_bim_h;
  wire  if3_bimFifo_fifo_io_deq_0_ready;
  wire  if3_bimFifo_fifo_io_deq_0_valid;
  wire  if3_bimFifo_fifo_io_deq_0_bits_bim_p;
  wire  if3_bimFifo_fifo_io_deq_0_bits_bim_h;
  wire  if3_bimFifo_fifo_io_flush;
  reg  if3_bimFifo_fifo_buf_0_bim_p; // @[MultiPortFifo.scala 57:20]
  reg  if3_bimFifo_fifo_buf_0_bim_h; // @[MultiPortFifo.scala 57:20]
  reg  if3_bimFifo_fifo_buf_1_bim_p; // @[MultiPortFifo.scala 57:20]
  reg  if3_bimFifo_fifo_buf_1_bim_h; // @[MultiPortFifo.scala 57:20]
  reg  if3_bimFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if3_bimFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if3_bimFifo_fifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if3_bimFifo_fifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if3_bimFifo_fifo__io_enq_0_ready_T = {{1'd0}, if3_bimFifo_fifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if3_bimFifo_fifo__io_enq_0_ready_T_1 = if3_bimFifo_fifo__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if3_bimFifo_fifo__GEN_1 = if3_bimFifo_fifo__io_enq_0_ready_T_1 ? if3_bimFifo_fifo_buf_valid_1 :
    if3_bimFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_bimFifo_fifo__io_deq_0_valid_T = {{1'd0}, if3_bimFifo_fifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if3_bimFifo_fifo__io_deq_0_valid_T_1 = if3_bimFifo_fifo__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if3_bimFifo_fifo__T = if3_bimFifo_fifo_io_enq_0_ready & if3_bimFifo_fifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_bimFifo_fifo__GEN_4 = ~if3_bimFifo_fifo__io_enq_0_ready_T_1 | if3_bimFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_bimFifo_fifo__GEN_5 = if3_bimFifo_fifo__io_enq_0_ready_T_1 | if3_bimFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_bimFifo_fifo__GEN_6 = if3_bimFifo_fifo__T ? if3_bimFifo_fifo__GEN_4 : if3_bimFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_bimFifo_fifo__GEN_7 = if3_bimFifo_fifo__T ? if3_bimFifo_fifo__GEN_5 : if3_bimFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_bimFifo_fifo__T_1 = if3_bimFifo_fifo_io_deq_0_ready & if3_bimFifo_fifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_bimFifo_fifo__rd_ptr_T_2 = if3_bimFifo_fifo_rd_ptr + if3_bimFifo_fifo__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if3_bimFifo_fifo__wr_ptr_T_2 = if3_bimFifo_fifo_wr_ptr + if3_bimFifo_fifo__T; // @[MultiPortFifo.scala 107:26]
  wire  if3_bimFifo_fifo__T_3 = ~if3_bimFifo_fifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_bimFifo_fifo__T_4 = if3_bimFifo_fifo_io_enq_0_valid & if3_bimFifo_fifo__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if3_bimFifo_fifo__T_7 = ~if3_bimFifo_fifo__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if3_bimFifo_fifo__T_9 = ~if3_bimFifo_fifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_bimFifo_fifo__T_10 = ~if3_bimFifo_fifo__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if3_bimFifo_fifo__T_12 = ~if3_bimFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_bimFifo_fifo__T_13 = if3_bimFifo_fifo_io_deq_0_valid & if3_bimFifo_fifo__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if3_bimFifo_fifo__T_16 = ~if3_bimFifo_fifo__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if3_bimFifo_fifo__T_19 = ~if3_bimFifo_fifo__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if3_bimFifo_rePortIn_clock;
  wire  if3_bimFifo_rePortIn_reset;
  wire  if3_bimFifo_rePortIn_io_enq_0_ready;
  wire  if3_bimFifo_rePortIn_io_enq_0_valid;
  wire  if3_bimFifo_rePortIn_io_enq_0_bits_bim_p;
  wire  if3_bimFifo_rePortIn_io_enq_0_bits_bim_h;
  wire  if3_bimFifo_rePortIn_io_deq_0_ready;
  wire  if3_bimFifo_rePortIn_io_deq_0_valid;
  wire  if3_bimFifo_rePortIn_io_deq_0_bits_bim_p;
  wire  if3_bimFifo_rePortIn_io_deq_0_bits_bim_h;
  wire  if3_bimFifo_rePortIn__T = if3_bimFifo_rePortIn_io_enq_0_ready & if3_bimFifo_rePortIn_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_bimFifo_rePortIn__T_1 = if3_bimFifo_rePortIn_io_deq_0_ready & if3_bimFifo_rePortIn_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_bimFifo_rePortIn__T_2 = if3_bimFifo_rePortIn__T == if3_bimFifo_rePortIn__T_1; // @[RePort.scala 32:45]
  wire  if3_bimFifo_rePortIn__T_4 = ~if3_bimFifo_rePortIn_reset; // @[RePort.scala 32:12]
  wire  if3_bimFifo_rePortIn__T_5 = ~if3_bimFifo_rePortIn__T_2; // @[RePort.scala 32:12]
  wire  if3_bimFifo_rePortIn__is_end_0_T = ~if3_bimFifo_rePortIn_io_enq_0_valid; // @[RePort.scala 62:21]
  wire  if3_bimFifo_rePortIn__T_6 = ~if3_bimFifo_rePortIn__is_end_0_T; // @[RePort.scala 75:11]
  wire  if3_bimFifo_zipPort_io_enq_0_ready;
  wire  if3_bimFifo_zipPort_io_enq_0_valid;
  wire  if3_bimFifo_zipPort_io_enq_0_bits_bim_p;
  wire  if3_bimFifo_zipPort_io_enq_0_bits_bim_h;
  wire  if3_bimFifo_zipPort_io_enq_1_ready;
  wire  if3_bimFifo_zipPort_io_enq_1_valid;
  wire  if3_bimFifo_zipPort_io_enq_1_bits_bim_p;
  wire  if3_bimFifo_zipPort_io_enq_1_bits_bim_h;
  wire  if3_bimFifo_zipPort_io_deq_0_ready;
  wire  if3_bimFifo_zipPort_io_deq_0_valid;
  wire  if3_bimFifo_zipPort_io_deq_0_bits_bim_p;
  wire  if3_bimFifo_zipPort_io_deq_0_bits_bim_h;
  wire  if3_bimFifo_zipPort__T = ~if3_bimFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:24]
  wire  if3_bimFifo_zipPort__T_2 = if3_bimFifo_zipPort__T & if3_bimFifo_zipPort_io_enq_1_valid; // @[RePort.scala 235:36]
  wire  if3_bimFifo__T = if3_bimFifo_zipPort_io_enq_1_ready & if3_bimFifo_zipPort_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_bimFifo__T_2 = ~if3_bimFifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_bimFifo__T_3 = if3_bimFifo_io_enq_0_valid & if3_bimFifo__T_2; // @[MultiPortFifo.scala 161:44]
  wire  if3_bimFifo__T_6 = ~if3_bimFifo__T_3; // @[MultiPortFifo.scala 161:15]
  wire  if3_bimFifo__T_8 = ~if3_bimFifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_bimFifo__T_9 = ~if3_bimFifo__T_6; // @[MultiPortFifo.scala 161:13]
  wire  if3_bimFifo__T_11 = ~if3_bimFifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_bimFifo__T_12 = if3_bimFifo_io_deq_0_valid & if3_bimFifo__T_11; // @[MultiPortFifo.scala 164:44]
  wire  if3_bimFifo__T_15 = ~if3_bimFifo__T_12; // @[MultiPortFifo.scala 164:15]
  wire  if3_bimFifo__T_18 = ~if3_bimFifo__T_15; // @[MultiPortFifo.scala 164:13]
  wire  if3_tageFifo_clock;
  wire  if3_tageFifo_reset;
  wire  if3_tageFifo_io_enq_0_valid;
  wire  if3_tageFifo_io_deq_0_ready;
  wire  if3_tageFifo_io_deq_0_valid;
  wire  if3_tageFifo_io_flush;
  wire  if3_tageFifo_fifo_clock;
  wire  if3_tageFifo_fifo_reset;
  wire  if3_tageFifo_fifo_io_enq_0_ready;
  wire  if3_tageFifo_fifo_io_enq_0_valid;
  wire  if3_tageFifo_fifo_io_deq_0_ready;
  wire  if3_tageFifo_fifo_io_deq_0_valid;
  wire  if3_tageFifo_fifo_io_flush;
  reg  if3_tageFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if3_tageFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if3_tageFifo_fifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if3_tageFifo_fifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if3_tageFifo_fifo__io_enq_0_ready_T = {{1'd0}, if3_tageFifo_fifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if3_tageFifo_fifo__io_enq_0_ready_T_1 = if3_tageFifo_fifo__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if3_tageFifo_fifo__GEN_1 = if3_tageFifo_fifo__io_enq_0_ready_T_1 ? if3_tageFifo_fifo_buf_valid_1 :
    if3_tageFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_tageFifo_fifo__io_deq_0_valid_T = {{1'd0}, if3_tageFifo_fifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if3_tageFifo_fifo__io_deq_0_valid_T_1 = if3_tageFifo_fifo__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if3_tageFifo_fifo__T = if3_tageFifo_fifo_io_enq_0_ready & if3_tageFifo_fifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_tageFifo_fifo__GEN_4 = ~if3_tageFifo_fifo__io_enq_0_ready_T_1 | if3_tageFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_tageFifo_fifo__GEN_5 = if3_tageFifo_fifo__io_enq_0_ready_T_1 | if3_tageFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_tageFifo_fifo__GEN_6 = if3_tageFifo_fifo__T ? if3_tageFifo_fifo__GEN_4 : if3_tageFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_tageFifo_fifo__GEN_7 = if3_tageFifo_fifo__T ? if3_tageFifo_fifo__GEN_5 : if3_tageFifo_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_tageFifo_fifo__T_1 = if3_tageFifo_fifo_io_deq_0_ready & if3_tageFifo_fifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_tageFifo_fifo__rd_ptr_T_2 = if3_tageFifo_fifo_rd_ptr + if3_tageFifo_fifo__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if3_tageFifo_fifo__wr_ptr_T_2 = if3_tageFifo_fifo_wr_ptr + if3_tageFifo_fifo__T; // @[MultiPortFifo.scala 107:26]
  wire  if3_tageFifo_fifo__T_3 = ~if3_tageFifo_fifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_tageFifo_fifo__T_4 = if3_tageFifo_fifo_io_enq_0_valid & if3_tageFifo_fifo__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if3_tageFifo_fifo__T_7 = ~if3_tageFifo_fifo__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if3_tageFifo_fifo__T_9 = ~if3_tageFifo_fifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_tageFifo_fifo__T_10 = ~if3_tageFifo_fifo__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if3_tageFifo_fifo__T_12 = ~if3_tageFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_tageFifo_fifo__T_13 = if3_tageFifo_fifo_io_deq_0_valid & if3_tageFifo_fifo__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if3_tageFifo_fifo__T_16 = ~if3_tageFifo_fifo__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if3_tageFifo_fifo__T_19 = ~if3_tageFifo_fifo__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if3_tageFifo_rePortIn_clock;
  wire  if3_tageFifo_rePortIn_reset;
  wire  if3_tageFifo_rePortIn_io_enq_0_ready;
  wire  if3_tageFifo_rePortIn_io_enq_0_valid;
  wire  if3_tageFifo_rePortIn_io_deq_0_ready;
  wire  if3_tageFifo_rePortIn_io_deq_0_valid;
  wire  if3_tageFifo_rePortIn__T = if3_tageFifo_rePortIn_io_enq_0_ready & if3_tageFifo_rePortIn_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_tageFifo_rePortIn__T_1 = if3_tageFifo_rePortIn_io_deq_0_ready & if3_tageFifo_rePortIn_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_tageFifo_rePortIn__T_2 = if3_tageFifo_rePortIn__T == if3_tageFifo_rePortIn__T_1; // @[RePort.scala 32:45]
  wire  if3_tageFifo_rePortIn__T_4 = ~if3_tageFifo_rePortIn_reset; // @[RePort.scala 32:12]
  wire  if3_tageFifo_rePortIn__T_5 = ~if3_tageFifo_rePortIn__T_2; // @[RePort.scala 32:12]
  wire  if3_tageFifo_zipPort_io_enq_0_ready;
  wire  if3_tageFifo_zipPort_io_enq_0_valid;
  wire  if3_tageFifo_zipPort_io_enq_1_ready;
  wire  if3_tageFifo_zipPort_io_enq_1_valid;
  wire  if3_tageFifo_zipPort_io_deq_0_ready;
  wire  if3_tageFifo_zipPort_io_deq_0_valid;
  wire  if3_tageFifo_zipPort__T = ~if3_tageFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:24]
  wire  if3_tageFifo_zipPort__T_2 = if3_tageFifo_zipPort__T & if3_tageFifo_zipPort_io_enq_1_valid; // @[RePort.scala 235:36]
  wire  if3_tageFifo__T = if3_tageFifo_zipPort_io_enq_1_ready & if3_tageFifo_zipPort_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_tageFifo__T_2 = ~if3_tageFifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_tageFifo__T_3 = if3_tageFifo_io_enq_0_valid & if3_tageFifo__T_2; // @[MultiPortFifo.scala 161:44]
  wire  if3_tageFifo__T_6 = ~if3_tageFifo__T_3; // @[MultiPortFifo.scala 161:15]
  wire  if3_tageFifo__T_8 = ~if3_tageFifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_tageFifo__T_9 = ~if3_tageFifo__T_6; // @[MultiPortFifo.scala 161:13]
  wire  if3_tageFifo__T_11 = ~if3_tageFifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_tageFifo__T_12 = if3_tageFifo_io_deq_0_valid & if3_tageFifo__T_11; // @[MultiPortFifo.scala 164:44]
  wire  if3_tageFifo__T_15 = ~if3_tageFifo__T_12; // @[MultiPortFifo.scala 164:15]
  wire  if3_tageFifo__T_18 = ~if3_tageFifo__T_15; // @[MultiPortFifo.scala 164:13]
  wire  if3_if3_resp_fifo_clock;
  wire  if3_if3_resp_fifo_reset;
  wire  if3_if3_resp_fifo_io_enq_0_ready;
  wire  if3_if3_resp_fifo_io_enq_0_valid;
  wire  if3_if3_resp_fifo_io_enq_0_bits_isRVC;
  wire [31:0] if3_if3_resp_fifo_io_enq_0_bits_instr;
  wire [38:0] if3_if3_resp_fifo_io_enq_0_bits_pc;
  wire  if3_if3_resp_fifo_io_enq_0_bits_isRedirect;
  wire [38:0] if3_if3_resp_fifo_io_enq_0_bits_target;
  wire  if3_if3_resp_fifo_io_enq_1_ready;
  wire  if3_if3_resp_fifo_io_enq_1_valid;
  wire  if3_if3_resp_fifo_io_enq_1_bits_isRVC;
  wire [31:0] if3_if3_resp_fifo_io_enq_1_bits_instr;
  wire [38:0] if3_if3_resp_fifo_io_enq_1_bits_pc;
  wire  if3_if3_resp_fifo_io_enq_1_bits_isRedirect;
  wire [38:0] if3_if3_resp_fifo_io_enq_1_bits_target;
  wire  if3_if3_resp_fifo_io_enq_2_ready;
  wire  if3_if3_resp_fifo_io_enq_2_valid;
  wire  if3_if3_resp_fifo_io_enq_2_bits_isRVC;
  wire [31:0] if3_if3_resp_fifo_io_enq_2_bits_instr;
  wire [38:0] if3_if3_resp_fifo_io_enq_2_bits_pc;
  wire  if3_if3_resp_fifo_io_enq_2_bits_isRedirect;
  wire [38:0] if3_if3_resp_fifo_io_enq_2_bits_target;
  wire  if3_if3_resp_fifo_io_enq_3_ready;
  wire  if3_if3_resp_fifo_io_enq_3_valid;
  wire  if3_if3_resp_fifo_io_enq_3_bits_isRVC;
  wire [31:0] if3_if3_resp_fifo_io_enq_3_bits_instr;
  wire [38:0] if3_if3_resp_fifo_io_enq_3_bits_pc;
  wire  if3_if3_resp_fifo_io_enq_3_bits_isRedirect;
  wire [38:0] if3_if3_resp_fifo_io_enq_3_bits_target;
  wire  if3_if3_resp_fifo_io_deq_0_ready;
  wire  if3_if3_resp_fifo_io_deq_0_valid;
  wire  if3_if3_resp_fifo_io_deq_0_bits_isRVC;
  wire [31:0] if3_if3_resp_fifo_io_deq_0_bits_instr;
  wire [38:0] if3_if3_resp_fifo_io_deq_0_bits_pc;
  wire  if3_if3_resp_fifo_io_deq_0_bits_isRedirect;
  wire [38:0] if3_if3_resp_fifo_io_deq_0_bits_target;
  wire  if3_if3_resp_fifo_io_flush;
  reg  if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 57:20]
  reg [31:0] if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_1_isRVC; // @[MultiPortFifo.scala 57:20]
  reg [31:0] if3_if3_resp_fifo_buf_1_instr; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_1_pc; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_1_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_1_target; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_2_isRVC; // @[MultiPortFifo.scala 57:20]
  reg [31:0] if3_if3_resp_fifo_buf_2_instr; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_2_pc; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_2_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_2_target; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_3_isRVC; // @[MultiPortFifo.scala 57:20]
  reg [31:0] if3_if3_resp_fifo_buf_3_instr; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_3_pc; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_3_isRedirect; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if3_if3_resp_fifo_buf_3_target; // @[MultiPortFifo.scala 57:20]
  reg  if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if3_if3_resp_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if3_if3_resp_fifo_buf_valid_2; // @[MultiPortFifo.scala 58:30]
  reg  if3_if3_resp_fifo_buf_valid_3; // @[MultiPortFifo.scala 58:30]
  reg [1:0] if3_if3_resp_fifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg [1:0] if3_if3_resp_fifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [2:0] if3_if3_resp_fifo__io_enq_0_ready_T = {{1'd0}, if3_if3_resp_fifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire [1:0] if3_if3_resp_fifo__io_enq_0_ready_T_1 = if3_if3_resp_fifo__io_enq_0_ready_T[1:0]; // @[MultiPortFifo.scala 64:78]
  wire  if3_if3_resp_fifo__GEN_1 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_valid_1 :
    if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_2 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_valid_2 :
    if3_if3_resp_fifo__GEN_1; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_3 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_valid_3 :
    if3_if3_resp_fifo__GEN_2; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_if3_resp_fifo__io_enq_1_ready_T_1 = if3_if3_resp_fifo_wr_ptr + 2'h1; // @[MultiPortFifo.scala 64:78]
  wire  if3_if3_resp_fifo__GEN_5 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_valid_1 :
    if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_6 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_valid_2 :
    if3_if3_resp_fifo__GEN_5; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_7 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_valid_3 :
    if3_if3_resp_fifo__GEN_6; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_if3_resp_fifo__io_enq_2_ready_T_1 = if3_if3_resp_fifo_wr_ptr + 2'h2; // @[MultiPortFifo.scala 64:78]
  wire  if3_if3_resp_fifo__GEN_9 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_valid_1 :
    if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_10 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_valid_2 :
    if3_if3_resp_fifo__GEN_9; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_11 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_valid_3 :
    if3_if3_resp_fifo__GEN_10; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if3_if3_resp_fifo__io_enq_3_ready_T_1 = if3_if3_resp_fifo_wr_ptr + 2'h3; // @[MultiPortFifo.scala 64:78]
  wire  if3_if3_resp_fifo__GEN_13 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_valid_1 :
    if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_14 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_valid_2 :
    if3_if3_resp_fifo__GEN_13; // @[MultiPortFifo.scala 64:{94,94}]
  wire  if3_if3_resp_fifo__GEN_15 = 2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_valid_3 :
    if3_if3_resp_fifo__GEN_14; // @[MultiPortFifo.scala 64:{94,94}]
  wire [2:0] if3_if3_resp_fifo__io_deq_0_valid_T = {{1'd0}, if3_if3_resp_fifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire [1:0] if3_if3_resp_fifo__io_deq_0_valid_T_1 = if3_if3_resp_fifo__io_deq_0_valid_T[1:0]; // @[MultiPortFifo.scala 65:78]
  wire  if3_if3_resp_fifo__GEN_17 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_valid_1 :
    if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if3_if3_resp_fifo__GEN_18 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_valid_2 :
    if3_if3_resp_fifo__GEN_17; // @[MultiPortFifo.scala 65:{94,94}]
  wire  if3_if3_resp_fifo__T = if3_if3_resp_fifo_io_enq_0_ready & if3_if3_resp_fifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_if3_resp_fifo__GEN_20 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 | if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_21 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 | if3_if3_resp_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_22 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 | if3_if3_resp_fifo_buf_valid_2; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_23 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 | if3_if3_resp_fifo_buf_valid_3; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_24 = if3_if3_resp_fifo__T ? if3_if3_resp_fifo__GEN_20 : if3_if3_resp_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_if3_resp_fifo__GEN_25 = if3_if3_resp_fifo__T ? if3_if3_resp_fifo__GEN_21 : if3_if3_resp_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_if3_resp_fifo__GEN_26 = if3_if3_resp_fifo__T ? if3_if3_resp_fifo__GEN_22 : if3_if3_resp_fifo_buf_valid_2; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_if3_resp_fifo__GEN_27 = if3_if3_resp_fifo__T ? if3_if3_resp_fifo__GEN_23 : if3_if3_resp_fifo_buf_valid_3; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if3_if3_resp_fifo__T_1 = if3_if3_resp_fifo_io_deq_0_ready & if3_if3_resp_fifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if3_if3_resp_fifo__GEN_28 = 2'h0 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_24; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_29 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_25; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_30 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_26; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_31 = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_27; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_32 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_28 : if3_if3_resp_fifo__GEN_24; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_33 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_29 : if3_if3_resp_fifo__GEN_25; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_34 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_30 : if3_if3_resp_fifo__GEN_26; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_35 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_31 : if3_if3_resp_fifo__GEN_27; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_51 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_61 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_1_instr
     : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_62 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_1_pc :
    if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_64 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRedirect
     : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_65 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_1_target
     : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_66 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRVC :
    if3_if3_resp_fifo__GEN_51; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_76 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_2_instr
     : if3_if3_resp_fifo__GEN_61; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_77 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_2_pc :
    if3_if3_resp_fifo__GEN_62; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_79 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRedirect
     : if3_if3_resp_fifo__GEN_64; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_80 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_2_target
     : if3_if3_resp_fifo__GEN_65; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_81 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRVC :
    if3_if3_resp_fifo__GEN_66; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_91 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_3_instr
     : if3_if3_resp_fifo__GEN_76; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_92 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_3_pc :
    if3_if3_resp_fifo__GEN_77; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_94 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRedirect
     : if3_if3_resp_fifo__GEN_79; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_95 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo_buf_3_target
     : if3_if3_resp_fifo__GEN_80; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__buf_T_1_isRVC = if3_if3_resp_fifo__T ? if3_if3_resp_fifo_io_enq_0_bits_isRVC :
    if3_if3_resp_fifo__GEN_81; // @[MultiPortFifo.scala 101:33]
  wire [31:0] if3_if3_resp_fifo__buf_T_1_instr = if3_if3_resp_fifo__T ? if3_if3_resp_fifo_io_enq_0_bits_instr :
    if3_if3_resp_fifo__GEN_91; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if3_if3_resp_fifo__buf_T_1_pc = if3_if3_resp_fifo__T ? if3_if3_resp_fifo_io_enq_0_bits_pc :
    if3_if3_resp_fifo__GEN_92; // @[MultiPortFifo.scala 101:33]
  wire  if3_if3_resp_fifo__buf_T_1_isRedirect = if3_if3_resp_fifo__T ? if3_if3_resp_fifo_io_enq_0_bits_isRedirect :
    if3_if3_resp_fifo__GEN_94; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if3_if3_resp_fifo__buf_T_1_target = if3_if3_resp_fifo__T ? if3_if3_resp_fifo_io_enq_0_bits_target :
    if3_if3_resp_fifo__GEN_95; // @[MultiPortFifo.scala 101:33]
  wire  if3_if3_resp_fifo__GEN_96 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_97 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_isRVC :
    if3_if3_resp_fifo_buf_1_isRVC; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_98 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_isRVC :
    if3_if3_resp_fifo_buf_2_isRVC; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_99 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_isRVC :
    if3_if3_resp_fifo_buf_3_isRVC; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [31:0] if3_if3_resp_fifo__GEN_136 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_instr : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [31:0] if3_if3_resp_fifo__GEN_137 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_instr : if3_if3_resp_fifo_buf_1_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [31:0] if3_if3_resp_fifo__GEN_138 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_instr : if3_if3_resp_fifo_buf_2_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [31:0] if3_if3_resp_fifo__GEN_139 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_instr : if3_if3_resp_fifo_buf_3_instr; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_140 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_pc
     : if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_141 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_pc
     : if3_if3_resp_fifo_buf_1_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_142 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_pc
     : if3_if3_resp_fifo_buf_2_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_143 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ? if3_if3_resp_fifo__buf_T_1_pc
     : if3_if3_resp_fifo_buf_3_pc; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_148 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_isRedirect : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_149 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_isRedirect : if3_if3_resp_fifo_buf_1_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_150 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_isRedirect : if3_if3_resp_fifo_buf_2_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__GEN_151 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_isRedirect : if3_if3_resp_fifo_buf_3_isRedirect; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_152 = 2'h0 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_target : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_153 = 2'h1 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_target : if3_if3_resp_fifo_buf_1_target; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_154 = 2'h2 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_target : if3_if3_resp_fifo_buf_2_target; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire [38:0] if3_if3_resp_fifo__GEN_155 = 2'h3 == if3_if3_resp_fifo__io_enq_0_ready_T_1 ?
    if3_if3_resp_fifo__buf_T_1_target : if3_if3_resp_fifo_buf_3_target; // @[MultiPortFifo.scala 101:{27,27} 57:20]
  wire  if3_if3_resp_fifo__T_2 = if3_if3_resp_fifo_io_enq_1_ready & if3_if3_resp_fifo_io_enq_1_valid; // @[Decoupled.scala 52:35]
  wire  if3_if3_resp_fifo__GEN_156 = 2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1 | if3_if3_resp_fifo__GEN_32; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_157 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 | if3_if3_resp_fifo__GEN_33; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_158 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 | if3_if3_resp_fifo__GEN_34; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_159 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 | if3_if3_resp_fifo__GEN_35; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_160 = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo__GEN_156 : if3_if3_resp_fifo__GEN_32; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_161 = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo__GEN_157 : if3_if3_resp_fifo__GEN_33; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_162 = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo__GEN_158 : if3_if3_resp_fifo__GEN_34; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_163 = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo__GEN_159 : if3_if3_resp_fifo__GEN_35; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_164 = 2'h0 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_160; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_165 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_161; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_166 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_162; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_167 = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_163; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_168 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_164 : if3_if3_resp_fifo__GEN_160; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_169 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_165 : if3_if3_resp_fifo__GEN_161; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_170 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_166 : if3_if3_resp_fifo__GEN_162; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_171 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_167 : if3_if3_resp_fifo__GEN_163; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_187 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_197 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_1_instr
     : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_198 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_1_pc :
    if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_200 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRedirect
     : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_201 = 2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ?
    if3_if3_resp_fifo_buf_1_target : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_202 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRVC :
    if3_if3_resp_fifo__GEN_187; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_212 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_2_instr
     : if3_if3_resp_fifo__GEN_197; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_213 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_2_pc :
    if3_if3_resp_fifo__GEN_198; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_215 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRedirect
     : if3_if3_resp_fifo__GEN_200; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_216 = 2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ?
    if3_if3_resp_fifo_buf_2_target : if3_if3_resp_fifo__GEN_201; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_217 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRVC :
    if3_if3_resp_fifo__GEN_202; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_227 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_3_instr
     : if3_if3_resp_fifo__GEN_212; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_228 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_3_pc :
    if3_if3_resp_fifo__GEN_213; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_230 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRedirect
     : if3_if3_resp_fifo__GEN_215; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_231 = 2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1 ?
    if3_if3_resp_fifo_buf_3_target : if3_if3_resp_fifo__GEN_216; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__buf_T_3_isRVC = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo_io_enq_1_bits_isRVC :
    if3_if3_resp_fifo__GEN_217; // @[MultiPortFifo.scala 101:33]
  wire [31:0] if3_if3_resp_fifo__buf_T_3_instr = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo_io_enq_1_bits_instr :
    if3_if3_resp_fifo__GEN_227; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if3_if3_resp_fifo__buf_T_3_pc = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo_io_enq_1_bits_pc :
    if3_if3_resp_fifo__GEN_228; // @[MultiPortFifo.scala 101:33]
  wire  if3_if3_resp_fifo__buf_T_3_isRedirect = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo_io_enq_1_bits_isRedirect :
    if3_if3_resp_fifo__GEN_230; // @[MultiPortFifo.scala 101:33]
  wire [38:0] if3_if3_resp_fifo__buf_T_3_target = if3_if3_resp_fifo__T_2 ? if3_if3_resp_fifo_io_enq_1_bits_target :
    if3_if3_resp_fifo__GEN_231; // @[MultiPortFifo.scala 101:33]
  wire  if3_if3_resp_fifo__T_4 = if3_if3_resp_fifo_io_enq_2_ready & if3_if3_resp_fifo_io_enq_2_valid; // @[Decoupled.scala 52:35]
  wire  if3_if3_resp_fifo__GEN_292 = 2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1 | if3_if3_resp_fifo__GEN_168; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_293 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 | if3_if3_resp_fifo__GEN_169; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_294 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 | if3_if3_resp_fifo__GEN_170; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_295 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 | if3_if3_resp_fifo__GEN_171; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_296 = if3_if3_resp_fifo__T_4 ? if3_if3_resp_fifo__GEN_292 : if3_if3_resp_fifo__GEN_168; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_297 = if3_if3_resp_fifo__T_4 ? if3_if3_resp_fifo__GEN_293 : if3_if3_resp_fifo__GEN_169; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_298 = if3_if3_resp_fifo__T_4 ? if3_if3_resp_fifo__GEN_294 : if3_if3_resp_fifo__GEN_170; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_299 = if3_if3_resp_fifo__T_4 ? if3_if3_resp_fifo__GEN_295 : if3_if3_resp_fifo__GEN_171; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_300 = 2'h0 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_296; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_301 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_297; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_302 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_298; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_303 = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? 1'h0 : if3_if3_resp_fifo__GEN_299; // @[MultiPortFifo.scala 98:{57,57}]
  wire  if3_if3_resp_fifo__GEN_304 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_300 : if3_if3_resp_fifo__GEN_296; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_305 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_301 : if3_if3_resp_fifo__GEN_297; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_306 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_302 : if3_if3_resp_fifo__GEN_298; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_307 = if3_if3_resp_fifo__T_1 ? if3_if3_resp_fifo__GEN_303 : if3_if3_resp_fifo__GEN_299; // @[MultiPortFifo.scala 98:34]
  wire  if3_if3_resp_fifo__GEN_323 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_333 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_1_instr
     : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_334 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_1_pc :
    if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_336 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRedirect
     : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_337 = 2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ?
    if3_if3_resp_fifo_buf_1_target : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_338 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRVC :
    if3_if3_resp_fifo__GEN_323; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_348 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_2_instr
     : if3_if3_resp_fifo__GEN_333; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_349 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_2_pc :
    if3_if3_resp_fifo__GEN_334; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_351 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRedirect
     : if3_if3_resp_fifo__GEN_336; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_352 = 2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ?
    if3_if3_resp_fifo_buf_2_target : if3_if3_resp_fifo__GEN_337; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_353 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRVC :
    if3_if3_resp_fifo__GEN_338; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_363 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_3_instr
     : if3_if3_resp_fifo__GEN_348; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_364 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_3_pc :
    if3_if3_resp_fifo__GEN_349; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_366 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ? if3_if3_resp_fifo_buf_3_isRedirect
     : if3_if3_resp_fifo__GEN_351; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_367 = 2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1 ?
    if3_if3_resp_fifo_buf_3_target : if3_if3_resp_fifo__GEN_352; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__T_6 = if3_if3_resp_fifo_io_enq_3_ready & if3_if3_resp_fifo_io_enq_3_valid; // @[Decoupled.scala 52:35]
  wire  if3_if3_resp_fifo__GEN_428 = 2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1 | if3_if3_resp_fifo__GEN_304; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_429 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 | if3_if3_resp_fifo__GEN_305; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_430 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 | if3_if3_resp_fifo__GEN_306; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_431 = 2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1 | if3_if3_resp_fifo__GEN_307; // @[MultiPortFifo.scala 97:{57,57}]
  wire  if3_if3_resp_fifo__GEN_432 = if3_if3_resp_fifo__T_6 ? if3_if3_resp_fifo__GEN_428 : if3_if3_resp_fifo__GEN_304; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_433 = if3_if3_resp_fifo__T_6 ? if3_if3_resp_fifo__GEN_429 : if3_if3_resp_fifo__GEN_305; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_434 = if3_if3_resp_fifo__T_6 ? if3_if3_resp_fifo__GEN_430 : if3_if3_resp_fifo__GEN_306; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_435 = if3_if3_resp_fifo__T_6 ? if3_if3_resp_fifo__GEN_431 : if3_if3_resp_fifo__GEN_307; // @[MultiPortFifo.scala 97:34]
  wire  if3_if3_resp_fifo__GEN_459 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_469 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_1_instr
     : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_470 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_1_pc :
    if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_472 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_1_isRedirect
     : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_473 = 2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ?
    if3_if3_resp_fifo_buf_1_target : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_474 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRVC :
    if3_if3_resp_fifo__GEN_459; // @[MultiPortFifo.scala 101:{33,33}]
  wire [31:0] if3_if3_resp_fifo__GEN_484 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_2_instr
     : if3_if3_resp_fifo__GEN_469; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_485 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_2_pc :
    if3_if3_resp_fifo__GEN_470; // @[MultiPortFifo.scala 101:{33,33}]
  wire  if3_if3_resp_fifo__GEN_487 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ? if3_if3_resp_fifo_buf_2_isRedirect
     : if3_if3_resp_fifo__GEN_472; // @[MultiPortFifo.scala 101:{33,33}]
  wire [38:0] if3_if3_resp_fifo__GEN_488 = 2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1 ?
    if3_if3_resp_fifo_buf_2_target : if3_if3_resp_fifo__GEN_473; // @[MultiPortFifo.scala 101:{33,33}]
  wire [1:0] _GEN_194 = {{1'd0}, if3_if3_resp_fifo__T_1}; // @[MultiPortFifo.scala 106:26]
  wire [1:0] if3_if3_resp_fifo__rd_ptr_T_2 = if3_if3_resp_fifo_rd_ptr + _GEN_194; // @[MultiPortFifo.scala 106:26]
  wire [1:0] if3_if3_resp_fifo__wr_ptr_T_1 = if3_if3_resp_fifo__T_2 ? 2'h2 : {{1'd0}, if3_if3_resp_fifo__T}; // @[Mux.scala 101:16]
  wire [1:0] if3_if3_resp_fifo__wr_ptr_T_2 = if3_if3_resp_fifo__T_4 ? 2'h3 : if3_if3_resp_fifo__wr_ptr_T_1; // @[Mux.scala 101:16]
  wire [2:0] if3_if3_resp_fifo__wr_ptr_T_3 = if3_if3_resp_fifo__T_6 ? 3'h4 : {{1'd0}, if3_if3_resp_fifo__wr_ptr_T_2}; // @[Mux.scala 101:16]
  wire [2:0] if3_if3_resp_fifo__wr_ptr_T_5 = if3_if3_resp_fifo__io_enq_0_ready_T + if3_if3_resp_fifo__wr_ptr_T_3; // @[MultiPortFifo.scala 107:26]
  wire [2:0] if3_if3_resp_fifo__GEN_569 = if3_if3_resp_fifo_io_flush ? 3'h0 : if3_if3_resp_fifo__wr_ptr_T_5; // @[MultiPortFifo.scala 107:16 87:23 90:16]
  wire  if3_if3_resp_fifo__GEN_645 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_1_isRVC :
    if3_if3_resp_fifo_buf_0_isRVC; // @[MultiPortFifo.scala 114:{14,14}]
  wire [31:0] if3_if3_resp_fifo__GEN_655 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_1_instr
     : if3_if3_resp_fifo_buf_0_instr; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if3_if3_resp_fifo__GEN_656 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_1_pc :
    if3_if3_resp_fifo_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if3_if3_resp_fifo__GEN_658 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_1_isRedirect
     : if3_if3_resp_fifo_buf_0_isRedirect; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if3_if3_resp_fifo__GEN_659 = 2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_1_target : if3_if3_resp_fifo_buf_0_target; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if3_if3_resp_fifo__GEN_660 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_2_isRVC :
    if3_if3_resp_fifo__GEN_645; // @[MultiPortFifo.scala 114:{14,14}]
  wire [31:0] if3_if3_resp_fifo__GEN_670 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_2_instr
     : if3_if3_resp_fifo__GEN_655; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if3_if3_resp_fifo__GEN_671 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_2_pc :
    if3_if3_resp_fifo__GEN_656; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if3_if3_resp_fifo__GEN_673 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_2_isRedirect
     : if3_if3_resp_fifo__GEN_658; // @[MultiPortFifo.scala 114:{14,14}]
  wire [38:0] if3_if3_resp_fifo__GEN_674 = 2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_2_target : if3_if3_resp_fifo__GEN_659; // @[MultiPortFifo.scala 114:{14,14}]
  wire  if3_if3_resp_fifo__T_9 = ~if3_if3_resp_fifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_if3_resp_fifo__T_10 = if3_if3_resp_fifo_io_enq_0_valid & if3_if3_resp_fifo__T_9; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_13 = ~if3_if3_resp_fifo__T_10; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_15 = ~if3_if3_resp_fifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_16 = ~if3_if3_resp_fifo__T_13; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_18 = ~if3_if3_resp_fifo_io_enq_1_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_if3_resp_fifo__T_27 = ~if3_if3_resp_fifo_io_enq_2_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_if3_resp_fifo__T_36 = ~if3_if3_resp_fifo_io_enq_3_valid; // @[MultiPortFifo.scala 161:63]
  wire  if3_if3_resp_fifo__T_46 = if3_if3_resp_fifo_io_enq_1_valid & if3_if3_resp_fifo__T_9; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_49 = ~if3_if3_resp_fifo__T_46; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_52 = ~if3_if3_resp_fifo__T_49; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_55 = if3_if3_resp_fifo_io_enq_1_valid & if3_if3_resp_fifo__T_18; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_58 = ~if3_if3_resp_fifo__T_55; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_61 = ~if3_if3_resp_fifo__T_58; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_82 = if3_if3_resp_fifo_io_enq_2_valid & if3_if3_resp_fifo__T_9; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_85 = ~if3_if3_resp_fifo__T_82; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_88 = ~if3_if3_resp_fifo__T_85; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_91 = if3_if3_resp_fifo_io_enq_2_valid & if3_if3_resp_fifo__T_18; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_94 = ~if3_if3_resp_fifo__T_91; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_97 = ~if3_if3_resp_fifo__T_94; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_100 = if3_if3_resp_fifo_io_enq_2_valid & if3_if3_resp_fifo__T_27; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_103 = ~if3_if3_resp_fifo__T_100; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_106 = ~if3_if3_resp_fifo__T_103; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_118 = if3_if3_resp_fifo_io_enq_3_valid & if3_if3_resp_fifo__T_9; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_121 = ~if3_if3_resp_fifo__T_118; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_124 = ~if3_if3_resp_fifo__T_121; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_127 = if3_if3_resp_fifo_io_enq_3_valid & if3_if3_resp_fifo__T_18; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_130 = ~if3_if3_resp_fifo__T_127; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_133 = ~if3_if3_resp_fifo__T_130; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_136 = if3_if3_resp_fifo_io_enq_3_valid & if3_if3_resp_fifo__T_27; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_139 = ~if3_if3_resp_fifo__T_136; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_142 = ~if3_if3_resp_fifo__T_139; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_145 = if3_if3_resp_fifo_io_enq_3_valid & if3_if3_resp_fifo__T_36; // @[MultiPortFifo.scala 161:44]
  wire  if3_if3_resp_fifo__T_148 = ~if3_if3_resp_fifo__T_145; // @[MultiPortFifo.scala 161:15]
  wire  if3_if3_resp_fifo__T_151 = ~if3_if3_resp_fifo__T_148; // @[MultiPortFifo.scala 161:13]
  wire  if3_if3_resp_fifo__T_153 = ~if3_if3_resp_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if3_if3_resp_fifo__T_154 = if3_if3_resp_fifo_io_deq_0_valid & if3_if3_resp_fifo__T_153; // @[MultiPortFifo.scala 164:44]
  wire  if3_if3_resp_fifo__T_157 = ~if3_if3_resp_fifo__T_154; // @[MultiPortFifo.scala 164:15]
  wire  if3_if3_resp_fifo__T_160 = ~if3_if3_resp_fifo__T_157; // @[MultiPortFifo.scala 164:13]
  wire  if3_if3_resp_fifo__T_166 = ~if3_if3_resp_fifo__T; // @[MultiPortFifo.scala 169:17]
  wire  if3_if3_resp_fifo__T_175 = ~if3_if3_resp_fifo__T_2; // @[MultiPortFifo.scala 169:17]
  wire  if3_if3_resp_fifo__T_188 = ~if3_if3_resp_fifo__T_4; // @[MultiPortFifo.scala 169:17]
  wire [2:0] _GEN_196 = if3_if3_resp_fifo_reset ? 3'h0 : if3_if3_resp_fifo__GEN_569; // @[MultiPortFifo.scala 61:{27,27}]
  reg  if3_pipeLineLock; // @[IF3.scala 54:29]
  wire  if3__predictor_ready_T = if3_btb_io_isReady & if3_bim_io_isReady; // @[IF3.scala 65:40]
  wire [1:0] if3__is_instr32_T = if3_io_if3_req_0_bits_instr[1:0]; // @[IF3.scala 81:48]
  wire  if3_is_instr32_0 = if3__is_instr32_T == 2'h3; // @[IF3.scala 81:54]
  wire [1:0] if3__is_instr32_T_1 = if3_io_if3_req_1_bits_instr[1:0]; // @[IF3.scala 81:48]
  wire  if3_is_instr32_1 = if3__is_instr32_T_1 == 2'h3; // @[IF3.scala 81:54]
  wire [1:0] if3__is_instr32_T_2 = if3_io_if3_req_2_bits_instr[1:0]; // @[IF3.scala 81:48]
  wire  if3_is_instr32_2 = if3__is_instr32_T_2 == 2'h3; // @[IF3.scala 81:54]
  wire [1:0] if3__is_instr32_T_3 = if3_io_if3_req_3_bits_instr[1:0]; // @[IF3.scala 81:48]
  wire  if3_is_instr32_3 = if3__is_instr32_T_3 == 2'h3; // @[IF3.scala 81:54]
  wire  if3__T_2 = if3_is_instr32_0 | if3_io_if3_req_0_bits_isRedirect; // @[IF3.scala 86:51]
  wire  if3__T_3 = ~if3__T_2; // @[IF3.scala 86:30]
  wire  if3__T_4 = if3_is_instr32_1 & if3__T_3; // @[IF3.scala 86:28]
  wire  if3__T_5 = if3__T_4 | if3_io_if3_req_1_bits_isRedirect; // @[IF3.scala 86:51]
  wire  if3__T_6 = ~if3__T_5; // @[IF3.scala 86:30]
  wire  if3__T_7 = if3_is_instr32_2 & if3__T_6; // @[IF3.scala 86:28]
  wire  if3__T_8 = if3__T_7 | if3_io_if3_req_2_bits_isRedirect; // @[IF3.scala 86:51]
  wire  if3__GEN_3 = if3_is_instr32_3 | if3__T_8; // @[IF3.scala 89:27 90:24]
  wire [31:0] if3__reAlign_0_bits_instr_T = {if3_io_if3_req_1_bits_instr,if3_io_if3_req_0_bits_instr}; // @[Cat.scala 33:92]
  wire [31:0] if3__reAlign_0_bits_instr_T_1 = if3_io_if3_req_1_bits_isFault ? {{16'd0}, if3_io_if3_req_1_bits_instr} :
    if3__reAlign_0_bits_instr_T; // @[IF3.scala 106:44]
  wire [15:0] if3__reAlignPreDecode_0_info16_is_jalr_T = if3_io_if3_req_1_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_1 = 16'h8002 == if3__reAlignPreDecode_0_info16_is_jalr_T; // @[IF3.scala 345:34]
  wire [4:0] if3__reAlignPreDecode_0_info16_is_jalr_T_2 = if3_io_if3_req_1_bits_instr[11:7]; // @[IF3.scala 345:75]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_3 = if3__reAlignPreDecode_0_info16_is_jalr_T_2 != 5'h0; // @[IF3.scala 345:82]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_4 = if3__reAlignPreDecode_0_info16_is_jalr_T_1 &
    if3__reAlignPreDecode_0_info16_is_jalr_T_3; // @[IF3.scala 345:66]
  wire [15:0] if3__reAlignPreDecode_0_info16_is_branch_T = if3_io_if3_req_1_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  if3__reAlignPreDecode_0_info16_is_branch_T_1 = 16'hc001 == if3__reAlignPreDecode_0_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [6:0] if3__reAlignPreDecode_0_info32_is_jalr_T = if3__reAlign_0_bits_instr_T[6:0]; // @[IF3.scala 371:33]
  wire  if3__reAlignPreDecode_0_info32_is_jalr_T_1 = if3__reAlignPreDecode_0_info32_is_jalr_T == 7'h67; // @[IF3.scala 371:39]
  wire  if3__reAlignPreDecode_0_info32_is_branch_T_1 = if3__reAlignPreDecode_0_info32_is_jalr_T == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] if3__reAlignPreDecode_0_info32_is_fencei_T = if3__reAlign_0_bits_instr_T & 32'h707f; // @[IF3.scala 375:35]
  wire  if3__reAlignPreDecode_0_info32_is_fencei_T_1 = 32'h100f == if3__reAlignPreDecode_0_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] if3__reAlignPreDecode_0_info32_is_sfencevma_T = if3__reAlign_0_bits_instr_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_0_info32_is_sfencevma_T_1 = 32'h12000073 == if3__reAlignPreDecode_0_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_0_T_1_is_jalr = if3_io_if3_req_1_bits_isFault ? if3__reAlignPreDecode_0_info16_is_jalr_T_4
     : if3__reAlignPreDecode_0_info32_is_jalr_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_0_T_1_is_branch = if3_io_if3_req_1_bits_isFault ?
    if3__reAlignPreDecode_0_info16_is_branch_T_1 : if3__reAlignPreDecode_0_info32_is_branch_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_0_T_1_is_fencei = if3_io_if3_req_1_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_0_info32_is_fencei_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_0_T_1_is_sfencevma = if3_io_if3_req_1_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_0_info32_is_sfencevma_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlign_0_valid_T = if3_io_if3_req_0_ready & if3_io_if3_req_0_valid; // @[Decoupled.scala 52:35]
  wire  if3__reAlign_0_valid_T_1 = if3_io_if3_req_1_ready & if3_io_if3_req_1_valid; // @[Decoupled.scala 52:35]
  wire  if3__reAlign_0_valid_T_2 = if3__reAlign_0_valid_T & if3__reAlign_0_valid_T_1; // @[IF3.scala 112:57]
  wire  if3__reAlign_0_valid_T_3 = if3__reAlign_0_valid_T_2 & if3__predictor_ready_T; // @[IF3.scala 112:80]
  wire  if3__reAlign_0_valid_T_4 = ~if3_pipeLineLock; // @[IF3.scala 112:100]
  wire  if3__reAlign_0_valid_T_5 = if3__reAlign_0_valid_T_3 & if3__reAlign_0_valid_T_4; // @[IF3.scala 112:98]
  wire [15:0] if3__reAlignPreDecode_0_info16_is_branch_T_2 = if3_io_if3_req_0_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  if3__reAlignPreDecode_0_info16_is_branch_T_3 = 16'hc001 == if3__reAlignPreDecode_0_info16_is_branch_T_2; // @[IF3.scala 346:34]
  wire  if3__GEN_24 = if3_is_instr32_0 ? if3__reAlignPreDecode_0_T_1_is_branch :
    if3__reAlignPreDecode_0_info16_is_branch_T_3; // @[IF3.scala 102:31 107:31 138:31]
  wire [15:0] if3__reAlignPreDecode_0_info16_is_jalr_T_5 = if3_io_if3_req_0_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_6 = 16'h8002 == if3__reAlignPreDecode_0_info16_is_jalr_T_5; // @[IF3.scala 345:34]
  wire [4:0] if3__reAlignPreDecode_0_info16_is_jalr_T_7 = if3_io_if3_req_0_bits_instr[11:7]; // @[IF3.scala 345:75]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_8 = if3__reAlignPreDecode_0_info16_is_jalr_T_7 != 5'h0; // @[IF3.scala 345:82]
  wire  if3__reAlignPreDecode_0_info16_is_jalr_T_9 = if3__reAlignPreDecode_0_info16_is_jalr_T_6 &
    if3__reAlignPreDecode_0_info16_is_jalr_T_8; // @[IF3.scala 345:66]
  wire  if3__GEN_23 = if3_is_instr32_0 ? if3__reAlignPreDecode_0_T_1_is_jalr :
    if3__reAlignPreDecode_0_info16_is_jalr_T_9; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__reAlign_0_ready_T = if3_combPDT_io_enq_0_ready & if3_btb_io_req_ready; // @[IF3.scala 202:53]
  wire  if3__GEN_332 = if3__GEN_23 ? if3__reAlign_0_ready_T : if3_combPDT_io_enq_0_ready; // @[IF3.scala 179:11 196:27]
  wire  if3__reAlign_0_ready_T_1 = if3_combPDT_io_enq_0_ready & if3_bim_io_req_ready; // @[IF3.scala 213:53]
  wire  if3__GEN_338 = if3__GEN_24 ? if3__reAlign_0_ready_T_1 : if3__GEN_332; // @[IF3.scala 207:27]
  wire  if3__io_if3_req_0_ready_T = if3__GEN_338 & if3__predictor_ready_T; // @[IF3.scala 113:55]
  wire  if3__io_if3_req_0_ready_T_2 = if3__io_if3_req_0_ready_T & if3__reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  if3__io_if3_req_0_ready_T_3 = if3__io_if3_req_0_ready_T_2 & if3_io_if3_req_1_valid; // @[IF3.scala 113:89]
  wire  if3__T_13 = if3__reAlign_0_valid_T == if3__reAlign_0_valid_T_1; // @[IF3.scala 132:37]
  wire  if3__T_15 = ~if3_reset; // @[IF3.scala 132:17]
  wire  if3__T_16 = ~if3__T_13; // @[IF3.scala 132:17]
  wire  if3__reAlign_0_valid_T_19 = if3__reAlign_0_valid_T & if3__predictor_ready_T; // @[IF3.scala 143:57]
  wire  if3__reAlign_0_valid_T_21 = if3__reAlign_0_valid_T_19 & if3__reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  if3__GEN_28 = if3_is_instr32_0 & if3__reAlignPreDecode_0_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_29 = if3_is_instr32_0 & if3__reAlignPreDecode_0_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_32 = if3_is_instr32_0 ? if3__reAlign_0_valid_T_5 : if3__reAlign_0_valid_T_21; // @[IF3.scala 102:31]
  wire  if3__GEN_34 = if3_is_instr32_0 & if3__io_if3_req_0_ready_T_2; // @[IF3.scala 102:31]
  wire  if3__T_19 = if3__reAlign_0_valid_T & if3_io_if3_req_0_bits_isRedirect; // @[IF3.scala 160:33]
  wire  if3__T_23 = ~if3__reAlign_0_valid_T_1; // @[IF3.scala 160:75]
  wire  if3__T_24 = if3_io_if3_req_0_valid & if3_io_if3_req_0_bits_isRedirect; // @[IF3.scala 161:33]
  wire  if3__T_25 = if3_io_if3_req_1_valid & if3_io_if3_req_1_bits_isRedirect; // @[IF3.scala 161:101]
  wire  if3__T_26 = ~if3__T_25; // @[IF3.scala 161:77]
  wire  if3__T_29 = ~if3__T_26; // @[IF3.scala 161:75]
  wire [31:0] if3__reAlign_1_bits_instr_T = {if3_io_if3_req_2_bits_instr,if3_io_if3_req_1_bits_instr}; // @[Cat.scala 33:92]
  wire [31:0] if3__reAlign_1_bits_instr_T_1 = if3_io_if3_req_2_bits_isFault ? {{16'd0}, if3_io_if3_req_2_bits_instr} :
    if3__reAlign_1_bits_instr_T; // @[IF3.scala 106:44]
  wire [15:0] if3__reAlignPreDecode_1_info16_is_jalr_T = if3_io_if3_req_2_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  if3__reAlignPreDecode_1_info16_is_jalr_T_1 = 16'h8002 == if3__reAlignPreDecode_1_info16_is_jalr_T; // @[IF3.scala 345:34]
  wire [4:0] if3__reAlignPreDecode_1_info16_is_jalr_T_2 = if3_io_if3_req_2_bits_instr[11:7]; // @[IF3.scala 345:75]
  wire  if3__reAlignPreDecode_1_info16_is_jalr_T_3 = if3__reAlignPreDecode_1_info16_is_jalr_T_2 != 5'h0; // @[IF3.scala 345:82]
  wire  if3__reAlignPreDecode_1_info16_is_jalr_T_4 = if3__reAlignPreDecode_1_info16_is_jalr_T_1 &
    if3__reAlignPreDecode_1_info16_is_jalr_T_3; // @[IF3.scala 345:66]
  wire [15:0] if3__reAlignPreDecode_1_info16_is_branch_T = if3_io_if3_req_2_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  if3__reAlignPreDecode_1_info16_is_branch_T_1 = 16'hc001 == if3__reAlignPreDecode_1_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [6:0] if3__reAlignPreDecode_1_info32_is_jalr_T = if3__reAlign_1_bits_instr_T[6:0]; // @[IF3.scala 371:33]
  wire  if3__reAlignPreDecode_1_info32_is_jalr_T_1 = if3__reAlignPreDecode_1_info32_is_jalr_T == 7'h67; // @[IF3.scala 371:39]
  wire  if3__reAlignPreDecode_1_info32_is_branch_T_1 = if3__reAlignPreDecode_1_info32_is_jalr_T == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] if3__reAlignPreDecode_1_info32_is_fencei_T = if3__reAlign_1_bits_instr_T & 32'h707f; // @[IF3.scala 375:35]
  wire  if3__reAlignPreDecode_1_info32_is_fencei_T_1 = 32'h100f == if3__reAlignPreDecode_1_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] if3__reAlignPreDecode_1_info32_is_sfencevma_T = if3__reAlign_1_bits_instr_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_1_info32_is_sfencevma_T_1 = 32'h12000073 == if3__reAlignPreDecode_1_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_1_T_1_is_jalr = if3_io_if3_req_2_bits_isFault ? if3__reAlignPreDecode_1_info16_is_jalr_T_4
     : if3__reAlignPreDecode_1_info32_is_jalr_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_1_T_1_is_branch = if3_io_if3_req_2_bits_isFault ?
    if3__reAlignPreDecode_1_info16_is_branch_T_1 : if3__reAlignPreDecode_1_info32_is_branch_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_1_T_1_is_fencei = if3_io_if3_req_2_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_1_info32_is_fencei_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_1_T_1_is_sfencevma = if3_io_if3_req_2_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_1_info32_is_sfencevma_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlign_1_valid_T_1 = if3_io_if3_req_2_ready & if3_io_if3_req_2_valid; // @[Decoupled.scala 52:35]
  wire  if3__reAlign_1_valid_T_2 = if3__reAlign_0_valid_T_1 & if3__reAlign_1_valid_T_1; // @[IF3.scala 112:57]
  wire  if3__reAlign_1_valid_T_3 = if3__reAlign_1_valid_T_2 & if3__predictor_ready_T; // @[IF3.scala 112:80]
  wire  if3__reAlign_1_valid_T_5 = if3__reAlign_1_valid_T_3 & if3__reAlign_0_valid_T_4; // @[IF3.scala 112:98]
  wire  if3_is_lock_pipe_0 = if3__GEN_28 | if3__GEN_29; // @[frontend.scala 100:32]
  wire  if3__T_102 = ~if3__GEN_338; // @[IF3.scala 271:30]
  wire  if3__GEN_74 = if3_is_instr32_1 ? if3__reAlignPreDecode_1_T_1_is_branch :
    if3__reAlignPreDecode_0_info16_is_branch_T_1; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_92 = if3__T_3 & if3__GEN_74; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_73 = if3_is_instr32_1 ? if3__reAlignPreDecode_1_T_1_is_jalr :
    if3__reAlignPreDecode_0_info16_is_jalr_T_4; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_91 = if3__T_3 & if3__GEN_73; // @[IF3.scala 101:33 97:25]
  wire  if3__reAlign_1_ready_T = if3_combPDT_io_enq_1_ready & if3_btb_io_req_ready; // @[IF3.scala 202:53]
  wire  if3__GEN_268 = if3__GEN_23 ? if3_combPDT_io_enq_1_ready : if3__reAlign_1_ready_T; // @[IF3.scala 197:100 179:11 202:26]
  wire  if3__GEN_271 = if3__GEN_91 ? if3__GEN_268 : if3_combPDT_io_enq_1_ready; // @[IF3.scala 179:11 196:27]
  wire  if3__reAlign_1_ready_T_1 = if3_combPDT_io_enq_1_ready & if3_bim_io_req_ready; // @[IF3.scala 213:53]
  wire  if3__GEN_274 = if3__GEN_24 ? if3__GEN_271 : if3__reAlign_1_ready_T_1; // @[IF3.scala 208:103 213:26]
  wire  if3__GEN_277 = if3__GEN_92 ? if3__GEN_274 : if3__GEN_271; // @[IF3.scala 207:27]
  wire  if3__GEN_291 = if3__GEN_23 ? 1'h0 : if3__GEN_277; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_297 = if3__GEN_91 ? if3__GEN_291 : if3__GEN_277; // @[IF3.scala 241:27]
  wire  if3__GEN_303 = if3__GEN_24 ? 1'h0 : if3__GEN_297; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_309 = if3__GEN_92 ? if3__GEN_303 : if3__GEN_297; // @[IF3.scala 251:27]
  wire  if3__GEN_326 = if3__T_102 ? 1'h0 : if3__GEN_309; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_348 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_326; // @[IF3.scala 234:29 237:26]
  wire  if3__io_if3_req_1_ready_T_9 = if3__GEN_348 & if3__predictor_ready_T; // @[IF3.scala 113:55]
  wire  if3__io_if3_req_1_ready_T_11 = if3__io_if3_req_1_ready_T_9 & if3__reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  if3__io_if3_req_1_ready_T_12 = if3__io_if3_req_1_ready_T_11 & if3_io_if3_req_2_valid; // @[IF3.scala 113:89]
  wire  if3__T_34 = if3__reAlign_0_valid_T_1 == if3__reAlign_1_valid_T_1; // @[IF3.scala 132:37]
  wire  if3__T_37 = ~if3__T_34; // @[IF3.scala 132:17]
  wire  if3__reAlign_1_valid_T_19 = if3__reAlign_0_valid_T_1 & if3__predictor_ready_T; // @[IF3.scala 143:57]
  wire  if3__reAlign_1_valid_T_21 = if3__reAlign_1_valid_T_19 & if3__reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire [31:0] if3__GEN_71 = if3_is_instr32_1 ? if3__reAlign_1_bits_instr_T_1 : {{16'd0}, if3_io_if3_req_1_bits_instr}; // @[IF3.scala 102:31 106:38 137:33]
  wire  if3__GEN_77 = if3_is_instr32_1 ? if3_io_if3_req_2_bits_isFault : 1'h1; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_78 = if3_is_instr32_1 & if3__reAlignPreDecode_1_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_79 = if3_is_instr32_1 & if3__reAlignPreDecode_1_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_95 = if3__T_3 & if3__GEN_77; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_82 = if3_is_instr32_1 ? if3__reAlign_1_valid_T_5 : if3__reAlign_1_valid_T_21; // @[IF3.scala 102:31]
  wire  if3__GEN_83 = if3_is_instr32_1 ? if3__io_if3_req_1_ready_T_12 : if3__io_if3_req_1_ready_T_11; // @[IF3.scala 102:31]
  wire  if3__GEN_84 = if3_is_instr32_1 & if3__io_if3_req_1_ready_T_11; // @[IF3.scala 102:31]
  wire [38:0] if3__GEN_86 = if3__T_3 ? if3_io_if3_req_1_bits_pc : 39'h0; // @[IF3.scala 101:33 96:22]
  wire  if3__GEN_96 = if3__T_3 & if3__GEN_78; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_97 = if3__T_3 & if3__GEN_79; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_100 = if3__T_3 & if3__GEN_82; // @[IF3.scala 101:33 95:22]
  wire  if3__GEN_102 = if3__T_3 & if3__GEN_84; // @[IF3.scala 101:33]
  wire  if3__T_40 = if3__reAlign_0_valid_T_1 & if3_io_if3_req_1_bits_isRedirect; // @[IF3.scala 160:33]
  wire  if3__T_44 = ~if3__reAlign_1_valid_T_1; // @[IF3.scala 160:75]
  wire  if3__T_46 = if3_io_if3_req_2_valid & if3_io_if3_req_2_bits_isRedirect; // @[IF3.scala 161:101]
  wire  if3__T_47 = ~if3__T_46; // @[IF3.scala 161:77]
  wire  if3__T_50 = ~if3__T_47; // @[IF3.scala 161:75]
  wire [31:0] if3__reAlign_2_bits_instr_T = {if3_io_if3_req_3_bits_instr,if3_io_if3_req_2_bits_instr}; // @[Cat.scala 33:92]
  wire [31:0] if3__reAlign_2_bits_instr_T_1 = if3_io_if3_req_3_bits_isFault ? {{16'd0}, if3_io_if3_req_3_bits_instr} :
    if3__reAlign_2_bits_instr_T; // @[IF3.scala 106:44]
  wire [15:0] if3__reAlignPreDecode_2_info16_is_jalr_T = if3_io_if3_req_3_bits_instr & 16'he07f; // @[IF3.scala 345:34]
  wire  if3__reAlignPreDecode_2_info16_is_jalr_T_1 = 16'h8002 == if3__reAlignPreDecode_2_info16_is_jalr_T; // @[IF3.scala 345:34]
  wire [4:0] if3__reAlignPreDecode_2_info16_is_jalr_T_2 = if3_io_if3_req_3_bits_instr[11:7]; // @[IF3.scala 345:75]
  wire  if3__reAlignPreDecode_2_info16_is_jalr_T_3 = if3__reAlignPreDecode_2_info16_is_jalr_T_2 != 5'h0; // @[IF3.scala 345:82]
  wire  if3__reAlignPreDecode_2_info16_is_jalr_T_4 = if3__reAlignPreDecode_2_info16_is_jalr_T_1 &
    if3__reAlignPreDecode_2_info16_is_jalr_T_3; // @[IF3.scala 345:66]
  wire [15:0] if3__reAlignPreDecode_2_info16_is_branch_T = if3_io_if3_req_3_bits_instr & 16'hc003; // @[IF3.scala 346:34]
  wire  if3__reAlignPreDecode_2_info16_is_branch_T_1 = 16'hc001 == if3__reAlignPreDecode_2_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [6:0] if3__reAlignPreDecode_2_info32_is_jalr_T = if3__reAlign_2_bits_instr_T[6:0]; // @[IF3.scala 371:33]
  wire  if3__reAlignPreDecode_2_info32_is_jalr_T_1 = if3__reAlignPreDecode_2_info32_is_jalr_T == 7'h67; // @[IF3.scala 371:39]
  wire  if3__reAlignPreDecode_2_info32_is_branch_T_1 = if3__reAlignPreDecode_2_info32_is_jalr_T == 7'h63; // @[IF3.scala 372:39]
  wire [31:0] if3__reAlignPreDecode_2_info32_is_fencei_T = if3__reAlign_2_bits_instr_T & 32'h707f; // @[IF3.scala 375:35]
  wire  if3__reAlignPreDecode_2_info32_is_fencei_T_1 = 32'h100f == if3__reAlignPreDecode_2_info32_is_fencei_T; // @[IF3.scala 375:35]
  wire [31:0] if3__reAlignPreDecode_2_info32_is_sfencevma_T = if3__reAlign_2_bits_instr_T & 32'hfe007fff; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_2_info32_is_sfencevma_T_1 = 32'h12000073 == if3__reAlignPreDecode_2_info32_is_sfencevma_T; // @[IF3.scala 376:38]
  wire  if3__reAlignPreDecode_2_T_1_is_jalr = if3_io_if3_req_3_bits_isFault ? if3__reAlignPreDecode_2_info16_is_jalr_T_4
     : if3__reAlignPreDecode_2_info32_is_jalr_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_2_T_1_is_branch = if3_io_if3_req_3_bits_isFault ?
    if3__reAlignPreDecode_2_info16_is_branch_T_1 : if3__reAlignPreDecode_2_info32_is_branch_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_2_T_1_is_fencei = if3_io_if3_req_3_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_2_info32_is_fencei_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlignPreDecode_2_T_1_is_sfencevma = if3_io_if3_req_3_bits_isFault ? 1'h0 :
    if3__reAlignPreDecode_2_info32_is_sfencevma_T_1; // @[IF3.scala 107:37]
  wire  if3__reAlign_2_valid_T_1 = if3_io_if3_req_3_ready & if3_io_if3_req_3_valid; // @[Decoupled.scala 52:35]
  wire  if3__reAlign_2_valid_T_2 = if3__reAlign_1_valid_T_1 & if3__reAlign_2_valid_T_1; // @[IF3.scala 112:57]
  wire  if3__reAlign_2_valid_T_3 = if3__reAlign_2_valid_T_2 & if3__predictor_ready_T; // @[IF3.scala 112:80]
  wire  if3__reAlign_2_valid_T_5 = if3__reAlign_2_valid_T_3 & if3__reAlign_0_valid_T_4; // @[IF3.scala 112:98]
  wire  if3_is_lock_pipe_1 = if3__GEN_96 | if3__GEN_97; // @[frontend.scala 100:32]
  wire  if3__T_101 = ~if3__GEN_348; // @[IF3.scala 271:30]
  wire  if3__GEN_121 = if3_is_instr32_2 ? if3__reAlignPreDecode_2_T_1_is_branch :
    if3__reAlignPreDecode_1_info16_is_branch_T_1; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_138 = if3__T_6 & if3__GEN_121; // @[IF3.scala 101:33 97:25]
  wire  if3__T_98 = if3__GEN_24 | if3__GEN_92; // @[IF3.scala 252:94]
  wire  if3__GEN_120 = if3_is_instr32_2 ? if3__reAlignPreDecode_2_T_1_is_jalr :
    if3__reAlignPreDecode_1_info16_is_jalr_T_4; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_137 = if3__T_6 & if3__GEN_120; // @[IF3.scala 101:33 97:25]
  wire  if3__T_97 = if3__GEN_23 | if3__GEN_91; // @[IF3.scala 242:92]
  wire  if3__reAlign_2_ready_T = if3_combPDT_io_enq_2_ready & if3_btb_io_req_ready; // @[IF3.scala 202:53]
  wire  if3__GEN_220 = if3__T_97 ? if3_combPDT_io_enq_2_ready : if3__reAlign_2_ready_T; // @[IF3.scala 197:100 179:11 202:26]
  wire  if3__GEN_223 = if3__GEN_137 ? if3__GEN_220 : if3_combPDT_io_enq_2_ready; // @[IF3.scala 179:11 196:27]
  wire  if3__reAlign_2_ready_T_1 = if3_combPDT_io_enq_2_ready & if3_bim_io_req_ready; // @[IF3.scala 213:53]
  wire  if3__GEN_226 = if3__T_98 ? if3__GEN_223 : if3__reAlign_2_ready_T_1; // @[IF3.scala 208:103 213:26]
  wire  if3__GEN_229 = if3__GEN_138 ? if3__GEN_226 : if3__GEN_223; // @[IF3.scala 207:27]
  wire  if3__GEN_241 = if3__T_97 ? 1'h0 : if3__GEN_229; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_245 = if3__GEN_137 ? if3__GEN_241 : if3__GEN_229; // @[IF3.scala 241:27]
  wire  if3__GEN_249 = if3__T_98 ? 1'h0 : if3__GEN_245; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_253 = if3__GEN_138 ? if3__GEN_249 : if3__GEN_245; // @[IF3.scala 251:27]
  wire  if3__GEN_264 = if3__T_102 ? 1'h0 : if3__GEN_253; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_265 = if3__T_101 ? 1'h0 : if3__GEN_264; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_287 = if3_is_lock_pipe_1 ? 1'h0 : if3__GEN_265; // @[IF3.scala 234:29 237:26]
  wire  if3__GEN_293 = if3__GEN_23 ? 1'h0 : if3__GEN_287; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_299 = if3__GEN_91 ? if3__GEN_293 : if3__GEN_287; // @[IF3.scala 241:27]
  wire  if3__GEN_305 = if3__GEN_24 ? 1'h0 : if3__GEN_299; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_311 = if3__GEN_92 ? if3__GEN_305 : if3__GEN_299; // @[IF3.scala 251:27]
  wire  if3__GEN_350 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_311; // @[IF3.scala 234:29 237:26]
  wire  if3__io_if3_req_2_ready_T_12 = if3__GEN_350 & if3__predictor_ready_T; // @[IF3.scala 113:55]
  wire  if3__io_if3_req_2_ready_T_14 = if3__io_if3_req_2_ready_T_12 & if3__reAlign_0_valid_T_4; // @[IF3.scala 113:73]
  wire  if3__io_if3_req_2_ready_T_15 = if3__io_if3_req_2_ready_T_14 & if3_io_if3_req_3_valid; // @[IF3.scala 113:89]
  wire  if3__T_55 = if3__reAlign_1_valid_T_1 == if3__reAlign_2_valid_T_1; // @[IF3.scala 132:37]
  wire  if3__T_58 = ~if3__T_55; // @[IF3.scala 132:17]
  wire  if3__reAlign_2_valid_T_13 = if3__reAlign_1_valid_T_1 & if3__predictor_ready_T; // @[IF3.scala 143:57]
  wire  if3__reAlign_2_valid_T_15 = if3__reAlign_2_valid_T_13 & if3__reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire [31:0] if3__GEN_118 = if3_is_instr32_2 ? if3__reAlign_2_bits_instr_T_1 : {{16'd0}, if3_io_if3_req_2_bits_instr}; // @[IF3.scala 102:31 106:38 137:33]
  wire  if3__GEN_124 = if3_is_instr32_2 ? if3_io_if3_req_3_bits_isFault : 1'h1; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_125 = if3_is_instr32_2 & if3__reAlignPreDecode_2_T_1_is_fencei; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_126 = if3_is_instr32_2 & if3__reAlignPreDecode_2_T_1_is_sfencevma; // @[IF3.scala 102:31 107:31 138:31]
  wire  if3__GEN_141 = if3__T_6 & if3__GEN_124; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_129 = if3_is_instr32_2 ? if3__reAlign_2_valid_T_5 : if3__reAlign_2_valid_T_15; // @[IF3.scala 102:31]
  wire  if3__GEN_130 = if3_is_instr32_2 ? if3__io_if3_req_2_ready_T_15 : if3__io_if3_req_2_ready_T_14; // @[IF3.scala 102:31]
  wire  if3__GEN_131 = if3_is_instr32_2 & if3__io_if3_req_2_ready_T_14; // @[IF3.scala 102:31]
  wire [38:0] if3__GEN_132 = if3__T_6 ? if3_io_if3_req_2_bits_pc : 39'h0; // @[IF3.scala 101:33 96:22]
  wire  if3__GEN_142 = if3__T_6 & if3__GEN_125; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_143 = if3__T_6 & if3__GEN_126; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_146 = if3__T_6 & if3__GEN_129; // @[IF3.scala 101:33 95:22]
  wire  if3__GEN_148 = if3__T_6 & if3__GEN_131; // @[IF3.scala 101:33]
  wire  if3__T_61 = if3__reAlign_1_valid_T_1 & if3_io_if3_req_2_bits_isRedirect; // @[IF3.scala 160:33]
  wire  if3__T_65 = ~if3__reAlign_2_valid_T_1; // @[IF3.scala 160:75]
  wire  if3__T_67 = if3_io_if3_req_3_valid & if3_io_if3_req_3_bits_isRedirect; // @[IF3.scala 161:101]
  wire  if3__T_68 = ~if3__T_67; // @[IF3.scala 161:77]
  wire  if3__T_71 = ~if3__T_68; // @[IF3.scala 161:75]
  wire  if3__T_72 = ~if3__GEN_3; // @[IF3.scala 101:13]
  wire  if3__reAlign_3_valid_T_1 = if3__reAlign_2_valid_T_1 & if3__predictor_ready_T; // @[IF3.scala 143:57]
  wire  if3__reAlign_3_valid_T_3 = if3__reAlign_3_valid_T_1 & if3__reAlign_0_valid_T_4; // @[IF3.scala 143:75]
  wire  if3_is_lock_pipe_2 = if3__GEN_142 | if3__GEN_143; // @[frontend.scala 100:32]
  wire  if3__T_93 = ~if3__GEN_350; // @[IF3.scala 271:30]
  wire  if3__GEN_157 = if3_is_instr32_3 ? 1'h0 : if3__reAlignPreDecode_2_info16_is_branch_T_1; // @[IF3.scala 102:31 97:25 138:31]
  wire  if3__GEN_173 = if3__T_72 & if3__GEN_157; // @[IF3.scala 101:33 97:25]
  wire  if3__T_88 = if3__T_98 | if3__GEN_138; // @[IF3.scala 252:94]
  wire  if3__GEN_156 = if3_is_instr32_3 ? 1'h0 : if3__reAlignPreDecode_2_info16_is_jalr_T_4; // @[IF3.scala 102:31 97:25 138:31]
  wire  if3__GEN_172 = if3__T_72 & if3__GEN_156; // @[IF3.scala 101:33 97:25]
  wire  if3__T_86 = if3__T_97 | if3__GEN_137; // @[IF3.scala 242:92]
  wire  if3__reAlign_3_ready_T = if3_combPDT_io_enq_3_ready & if3_btb_io_req_ready; // @[IF3.scala 202:53]
  wire  if3__GEN_185 = if3__T_86 ? if3_combPDT_io_enq_3_ready : if3__reAlign_3_ready_T; // @[IF3.scala 197:100 179:11 202:26]
  wire  if3__GEN_188 = if3__GEN_172 ? if3__GEN_185 : if3_combPDT_io_enq_3_ready; // @[IF3.scala 179:11 196:27]
  wire  if3__reAlign_3_ready_T_1 = if3_combPDT_io_enq_3_ready & if3_bim_io_req_ready; // @[IF3.scala 213:53]
  wire  if3__GEN_191 = if3__T_88 ? if3__GEN_188 : if3__reAlign_3_ready_T_1; // @[IF3.scala 208:103 213:26]
  wire  if3__GEN_194 = if3__GEN_173 ? if3__GEN_191 : if3__GEN_188; // @[IF3.scala 207:27]
  wire  if3__GEN_204 = if3__T_86 ? 1'h0 : if3__GEN_194; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_206 = if3__GEN_172 ? if3__GEN_204 : if3__GEN_194; // @[IF3.scala 241:27]
  wire  if3__GEN_208 = if3__T_88 ? 1'h0 : if3__GEN_206; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_210 = if3__GEN_173 ? if3__GEN_208 : if3__GEN_206; // @[IF3.scala 251:27]
  wire  if3__GEN_215 = if3__T_102 ? 1'h0 : if3__GEN_210; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_216 = if3__T_101 ? 1'h0 : if3__GEN_215; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_217 = if3__T_93 ? 1'h0 : if3__GEN_216; // @[IF3.scala 271:44 272:26]
  wire  if3__GEN_239 = if3_is_lock_pipe_2 ? 1'h0 : if3__GEN_217; // @[IF3.scala 234:29 237:26]
  wire  if3__GEN_243 = if3__T_97 ? 1'h0 : if3__GEN_239; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_247 = if3__GEN_137 ? if3__GEN_243 : if3__GEN_239; // @[IF3.scala 241:27]
  wire  if3__GEN_251 = if3__T_98 ? 1'h0 : if3__GEN_247; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_255 = if3__GEN_138 ? if3__GEN_251 : if3__GEN_247; // @[IF3.scala 251:27]
  wire  if3__GEN_289 = if3_is_lock_pipe_1 ? 1'h0 : if3__GEN_255; // @[IF3.scala 234:29 237:26]
  wire  if3__GEN_295 = if3__GEN_23 ? 1'h0 : if3__GEN_289; // @[IF3.scala 242:100 245:28]
  wire  if3__GEN_301 = if3__GEN_91 ? if3__GEN_295 : if3__GEN_289; // @[IF3.scala 241:27]
  wire  if3__GEN_307 = if3__GEN_24 ? 1'h0 : if3__GEN_301; // @[IF3.scala 252:103 255:28]
  wire  if3__GEN_313 = if3__GEN_92 ? if3__GEN_307 : if3__GEN_301; // @[IF3.scala 251:27]
  wire  if3__GEN_352 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_313; // @[IF3.scala 234:29 237:26]
  wire  if3__io_if3_req_3_ready_T_9 = if3__GEN_352 & if3__predictor_ready_T; // @[IF3.scala 144:55]
  wire  if3__io_if3_req_3_ready_T_11 = if3__io_if3_req_3_ready_T_9 & if3__reAlign_0_valid_T_4; // @[IF3.scala 144:73]
  wire [38:0] if3__GEN_151 = if3_is_instr32_3 ? 39'h0 : if3_io_if3_req_3_bits_pc; // @[IF3.scala 102:31 96:22 134:33]
  wire [31:0] if3__GEN_154 = if3_is_instr32_3 ? 32'h0 : {{16'd0}, if3_io_if3_req_3_bits_instr}; // @[IF3.scala 102:31 96:22 137:33]
  wire  if3__GEN_160 = if3_is_instr32_3 ? 1'h0 : 1'h1; // @[IF3.scala 102:31 97:25 138:31]
  wire  if3__GEN_176 = if3__T_72 & if3__GEN_160; // @[IF3.scala 101:33 97:25]
  wire  if3__GEN_164 = if3_is_instr32_3 ? 1'h0 : if3__GEN_176; // @[IF3.scala 102:31 96:22 139:33]
  wire  if3__GEN_165 = if3_is_instr32_3 ? 1'h0 : if3__reAlign_3_valid_T_3; // @[IF3.scala 102:31 95:22]
  wire  if3__GEN_166 = if3_is_instr32_3 ? if3__GEN_148 : if3__io_if3_req_3_ready_T_11; // @[IF3.scala 102:31]
  wire [38:0] if3__GEN_167 = if3__T_72 ? if3__GEN_151 : 39'h0; // @[IF3.scala 101:33 96:22]
  wire  if3__GEN_181 = if3__T_72 & if3__GEN_165; // @[IF3.scala 101:33 95:22]
  wire  if3__T_75 = ~if3_io_if3_req_3_bits_isRedirect; // @[IF3.scala 163:44]
  wire  if3__T_78 = ~if3__T_75; // @[IF3.scala 163:42]
  wire  if3__btb_io_req_valid_T = if3_io_flush | if3_io_if4Redirect_valid; // @[IF3.scala 200:59]
  wire  if3__btb_io_req_valid_T_1 = ~if3__btb_io_req_valid_T; // @[IF3.scala 200:48]
  wire  if3__GEN_203 = if3__T_86 ? 1'h0 : if3__GEN_181; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_205 = if3__GEN_172 ? if3__GEN_203 : if3__GEN_181; // @[IF3.scala 241:27]
  wire  if3__GEN_207 = if3__T_88 ? 1'h0 : if3__GEN_205; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_209 = if3__GEN_173 ? if3__GEN_207 : if3__GEN_205; // @[IF3.scala 251:27]
  wire  if3__GEN_238 = if3_is_lock_pipe_2 ? 1'h0 : if3__GEN_209; // @[IF3.scala 234:29 236:26]
  wire  if3__GEN_242 = if3__T_97 ? 1'h0 : if3__GEN_238; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_246 = if3__GEN_137 ? if3__GEN_242 : if3__GEN_238; // @[IF3.scala 241:27]
  wire  if3__GEN_250 = if3__T_98 ? 1'h0 : if3__GEN_246; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_254 = if3__GEN_138 ? if3__GEN_250 : if3__GEN_246; // @[IF3.scala 251:27]
  wire  if3__GEN_288 = if3_is_lock_pipe_1 ? 1'h0 : if3__GEN_254; // @[IF3.scala 234:29 236:26]
  wire  if3__GEN_294 = if3__GEN_23 ? 1'h0 : if3__GEN_288; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_300 = if3__GEN_91 ? if3__GEN_294 : if3__GEN_288; // @[IF3.scala 241:27]
  wire  if3__GEN_306 = if3__GEN_24 ? 1'h0 : if3__GEN_300; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_312 = if3__GEN_92 ? if3__GEN_306 : if3__GEN_300; // @[IF3.scala 251:27]
  wire  if3__GEN_351 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_312; // @[IF3.scala 234:29 236:26]
  wire  if3__btb_io_req_valid_T_2 = if3__GEN_351 & if3__btb_io_req_valid_T_1; // @[IF3.scala 200:46]
  wire  if3__GEN_183 = if3__T_86 ? 1'h0 : if3__btb_io_req_valid_T_2; // @[IF3.scala 197:100 185:20 200:26]
  wire [38:0] if3__GEN_184 = if3__T_86 ? 39'h0 : if3__GEN_167; // @[IF3.scala 197:100 182:22 201:28]
  wire  if3__GEN_186 = if3__GEN_172 & if3__GEN_183; // @[IF3.scala 185:20 196:27]
  wire [38:0] if3__GEN_187 = if3__GEN_172 ? if3__GEN_184 : 39'h0; // @[IF3.scala 182:22 196:27]
  wire  if3__GEN_189 = if3__T_88 ? 1'h0 : if3__btb_io_req_valid_T_2; // @[IF3.scala 208:103 186:20 211:26]
  wire [38:0] if3__GEN_190 = if3__T_88 ? 39'h0 : if3__GEN_167; // @[IF3.scala 208:103 183:22 212:28]
  wire  if3__GEN_192 = if3__GEN_173 & if3__GEN_189; // @[IF3.scala 186:20 207:27]
  wire [38:0] if3__GEN_193 = if3__GEN_173 ? if3__GEN_190 : 39'h0; // @[IF3.scala 183:22 207:27]
  wire  if3__GEN_240 = if3__T_97 ? 1'h0 : if3__GEN_146; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_244 = if3__GEN_137 ? if3__GEN_240 : if3__GEN_146; // @[IF3.scala 241:27]
  wire  if3__GEN_248 = if3__T_98 ? 1'h0 : if3__GEN_244; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_252 = if3__GEN_138 ? if3__GEN_248 : if3__GEN_244; // @[IF3.scala 251:27]
  wire  if3__GEN_286 = if3_is_lock_pipe_1 ? 1'h0 : if3__GEN_252; // @[IF3.scala 234:29 236:26]
  wire  if3__GEN_292 = if3__GEN_23 ? 1'h0 : if3__GEN_286; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_298 = if3__GEN_91 ? if3__GEN_292 : if3__GEN_286; // @[IF3.scala 241:27]
  wire  if3__GEN_304 = if3__GEN_24 ? 1'h0 : if3__GEN_298; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_310 = if3__GEN_92 ? if3__GEN_304 : if3__GEN_298; // @[IF3.scala 251:27]
  wire  if3__GEN_349 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_310; // @[IF3.scala 234:29 236:26]
  wire  if3__btb_io_req_valid_T_5 = if3__GEN_349 & if3__btb_io_req_valid_T_1; // @[IF3.scala 200:46]
  wire  if3__GEN_218 = if3__T_97 ? if3__GEN_186 : if3__btb_io_req_valid_T_5; // @[IF3.scala 197:100 200:26]
  wire [38:0] if3__GEN_219 = if3__T_97 ? if3__GEN_187 : if3__GEN_132; // @[IF3.scala 197:100 201:28]
  wire  if3__GEN_221 = if3__GEN_137 ? if3__GEN_218 : if3__GEN_186; // @[IF3.scala 196:27]
  wire [38:0] if3__GEN_222 = if3__GEN_137 ? if3__GEN_219 : if3__GEN_187; // @[IF3.scala 196:27]
  wire  if3__GEN_224 = if3__T_98 ? if3__GEN_192 : if3__btb_io_req_valid_T_5; // @[IF3.scala 208:103 211:26]
  wire [38:0] if3__GEN_225 = if3__T_98 ? if3__GEN_193 : if3__GEN_132; // @[IF3.scala 208:103 212:28]
  wire  if3__GEN_227 = if3__GEN_138 ? if3__GEN_224 : if3__GEN_192; // @[IF3.scala 207:27]
  wire [38:0] if3__GEN_228 = if3__GEN_138 ? if3__GEN_225 : if3__GEN_193; // @[IF3.scala 207:27]
  wire  if3__GEN_290 = if3__GEN_23 ? 1'h0 : if3__GEN_100; // @[IF3.scala 242:100 244:28]
  wire  if3__GEN_296 = if3__GEN_91 ? if3__GEN_290 : if3__GEN_100; // @[IF3.scala 241:27]
  wire  if3__GEN_302 = if3__GEN_24 ? 1'h0 : if3__GEN_296; // @[IF3.scala 252:103 254:28]
  wire  if3__GEN_308 = if3__GEN_92 ? if3__GEN_302 : if3__GEN_296; // @[IF3.scala 251:27]
  wire  if3__GEN_347 = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_308; // @[IF3.scala 234:29 236:26]
  wire  if3__btb_io_req_valid_T_8 = if3__GEN_347 & if3__btb_io_req_valid_T_1; // @[IF3.scala 200:46]
  wire  if3__GEN_266 = if3__GEN_23 ? if3__GEN_221 : if3__btb_io_req_valid_T_8; // @[IF3.scala 197:100 200:26]
  wire [38:0] if3__GEN_267 = if3__GEN_23 ? if3__GEN_222 : if3__GEN_86; // @[IF3.scala 197:100 201:28]
  wire  if3__GEN_269 = if3__GEN_91 ? if3__GEN_266 : if3__GEN_221; // @[IF3.scala 196:27]
  wire [38:0] if3__GEN_270 = if3__GEN_91 ? if3__GEN_267 : if3__GEN_222; // @[IF3.scala 196:27]
  wire  if3__GEN_272 = if3__GEN_24 ? if3__GEN_227 : if3__btb_io_req_valid_T_8; // @[IF3.scala 208:103 211:26]
  wire [38:0] if3__GEN_273 = if3__GEN_24 ? if3__GEN_228 : if3__GEN_86; // @[IF3.scala 208:103 212:28]
  wire  if3__GEN_275 = if3__GEN_92 ? if3__GEN_272 : if3__GEN_227; // @[IF3.scala 207:27]
  wire [38:0] if3__GEN_276 = if3__GEN_92 ? if3__GEN_273 : if3__GEN_228; // @[IF3.scala 207:27]
  wire  if3__btb_io_req_valid_T_11 = if3__GEN_32 & if3__btb_io_req_valid_T_1; // @[IF3.scala 200:46]
  wire  if3__T_105 = if3__GEN_338 & if3__GEN_32; // @[Decoupled.scala 52:35]
  wire  if3__T_106 = if3_is_lock_pipe_0 & if3__T_105; // @[IF3.scala 329:79]
  wire  if3__T_108 = if3__GEN_348 & if3__GEN_347; // @[Decoupled.scala 52:35]
  wire  if3__T_109 = if3_is_lock_pipe_1 & if3__T_108; // @[IF3.scala 329:79]
  wire  if3__T_111 = if3__GEN_350 & if3__GEN_349; // @[Decoupled.scala 52:35]
  wire  if3__T_112 = if3_is_lock_pipe_2 & if3__T_111; // @[IF3.scala 329:79]
  wire  if3__T_116 = if3__T_106 | if3__T_109; // @[IF3.scala 329:107]
  wire  if3__T_117 = if3__T_116 | if3__T_112; // @[IF3.scala 329:107]
  wire  if3__GEN_401 = if3__T_117 | if3_pipeLineLock; // @[IF3.scala 329:{113,128} 54:29]
  wire  if4_clock;
  wire  if4_reset;
  wire  if4_io_if4_req_0_ready;
  wire  if4_io_if4_req_0_valid;
  wire  if4_io_if4_req_0_bits_isRVC;
  wire [31:0] if4_io_if4_req_0_bits_instr;
  wire [38:0] if4_io_if4_req_0_bits_pc;
  wire  if4_io_if4_req_0_bits_isRedirect;
  wire [38:0] if4_io_if4_req_0_bits_target;
  wire  if4_io_btbResp_0_ready;
  wire  if4_io_btbResp_0_valid;
  wire [38:0] if4_io_btbResp_0_bits_target;
  wire  if4_io_bimResp_0_ready;
  wire  if4_io_bimResp_0_valid;
  wire  if4_io_bimResp_0_bits_bim_p;
  wire  if4_io_bimResp_0_bits_bim_h;
  wire  if4_io_tageResp_0_ready;
  wire  if4_io_if4_resp_0_ready;
  wire  if4_io_if4_resp_0_valid;
  wire  if4_io_if4_resp_0_bits_alu_isa_lui;
  wire  if4_io_if4_resp_0_bits_alu_isa_auipc;
  wire  if4_io_if4_resp_0_bits_alu_isa_addi;
  wire  if4_io_if4_resp_0_bits_alu_isa_addiw;
  wire  if4_io_if4_resp_0_bits_alu_isa_slti;
  wire  if4_io_if4_resp_0_bits_alu_isa_sltiu;
  wire  if4_io_if4_resp_0_bits_alu_isa_xori;
  wire  if4_io_if4_resp_0_bits_alu_isa_ori;
  wire  if4_io_if4_resp_0_bits_alu_isa_andi;
  wire  if4_io_if4_resp_0_bits_alu_isa_slli;
  wire  if4_io_if4_resp_0_bits_alu_isa_slliw;
  wire  if4_io_if4_resp_0_bits_alu_isa_srli;
  wire  if4_io_if4_resp_0_bits_alu_isa_srliw;
  wire  if4_io_if4_resp_0_bits_alu_isa_srai;
  wire  if4_io_if4_resp_0_bits_alu_isa_sraiw;
  wire  if4_io_if4_resp_0_bits_alu_isa_add;
  wire  if4_io_if4_resp_0_bits_alu_isa_addw;
  wire  if4_io_if4_resp_0_bits_alu_isa_sub;
  wire  if4_io_if4_resp_0_bits_alu_isa_subw;
  wire  if4_io_if4_resp_0_bits_alu_isa_sll;
  wire  if4_io_if4_resp_0_bits_alu_isa_sllw;
  wire  if4_io_if4_resp_0_bits_alu_isa_slt;
  wire  if4_io_if4_resp_0_bits_alu_isa_sltu;
  wire  if4_io_if4_resp_0_bits_alu_isa_xor;
  wire  if4_io_if4_resp_0_bits_alu_isa_srl;
  wire  if4_io_if4_resp_0_bits_alu_isa_srlw;
  wire  if4_io_if4_resp_0_bits_alu_isa_sra;
  wire  if4_io_if4_resp_0_bits_alu_isa_sraw;
  wire  if4_io_if4_resp_0_bits_alu_isa_or;
  wire  if4_io_if4_resp_0_bits_alu_isa_and;
  wire  if4_io_if4_resp_0_bits_alu_isa_wfi;
  wire  if4_io_if4_resp_0_bits_bru_isa_jal;
  wire  if4_io_if4_resp_0_bits_bru_isa_jalr;
  wire  if4_io_if4_resp_0_bits_bru_isa_beq;
  wire  if4_io_if4_resp_0_bits_bru_isa_bne;
  wire  if4_io_if4_resp_0_bits_bru_isa_blt;
  wire  if4_io_if4_resp_0_bits_bru_isa_bge;
  wire  if4_io_if4_resp_0_bits_bru_isa_bltu;
  wire  if4_io_if4_resp_0_bits_bru_isa_bgeu;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lb;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lh;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lw;
  wire  if4_io_if4_resp_0_bits_lsu_isa_ld;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lbu;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lhu;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lwu;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sb;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sh;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sw;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sd;
  wire  if4_io_if4_resp_0_bits_lsu_isa_fence;
  wire  if4_io_if4_resp_0_bits_lsu_isa_fence_i;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sfence_vma;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lr_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sc_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoswap_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoadd_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoxor_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoand_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoor_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomin_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomax_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amominu_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomaxu_w;
  wire  if4_io_if4_resp_0_bits_lsu_isa_lr_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_sc_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoswap_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoadd_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoxor_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoand_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amoor_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomin_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomax_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amominu_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_amomaxu_d;
  wire  if4_io_if4_resp_0_bits_lsu_isa_flw;
  wire  if4_io_if4_resp_0_bits_lsu_isa_fsw;
  wire  if4_io_if4_resp_0_bits_lsu_isa_fld;
  wire  if4_io_if4_resp_0_bits_lsu_isa_fsd;
  wire  if4_io_if4_resp_0_bits_csr_isa_rw;
  wire  if4_io_if4_resp_0_bits_csr_isa_rs;
  wire  if4_io_if4_resp_0_bits_csr_isa_rc;
  wire  if4_io_if4_resp_0_bits_csr_isa_rwi;
  wire  if4_io_if4_resp_0_bits_csr_isa_rsi;
  wire  if4_io_if4_resp_0_bits_csr_isa_rci;
  wire  if4_io_if4_resp_0_bits_mul_isa_mul;
  wire  if4_io_if4_resp_0_bits_mul_isa_mulh;
  wire  if4_io_if4_resp_0_bits_mul_isa_mulhsu;
  wire  if4_io_if4_resp_0_bits_mul_isa_mulhu;
  wire  if4_io_if4_resp_0_bits_mul_isa_div;
  wire  if4_io_if4_resp_0_bits_mul_isa_divu;
  wire  if4_io_if4_resp_0_bits_mul_isa_rem;
  wire  if4_io_if4_resp_0_bits_mul_isa_remu;
  wire  if4_io_if4_resp_0_bits_mul_isa_mulw;
  wire  if4_io_if4_resp_0_bits_mul_isa_divw;
  wire  if4_io_if4_resp_0_bits_mul_isa_divuw;
  wire  if4_io_if4_resp_0_bits_mul_isa_remw;
  wire  if4_io_if4_resp_0_bits_mul_isa_remuw;
  wire  if4_io_if4_resp_0_bits_privil_isa_ecall;
  wire  if4_io_if4_resp_0_bits_privil_isa_ebreak;
  wire  if4_io_if4_resp_0_bits_privil_isa_mret;
  wire  if4_io_if4_resp_0_bits_privil_isa_uret;
  wire  if4_io_if4_resp_0_bits_privil_isa_sret;
  wire  if4_io_if4_resp_0_bits_privil_isa_dret;
  wire  if4_io_if4_resp_0_bits_privil_isa_hfence_vvma;
  wire  if4_io_if4_resp_0_bits_privil_isa_hfence_gvma;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_b;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_bu;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_h;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_hu;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlvx_hu;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_w;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlvx_wu;
  wire  if4_io_if4_resp_0_bits_privil_isa_hsv_b;
  wire  if4_io_if4_resp_0_bits_privil_isa_hsv_h;
  wire  if4_io_if4_resp_0_bits_privil_isa_hsv_w;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_wu;
  wire  if4_io_if4_resp_0_bits_privil_isa_hlv_d;
  wire  if4_io_if4_resp_0_bits_privil_isa_hsv_d;
  wire  if4_io_if4_resp_0_bits_privil_isa_is_access_fault;
  wire  if4_io_if4_resp_0_bits_privil_isa_is_paging_fault;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmadd_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmsub_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fnmsub_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fnmadd_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fadd_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsub_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmul_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fdiv_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsqrt_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnj_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmin_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmax_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmv_x_w;
  wire  if4_io_if4_resp_0_bits_fpu_isa_feq_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_flt_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fle_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fclass_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_w;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_wu;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmv_w_x;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_l;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_lu;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmadd_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmsub_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fnmsub_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fnmadd_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fadd_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsub_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmul_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fdiv_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsqrt_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnj_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmin_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmax_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_s;
  wire  if4_io_if4_resp_0_bits_fpu_isa_feq_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_flt_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fle_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fclass_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_w;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_wu;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmv_x_d;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_l;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_lu;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fmv_d_x;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rw;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rs;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rc;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rwi;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rsi;
  wire  if4_io_if4_resp_0_bits_fpu_isa_fcsr_rci;
  wire  if4_io_if4_resp_0_bits_param_is_rvc;
  wire [38:0] if4_io_if4_resp_0_bits_param_pc;
  wire [63:0] if4_io_if4_resp_0_bits_param_imm;
  wire [4:0] if4_io_if4_resp_0_bits_param_raw_rs1;
  wire [4:0] if4_io_if4_resp_0_bits_param_raw_rs2;
  wire [4:0] if4_io_if4_resp_0_bits_param_raw_rd0;
  wire  if4_io_if4Redirect_valid;
  wire [38:0] if4_io_if4Redirect_bits_target;
  wire  if4_io_bftq_ready;
  wire  if4_io_bftq_valid;
  wire [38:0] if4_io_bftq_bits_pc;
  wire  if4_io_bftq_bits_bimResp_bim_p;
  wire  if4_io_bftq_bits_bimResp_bim_h;
  wire  if4_io_bftq_bits_isPredictTaken;
  wire  if4_io_jftq_ready;
  wire  if4_io_jftq_valid;
  wire [38:0] if4_io_jftq_bits_pc;
  wire [38:0] if4_io_jftq_bits_btbResp_target;
  wire [38:0] if4_io_jftq_bits_rasResp_target;
  wire  if4_io_jftq_bits_isRas;
  wire  if4_io_flush;
  wire  if4_ras_clock;
  wire  if4_ras_reset;
  wire  if4_ras_io_enq_valid;
  wire [38:0] if4_ras_io_enq_bits_target;
  wire  if4_ras_io_deq_ready;
  wire  if4_ras_io_deq_valid;
  wire [38:0] if4_ras_io_deq_bits_target;
  wire  if4_ras_io_flush;
  reg [38:0] if4_ras_buf_target [0:3]; // @[RAS.scala 43:18]
  wire  if4_ras_buf_target_io_deq_bits_MPORT_en; // @[RAS.scala 43:18]
  wire [1:0] if4_ras_buf_target_io_deq_bits_MPORT_addr; // @[RAS.scala 43:18]
  wire [38:0] if4_ras_buf_target_io_deq_bits_MPORT_data; // @[RAS.scala 43:18]
  wire [38:0] if4_ras_buf_target_MPORT_data; // @[RAS.scala 43:18]
  wire [1:0] if4_ras_buf_target_MPORT_addr; // @[RAS.scala 43:18]
  wire  if4_ras_buf_target_MPORT_mask; // @[RAS.scala 43:18]
  wire  if4_ras_buf_target_MPORT_en; // @[RAS.scala 43:18]
  wire  if4_ras_buf_target_clock;
  reg [2:0] if4_ras_btm_ptr; // @[RAS.scala 44:26]
  reg [2:0] if4_ras_top_ptr; // @[RAS.scala 45:26]
  wire [1:0] if4_ras__rd_idx_T = if4_ras_top_ptr[1:0]; // @[RAS.scala 47:25]
  wire  if4_ras_is_empty = if4_ras_btm_ptr == if4_ras_top_ptr; // @[RAS.scala 50:29]
  wire [1:0] if4_ras__is_full_T = if4_ras_btm_ptr[1:0]; // @[RAS.scala 51:29]
  wire  if4_ras__is_full_T_2 = if4_ras__is_full_T == if4_ras__rd_idx_T; // @[RAS.scala 51:39]
  wire  if4_ras__is_full_T_3 = if4_ras_btm_ptr[2]; // @[RAS.scala 51:71]
  wire  if4_ras__is_full_T_4 = if4_ras_top_ptr[2]; // @[RAS.scala 51:87]
  wire  if4_ras__is_full_T_5 = if4_ras__is_full_T_3 != if4_ras__is_full_T_4; // @[RAS.scala 51:76]
  wire  if4_ras_is_full = if4_ras__is_full_T_2 & if4_ras__is_full_T_5; // @[RAS.scala 51:61]
  wire [2:0] if4_ras__btm_ptr_T_1 = if4_ras_btm_ptr + 3'h1; // @[RAS.scala 66:30]
  wire [2:0] if4_ras__top_ptr_T_1 = if4_ras_top_ptr + 3'h1; // @[RAS.scala 68:28]
  wire  if4_ras__T = if4_ras_io_deq_ready & if4_ras_io_deq_valid; // @[Decoupled.scala 52:35]
  wire [2:0] if4_ras__top_ptr_T_3 = if4_ras_top_ptr - 3'h1; // @[RAS.scala 71:28]
  reg [38:0] if4_ras_io_deq_bits_REG_target; // @[RAS.scala 76:29]
  wire  if4_instr_fifo_clock;
  wire  if4_instr_fifo_reset;
  wire  if4_instr_fifo_io_enq_0_ready;
  wire  if4_instr_fifo_io_enq_0_valid;
  wire  if4_instr_fifo_io_deq_0_ready;
  wire  if4_instr_fifo_io_deq_0_valid;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_lui;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_auipc;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_addi;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_addiw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_slti;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sltiu;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_xori;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_ori;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_andi;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_slli;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_slliw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_srli;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_srliw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_srai;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sraiw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_add;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_addw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sub;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_subw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sll;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sllw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_slt;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sltu;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_xor;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_srl;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_srlw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sra;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_sraw;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_or;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_and;
  wire  if4_instr_fifo_io_deq_0_bits_alu_isa_wfi;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_jal;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_jalr;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_beq;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_bne;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_blt;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_bge;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_bltu;
  wire  if4_instr_fifo_io_deq_0_bits_bru_isa_bgeu;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lb;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lh;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lw;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_ld;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lbu;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lhu;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lwu;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sb;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sh;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sw;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sd;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_fence;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_fence_i;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sfence_vma;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_w;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_d;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_flw;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_fsw;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_fld;
  wire  if4_instr_fifo_io_deq_0_bits_lsu_isa_fsd;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rw;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rs;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rc;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rwi;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rsi;
  wire  if4_instr_fifo_io_deq_0_bits_csr_isa_rci;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_mul;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_mulh;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_mulhsu;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_mulhu;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_div;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_divu;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_rem;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_remu;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_mulw;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_divw;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_divuw;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_remw;
  wire  if4_instr_fifo_io_deq_0_bits_mul_isa_remuw;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_ecall;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_ebreak;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_mret;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_uret;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_sret;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_dret;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_vvma;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_gvma;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_b;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_bu;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_h;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_hu;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_hu;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_w;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_wu;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_b;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_h;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_w;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_wu;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_d;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_d;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_is_access_fault;
  wire  if4_instr_fifo_io_deq_0_bits_privil_isa_is_paging_fault;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_w;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_w;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_wu;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_w_x;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_l;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_lu;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_s;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_w;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_wu;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_d;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_l;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_lu;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_d_x;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rw;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rs;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rc;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rwi;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rsi;
  wire  if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rci;
  wire  if4_instr_fifo_io_deq_0_bits_param_is_rvc;
  wire [38:0] if4_instr_fifo_io_deq_0_bits_param_pc;
  wire [63:0] if4_instr_fifo_io_deq_0_bits_param_imm;
  wire [4:0] if4_instr_fifo_io_deq_0_bits_param_raw_rs1;
  wire [4:0] if4_instr_fifo_io_deq_0_bits_param_raw_rs2;
  wire [4:0] if4_instr_fifo_io_deq_0_bits_param_raw_rd0;
  wire  if4_instr_fifo_io_flush;
  reg  if4_instr_fifo_buf_0_alu_isa_lui; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_auipc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_addi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_addiw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_slti; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sltiu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_xori; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_ori; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_andi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_slli; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_slliw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_srli; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_srliw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_srai; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sraiw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_add; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_addw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sub; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_subw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sll; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sllw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_slt; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sltu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_xor; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_srl; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_srlw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sra; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_sraw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_or; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_and; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_alu_isa_wfi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_jal; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_jalr; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_beq; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_bne; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_blt; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_bge; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_bltu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_bru_isa_bgeu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lb; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_ld; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lbu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lhu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lwu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sb; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sd; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_fence; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lr_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sc_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoand_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoor_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomin_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomax_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amominu_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_lr_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_sc_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoand_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amoor_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomin_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomax_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amominu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_flw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_fsw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_fld; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_lsu_isa_fsd; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rs; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rwi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rsi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_csr_isa_rci; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_mul; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_mulh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_mulhsu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_mulhu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_div; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_divu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_rem; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_remu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_mulw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_divw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_divuw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_remw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_mul_isa_remuw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_ecall; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_ebreak; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_mret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_uret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_sret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_dret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hfence_vvma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hfence_gvma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_b; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_bu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_hu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlvx_hu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlvx_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hsv_b; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hsv_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hsv_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hlv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_hsv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_is_access_fault; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_privil_isa_is_paging_fault; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmul_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmin_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmax_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_feq_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_flt_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fle_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fclass_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmv_w_x; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmul_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmin_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmax_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_feq_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_flt_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fle_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fclass_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fmv_d_x; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rs; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_fpu_isa_fcsr_rci; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_0_param_is_rvc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_instr_fifo_buf_0_param_pc; // @[MultiPortFifo.scala 57:20]
  reg [63:0] if4_instr_fifo_buf_0_param_imm; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_0_param_raw_rs1; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_0_param_raw_rs2; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_0_param_raw_rd0; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_lui; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_auipc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_addi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_addiw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_slti; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sltiu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_xori; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_ori; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_andi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_slli; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_slliw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_srli; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_srliw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_srai; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sraiw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_add; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_addw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sub; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_subw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sll; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sllw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_slt; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sltu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_xor; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_srl; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_srlw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sra; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_sraw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_or; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_and; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_alu_isa_wfi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_jal; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_jalr; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_beq; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_bne; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_blt; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_bge; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_bltu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_bru_isa_bgeu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lb; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_ld; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lbu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lhu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lwu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sb; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sd; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_fence; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lr_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sc_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoand_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoor_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomin_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomax_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amominu_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_lr_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_sc_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoand_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amoor_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomin_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomax_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amominu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_flw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_fsw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_fld; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_lsu_isa_fsd; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rs; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rwi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rsi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_csr_isa_rci; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_mul; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_mulh; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_mulhsu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_mulhu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_div; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_divu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_rem; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_remu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_mulw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_divw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_divuw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_remw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_mul_isa_remuw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_ecall; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_ebreak; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_mret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_uret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_sret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_dret; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hfence_vvma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hfence_gvma; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_b; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_bu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_hu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlvx_hu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlvx_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hsv_b; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hsv_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hsv_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hlv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_hsv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_is_access_fault; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_privil_isa_is_paging_fault; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fadd_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsub_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmul_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmin_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmax_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_feq_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_flt_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fle_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fclass_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmv_w_x; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fadd_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsub_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmul_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmin_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmax_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_feq_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_flt_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fle_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fclass_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fmv_d_x; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rw; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rs; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rc; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_fpu_isa_fcsr_rci; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_1_param_is_rvc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_instr_fifo_buf_1_param_pc; // @[MultiPortFifo.scala 57:20]
  reg [63:0] if4_instr_fifo_buf_1_param_imm; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_1_param_raw_rs1; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_1_param_raw_rs2; // @[MultiPortFifo.scala 57:20]
  reg [4:0] if4_instr_fifo_buf_1_param_raw_rd0; // @[MultiPortFifo.scala 57:20]
  reg  if4_instr_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if4_instr_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if4_instr_fifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if4_instr_fifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if4_instr_fifo__io_enq_0_ready_T = {{1'd0}, if4_instr_fifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if4_instr_fifo__io_enq_0_ready_T_1 = if4_instr_fifo__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if4_instr_fifo__GEN_1 = if4_instr_fifo__io_enq_0_ready_T_1 ? if4_instr_fifo_buf_valid_1 :
    if4_instr_fifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if4_instr_fifo__io_deq_0_valid_T = {{1'd0}, if4_instr_fifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if4_instr_fifo__io_deq_0_valid_T_1 = if4_instr_fifo__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if4_instr_fifo__T = if4_instr_fifo_io_enq_0_ready & if4_instr_fifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_instr_fifo__GEN_4 = ~if4_instr_fifo__io_enq_0_ready_T_1 | if4_instr_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_instr_fifo__GEN_5 = if4_instr_fifo__io_enq_0_ready_T_1 | if4_instr_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_instr_fifo__GEN_6 = if4_instr_fifo__T ? if4_instr_fifo__GEN_4 : if4_instr_fifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_instr_fifo__GEN_7 = if4_instr_fifo__T ? if4_instr_fifo__GEN_5 : if4_instr_fifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_instr_fifo__T_1 = if4_instr_fifo_io_deq_0_ready & if4_instr_fifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_instr_fifo__rd_ptr_T_2 = if4_instr_fifo_rd_ptr + if4_instr_fifo__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if4_instr_fifo__wr_ptr_T_2 = if4_instr_fifo_wr_ptr + if4_instr_fifo__T; // @[MultiPortFifo.scala 107:26]
  wire  if4_instr_fifo__T_3 = ~if4_instr_fifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if4_instr_fifo__T_4 = if4_instr_fifo_io_enq_0_valid & if4_instr_fifo__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if4_instr_fifo__T_7 = ~if4_instr_fifo__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if4_instr_fifo__T_9 = ~if4_instr_fifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  if4_instr_fifo__T_10 = ~if4_instr_fifo__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if4_instr_fifo__T_12 = ~if4_instr_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if4_instr_fifo__T_13 = if4_instr_fifo_io_deq_0_valid & if4_instr_fifo__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if4_instr_fifo__T_16 = ~if4_instr_fifo__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if4_instr_fifo__T_19 = ~if4_instr_fifo__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if4_bftq_clock;
  wire  if4_bftq_reset;
  wire  if4_bftq_io_enq_0_ready;
  wire  if4_bftq_io_enq_0_valid;
  wire [38:0] if4_bftq_io_enq_0_bits_pc;
  wire  if4_bftq_io_enq_0_bits_bimResp_bim_p;
  wire  if4_bftq_io_enq_0_bits_bimResp_bim_h;
  wire  if4_bftq_io_enq_0_bits_isPredictTaken;
  wire  if4_bftq_io_deq_0_ready;
  wire  if4_bftq_io_deq_0_valid;
  wire [38:0] if4_bftq_io_deq_0_bits_pc;
  wire  if4_bftq_io_deq_0_bits_bimResp_bim_p;
  wire  if4_bftq_io_deq_0_bits_bimResp_bim_h;
  wire  if4_bftq_io_deq_0_bits_isPredictTaken;
  wire  if4_bftq_io_flush;
  reg [38:0] if4_bftq_buf_0_pc; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_0_bimResp_bim_p; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_0_bimResp_bim_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_0_isPredictTaken; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_bftq_buf_1_pc; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_1_bimResp_bim_p; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_1_bimResp_bim_h; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_1_isPredictTaken; // @[MultiPortFifo.scala 57:20]
  reg  if4_bftq_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if4_bftq_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if4_bftq_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if4_bftq_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if4_bftq__io_enq_0_ready_T = {{1'd0}, if4_bftq_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if4_bftq__io_enq_0_ready_T_1 = if4_bftq__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if4_bftq__GEN_1 = if4_bftq__io_enq_0_ready_T_1 ? if4_bftq_buf_valid_1 : if4_bftq_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if4_bftq__io_deq_0_valid_T = {{1'd0}, if4_bftq_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if4_bftq__io_deq_0_valid_T_1 = if4_bftq__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if4_bftq__T = if4_bftq_io_enq_0_ready & if4_bftq_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_bftq__GEN_4 = ~if4_bftq__io_enq_0_ready_T_1 | if4_bftq_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_bftq__GEN_5 = if4_bftq__io_enq_0_ready_T_1 | if4_bftq_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_bftq__GEN_6 = if4_bftq__T ? if4_bftq__GEN_4 : if4_bftq_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_bftq__GEN_7 = if4_bftq__T ? if4_bftq__GEN_5 : if4_bftq_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_bftq__T_1 = if4_bftq_io_deq_0_ready & if4_bftq_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_bftq__rd_ptr_T_2 = if4_bftq_rd_ptr + if4_bftq__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if4_bftq__wr_ptr_T_2 = if4_bftq_wr_ptr + if4_bftq__T; // @[MultiPortFifo.scala 107:26]
  wire  if4_bftq__T_3 = ~if4_bftq_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if4_bftq__T_4 = if4_bftq_io_enq_0_valid & if4_bftq__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if4_bftq__T_7 = ~if4_bftq__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if4_bftq__T_9 = ~if4_bftq_reset; // @[MultiPortFifo.scala 161:13]
  wire  if4_bftq__T_10 = ~if4_bftq__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if4_bftq__T_12 = ~if4_bftq_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if4_bftq__T_13 = if4_bftq_io_deq_0_valid & if4_bftq__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if4_bftq__T_16 = ~if4_bftq__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if4_bftq__T_19 = ~if4_bftq__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if4_jftq_clock;
  wire  if4_jftq_reset;
  wire  if4_jftq_io_enq_0_ready;
  wire  if4_jftq_io_enq_0_valid;
  wire [38:0] if4_jftq_io_enq_0_bits_pc;
  wire [38:0] if4_jftq_io_enq_0_bits_btbResp_target;
  wire [38:0] if4_jftq_io_enq_0_bits_rasResp_target;
  wire  if4_jftq_io_enq_0_bits_isRas;
  wire  if4_jftq_io_deq_0_ready;
  wire  if4_jftq_io_deq_0_valid;
  wire [38:0] if4_jftq_io_deq_0_bits_pc;
  wire [38:0] if4_jftq_io_deq_0_bits_btbResp_target;
  wire [38:0] if4_jftq_io_deq_0_bits_rasResp_target;
  wire  if4_jftq_io_deq_0_bits_isRas;
  wire  if4_jftq_io_flush;
  reg [38:0] if4_jftq_buf_0_pc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_jftq_buf_0_btbResp_target; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_jftq_buf_0_rasResp_target; // @[MultiPortFifo.scala 57:20]
  reg  if4_jftq_buf_0_isRas; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_jftq_buf_1_pc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_jftq_buf_1_btbResp_target; // @[MultiPortFifo.scala 57:20]
  reg [38:0] if4_jftq_buf_1_rasResp_target; // @[MultiPortFifo.scala 57:20]
  reg  if4_jftq_buf_1_isRas; // @[MultiPortFifo.scala 57:20]
  reg  if4_jftq_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  if4_jftq_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  if4_jftq_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  if4_jftq_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] if4_jftq__io_enq_0_ready_T = {{1'd0}, if4_jftq_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  if4_jftq__io_enq_0_ready_T_1 = if4_jftq__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  if4_jftq__GEN_1 = if4_jftq__io_enq_0_ready_T_1 ? if4_jftq_buf_valid_1 : if4_jftq_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] if4_jftq__io_deq_0_valid_T = {{1'd0}, if4_jftq_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  if4_jftq__io_deq_0_valid_T_1 = if4_jftq__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  if4_jftq__T = if4_jftq_io_enq_0_ready & if4_jftq_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_jftq__GEN_4 = ~if4_jftq__io_enq_0_ready_T_1 | if4_jftq_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_jftq__GEN_5 = if4_jftq__io_enq_0_ready_T_1 | if4_jftq_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  if4_jftq__GEN_6 = if4_jftq__T ? if4_jftq__GEN_4 : if4_jftq_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_jftq__GEN_7 = if4_jftq__T ? if4_jftq__GEN_5 : if4_jftq_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  if4_jftq__T_1 = if4_jftq_io_deq_0_ready & if4_jftq_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_jftq__rd_ptr_T_2 = if4_jftq_rd_ptr + if4_jftq__T_1; // @[MultiPortFifo.scala 106:26]
  wire  if4_jftq__wr_ptr_T_2 = if4_jftq_wr_ptr + if4_jftq__T; // @[MultiPortFifo.scala 107:26]
  wire  if4_jftq__T_3 = ~if4_jftq_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  if4_jftq__T_4 = if4_jftq_io_enq_0_valid & if4_jftq__T_3; // @[MultiPortFifo.scala 161:44]
  wire  if4_jftq__T_7 = ~if4_jftq__T_4; // @[MultiPortFifo.scala 161:15]
  wire  if4_jftq__T_9 = ~if4_jftq_reset; // @[MultiPortFifo.scala 161:13]
  wire  if4_jftq__T_10 = ~if4_jftq__T_7; // @[MultiPortFifo.scala 161:13]
  wire  if4_jftq__T_12 = ~if4_jftq_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  if4_jftq__T_13 = if4_jftq_io_deq_0_valid & if4_jftq__T_12; // @[MultiPortFifo.scala 164:44]
  wire  if4_jftq__T_16 = ~if4_jftq__T_13; // @[MultiPortFifo.scala 164:15]
  wire  if4_jftq__T_19 = ~if4_jftq__T_16; // @[MultiPortFifo.scala 164:13]
  wire  if4_bRePort_clock;
  wire  if4_bRePort_reset;
  wire  if4_bRePort_io_enq_0_ready;
  wire  if4_bRePort_io_enq_0_valid;
  wire [38:0] if4_bRePort_io_enq_0_bits_pc;
  wire  if4_bRePort_io_enq_0_bits_bimResp_bim_p;
  wire  if4_bRePort_io_enq_0_bits_bimResp_bim_h;
  wire  if4_bRePort_io_enq_0_bits_isPredictTaken;
  wire  if4_bRePort_io_deq_0_ready;
  wire  if4_bRePort_io_deq_0_valid;
  wire [38:0] if4_bRePort_io_deq_0_bits_pc;
  wire  if4_bRePort_io_deq_0_bits_bimResp_bim_p;
  wire  if4_bRePort_io_deq_0_bits_bimResp_bim_h;
  wire  if4_bRePort_io_deq_0_bits_isPredictTaken;
  wire  if4_bRePort__T = if4_bRePort_io_enq_0_ready & if4_bRePort_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_bRePort__T_1 = if4_bRePort_io_deq_0_ready & if4_bRePort_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_bRePort__T_2 = if4_bRePort__T == if4_bRePort__T_1; // @[RePort.scala 32:45]
  wire  if4_bRePort__T_4 = ~if4_bRePort_reset; // @[RePort.scala 32:12]
  wire  if4_bRePort__T_5 = ~if4_bRePort__T_2; // @[RePort.scala 32:12]
  wire  if4_bRePort__is_end_0_T = ~if4_bRePort_io_enq_0_valid; // @[RePort.scala 62:21]
  wire  if4_bRePort__T_6 = ~if4_bRePort__is_end_0_T; // @[RePort.scala 75:11]
  wire  if4_jRePort_clock;
  wire  if4_jRePort_reset;
  wire  if4_jRePort_io_enq_0_ready;
  wire  if4_jRePort_io_enq_0_valid;
  wire [38:0] if4_jRePort_io_enq_0_bits_pc;
  wire [38:0] if4_jRePort_io_enq_0_bits_btbResp_target;
  wire [38:0] if4_jRePort_io_enq_0_bits_rasResp_target;
  wire  if4_jRePort_io_enq_0_bits_isRas;
  wire  if4_jRePort_io_deq_0_ready;
  wire  if4_jRePort_io_deq_0_valid;
  wire [38:0] if4_jRePort_io_deq_0_bits_pc;
  wire [38:0] if4_jRePort_io_deq_0_bits_btbResp_target;
  wire [38:0] if4_jRePort_io_deq_0_bits_rasResp_target;
  wire  if4_jRePort_io_deq_0_bits_isRas;
  wire  if4_jRePort__T = if4_jRePort_io_enq_0_ready & if4_jRePort_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_jRePort__T_1 = if4_jRePort_io_deq_0_ready & if4_jRePort_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  if4_jRePort__T_2 = if4_jRePort__T == if4_jRePort__T_1; // @[RePort.scala 32:45]
  wire  if4_jRePort__T_4 = ~if4_jRePort_reset; // @[RePort.scala 32:12]
  wire  if4_jRePort__T_5 = ~if4_jRePort__T_2; // @[RePort.scala 32:12]
  wire  if4_jRePort__is_end_0_T = ~if4_jRePort_io_enq_0_valid; // @[RePort.scala 62:21]
  wire  if4_jRePort__T_6 = ~if4_jRePort__is_end_0_T; // @[RePort.scala 75:11]
  wire  if4_tageRedirect_mdl_io_enq_0_ready;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_0_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_0_is_hit;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_1_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_1_is_hit;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_2_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_2_is_hit;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_3_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_3_is_hit;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_4_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_4_is_hit;
  wire [1:0] if4_tageRedirect_mdl_io_deq_0_bits_5_use;
  wire  if4_tageRedirect_mdl_io_deq_0_bits_5_is_hit;
  wire  if4_bimRedirect_mdl_io_enq_0_ready;
  wire  if4_bimRedirect_mdl_io_enq_0_valid;
  wire  if4_bimRedirect_mdl_io_enq_0_bits_bim_p;
  wire  if4_bimRedirect_mdl_io_enq_0_bits_bim_h;
  wire  if4_bimRedirect_mdl_io_deq_0_ready;
  wire  if4_bimRedirect_mdl_io_deq_0_valid;
  wire  if4_bimRedirect_mdl_io_deq_0_bits_bim_p;
  wire  if4_bimRedirect_mdl_io_deq_0_bits_bim_h;
  wire  if4_bimRedirect_mdl_io_mapper_0;
  wire  if4_btbRedirect_mdl_io_enq_0_ready;
  wire  if4_btbRedirect_mdl_io_enq_0_valid;
  wire [38:0] if4_btbRedirect_mdl_io_enq_0_bits_target;
  wire  if4_btbRedirect_mdl_io_deq_0_ready;
  wire  if4_btbRedirect_mdl_io_deq_0_valid;
  wire [38:0] if4_btbRedirect_mdl_io_deq_0_bits_target;
  wire  if4_btbRedirect_mdl_io_mapper_0;
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16_io_x;
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16_io_pc;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_lui;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_auipc;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addiw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slti;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltiu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xori;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_ori;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_andi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slli;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slliw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srli;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srliw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srai;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraiw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_add;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sub;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_subw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sll;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sllw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slt;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xor;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srl;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srlw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sra;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_or;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_and;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_wfi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jal;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jalr;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_beq;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bne;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_blt;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bge;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bltu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bgeu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lb;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lh;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_ld;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lbu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lhu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lwu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sb;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sh;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sd;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence_i;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sfence_vma;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_flw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fld;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsd;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rs;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rc;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rwi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rsi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rci;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mul;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulh;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhsu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_div;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_rem;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divuw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remuw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ecall;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ebreak;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_mret;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_uret;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_sret;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_dret;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_vvma;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_gvma;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_b;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_bu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_h;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_hu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_hu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_b;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_h;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_access_fault;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_paging_fault;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_w_x;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_l;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_lu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_l;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_lu;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_d_x;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rw;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rs;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rc;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rwi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rsi;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rci;
  wire  if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_is_rvc;
  wire [38:0] if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_pc;
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_imm;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs1;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs2;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rd0;
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'he003
    ; // @[Decoder.scala 63:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_1 = 16'h0 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 63:24]
  wire [7:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_2 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12:5]; // @[Decoder.scala 63:78]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_3 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_2 != 8'h0; // @[Decoder.scala 63:85]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_4 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_1 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_3; // @[Decoder.scala 63:74]
  wire [2:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_5 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[4:2]; // @[Decoder.scala 111:36]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 = {2'h1,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_5}; // @[Cat.scala 33:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_10 = 16'h4000 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 64:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_14 = 16'h6000 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 65:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_18 = 16'hc000 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 66:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_20 = 16'he000 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 67:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_22 = 16'h1 == if4_instr_fifo_io_enq_0_bits_dec16_io_x; // @[Decoder.scala 68:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_24 = 16'h1 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 69:24]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[11:7]
    ; // @[Decoder.scala 69:78]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 != 5'h0; // @[Decoder.scala 69:85]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_27 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_24 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 69:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_30 = 16'h2001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 70:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_33 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_30 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 70:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_36 = 16'h4001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 71:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_39 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_36 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 71:74]
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_41 = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'hef83
    ; // @[Decoder.scala 72:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_42 = 16'h6101 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_41; // @[Decoder.scala 72:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_44 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 == 5'h2; // @[Decoder.scala 72:85]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_45 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_42 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_44; // @[Decoder.scala 72:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12]; // @[Decoder.scala 72:102]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[6:2]; // @[Decoder.scala 72:109]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_48 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47}; // @[Cat.scala 33:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_48 != 6'h0; // @[Decoder.scala 72:116]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_50 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_45 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49; // @[Decoder.scala 72:94]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_52 = 16'h6001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 73:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_54 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 != 5'h2; // @[Decoder.scala 73:85]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_55 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_52 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_54; // @[Decoder.scala 73:74]
  wire [10:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_56 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12:2
    ]; // @[Decoder.scala 73:98]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_57 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_56 != 11'h0; // @[Decoder.scala 73:105]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_58 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_55 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_57; // @[Decoder.scala 73:94]
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_60 = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'hec03
    ; // @[Decoder.scala 74:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_61 = 16'h8001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_60; // @[Decoder.scala 74:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_66 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_61 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49; // @[Decoder.scala 74:74]
  wire [2:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_67 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[9:7]; // @[Decoder.scala 124:36]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 = {2'h1,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_67}; // @[Cat.scala 33:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_70 = 16'h8401 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_60; // @[Decoder.scala 75:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_75 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_70 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49; // @[Decoder.scala 75:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_79 = 16'h8801 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_60; // @[Decoder.scala 77:24]
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82 = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'hfc63
    ; // @[Decoder.scala 78:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_83 = 16'h8c01 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 78:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_87 = 16'h8c21 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 79:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_91 = 16'h8c41 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 80:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_95 = 16'h8c61 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 81:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_99 = 16'h9c01 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 82:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_103 = 16'h9c21 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 83:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_107 = 16'ha001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 84:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_109 = 16'hc001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 85:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_111 = 16'he001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 86:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_113 = 16'h2 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 87:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_116 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_113 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 87:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_120 = 16'h4002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 89:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_123 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_120 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 89:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_126 = 16'h6002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 90:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_129 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_126 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 90:74]
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_131 = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'hf07f
    ; // @[Decoder.scala 91:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_132 = 16'h8002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_131; // @[Decoder.scala 91:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_135 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_132 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 91:74]
  wire [15:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_136 = if4_instr_fifo_io_enq_0_bits_dec16_io_x & 16'hf003
    ; // @[Decoder.scala 92:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_137 = 16'h8002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_136; // @[Decoder.scala 92:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_140 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_137 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 92:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_142 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 != 5'h0; // @[Decoder.scala 92:104]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_143 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_140 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_142; // @[Decoder.scala 92:94]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_148 = 16'h9002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_131; // @[Decoder.scala 94:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_151 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_148 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 94:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_153 = 16'h9002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_136; // @[Decoder.scala 95:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_156 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_153 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 95:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_159 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_156 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_142; // @[Decoder.scala 95:94]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_162 = 16'hc002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 97:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_164 = 16'he002 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 98:24]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_165 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_4 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_167 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_10 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_168 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_14 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_173 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_27 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_174 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_33 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_175 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_39 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_176 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_50 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_177 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_58 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_178 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_66 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_179 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_75 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_180 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_79 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_181 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_83 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_182 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_87 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_183 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_91 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_184 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_95 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_185 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_99 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_186 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_103 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_190 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_116 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_192 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_123 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_193 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_129 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_195 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_143 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_198 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_159 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_203 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_165 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_167; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_204 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_203 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_168; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_209 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_204 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_173; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_210 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_209 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_174; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_211 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_210 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_175; // @[Mux.scala 27:73]
  wire [4:0] _GEN_220 = {{3'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_176}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_212 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_211 | _GEN_220; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_213 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_212 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_177; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_214 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_213 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_178; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_215 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_214 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_179; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_216 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_215 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_180; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_217 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_216 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_181; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_218 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_217 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_182; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_219 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_218 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_183; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_220 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_219 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_184; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_221 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_220 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_185; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_222 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_221 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_186; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_226 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_222 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_190; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_228 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_226 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_192; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_229 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_228 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_193; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_231 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_229 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_195; // @[Mux.scala 27:73]
  wire [4:0] _GEN_221 = {{4'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_151}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_233 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_231 | _GEN_221; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_169 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_4 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_171 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_10 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_172 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_14 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_174 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_18 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_175 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_20 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_192 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_109 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_193 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_111 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_68 : 5'h0; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_196 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_123 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_197 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_129 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_198 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_135 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_201 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_151 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_25 : 5'h0; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_204 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_162 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_205 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_164 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_206 = {{3'd0},
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_169}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_207 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_206 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_171; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_208 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_207 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_172; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_210 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_208 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_174; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_211 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_210 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_175; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_213 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_211 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_173; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_214 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_213 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_174; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_216 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_214 | _GEN_220; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_218 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_216 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_178; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_219 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_218 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_179; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_220 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_219 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_180; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_221 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_220 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_181; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_222 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_221 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_182; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_223 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_222 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_183; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_224 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_223 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_184; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_225 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_224 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_185; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_226 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_225 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_186; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_228 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_226 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_192; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_229 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_228 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_193; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_230 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_229 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_190; // @[Mux.scala 27:73]
  wire [4:0] _GEN_223 = {{3'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_196}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_232 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_230 | _GEN_223; // @[Mux.scala 27:73]
  wire [4:0] _GEN_224 = {{3'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_197}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_233 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_232 | _GEN_224; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_234 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_233 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_198; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_237 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_234 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_201; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_238 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_237 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_198; // @[Mux.scala 27:73]
  wire [4:0] _GEN_225 = {{3'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_204}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_240 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_238 | _GEN_225; // @[Mux.scala 27:73]
  wire [4:0] _GEN_226 = {{3'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_205}; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_157 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_18 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_158 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_20 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_168 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_83 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_169 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_87 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_170 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_91 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_171 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_95 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_172 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_99 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_173 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_103 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_6 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_182 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_143 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_185 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_159 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_187 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_162 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_188 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_164 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47 : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_194 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_157 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_158; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_204 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_194 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_168; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_205 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_204 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_169; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_206 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_205 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_170; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_207 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_206 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_171; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_208 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_207 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_172; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_209 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_208 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_173; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_218 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_209 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_182; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_221 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_218 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_185; // @[Mux.scala 27:73]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_223 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_221 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_187; // @[Mux.scala 27:73]
  wire [3:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_5 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[10:7]; // @[Decoder.scala 48:37]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_6 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12:11]; // @[Decoder.scala 48:46]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_7 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[5]; // @[Decoder.scala 48:56]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_8 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[6]; // @[Decoder.scala 48:62]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_9 = {54'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_5,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_6,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_7,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_8,2'h0}; // @[Cat.scala 33:92]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_10 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[6:5]; // @[Decoder.scala 50:31]
  wire [2:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_11 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12:10]; // @[Decoder.scala 50:39]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_12 = {56'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_10,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_11,3'h0
    }; // @[Cat.scala 33:92]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_18 = {57'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_7,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_11,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_8,2'h0}; // @[Cat.scala 33:92]
  wire [58:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_45 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 ? 59'h7ffffffffffffff : 59'h0; // @[Bitwise.scala 77:12]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_47 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_45,if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47}
    ; // @[Cat.scala 33:92]
  wire [54:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_80 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 ? 55'h7fffffffffffff : 55'h0; // @[Bitwise.scala 77:12]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_81 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[4:3]; // @[Decoder.scala 56:43]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_83 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[2]; // @[Decoder.scala 56:57]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_85 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_80,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_81,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_7,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_83,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_8,4'h0}; // @[Cat.scala 33:92]
  wire [46:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_96 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 ? 47'h7fffffffffff : 47'h0; // @[Bitwise.scala 77:12]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_98 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_96,if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_47,12'h0
    }; // @[Cat.scala 33:92]
  wire [52:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_110 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 ? 53'h1fffffffffffff : 53'h0; // @[Bitwise.scala 77:12]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_111 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[8]; // @[Decoder.scala 58:36]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_112 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[10:9]; // @[Decoder.scala 58:42]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_114 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[7]; // @[Decoder.scala 58:57]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_116 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[11]; // @[Decoder.scala 58:69]
  wire [2:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_117 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[5:3]; // @[Decoder.scala 58:76]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_118 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_110,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_111,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_112,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_8,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_114,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_83,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_116,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_117,1'h0
    }; // @[Cat.scala 33:92]
  wire [55:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_123 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46 ? 56'hffffffffffffff : 56'h0; // @[Bitwise.scala 77:12]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_126 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[11:10]; // @[Decoder.scala 59:50]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_128 = {
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_123,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_10,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_83,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_126,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_81,1'h0}; // @[Cat.scala 33:92]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_142 = {55'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_5,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_10,3'h0
    }; // @[Cat.scala 33:92]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_148 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[3:2]; // @[Decoder.scala 51:33]
  wire [2:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_150 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[6:4]; // @[Decoder.scala 51:48]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_151 = {56'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_148,if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_46
    ,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_150,2'h0}; // @[Cat.scala 33:92]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_163 = {55'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_67,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_11,3'h0
    }; // @[Cat.scala 33:92]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_166 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[8:7]; // @[Decoder.scala 53:33]
  wire [3:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_167 = if4_instr_fifo_io_enq_0_bits_dec16_io_x[12:9]; // @[Decoder.scala 53:41]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_168 = {56'h0,
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_166,if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_167,2'h0
    }; // @[Cat.scala 33:92]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_202 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_4 ? if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_9
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_204 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_10 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_18 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_205 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_14 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_12 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_207 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_18 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_18 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_208 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_20 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_12 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_209 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_27 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_47 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_210 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_33 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_47 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_211 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_39 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_47 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_212 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_50 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_85 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_213 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_58 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_98 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_214 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_79 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_47 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_215 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_107 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_118 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_216 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_109 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_128 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_217 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_111 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_128 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_219 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_123 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_151 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_220 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_129 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_142 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_222 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_162 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_168 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_223 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_164 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_163 : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_224 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_116 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_48 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_225 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_66 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_48 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_226 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_75 ?
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_48 : 6'h0; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_228 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_202 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_204; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_229 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_228 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_205; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_231 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_229 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_207; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_232 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_231 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_208; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_233 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_232 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_209; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_234 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_233 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_210; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_235 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_234 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_211; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_236 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_235 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_212; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_237 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_236 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_213; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_238 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_237 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_214; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_239 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_238 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_215; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_240 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_239 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_216; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_241 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_240 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_217; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_243 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_241 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_219; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_244 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_243 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_220; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_246 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_244 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_222; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_247 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_246 | if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_223; // @[Mux.scala 27:73]
  wire [63:0] _GEN_227 = {{58'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_224}; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_248 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_247 | _GEN_227; // @[Mux.scala 27:73]
  wire [63:0] _GEN_228 = {{58'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_225}; // @[Mux.scala 27:73]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_249 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_248 | _GEN_228; // @[Mux.scala 27:73]
  wire [63:0] _GEN_229 = {{58'd0}, if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_226}; // @[Mux.scala 27:73]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_7 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_4 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_22; // @[Decoder.scala 279:42]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_13 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_7 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_27; // @[Decoder.scala 279:50]
  wire  if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_19 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_13 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_39; // @[Decoder.scala 279:59]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32_io_x;
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32_io_pc;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_lui;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_auipc;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addiw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slti;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltiu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xori;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_ori;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_andi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slli;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slliw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srli;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srliw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srai;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraiw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_add;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sub;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_subw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sll;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sllw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slt;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xor;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srl;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srlw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sra;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_or;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_and;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_wfi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jal;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jalr;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_beq;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bne;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_blt;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bge;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bltu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bgeu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lb;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lh;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_ld;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lbu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lhu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lwu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sb;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sh;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sd;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence_i;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sfence_vma;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_flw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fld;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsd;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rs;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rc;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rwi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rsi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rci;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mul;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulh;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhsu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_div;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_rem;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divuw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remuw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ecall;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ebreak;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_mret;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_uret;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_sret;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_dret;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_vvma;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_gvma;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_b;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_bu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_h;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_hu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_hu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_b;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_h;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_access_fault;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_paging_fault;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_w_x;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_l;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_lu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_s;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_w;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_wu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_d;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_l;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_lu;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_d_x;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rw;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rs;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rc;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rwi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rsi;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rci;
  wire  if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_is_rvc;
  wire [38:0] if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_pc;
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_imm;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs1;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs2;
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rd0;
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'h707f
    ; // @[Decoder.scala 725:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T_1 = 32'h67 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 725:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lb_T_1 = 32'h3 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 733:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T = if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T_1
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lb_T_1; // @[Decoder.scala 514:38]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lh_T_1 = 32'h1003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 734:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_1 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lh_T_1; // @[Decoder.scala 514:56]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lw_T_1 = 32'h2003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 735:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_2 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_1
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lw_T_1; // @[Decoder.scala 514:74]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lbu_T_1 = 32'h4003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 737:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_3 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_2
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lbu_T_1; // @[Decoder.scala 514:91]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lhu_T_1 = 32'h5003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 738:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_4 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_3
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lhu_T_1; // @[Decoder.scala 514:110]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lwu_T_1 = 32'h6003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 739:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_5 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_4
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lwu_T_1; // @[Decoder.scala 514:129]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_ld_T_1 = 32'h3003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 736:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_6 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_5
     | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_ld_T_1; // @[Decoder.scala 514:148]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addi_T_1 = 32'h13 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 694:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_7 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_6
     | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addi_T_1; // @[Decoder.scala 514:166]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addiw_T_1 = 32'h1b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 695:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_8 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_7
     | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addiw_T_1; // @[Decoder.scala 514:186]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slti_T_1 = 32'h2013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 696:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_9 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_8
     | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slti_T_1; // @[Decoder.scala 514:207]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sltiu_T_1 = 32'h3013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 697:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_10 = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_9
     | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sltiu_T_1; // @[Decoder.scala 514:227]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_xori_T_1 = 32'h4013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 698:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_11 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_10 | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_xori_T_1; // @[Decoder.scala 514:248]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_ori_T_1 = 32'h6013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 699:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_12 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_11 | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_ori_T_1; // @[Decoder.scala 514:268]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_andi_T_1 = 32'h7013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 700:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_13 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_12 | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_andi_T_1; // @[Decoder.scala 514:287]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_T_1 = 32'hf ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 744:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_14 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_13 | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_T_1
    ; // @[Decoder.scala 514:307]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_i_T_1 = 32'h100f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 745:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_15 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_14 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_i_T_1; // @[Decoder.scala 514:328]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_1 = 32'h1073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 748:37]
  wire [11:0] if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_2 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[31:20]; // @[Decoder.scala 748:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_3 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_2 != 12'h1; // @[Decoder.scala 748:100]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_5 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_2 != 12'h2; // @[Decoder.scala 748:119]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_6 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_3 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_5; // @[Decoder.scala 748:108]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_8 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_2 != 12'h3; // @[Decoder.scala 748:138]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_6 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_8; // @[Decoder.scala 748:127]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 748:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_16 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_15 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_10; // @[Decoder.scala 514:351]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_1 = 32'h2073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 749:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 749:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_17 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_16 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_10; // @[Decoder.scala 514:369]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_1 = 32'h3073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 750:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 750:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_18 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_17 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_10; // @[Decoder.scala 514:387]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_1 = 32'h5073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 751:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 751:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_19 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_18 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_10; // @[Decoder.scala 514:405]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_1 = 32'h6073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 752:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 752:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_20 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_19 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_10; // @[Decoder.scala 514:424]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_1 = 32'h7073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 753:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 753:87]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_21 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_20 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_10; // @[Decoder.scala 514:443]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_30 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[31]; // @[Decoder.scala 504:36]
  wire [51:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_32 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_30 ? 52'hfffffffffffff : 52'h0; // @[Bitwise.scala 77:12]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_34 = {
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_32,if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_2}; // @[Cat.scala 33:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sb_T_1 = 32'h23 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 740:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sh_T_1 = 32'h1023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 741:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_35 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sb_T_1 | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sh_T_1; // @[Decoder.scala 515:36]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sw_T_1 = 32'h2023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 742:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_36 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_35 | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sw_T_1; // @[Decoder.scala 515:54]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sd_T_1 = 32'h3023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 743:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_37 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_36 | if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sd_T_1; // @[Decoder.scala 515:72]
  wire [6:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_43 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[31:25]; // @[Decoder.scala 505:44]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_44 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[11:7]; // @[Decoder.scala 505:54]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_45 = {
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_32,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_43,
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_44}; // @[Cat.scala 33:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_beq_T_1 = 32'h63 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 726:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bne_T_1 = 32'h1063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 727:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_46 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_beq_T_1 | if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bne_T_1; // @[Decoder.scala 516:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_blt_T_1 = 32'h4063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 728:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_47 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_46 | if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_blt_T_1; // @[Decoder.scala 516:56]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bge_T_1 = 32'h5063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 729:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_48 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_47 | if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bge_T_1; // @[Decoder.scala 516:75]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bltu_T_1 = 32'h6063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 730:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_49 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_48 | if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bltu_T_1; // @[Decoder.scala 516:94]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bgeu_T_1 = 32'h7063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 731:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_50 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_49 | if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bgeu_T_1; // @[Decoder.scala 516:114]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_54 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[7]; // @[Decoder.scala 506:44]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_55 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[30:25]; // @[Decoder.scala 506:50]
  wire [3:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_56 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[11:8]; // @[Decoder.scala 506:60]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_57 = {
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_32,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_54,
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_55,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_56,1'h0
    }; // @[Cat.scala 33:92]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'h7f; // @[Decoder.scala 692:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T_1 = 32'h37 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 692:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_auipc_T_1 = 32'h17 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 693:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_58 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_auipc_T_1; // @[Decoder.scala 517:37]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_61 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_30 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [19:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_62 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[31:12]; // @[Decoder.scala 507:44]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_63 = {
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_61,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_62,12'h0
    }; // @[Cat.scala 33:92]
  wire [43:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_66 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_30 ? 44'hfffffffffff : 44'h0; // @[Bitwise.scala 77:12]
  wire [7:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_67 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[19:12]; // @[Decoder.scala 508:44]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_68 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[20]; // @[Decoder.scala 508:54]
  wire [9:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_69 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[30:21]; // @[Decoder.scala 508:61]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_70 = {
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_66,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_67,
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_68,if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_69,1'h0
    }; // @[Cat.scala 33:92]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hf800707f
    ; // @[Decoder.scala 824:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T_1 = 32'h1800302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 824:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_w_T_1 = 32'h1800202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 813:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_71 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_w_T_1; // @[riscv_isa.scala 140:20]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hf9f0707f
    ; // @[Decoder.scala 823:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T_1 = 32'h1000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T; // @[Decoder.scala 823:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_w_T_1 = 32'h1000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T; // @[Decoder.scala 812:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_72 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_w_T_1; // @[riscv_isa.scala 141:20]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_73 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_71 | if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_72; // @[riscv_isa.scala 146:23]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoswap_w_T_1 = 32'h800202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 814:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoadd_w_T_1 = 32'h202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 815:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_74 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoswap_w_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoadd_w_T_1; // @[riscv_isa.scala 148:15]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoxor_w_T_1 = 32'h2000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 816:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_75 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_74 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoxor_w_T_1; // @[riscv_isa.scala 148:26]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoand_w_T_1 = 32'h6000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 817:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_76 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_75 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoand_w_T_1; // @[riscv_isa.scala 148:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoor_w_T_1 = 32'h4000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 818:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_77 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_76 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoor_w_T_1; // @[riscv_isa.scala 148:48]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomin_w_T_1 = 32'h8000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 819:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_78 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_77 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomin_w_T_1; // @[riscv_isa.scala 148:58]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomax_w_T_1 = 32'ha000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 820:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_79 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_78 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomax_w_T_1; // @[riscv_isa.scala 148:69]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amominu_w_T_1 = 32'hc000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 821:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_80 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_79 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amominu_w_T_1; // @[riscv_isa.scala 148:80]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomaxu_w_T_1 = 32'he000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 822:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_81 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_80 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomaxu_w_T_1; // @[riscv_isa.scala 148:92]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoswap_d_T_1 = 32'h800302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 825:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_82 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_81 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoswap_d_T_1; // @[riscv_isa.scala 148:104]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoadd_d_T_1 = 32'h302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 826:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_83 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_82 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoadd_d_T_1; // @[riscv_isa.scala 148:116]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoxor_d_T_1 = 32'h2000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 827:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_84 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_83 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoxor_d_T_1; // @[riscv_isa.scala 148:127]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoand_d_T_1 = 32'h6000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 828:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_85 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_84 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoand_d_T_1; // @[riscv_isa.scala 148:138]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoor_d_T_1 = 32'h4000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 829:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_86 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_85 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amoor_d_T_1; // @[riscv_isa.scala 148:149]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomin_d_T_1 = 32'h8000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 830:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_87 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_86 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomin_d_T_1; // @[riscv_isa.scala 148:159]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomax_d_T_1 = 32'ha000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 831:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_88 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_87 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomax_d_T_1; // @[riscv_isa.scala 148:170]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amominu_d_T_1 = 32'hc000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 832:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_89 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_88 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amominu_d_T_1; // @[riscv_isa.scala 148:181]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomaxu_d_T_1 = 32'he000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 833:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_90 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_89 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_amomaxu_d_T_1; // @[riscv_isa.scala 148:193]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_92 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_90 | if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_71; // @[riscv_isa.scala 148:205]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_93 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_73 | if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_92; // @[Decoder.scala 519:41]
  wire [1:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_95 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[26:25]; // @[Decoder.scala 509:42]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_96 = {62'h0,
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_95}; // @[Cat.scala 33:92]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hfc00707f
    ; // @[Decoder.scala 701:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T_1 = 32'h1013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 701:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srli_T_1 = 32'h5013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 703:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_170 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srli_T_1; // @[Decoder.scala 521:38]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srai_T_1 = 32'h40005013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 705:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_171 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_170 | if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srai_T_1
    ; // @[Decoder.scala 521:58]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hfe00707f
    ; // @[Decoder.scala 702:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T_1 = 32'h101b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 702:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_172 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_171 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T_1; // @[Decoder.scala 521:78]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srliw_T_1 = 32'h501b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 704:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_173 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_172 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srliw_T_1; // @[Decoder.scala 521:99]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sraiw_T_1 = 32'h4000501b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 706:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_174 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_173 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sraiw_T_1; // @[Decoder.scala 521:120]
  wire [5:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_176 = if4_instr_fifo_io_enq_0_bits_dec32_io_x[25:20]; // @[Decoder.scala 511:42]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_177 = {58'h0,
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_176}; // @[Cat.scala 33:92]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_178 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_174 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_177
     : 64'h0; // @[Mux.scala 101:16]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_180 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_93 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_96 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_178; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jal_T_1 = 32'h6f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 724:37]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_181 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jal_T_1 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_70
     : if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_180; // @[Mux.scala 101:16]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_182 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_58 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_63 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_181; // @[Mux.scala 101:16]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_183 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_50 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_57 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_182; // @[Mux.scala 101:16]
  wire [63:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_184 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_37 ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_45 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_183; // @[Mux.scala 101:16]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hfe007fff
    ; // @[Decoder.scala 810:40]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T_1 = 32'h6e004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 810:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_1 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_44; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_w_T_1 = 32'h6a004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 807:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_2 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_w_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_1; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_h_T_1 = 32'h66004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 806:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_3 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_h_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_2; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_b_T_1 = 32'h62004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 805:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_4 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_b_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_3; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hfence_gvma_T_1 = 32'h62000073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 796:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_5 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hfence_gvma_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_4; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hfence_vvma_T_1 = 32'h22000073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 795:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_6 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hfence_vvma_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_5; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_dret_T_1 = 32'h7b200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 791:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_7 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_dret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_6; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_sret_T_1 = 32'h10200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 790:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_8 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_sret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_7; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_uret_T_1 = 32'h200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 789:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_9 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_uret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_8; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_mret_T_1 = 32'h30200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 788:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_mret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_9; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ebreak_T_1 = 32'h100073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 787:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_11 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ebreak_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_10; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ecall_T_1 = 32'h73 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 786:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_12 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ecall_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_11; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_15 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sd_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_12; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_16 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_15; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_17 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sh_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_16; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_18 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sb_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_17; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_19 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bgeu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_18; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_20 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bltu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_19; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_21 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bge_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_20; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_22 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_blt_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_21; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_23 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_bne_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_22; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_24 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_beq_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_23; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_wfi_T_1 = 32'h10500073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 722:37]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x[19:15]; // @[Decoder.scala 575:37]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_1 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_dret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_2 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_mret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_1; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_3 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_sret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_2; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_4 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_uret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_3; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_5 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ebreak_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_4; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_6 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ecall_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_5; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_7 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jal_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_6; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_8 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_wfi_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_7; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_9 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_auipc_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_8; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x[24:20]; // @[Decoder.scala 589:37]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_1 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_10 | if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_10; // @[riscv_isa.scala 179:19]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_2 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_1 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_10; // @[riscv_isa.scala 179:24]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_3 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_2 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_10; // @[riscv_isa.scala 179:29]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_4 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_3 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_10; // @[riscv_isa.scala 179:35]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_5 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_4 |
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_10; // @[riscv_isa.scala 179:41]
  wire [31:0] if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T = if4_instr_fifo_io_enq_0_bits_dec32_io_x & 32'hfff0707f
    ; // @[Decoder.scala 809:40]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T_1 = 32'h6c004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 809:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_6 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_wu_T_1 = 32'h68104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 808:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_7 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_wu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_6; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlvx_wu_T_1 = 32'h68304073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 804:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_8 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlvx_wu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_7; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_w_T_1 = 32'h68004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 803:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_9 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_w_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_8; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlvx_hu_T_1 = 32'h64304073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 802:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_10 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlvx_hu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_9; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_hu_T_1 = 32'h64104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 801:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_11 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_hu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_10; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_h_T_1 = 32'h64004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 800:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_12 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_h_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_11; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_bu_T_1 = 32'h60104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 799:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_13 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_bu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_12; // @[Mux.scala 101:16]
  wire  if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_b_T_1 = 32'h60004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 798:40]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_14 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_b_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_13; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_47 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_5 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_14; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_48 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_dret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_47; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_49 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_mret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_48; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_50 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_sret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_49; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_51 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_uret_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_50; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_52 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ebreak_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_51; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_53 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_ecall_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_52; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_55 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_53; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_56 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_w_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_55; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_57 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_i_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_56; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_58 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_fence_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_57; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_59 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_ld_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_58; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_60 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lwu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_59; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_61 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lhu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_60; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_62 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lbu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_61; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_63 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_62; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_64 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lh_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_63; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_65 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lb_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_64; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_66 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_65; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_67 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jal_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_66; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_68 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_wfi_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_67; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_69 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sraiw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_68; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_70 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srliw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_69; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_71 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_70; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_72 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addiw_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_71; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_73 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srai_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_72; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_74 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srli_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_73; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_75 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_74; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_76 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srai_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_75; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_77 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_srli_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_76; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_78 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_77; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_79 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_andi_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_78; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_80 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_ori_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_79; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_81 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_xori_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_80; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_82 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_sltiu_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_81; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_83 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slti_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_82; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_84 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_addi_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_83; // @[Mux.scala 101:16]
  wire [4:0] if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_85 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_auipc_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_84; // @[Mux.scala 101:16]
  wire [15:0] if4__preDecodeAgn_T = if4_io_if4_req_0_bits_instr[15:0]; // @[IF4.scala 58:85]
  wire [15:0] if4__preDecodeAgn_info16_is_jal_T = if4__preDecodeAgn_T & 16'he003; // @[IF3.scala 344:34]
  wire  if4__preDecodeAgn_info16_is_jal_T_1 = 16'ha001 == if4__preDecodeAgn_info16_is_jal_T; // @[IF3.scala 344:34]
  wire [15:0] if4__preDecodeAgn_info16_is_jalr_T = if4__preDecodeAgn_T & 16'he07f; // @[IF3.scala 345:34]
  wire  if4__preDecodeAgn_info16_is_jalr_T_1 = 16'h8002 == if4__preDecodeAgn_info16_is_jalr_T; // @[IF3.scala 345:34]
  wire [4:0] if4__preDecodeAgn_info16_is_jalr_T_2 = if4__preDecodeAgn_T[11:7]; // @[IF3.scala 345:75]
  wire  if4__preDecodeAgn_info16_is_jalr_T_3 = if4__preDecodeAgn_info16_is_jalr_T_2 != 5'h0; // @[IF3.scala 345:82]
  wire  if4__preDecodeAgn_info16_is_jalr_T_4 = if4__preDecodeAgn_info16_is_jalr_T_1 &
    if4__preDecodeAgn_info16_is_jalr_T_3; // @[IF3.scala 345:66]
  wire [15:0] if4__preDecodeAgn_info16_is_branch_T = if4__preDecodeAgn_T & 16'hc003; // @[IF3.scala 346:34]
  wire  if4__preDecodeAgn_info16_is_branch_T_1 = 16'hc001 == if4__preDecodeAgn_info16_is_branch_T; // @[IF3.scala 346:34]
  wire [15:0] if4__preDecodeAgn_info16_is_call_T = if4__preDecodeAgn_T & 16'hf07f; // @[IF3.scala 347:34]
  wire  if4__preDecodeAgn_info16_is_call_T_1 = 16'h9002 == if4__preDecodeAgn_info16_is_call_T; // @[IF3.scala 347:34]
  wire  if4__preDecodeAgn_info16_is_call_T_4 = if4__preDecodeAgn_info16_is_call_T_1 &
    if4__preDecodeAgn_info16_is_jalr_T_3; // @[IF3.scala 347:66]
  wire [15:0] if4__preDecodeAgn_info16_is_return_T = if4__preDecodeAgn_T & 16'hfdff; // @[IF3.scala 348:34]
  wire  if4__preDecodeAgn_info16_is_return_T_1 = 16'h8082 == if4__preDecodeAgn_info16_is_return_T; // @[IF3.scala 348:34]
  wire  if4__preDecodeAgn_info16_imm_T = if4__preDecodeAgn_T[12]; // @[IF3.scala 353:50]
  wire [51:0] if4__preDecodeAgn_info16_imm_T_2 = if4__preDecodeAgn_info16_imm_T ? 52'hfffffffffffff : 52'h0; // @[Bitwise.scala 77:12]
  wire  if4__preDecodeAgn_info16_imm_T_4 = if4__preDecodeAgn_T[8]; // @[IF3.scala 353:77]
  wire [1:0] if4__preDecodeAgn_info16_imm_T_5 = if4__preDecodeAgn_T[10:9]; // @[IF3.scala 353:89]
  wire  if4__preDecodeAgn_info16_imm_T_6 = if4__preDecodeAgn_T[6]; // @[IF3.scala 353:104]
  wire  if4__preDecodeAgn_info16_imm_T_7 = if4__preDecodeAgn_T[7]; // @[IF3.scala 353:116]
  wire  if4__preDecodeAgn_info16_imm_T_8 = if4__preDecodeAgn_T[2]; // @[IF3.scala 353:128]
  wire  if4__preDecodeAgn_info16_imm_T_9 = if4__preDecodeAgn_T[11]; // @[IF3.scala 353:140]
  wire [2:0] if4__preDecodeAgn_info16_imm_T_10 = if4__preDecodeAgn_T[5:3]; // @[IF3.scala 353:153]
  wire [63:0] if4__preDecodeAgn_info16_imm_T_11 = {if4__preDecodeAgn_info16_imm_T_2,if4__preDecodeAgn_info16_imm_T,
    if4__preDecodeAgn_info16_imm_T_4,if4__preDecodeAgn_info16_imm_T_5,if4__preDecodeAgn_info16_imm_T_6,
    if4__preDecodeAgn_info16_imm_T_7,if4__preDecodeAgn_info16_imm_T_8,if4__preDecodeAgn_info16_imm_T_9,
    if4__preDecodeAgn_info16_imm_T_10,1'h0}; // @[Cat.scala 33:92]
  wire [54:0] if4__preDecodeAgn_info16_imm_T_14 = if4__preDecodeAgn_info16_imm_T ? 55'h7fffffffffffff : 55'h0; // @[Bitwise.scala 77:12]
  wire [1:0] if4__preDecodeAgn_info16_imm_T_16 = if4__preDecodeAgn_T[6:5]; // @[IF3.scala 355:77]
  wire [1:0] if4__preDecodeAgn_info16_imm_T_18 = if4__preDecodeAgn_T[11:10]; // @[IF3.scala 355:103]
  wire [1:0] if4__preDecodeAgn_info16_imm_T_19 = if4__preDecodeAgn_T[4:3]; // @[IF3.scala 355:119]
  wire [63:0] if4__preDecodeAgn_info16_imm_T_20 = {if4__preDecodeAgn_info16_imm_T_14,if4__preDecodeAgn_info16_imm_T,
    if4__preDecodeAgn_info16_imm_T_16,if4__preDecodeAgn_info16_imm_T_8,if4__preDecodeAgn_info16_imm_T_18,
    if4__preDecodeAgn_info16_imm_T_19,1'h0}; // @[Cat.scala 33:92]
  wire [63:0] if4__preDecodeAgn_info16_imm_T_21 = if4__preDecodeAgn_info16_is_jal_T_1 ?
    if4__preDecodeAgn_info16_imm_T_11 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info16_imm_T_23 = if4__preDecodeAgn_info16_is_branch_T_1 ?
    if4__preDecodeAgn_info16_imm_T_20 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info16_imm_T_25 = if4__preDecodeAgn_info16_imm_T_21 | if4__preDecodeAgn_info16_imm_T_23; // @[Mux.scala 27:73]
  wire [6:0] if4__preDecodeAgn_info32_is_jal_T = if4_io_if4_req_0_bits_instr[6:0]; // @[IF3.scala 370:33]
  wire  if4__preDecodeAgn_info32_is_jal_T_1 = if4__preDecodeAgn_info32_is_jal_T == 7'h6f; // @[IF3.scala 370:39]
  wire  if4__preDecodeAgn_info32_is_jalr_T_1 = if4__preDecodeAgn_info32_is_jal_T == 7'h67; // @[IF3.scala 371:39]
  wire  if4__preDecodeAgn_info32_is_branch_T_1 = if4__preDecodeAgn_info32_is_jal_T == 7'h63; // @[IF3.scala 372:39]
  wire  if4__preDecodeAgn_info32_is_call_T = if4__preDecodeAgn_info32_is_jal_T_1 | if4__preDecodeAgn_info32_is_jalr_T_1; // @[IF3.scala 373:41]
  wire [4:0] if4__preDecodeAgn_info32_is_call_T_1 = if4_io_if4_req_0_bits_instr[11:7]; // @[IF3.scala 373:71]
  wire [4:0] if4__preDecodeAgn_info32_is_call_T_2 = if4__preDecodeAgn_info32_is_call_T_1 & 5'h1b; // @[IF3.scala 373:78]
  wire  if4__preDecodeAgn_info32_is_call_T_3 = 5'h1 == if4__preDecodeAgn_info32_is_call_T_2; // @[IF3.scala 373:78]
  wire  if4__preDecodeAgn_info32_is_call_T_4 = if4__preDecodeAgn_info32_is_call_T & if4__preDecodeAgn_info32_is_call_T_3
    ; // @[IF3.scala 373:60]
  wire [4:0] if4__preDecodeAgn_info32_is_return_T = if4_io_if4_req_0_bits_instr[19:15]; // @[IF3.scala 374:51]
  wire [4:0] if4__preDecodeAgn_info32_is_return_T_1 = if4__preDecodeAgn_info32_is_return_T & 5'h1b; // @[IF3.scala 374:59]
  wire  if4__preDecodeAgn_info32_is_return_T_2 = 5'h1 == if4__preDecodeAgn_info32_is_return_T_1; // @[IF3.scala 374:59]
  wire  if4__preDecodeAgn_info32_is_return_T_3 = if4__preDecodeAgn_info32_is_jalr_T_1 &
    if4__preDecodeAgn_info32_is_return_T_2; // @[IF3.scala 374:40]
  wire  if4__preDecodeAgn_info32_is_return_T_6 = if4__preDecodeAgn_info32_is_return_T !=
    if4__preDecodeAgn_info32_is_call_T_1; // @[IF3.scala 374:100]
  wire  if4__preDecodeAgn_info32_is_return_T_7 = if4__preDecodeAgn_info32_is_return_T_3 &
    if4__preDecodeAgn_info32_is_return_T_6; // @[IF3.scala 374:82]
  wire  if4__preDecodeAgn_info32_imm_T = if4_io_if4_req_0_bits_instr[31]; // @[IF3.scala 379:50]
  wire [43:0] if4__preDecodeAgn_info32_imm_T_2 = if4__preDecodeAgn_info32_imm_T ? 44'hfffffffffff : 44'h0; // @[Bitwise.scala 77:12]
  wire [7:0] if4__preDecodeAgn_info32_imm_T_3 = if4_io_if4_req_0_bits_instr[19:12]; // @[IF3.scala 379:64]
  wire  if4__preDecodeAgn_info32_imm_T_4 = if4_io_if4_req_0_bits_instr[20]; // @[IF3.scala 379:80]
  wire [9:0] if4__preDecodeAgn_info32_imm_T_5 = if4_io_if4_req_0_bits_instr[30:21]; // @[IF3.scala 379:93]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_6 = {if4__preDecodeAgn_info32_imm_T_2,if4__preDecodeAgn_info32_imm_T_3,
    if4__preDecodeAgn_info32_imm_T_4,if4__preDecodeAgn_info32_imm_T_5,1'h0}; // @[Cat.scala 33:92]
  wire [51:0] if4__preDecodeAgn_info32_imm_T_9 = if4__preDecodeAgn_info32_imm_T ? 52'hfffffffffffff : 52'h0; // @[Bitwise.scala 77:12]
  wire [11:0] if4__preDecodeAgn_info32_imm_T_10 = if4_io_if4_req_0_bits_instr[31:20]; // @[IF3.scala 380:64]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_11 = {if4__preDecodeAgn_info32_imm_T_9,if4__preDecodeAgn_info32_imm_T_10}; // @[Cat.scala 33:92]
  wire  if4__preDecodeAgn_info32_imm_T_15 = if4_io_if4_req_0_bits_instr[7]; // @[IF3.scala 381:64]
  wire [5:0] if4__preDecodeAgn_info32_imm_T_16 = if4_io_if4_req_0_bits_instr[30:25]; // @[IF3.scala 381:76]
  wire [3:0] if4__preDecodeAgn_info32_imm_T_17 = if4_io_if4_req_0_bits_instr[11:8]; // @[IF3.scala 381:92]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_18 = {if4__preDecodeAgn_info32_imm_T_9,if4__preDecodeAgn_info32_imm_T_15,
    if4__preDecodeAgn_info32_imm_T_16,if4__preDecodeAgn_info32_imm_T_17,1'h0}; // @[Cat.scala 33:92]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_19 = if4__preDecodeAgn_info32_is_jal_T_1 ? if4__preDecodeAgn_info32_imm_T_6
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_20 = if4__preDecodeAgn_info32_is_jalr_T_1 ?
    if4__preDecodeAgn_info32_imm_T_11 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_21 = if4__preDecodeAgn_info32_is_branch_T_1 ?
    if4__preDecodeAgn_info32_imm_T_18 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_22 = if4__preDecodeAgn_info32_imm_T_19 | if4__preDecodeAgn_info32_imm_T_20; // @[Mux.scala 27:73]
  wire [63:0] if4__preDecodeAgn_info32_imm_T_23 = if4__preDecodeAgn_info32_imm_T_22 | if4__preDecodeAgn_info32_imm_T_21; // @[Mux.scala 27:73]
  wire  if4_preDecodeAgn_0_is_jal = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_jal_T_1 :
    if4__preDecodeAgn_info32_is_jal_T_1; // @[IF4.scala 58:46]
  wire  if4_preDecodeAgn_0_is_jalr = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_jalr_T_4 :
    if4__preDecodeAgn_info32_is_jalr_T_1; // @[IF4.scala 58:46]
  wire  if4_preDecodeAgn_0_is_branch = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_branch_T_1 :
    if4__preDecodeAgn_info32_is_branch_T_1; // @[IF4.scala 58:46]
  wire  if4_preDecodeAgn_0_is_call = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_call_T_4 :
    if4__preDecodeAgn_info32_is_call_T_4; // @[IF4.scala 58:46]
  wire  if4_preDecodeAgn_0_is_return = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_return_T_1 :
    if4__preDecodeAgn_info32_is_return_T_7; // @[IF4.scala 58:46]
  wire [63:0] if4_preDecodeAgn_0_imm = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_imm_T_25 :
    if4__preDecodeAgn_info32_imm_T_23; // @[IF4.scala 58:46]
  wire  if4__tage_decode_isTableSel_T = if4_tageRedirect_mdl_io_deq_0_bits_0_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_0 = if4__tage_decode_isTableSel_T & if4_tageRedirect_mdl_io_deq_0_bits_0_is_hit; // @[TAGE.scala 241:50]
  wire  if4__tage_decode_isTableSel_T_1 = if4_tageRedirect_mdl_io_deq_0_bits_1_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_1 = if4__tage_decode_isTableSel_T_1 & if4_tageRedirect_mdl_io_deq_0_bits_1_is_hit; // @[TAGE.scala 241:50]
  wire  if4__tage_decode_isTableSel_T_2 = if4_tageRedirect_mdl_io_deq_0_bits_2_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_2 = if4__tage_decode_isTableSel_T_2 & if4_tageRedirect_mdl_io_deq_0_bits_2_is_hit; // @[TAGE.scala 241:50]
  wire  if4__tage_decode_isTableSel_T_3 = if4_tageRedirect_mdl_io_deq_0_bits_3_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_3 = if4__tage_decode_isTableSel_T_3 & if4_tageRedirect_mdl_io_deq_0_bits_3_is_hit; // @[TAGE.scala 241:50]
  wire  if4__tage_decode_isTableSel_T_4 = if4_tageRedirect_mdl_io_deq_0_bits_4_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_4 = if4__tage_decode_isTableSel_T_4 & if4_tageRedirect_mdl_io_deq_0_bits_4_is_hit; // @[TAGE.scala 241:50]
  wire  if4__tage_decode_isTableSel_T_5 = if4_tageRedirect_mdl_io_deq_0_bits_5_use != 2'h0; // @[TAGE.scala 241:42]
  wire  if4_tage_decode_isTableSel_5 = if4__tage_decode_isTableSel_T_5 & if4_tageRedirect_mdl_io_deq_0_bits_5_is_hit; // @[TAGE.scala 241:50]
  wire  if4__GEN_2 = if4_tage_decode_isTableSel_1 ? 1'h0 : if4_tage_decode_isTableSel_0; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_4 = if4_tage_decode_isTableSel_2 ? 1'h0 : if4__GEN_2; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_5 = if4_tage_decode_isTableSel_2 ? 1'h0 : if4_tage_decode_isTableSel_1; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_7 = if4_tage_decode_isTableSel_3 ? 1'h0 : if4__GEN_4; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_8 = if4_tage_decode_isTableSel_3 ? 1'h0 : if4__GEN_5; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_9 = if4_tage_decode_isTableSel_3 ? 1'h0 : if4_tage_decode_isTableSel_2; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_11 = if4_tage_decode_isTableSel_4 ? 1'h0 : if4__GEN_7; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_12 = if4_tage_decode_isTableSel_4 ? 1'h0 : if4__GEN_8; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_13 = if4_tage_decode_isTableSel_4 ? 1'h0 : if4__GEN_9; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_14 = if4_tage_decode_isTableSel_4 ? 1'h0 : if4_tage_decode_isTableSel_3; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_16 = if4_tage_decode_isTableSel_5 ? 1'h0 : if4__GEN_11; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_17 = if4_tage_decode_isTableSel_5 ? 1'h0 : if4__GEN_12; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_18 = if4_tage_decode_isTableSel_5 ? 1'h0 : if4__GEN_13; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_19 = if4_tage_decode_isTableSel_5 ? 1'h0 : if4__GEN_14; // @[TAGE.scala 245:29 248:30]
  wire  if4__GEN_20 = if4_tage_decode_isTableSel_5 ? 1'h0 : if4_tage_decode_isTableSel_4; // @[TAGE.scala 245:29 248:30]
  wire  if4__tage_decode_resp_isAltpred_0_T = ~if4__GEN_16; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_0_T_1 = if4_tage_decode_isTableSel_0 & if4__tage_decode_resp_isAltpred_0_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_resp_isAltpred_1_T = ~if4__GEN_17; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_1_T_1 = if4_tage_decode_isTableSel_1 & if4__tage_decode_resp_isAltpred_1_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_resp_isAltpred_2_T = ~if4__GEN_18; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_2_T_1 = if4_tage_decode_isTableSel_2 & if4__tage_decode_resp_isAltpred_2_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_resp_isAltpred_3_T = ~if4__GEN_19; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_3_T_1 = if4_tage_decode_isTableSel_3 & if4__tage_decode_resp_isAltpred_3_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_resp_isAltpred_4_T = ~if4__GEN_20; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_4_T_1 = if4_tage_decode_isTableSel_4 & if4__tage_decode_resp_isAltpred_4_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_resp_isAltpred_5_T = ~if4_tage_decode_isTableSel_5; // @[TAGE.scala 254:44]
  wire  if4__tage_decode_resp_isAltpred_5_T_1 = if4_tage_decode_isTableSel_5 & if4__tage_decode_resp_isAltpred_5_T; // @[TAGE.scala 254:42]
  wire  if4__tage_decode_T = if4__GEN_16 ^ if4_tage_decode_isTableSel_0; // @[TAGE.scala 262:57]
  wire  if4__tage_decode_T_1 = if4__tage_decode_resp_isAltpred_0_T_1 == if4__tage_decode_T; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_3 = ~if4_reset; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_4 = ~if4__tage_decode_T_1; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_5 = if4__GEN_17 ^ if4_tage_decode_isTableSel_1; // @[TAGE.scala 262:57]
  wire  if4__tage_decode_T_6 = if4__tage_decode_resp_isAltpred_1_T_1 == if4__tage_decode_T_5; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_9 = ~if4__tage_decode_T_6; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_10 = if4__GEN_18 ^ if4_tage_decode_isTableSel_2; // @[TAGE.scala 262:57]
  wire  if4__tage_decode_T_11 = if4__tage_decode_resp_isAltpred_2_T_1 == if4__tage_decode_T_10; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_14 = ~if4__tage_decode_T_11; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_15 = if4__GEN_19 ^ if4_tage_decode_isTableSel_3; // @[TAGE.scala 262:57]
  wire  if4__tage_decode_T_16 = if4__tage_decode_resp_isAltpred_3_T_1 == if4__tage_decode_T_15; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_19 = ~if4__tage_decode_T_16; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_20 = if4__GEN_20 ^ if4_tage_decode_isTableSel_4; // @[TAGE.scala 262:57]
  wire  if4__tage_decode_T_21 = if4__tage_decode_resp_isAltpred_4_T_1 == if4__tage_decode_T_20; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_24 = ~if4__tage_decode_T_21; // @[TAGE.scala 262:13]
  wire  if4__tage_decode_T_26 = ~if4__tage_decode_resp_isAltpred_5_T_1; // @[TAGE.scala 262:33]
  wire  if4__tage_decode_T_29 = ~if4__tage_decode_T_26; // @[TAGE.scala 262:13]
  wire [1:0] if4__tage_decode_T_30 = if4__GEN_17 + if4__GEN_18; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_232 = {{1'd0}, if4__GEN_16}; // @[Bitwise.scala 51:90]
  wire [2:0] if4__tage_decode_T_32 = _GEN_232 + if4__tage_decode_T_30; // @[Bitwise.scala 51:90]
  wire [1:0] if4__tage_decode_T_33 = if4__tage_decode_T_32[1:0]; // @[Bitwise.scala 51:90]
  wire [1:0] if4__tage_decode_T_34 = if4__GEN_20 + if4_tage_decode_isTableSel_5; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_233 = {{1'd0}, if4__GEN_19}; // @[Bitwise.scala 51:90]
  wire [2:0] if4__tage_decode_T_36 = _GEN_233 + if4__tage_decode_T_34; // @[Bitwise.scala 51:90]
  wire [1:0] if4__tage_decode_T_37 = if4__tage_decode_T_36[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] if4__tage_decode_T_38 = if4__tage_decode_T_33 + if4__tage_decode_T_37; // @[Bitwise.scala 51:90]
  wire  if4__tage_decode_T_40 = if4__tage_decode_T_38 <= 3'h1; // @[TAGE.scala 264:41]
  wire  if4__tage_decode_T_43 = ~if4__tage_decode_T_40; // @[TAGE.scala 264:11]
  wire  if4__isRedirect_0_T = if4_preDecodeAgn_0_is_branch & if4_bimRedirect_mdl_io_deq_0_bits_bim_p; // @[IF4.scala 123:19]
  wire  if4__isRedirect_0_T_1 = if4__isRedirect_0_T | if4_preDecodeAgn_0_is_jal; // @[IF4.scala 123:35]
  wire  if4__isRedirect_0_T_2 = if4__isRedirect_0_T_1 | if4_preDecodeAgn_0_is_jalr; // @[IF4.scala 124:15]
  wire  if4__jalr_pc_T = if4_preDecodeAgn_0_is_return & if4_ras_io_deq_valid; // @[IF4.scala 129:33]
  wire [38:0] if4__jalr_pc_T_1 = if4__jalr_pc_T ? if4_ras_io_deq_bits_target : if4_btbRedirect_mdl_io_deq_0_bits_target; // @[IF4.scala 129:18]
  wire  if4__jalr_pc_v64_T = if4__jalr_pc_T_1[38]; // @[Util.scala 47:31]
  wire [24:0] if4__jalr_pc_v64_T_2 = if4__jalr_pc_v64_T ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] if4__jalr_pc_v64_T_4 = {if4__jalr_pc_v64_T_2,if4__jalr_pc_T_1}; // @[Cat.scala 33:92]
  wire  if4__ras_io_deq_ready_T = if4_io_if4_req_0_ready & if4_io_if4_req_0_valid; // @[Decoupled.scala 52:35]
  wire [2:0] if4__ras_io_enq_bits_target_T = if4_io_if4_req_0_bits_isRVC ? 3'h2 : 3'h4; // @[IF4.scala 139:32]
  wire [38:0] _GEN_234 = {{36'd0}, if4__ras_io_enq_bits_target_T}; // @[IF4.scala 139:27]
  wire [38:0] if4__ras_io_enq_bits_target_T_2 = if4_io_if4_req_0_bits_pc + _GEN_234; // @[IF4.scala 139:27]
  wire [63:0] _GEN_235 = {{25'd0}, if4_io_if4_req_0_bits_pc}; // @[IF4.scala 146:47]
  wire [63:0] if4__redirectTarget_0_T_2 = _GEN_235 + if4_preDecodeAgn_0_imm; // @[IF4.scala 146:47]
  wire [63:0] if4__redirectTarget_0_T_5 = if4__isRedirect_0_T ? if4__redirectTarget_0_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__redirectTarget_0_T_6 = if4_preDecodeAgn_0_is_jal ? if4__redirectTarget_0_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__redirectTarget_0_T_7 = if4_preDecodeAgn_0_is_jalr ? if4__jalr_pc_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] if4__redirectTarget_0_T_8 = if4__redirectTarget_0_T_5 | if4__redirectTarget_0_T_6; // @[Mux.scala 27:73]
  wire [63:0] if4__redirectTarget_0_T_9 = if4__redirectTarget_0_T_8 | if4__redirectTarget_0_T_7; // @[Mux.scala 27:73]
  wire  if4__isDisAgreeWithIF1_0_T = if4__isRedirect_0_T_2 != if4_io_if4_req_0_bits_isRedirect; // @[IF4.scala 168:23]
  wire  if4__isDisAgreeWithIF1_0_T_1 = if4__isRedirect_0_T_2 == if4_io_if4_req_0_bits_isRedirect; // @[IF4.scala 169:23]
  wire [63:0] _GEN_237 = {{25'd0}, if4_io_if4_req_0_bits_target}; // @[IF4.scala 169:87]
  wire  if4__isDisAgreeWithIF1_0_T_2 = _GEN_237 != if4__redirectTarget_0_T_9; // @[IF4.scala 169:87]
  wire  if4__isDisAgreeWithIF1_0_T_3 = if4__isDisAgreeWithIF1_0_T_1 & if4__isDisAgreeWithIF1_0_T_2; // @[IF4.scala 169:58]
  wire  if4__isDisAgreeWithIF1_0_T_4 = if4__isDisAgreeWithIF1_0_T | if4__isDisAgreeWithIF1_0_T_3; // @[IF4.scala 168:58]
  wire  if4__isIf4Redirect_0_T_1 = if4__ras_io_deq_ready_T & if4__isDisAgreeWithIF1_0_T_4; // @[IF4.scala 171:44]
  wire  if4__T = ~if4__isRedirect_0_T_2; // @[IF4.scala 173:11]
  wire  if4__T_1 = if4__redirectTarget_0_T_9 == 64'h0; // @[IF4.scala 173:56]
  wire  if4__T_4 = ~if4__T_1; // @[IF4.scala 173:36]
  wire  if4__T_5 = ~if4_io_if4_req_0_bits_isRedirect; // @[IF4.scala 174:33]
  wire  if4__T_6 = if4_io_if4_req_0_valid & if4__T_5; // @[IF4.scala 174:31]
  wire  if4__T_7 = if4_io_if4_req_0_bits_target == 39'h0; // @[IF4.scala 174:102]
  wire  if4__T_10 = ~if4__T_7; // @[IF4.scala 174:74]
  wire [63:0] if4__io_if4Redirect_bits_target_T_3 = if4__isRedirect_0_T_2 ? if4__redirectTarget_0_T_9 : {{25'd0},
    if4__ras_io_enq_bits_target_T_2}; // @[IF4.scala 181:31]
  wire [63:0] if4__io_if4Redirect_bits_target_T_4 = if4__isIf4Redirect_0_T_1 ? if4__io_if4Redirect_bits_target_T_3 : 64'h0
    ; // @[Mux.scala 101:16]
  wire  if4__T_11 = ~if4_btbRedirect_mdl_io_deq_0_valid; // @[IF4.scala 224:39]
  wire  if4__T_12 = if4_btbRedirect_mdl_io_deq_0_ready & if4__T_11; // @[IF4.scala 224:37]
  wire  if4__T_13 = ~if4__T_12; // @[IF4.scala 224:13]
  wire  if4__T_16 = ~if4__T_13; // @[IF4.scala 224:11]
  wire  if4__T_17 = ~if4_bimRedirect_mdl_io_deq_0_valid; // @[IF4.scala 225:39]
  wire  if4__T_18 = if4_bimRedirect_mdl_io_deq_0_ready & if4__T_17; // @[IF4.scala 225:37]
  wire  if4__T_19 = ~if4__T_18; // @[IF4.scala 225:13]
  wire  if4__T_22 = ~if4__T_19; // @[IF4.scala 225:11]
  wire  if4__io_if4_req_0_ready_T = if4_bRePort_io_enq_0_ready & if4_jRePort_io_enq_0_ready; // @[IF4.scala 254:50]
  wire  rnm_stage_clock;
  wire  rnm_stage_reset;
  wire  rnm_stage_io_rnReq_0_ready;
  wire  rnm_stage_io_rnReq_0_valid;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_lui;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_auipc;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_addi;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_addiw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_slti;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sltiu;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_xori;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_ori;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_andi;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_slli;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_slliw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_srli;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_srliw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_srai;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sraiw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_add;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_addw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sub;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_subw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sll;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sllw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_slt;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sltu;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_xor;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_srl;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_srlw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sra;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_sraw;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_or;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_and;
  wire  rnm_stage_io_rnReq_0_bits_alu_isa_wfi;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_jal;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_jalr;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_beq;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_bne;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_blt;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_bge;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_bltu;
  wire  rnm_stage_io_rnReq_0_bits_bru_isa_bgeu;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lb;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lh;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lw;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_ld;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lbu;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lhu;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lwu;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sb;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sh;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sw;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sd;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_fence;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_flw;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_fsw;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_fld;
  wire  rnm_stage_io_rnReq_0_bits_lsu_isa_fsd;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rw;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rs;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rc;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rwi;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rsi;
  wire  rnm_stage_io_rnReq_0_bits_csr_isa_rci;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_mul;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_mulh;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_mulhu;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_div;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_divu;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_rem;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_remu;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_mulw;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_divw;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_divuw;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_remw;
  wire  rnm_stage_io_rnReq_0_bits_mul_isa_remuw;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_ecall;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_ebreak;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_mret;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_uret;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_sret;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_dret;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hfence_vvma;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hfence_gvma;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_b;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_bu;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_h;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_hu;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_hu;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_w;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_wu;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hsv_b;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hsv_h;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hsv_w;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_wu;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hlv_d;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_hsv_d;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_is_access_fault;
  wire  rnm_stage_io_rnReq_0_bits_privil_isa_is_paging_fault;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_w;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_wu;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_w_x;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_l;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_lu;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_w;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_wu;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_l;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_lu;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_d_x;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rw;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rs;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rc;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rwi;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rsi;
  wire  rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rci;
  wire  rnm_stage_io_rnReq_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_io_rnReq_0_bits_param_pc;
  wire [63:0] rnm_stage_io_rnReq_0_bits_param_imm;
  wire [4:0] rnm_stage_io_rnReq_0_bits_param_raw_rs1;
  wire [4:0] rnm_stage_io_rnReq_0_bits_param_raw_rs2;
  wire [4:0] rnm_stage_io_rnReq_0_bits_param_raw_rd0;
  wire  rnm_stage_io_rnRsp_0_ready;
  wire  rnm_stage_io_rnRsp_0_valid;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_lui;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_auipc;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_addi;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_addiw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_slti;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sltiu;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_xori;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_ori;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_andi;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_slli;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_slliw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_srli;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_srliw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_srai;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sraiw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_add;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_addw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sub;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_subw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sll;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sllw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_slt;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sltu;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_xor;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_srl;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_srlw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sra;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_sraw;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_or;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_and;
  wire  rnm_stage_io_rnRsp_0_bits_alu_isa_wfi;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_jal;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_jalr;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_beq;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_bne;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_blt;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_bge;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_bltu;
  wire  rnm_stage_io_rnRsp_0_bits_bru_isa_bgeu;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lb;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lh;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lw;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_ld;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lbu;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lhu;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lwu;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sb;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sh;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sw;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sd;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_fence;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_flw;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_fsw;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_fld;
  wire  rnm_stage_io_rnRsp_0_bits_lsu_isa_fsd;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rw;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rs;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rc;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rwi;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rsi;
  wire  rnm_stage_io_rnRsp_0_bits_csr_isa_rci;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_mul;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_mulh;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_mulhu;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_div;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_divu;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_rem;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_remu;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_mulw;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_divw;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_divuw;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_remw;
  wire  rnm_stage_io_rnRsp_0_bits_mul_isa_remuw;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_io_rnRsp_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_io_rnRsp_0_bits_param_pc;
  wire [63:0] rnm_stage_io_rnRsp_0_bits_param_imm;
  wire [4:0] rnm_stage_io_rnRsp_0_bits_param_raw_rs1;
  wire [5:0] rnm_stage_io_rnRsp_0_bits_phy_rs1;
  wire [5:0] rnm_stage_io_rnRsp_0_bits_phy_rs2;
  wire [5:0] rnm_stage_io_rnRsp_0_bits_phy_rs3;
  wire [5:0] rnm_stage_io_rnRsp_0_bits_phy_rd0;
  wire [5:0] rnm_stage_io_xLookup_0_rsp_rs1;
  wire [5:0] rnm_stage_io_xLookup_0_rsp_rs2;
  wire [4:0] rnm_stage_io_xLookup_0_req_rs1;
  wire [4:0] rnm_stage_io_xLookup_0_req_rs2;
  wire [5:0] rnm_stage_io_fLookup_0_rsp_rs1;
  wire [5:0] rnm_stage_io_fLookup_0_rsp_rs2;
  wire [5:0] rnm_stage_io_fLookup_0_rsp_rs3;
  wire [5:0] rnm_stage_io_xRename_0_rsp_rd0;
  wire  rnm_stage_io_xRename_0_req_ready;
  wire  rnm_stage_io_xRename_0_req_valid;
  wire [4:0] rnm_stage_io_xRename_0_req_bits_rd0;
  wire [5:0] rnm_stage_io_fRename_0_rsp_rd0;
  wire  rnm_stage_io_fRename_0_req_ready;
  wire  rnm_stage_io_fRename_0_req_valid;
  wire  rnm_stage_io_rod_i_0_ready;
  wire  rnm_stage_io_rod_i_0_valid;
  wire [38:0] rnm_stage_io_rod_i_0_bits_pc;
  wire [4:0] rnm_stage_io_rod_i_0_bits_rd0_raw;
  wire [5:0] rnm_stage_io_rod_i_0_bits_rd0_phy;
  wire  rnm_stage_io_rod_i_0_bits_is_branch;
  wire  rnm_stage_io_rod_i_0_bits_is_jalr;
  wire  rnm_stage_io_rod_i_0_bits_is_lu;
  wire  rnm_stage_io_rod_i_0_bits_is_su;
  wire  rnm_stage_io_rod_i_0_bits_is_amo;
  wire  rnm_stage_io_rod_i_0_bits_is_fence_i;
  wire  rnm_stage_io_rod_i_0_bits_is_sfence_vma;
  wire  rnm_stage_io_rod_i_0_bits_is_wfi;
  wire  rnm_stage_io_rod_i_0_bits_is_csr;
  wire  rnm_stage_io_rod_i_0_bits_is_fpu;
  wire  rnm_stage_io_rod_i_0_bits_is_fcsr;
  wire  rnm_stage_io_rod_i_0_bits_is_xcmm;
  wire  rnm_stage_io_rod_i_0_bits_is_fcmm;
  wire  rnm_stage_io_rod_i_0_bits_privil_ecall;
  wire  rnm_stage_io_rod_i_0_bits_privil_ebreak;
  wire  rnm_stage_io_rod_i_0_bits_privil_mret;
  wire  rnm_stage_io_rod_i_0_bits_privil_sret;
  wire  rnm_stage_io_rod_i_0_bits_privil_dret;
  wire  rnm_stage_io_rod_i_0_bits_privil_is_access_fault;
  wire  rnm_stage_io_rod_i_0_bits_privil_is_paging_fault;
  wire  rnm_stage_io_rod_i_0_bits_is_illeage;
  wire  rnm_stage_rnRspReport_clock;
  wire  rnm_stage_rnRspReport_reset;
  wire  rnm_stage_rnRspReport_io_enq_0_ready;
  wire  rnm_stage_rnRspReport_io_enq_0_valid;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_lui;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_auipc;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addi;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addiw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slti;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltiu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xori;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_ori;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_andi;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slli;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slliw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srli;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srliw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srai;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraiw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_add;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sub;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_subw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sll;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sllw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slt;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xor;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srl;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srlw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sra;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_or;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_and;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_wfi;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jal;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jalr;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_beq;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bne;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_blt;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bge;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bltu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bgeu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lb;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lh;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_ld;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lbu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lhu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lwu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sb;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sh;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sd;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_flw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fld;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsd;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rs;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rc;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rwi;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rsi;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rci;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mul;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulh;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_div;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_rem;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remu;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divuw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remuw;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_rnRspReport_io_enq_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_rnRspReport_io_enq_0_bits_param_pc;
  wire [63:0] rnm_stage_rnRspReport_io_enq_0_bits_param_imm;
  wire [4:0] rnm_stage_rnRspReport_io_enq_0_bits_param_raw_rs1;
  wire [5:0] rnm_stage_rnRspReport_io_enq_0_bits_phy_rs1;
  wire [5:0] rnm_stage_rnRspReport_io_enq_0_bits_phy_rs2;
  wire [5:0] rnm_stage_rnRspReport_io_enq_0_bits_phy_rs3;
  wire [5:0] rnm_stage_rnRspReport_io_enq_0_bits_phy_rd0;
  wire  rnm_stage_rnRspReport_io_deq_0_ready;
  wire  rnm_stage_rnRspReport_io_deq_0_valid;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_lui;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_auipc;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addi;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addiw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slti;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltiu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xori;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_ori;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_andi;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slli;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slliw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srli;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srliw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srai;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraiw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_add;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sub;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_subw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sll;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sllw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slt;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xor;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srl;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srlw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sra;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_or;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_and;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_wfi;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jal;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jalr;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_beq;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bne;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_blt;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bge;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bltu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bgeu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lb;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lh;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_ld;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lbu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lhu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lwu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sb;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sh;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sd;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_flw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fld;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsd;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rs;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rc;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rwi;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rsi;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rci;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mul;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulh;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_div;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_rem;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remu;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divuw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remuw;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_rnRspReport_io_deq_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_rnRspReport_io_deq_0_bits_param_pc;
  wire [63:0] rnm_stage_rnRspReport_io_deq_0_bits_param_imm;
  wire [4:0] rnm_stage_rnRspReport_io_deq_0_bits_param_raw_rs1;
  wire [5:0] rnm_stage_rnRspReport_io_deq_0_bits_phy_rs1;
  wire [5:0] rnm_stage_rnRspReport_io_deq_0_bits_phy_rs2;
  wire [5:0] rnm_stage_rnRspReport_io_deq_0_bits_phy_rs3;
  wire [5:0] rnm_stage_rnRspReport_io_deq_0_bits_phy_rd0;
  wire  rnm_stage_rnRspReport__T = rnm_stage_rnRspReport_io_enq_0_ready & rnm_stage_rnRspReport_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_rnRspReport__T_1 = rnm_stage_rnRspReport_io_deq_0_ready & rnm_stage_rnRspReport_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_rnRspReport__T_2 = rnm_stage_rnRspReport__T == rnm_stage_rnRspReport__T_1; // @[RePort.scala 32:45]
  wire  rnm_stage_rnRspReport__T_4 = ~rnm_stage_rnRspReport_reset; // @[RePort.scala 32:12]
  wire  rnm_stage_rnRspReport__T_5 = ~rnm_stage_rnRspReport__T_2; // @[RePort.scala 32:12]
  wire  rnm_stage_rnRspReport__is_end_0_T = ~rnm_stage_rnRspReport_io_enq_0_valid; // @[RePort.scala 62:21]
  wire  rnm_stage_rnRspReport__T_6 = ~rnm_stage_rnRspReport__is_end_0_T; // @[RePort.scala 75:11]
  wire  rnm_stage_rnRspFifo_clock;
  wire  rnm_stage_rnRspFifo_reset;
  wire  rnm_stage_rnRspFifo_io_enq_0_ready;
  wire  rnm_stage_rnRspFifo_io_enq_0_valid;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_lui;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_auipc;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addi;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addiw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slti;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltiu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xori;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_ori;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_andi;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slli;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slliw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srli;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srliw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srai;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraiw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_add;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sub;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_subw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sll;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sllw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slt;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xor;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srl;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srlw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sra;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_or;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_and;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_wfi;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jal;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jalr;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_beq;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bne;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_blt;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bge;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bltu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bgeu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lb;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lh;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_ld;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lbu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lhu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lwu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sb;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sh;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sd;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_flw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fld;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsd;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rs;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rc;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rwi;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rsi;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rci;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mul;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulh;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_div;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_rem;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remu;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divuw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remuw;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_rnRspFifo_io_enq_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_rnRspFifo_io_enq_0_bits_param_pc;
  wire [63:0] rnm_stage_rnRspFifo_io_enq_0_bits_param_imm;
  wire [4:0] rnm_stage_rnRspFifo_io_enq_0_bits_param_raw_rs1;
  wire [5:0] rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs1;
  wire [5:0] rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs2;
  wire [5:0] rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs3;
  wire [5:0] rnm_stage_rnRspFifo_io_enq_0_bits_phy_rd0;
  wire  rnm_stage_rnRspFifo_io_deq_0_ready;
  wire  rnm_stage_rnRspFifo_io_deq_0_valid;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_lui;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_auipc;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addi;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addiw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slti;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltiu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xori;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_ori;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_andi;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slli;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slliw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srli;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srliw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srai;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraiw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_add;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sub;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_subw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sll;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sllw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slt;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xor;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srl;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srlw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sra;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_or;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_and;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_wfi;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jal;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jalr;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_beq;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bne;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_blt;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bge;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bltu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bgeu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lb;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lh;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_ld;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lbu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lhu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lwu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sb;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sh;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sd;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence_i;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sfence_vma;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_flw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fld;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsd;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rs;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rc;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rwi;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rsi;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rci;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mul;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulh;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhsu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_div;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_rem;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remu;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divuw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remuw;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_w;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_s_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_d_s;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_d;
  wire  rnm_stage_rnRspFifo_io_deq_0_bits_param_is_rvc;
  wire [38:0] rnm_stage_rnRspFifo_io_deq_0_bits_param_pc;
  wire [63:0] rnm_stage_rnRspFifo_io_deq_0_bits_param_imm;
  wire [4:0] rnm_stage_rnRspFifo_io_deq_0_bits_param_raw_rs1;
  wire [5:0] rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs1;
  wire [5:0] rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs2;
  wire [5:0] rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs3;
  wire [5:0] rnm_stage_rnRspFifo_io_deq_0_bits_phy_rd0;
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_lui; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_auipc; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_addi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_addiw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_slti; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_xori; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_ori; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_andi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_slli; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_slliw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_srli; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_srliw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_srai; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_add; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_addw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sub; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_subw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sll; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sllw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_slt; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sltu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_xor; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_srl; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_srlw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sra; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_sraw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_or; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_and; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_alu_isa_wfi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_jal; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_jalr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_beq; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_bne; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_blt; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_bge; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_bltu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lb; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_ld; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sb; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sd; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_fence; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_flw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_fld; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rs; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rc; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rwi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rsi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_csr_isa_rci; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_mul; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_mulh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_div; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_divu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_rem; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_remu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_mulw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_divw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_divuw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_remw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_mul_isa_remuw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_0_param_is_rvc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] rnm_stage_rnRspFifo_buf_0_param_pc; // @[MultiPortFifo.scala 57:20]
  reg [63:0] rnm_stage_rnRspFifo_buf_0_param_imm; // @[MultiPortFifo.scala 57:20]
  reg [4:0] rnm_stage_rnRspFifo_buf_0_param_raw_rs1; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_0_phy_rs1; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_0_phy_rs2; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_0_phy_rs3; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_0_phy_rd0; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_lui; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_auipc; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_addi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_addiw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_slti; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_xori; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_ori; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_andi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_slli; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_slliw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_srli; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_srliw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_srai; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_add; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_addw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sub; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_subw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sll; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sllw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_slt; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sltu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_xor; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_srl; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_srlw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sra; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_sraw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_or; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_and; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_alu_isa_wfi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_jal; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_jalr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_beq; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_bne; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_blt; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_bge; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_bltu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lb; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_ld; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sb; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sd; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_fence; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_flw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_fld; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rs; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rc; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rwi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rsi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_csr_isa_rci; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_mul; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_mulh; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_div; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_divu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_rem; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_remu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_mulw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_divw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_divuw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_remw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_mul_isa_remuw; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_1_param_is_rvc; // @[MultiPortFifo.scala 57:20]
  reg [38:0] rnm_stage_rnRspFifo_buf_1_param_pc; // @[MultiPortFifo.scala 57:20]
  reg [63:0] rnm_stage_rnRspFifo_buf_1_param_imm; // @[MultiPortFifo.scala 57:20]
  reg [4:0] rnm_stage_rnRspFifo_buf_1_param_raw_rs1; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_1_phy_rs1; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_1_phy_rs2; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_1_phy_rs3; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_rnRspFifo_buf_1_phy_rd0; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_rnRspFifo_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  rnm_stage_rnRspFifo_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rnm_stage_rnRspFifo_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  rnm_stage_rnRspFifo_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] rnm_stage_rnRspFifo__io_enq_0_ready_T = {{1'd0}, rnm_stage_rnRspFifo_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  rnm_stage_rnRspFifo__io_enq_0_ready_T_1 = rnm_stage_rnRspFifo__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  rnm_stage_rnRspFifo__GEN_1 = rnm_stage_rnRspFifo__io_enq_0_ready_T_1 ? rnm_stage_rnRspFifo_buf_valid_1 :
    rnm_stage_rnRspFifo_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] rnm_stage_rnRspFifo__io_deq_0_valid_T = {{1'd0}, rnm_stage_rnRspFifo_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  rnm_stage_rnRspFifo__io_deq_0_valid_T_1 = rnm_stage_rnRspFifo__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  rnm_stage_rnRspFifo__T = rnm_stage_rnRspFifo_io_enq_0_ready & rnm_stage_rnRspFifo_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_rnRspFifo__GEN_4 = ~rnm_stage_rnRspFifo__io_enq_0_ready_T_1 | rnm_stage_rnRspFifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  rnm_stage_rnRspFifo__GEN_5 = rnm_stage_rnRspFifo__io_enq_0_ready_T_1 | rnm_stage_rnRspFifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  rnm_stage_rnRspFifo__GEN_6 = rnm_stage_rnRspFifo__T ? rnm_stage_rnRspFifo__GEN_4 :
    rnm_stage_rnRspFifo_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  rnm_stage_rnRspFifo__GEN_7 = rnm_stage_rnRspFifo__T ? rnm_stage_rnRspFifo__GEN_5 :
    rnm_stage_rnRspFifo_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  rnm_stage_rnRspFifo__T_1 = rnm_stage_rnRspFifo_io_deq_0_ready & rnm_stage_rnRspFifo_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_rnRspFifo__rd_ptr_T_2 = rnm_stage_rnRspFifo_rd_ptr + rnm_stage_rnRspFifo__T_1; // @[MultiPortFifo.scala 106:26]
  wire  rnm_stage_rnRspFifo__wr_ptr_T_2 = rnm_stage_rnRspFifo_wr_ptr + rnm_stage_rnRspFifo__T; // @[MultiPortFifo.scala 107:26]
  wire  rnm_stage_rnRspFifo__T_3 = ~rnm_stage_rnRspFifo_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  rnm_stage_rnRspFifo__T_4 = rnm_stage_rnRspFifo_io_enq_0_valid & rnm_stage_rnRspFifo__T_3; // @[MultiPortFifo.scala 161:44]
  wire  rnm_stage_rnRspFifo__T_7 = ~rnm_stage_rnRspFifo__T_4; // @[MultiPortFifo.scala 161:15]
  wire  rnm_stage_rnRspFifo__T_9 = ~rnm_stage_rnRspFifo_reset; // @[MultiPortFifo.scala 161:13]
  wire  rnm_stage_rnRspFifo__T_10 = ~rnm_stage_rnRspFifo__T_7; // @[MultiPortFifo.scala 161:13]
  wire  rnm_stage_rnRspFifo__T_12 = ~rnm_stage_rnRspFifo_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  rnm_stage_rnRspFifo__T_13 = rnm_stage_rnRspFifo_io_deq_0_valid & rnm_stage_rnRspFifo__T_12; // @[MultiPortFifo.scala 164:44]
  wire  rnm_stage_rnRspFifo__T_16 = ~rnm_stage_rnRspFifo__T_13; // @[MultiPortFifo.scala 164:15]
  wire  rnm_stage_rnRspFifo__T_19 = ~rnm_stage_rnRspFifo__T_16; // @[MultiPortFifo.scala 164:13]
  wire  rnm_stage_reOrder_fifo_i_clock;
  wire  rnm_stage_reOrder_fifo_i_reset;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_ready;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_valid;
  wire [38:0] rnm_stage_reOrder_fifo_i_io_enq_0_bits_pc;
  wire [4:0] rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_raw;
  wire [5:0] rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_phy;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_branch;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_jalr;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_lu;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_su;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_amo;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fence_i;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_sfence_vma;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_wfi;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_csr;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fpu;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcsr;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_xcmm;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcmm;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ecall;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ebreak;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_mret;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_sret;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_dret;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_access_fault;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_paging_fault;
  wire  rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_illeage;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_ready;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_valid;
  wire [38:0] rnm_stage_reOrder_fifo_i_io_deq_0_bits_pc;
  wire [4:0] rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_raw;
  wire [5:0] rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_phy;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_branch;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_jalr;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_lu;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_su;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_amo;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fence_i;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_sfence_vma;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_wfi;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_csr;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fpu;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcsr;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_xcmm;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcmm;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ecall;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ebreak;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_mret;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_sret;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_dret;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_access_fault;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_paging_fault;
  wire  rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_illeage;
  reg [38:0] rnm_stage_reOrder_fifo_i_buf_0_pc; // @[MultiPortFifo.scala 57:20]
  reg [4:0] rnm_stage_reOrder_fifo_i_buf_0_rd0_raw; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_reOrder_fifo_i_buf_0_rd0_phy; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_branch; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_jalr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_lu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_su; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_amo; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_wfi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_csr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_fpu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_fcsr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_xcmm; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_fcmm; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_ecall; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_mret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_sret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_dret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_0_is_illeage; // @[MultiPortFifo.scala 57:20]
  reg [38:0] rnm_stage_reOrder_fifo_i_buf_1_pc; // @[MultiPortFifo.scala 57:20]
  reg [4:0] rnm_stage_reOrder_fifo_i_buf_1_rd0_raw; // @[MultiPortFifo.scala 57:20]
  reg [5:0] rnm_stage_reOrder_fifo_i_buf_1_rd0_phy; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_branch; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_jalr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_lu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_su; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_amo; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_fence_i; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_wfi; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_csr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_fpu; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_fcsr; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_xcmm; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_fcmm; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_ecall; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_mret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_sret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_dret; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_1_is_illeage; // @[MultiPortFifo.scala 57:20]
  reg  rnm_stage_reOrder_fifo_i_buf_valid_0; // @[MultiPortFifo.scala 58:30]
  reg  rnm_stage_reOrder_fifo_i_buf_valid_1; // @[MultiPortFifo.scala 58:30]
  reg  rnm_stage_reOrder_fifo_i_rd_ptr; // @[MultiPortFifo.scala 60:27]
  reg  rnm_stage_reOrder_fifo_i_wr_ptr; // @[MultiPortFifo.scala 61:27]
  wire [1:0] rnm_stage_reOrder_fifo_i__io_enq_0_ready_T = {{1'd0}, rnm_stage_reOrder_fifo_i_wr_ptr}; // @[MultiPortFifo.scala 64:78]
  wire  rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1 = rnm_stage_reOrder_fifo_i__io_enq_0_ready_T[0]; // @[MultiPortFifo.scala 64:78]
  wire  rnm_stage_reOrder_fifo_i__GEN_1 = rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_valid_1 : rnm_stage_reOrder_fifo_i_buf_valid_0; // @[MultiPortFifo.scala 64:{94,94}]
  wire [1:0] rnm_stage_reOrder_fifo_i__io_deq_0_valid_T = {{1'd0}, rnm_stage_reOrder_fifo_i_rd_ptr}; // @[MultiPortFifo.scala 65:78]
  wire  rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T[0]; // @[MultiPortFifo.scala 65:78]
  wire  rnm_stage_reOrder_fifo_i__T = rnm_stage_reOrder_fifo_i_io_enq_0_ready & rnm_stage_reOrder_fifo_i_io_enq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_reOrder_fifo_i__GEN_4 = ~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1 |
    rnm_stage_reOrder_fifo_i_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  rnm_stage_reOrder_fifo_i__GEN_5 = rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1 |
    rnm_stage_reOrder_fifo_i_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:{57,57}]
  wire  rnm_stage_reOrder_fifo_i__GEN_6 = rnm_stage_reOrder_fifo_i__T ? rnm_stage_reOrder_fifo_i__GEN_4 :
    rnm_stage_reOrder_fifo_i_buf_valid_0; // @[MultiPortFifo.scala 58:30 97:34]
  wire  rnm_stage_reOrder_fifo_i__GEN_7 = rnm_stage_reOrder_fifo_i__T ? rnm_stage_reOrder_fifo_i__GEN_5 :
    rnm_stage_reOrder_fifo_i_buf_valid_1; // @[MultiPortFifo.scala 58:30 97:34]
  wire  rnm_stage_reOrder_fifo_i__T_1 = rnm_stage_reOrder_fifo_i_io_deq_0_ready &
    rnm_stage_reOrder_fifo_i_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage_reOrder_fifo_i__rd_ptr_T_2 = rnm_stage_reOrder_fifo_i_rd_ptr + rnm_stage_reOrder_fifo_i__T_1; // @[MultiPortFifo.scala 106:26]
  wire  rnm_stage_reOrder_fifo_i__wr_ptr_T_2 = rnm_stage_reOrder_fifo_i_wr_ptr + rnm_stage_reOrder_fifo_i__T; // @[MultiPortFifo.scala 107:26]
  wire  rnm_stage_reOrder_fifo_i__T_3 = ~rnm_stage_reOrder_fifo_i_io_enq_0_valid; // @[MultiPortFifo.scala 161:63]
  wire  rnm_stage_reOrder_fifo_i__T_4 = rnm_stage_reOrder_fifo_i_io_enq_0_valid & rnm_stage_reOrder_fifo_i__T_3; // @[MultiPortFifo.scala 161:44]
  wire  rnm_stage_reOrder_fifo_i__T_7 = ~rnm_stage_reOrder_fifo_i__T_4; // @[MultiPortFifo.scala 161:15]
  wire  rnm_stage_reOrder_fifo_i__T_9 = ~rnm_stage_reOrder_fifo_i_reset; // @[MultiPortFifo.scala 161:13]
  wire  rnm_stage_reOrder_fifo_i__T_10 = ~rnm_stage_reOrder_fifo_i__T_7; // @[MultiPortFifo.scala 161:13]
  wire  rnm_stage_reOrder_fifo_i__T_12 = ~rnm_stage_reOrder_fifo_i_io_deq_0_valid; // @[MultiPortFifo.scala 164:63]
  wire  rnm_stage_reOrder_fifo_i__T_13 = rnm_stage_reOrder_fifo_i_io_deq_0_valid & rnm_stage_reOrder_fifo_i__T_12; // @[MultiPortFifo.scala 164:44]
  wire  rnm_stage_reOrder_fifo_i__T_16 = ~rnm_stage_reOrder_fifo_i__T_13; // @[MultiPortFifo.scala 164:15]
  wire  rnm_stage_reOrder_fifo_i__T_19 = ~rnm_stage_reOrder_fifo_i__T_16; // @[MultiPortFifo.scala 164:13]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T = rnm_stage_io_rnReq_0_ready & rnm_stage_io_rnReq_0_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_1 = rnm_stage_io_rnReq_0_bits_privil_isa_ecall |
    rnm_stage_io_rnReq_0_bits_privil_isa_ebreak; // @[riscv_isa.scala 248:11]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_2 = rnm_stage__rnRspReport_io_enq_0_valid_T_1 |
    rnm_stage_io_rnReq_0_bits_privil_isa_mret; // @[riscv_isa.scala 248:20]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_3 = rnm_stage__rnRspReport_io_enq_0_valid_T_2 |
    rnm_stage_io_rnReq_0_bits_privil_isa_uret; // @[riscv_isa.scala 248:27]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_4 = rnm_stage__rnRspReport_io_enq_0_valid_T_3 |
    rnm_stage_io_rnReq_0_bits_privil_isa_sret; // @[riscv_isa.scala 248:34]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_5 = rnm_stage__rnRspReport_io_enq_0_valid_T_4 |
    rnm_stage_io_rnReq_0_bits_privil_isa_dret; // @[riscv_isa.scala 248:41]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_6 = rnm_stage__rnRspReport_io_enq_0_valid_T_5 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hfence_vvma; // @[riscv_isa.scala 248:48]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_7 = rnm_stage__rnRspReport_io_enq_0_valid_T_6 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hfence_gvma; // @[riscv_isa.scala 248:62]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_8 = rnm_stage__rnRspReport_io_enq_0_valid_T_7 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_b; // @[riscv_isa.scala 248:76]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_9 = rnm_stage__rnRspReport_io_enq_0_valid_T_8 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_bu; // @[riscv_isa.scala 248:84]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_10 = rnm_stage__rnRspReport_io_enq_0_valid_T_9 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_h; // @[riscv_isa.scala 248:93]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_11 = rnm_stage__rnRspReport_io_enq_0_valid_T_10 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_hu; // @[riscv_isa.scala 248:101]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_12 = rnm_stage__rnRspReport_io_enq_0_valid_T_11 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_hu; // @[riscv_isa.scala 248:110]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_13 = rnm_stage__rnRspReport_io_enq_0_valid_T_12 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_w; // @[riscv_isa.scala 248:120]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_14 = rnm_stage__rnRspReport_io_enq_0_valid_T_13 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_wu; // @[riscv_isa.scala 248:128]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_15 = rnm_stage__rnRspReport_io_enq_0_valid_T_14 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hsv_b; // @[riscv_isa.scala 248:138]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_16 = rnm_stage__rnRspReport_io_enq_0_valid_T_15 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hsv_h; // @[riscv_isa.scala 248:146]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_17 = rnm_stage__rnRspReport_io_enq_0_valid_T_16 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hsv_w; // @[riscv_isa.scala 248:154]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_18 = rnm_stage__rnRspReport_io_enq_0_valid_T_17 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_wu; // @[riscv_isa.scala 248:162]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_19 = rnm_stage__rnRspReport_io_enq_0_valid_T_18 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hlv_d; // @[riscv_isa.scala 248:171]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_20 = rnm_stage__rnRspReport_io_enq_0_valid_T_19 |
    rnm_stage_io_rnReq_0_bits_privil_isa_hsv_d; // @[riscv_isa.scala 248:179]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_21 = rnm_stage__rnRspReport_io_enq_0_valid_T_20 |
    rnm_stage_io_rnReq_0_bits_privil_isa_is_access_fault; // @[riscv_isa.scala 248:187]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_22 = rnm_stage__rnRspReport_io_enq_0_valid_T_21 |
    rnm_stage_io_rnReq_0_bits_privil_isa_is_paging_fault; // @[riscv_isa.scala 249:21]
  wire  rnm_stage__rnRspReport_io_enq_0_valid_T_23 = ~rnm_stage__rnRspReport_io_enq_0_valid_T_22; // @[Rename.scala 57:55]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T = rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_s |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_s; // @[riscv_isa.scala 514:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_1 = rnm_stage__rnRspReport_io_enq_0_bits_T |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_s; // @[riscv_isa.scala 514:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_2 = rnm_stage__rnRspReport_io_enq_0_bits_T_1 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_s; // @[riscv_isa.scala 514:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_3 = rnm_stage__rnRspReport_io_enq_0_bits_T_2 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_s; // @[riscv_isa.scala 514:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_4 = rnm_stage__rnRspReport_io_enq_0_bits_T_3 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_s; // @[riscv_isa.scala 514:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_5 = rnm_stage__rnRspReport_io_enq_0_bits_T_4 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_s; // @[riscv_isa.scala 514:73]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_6 = rnm_stage__rnRspReport_io_enq_0_bits_T_5 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_s; // @[riscv_isa.scala 514:85]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_7 = rnm_stage__rnRspReport_io_enq_0_bits_T_6 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_s; // @[riscv_isa.scala 514:97]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_8 = rnm_stage__rnRspReport_io_enq_0_bits_T_7 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_d; // @[riscv_isa.scala 514:109]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_9 = rnm_stage__rnRspReport_io_enq_0_bits_T_8 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_d; // @[riscv_isa.scala 515:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_10 = rnm_stage__rnRspReport_io_enq_0_bits_T_9 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_d; // @[riscv_isa.scala 515:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_11 = rnm_stage__rnRspReport_io_enq_0_bits_T_10 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_d; // @[riscv_isa.scala 515:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_12 = rnm_stage__rnRspReport_io_enq_0_bits_T_11 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d; // @[riscv_isa.scala 515:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_13 = rnm_stage__rnRspReport_io_enq_0_bits_T_12 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d; // @[riscv_isa.scala 515:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_14 = rnm_stage__rnRspReport_io_enq_0_bits_T_13 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d; // @[riscv_isa.scala 515:73]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_15 = rnm_stage__rnRspReport_io_enq_0_bits_T_14 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d; // @[riscv_isa.scala 515:85]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_16 = rnm_stage__rnRspReport_io_enq_0_bits_T_15 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d; // @[riscv_isa.scala 515:97]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_17 = rnm_stage__rnRspReport_io_enq_0_bits_T_16 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 515:109]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_18 = rnm_stage__rnRspReport_io_enq_0_bits_T_17 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s; // @[riscv_isa.scala 516:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_19 = rnm_stage__rnRspReport_io_enq_0_bits_T_18 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s; // @[riscv_isa.scala 516:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_20 = rnm_stage__rnRspReport_io_enq_0_bits_T_19 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 516:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_21 = rnm_stage__rnRspReport_io_enq_0_bits_T_20 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d; // @[riscv_isa.scala 516:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_22 = rnm_stage__rnRspReport_io_enq_0_bits_T_21 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d; // @[riscv_isa.scala 516:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_23 = rnm_stage__rnRspReport_io_enq_0_bits_T_22 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 516:73]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_24 = rnm_stage__rnRspReport_io_enq_0_bits_T_23 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s; // @[riscv_isa.scala 517:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_25 = rnm_stage__rnRspReport_io_enq_0_bits_T_24 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d; // @[riscv_isa.scala 517:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_26 = rnm_stage__rnRspReport_io_enq_0_bits_T_25 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d; // @[riscv_isa.scala 517:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_27 = rnm_stage__rnRspReport_io_enq_0_bits_T_26 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s; // @[riscv_isa.scala 517:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_28 = rnm_stage__rnRspReport_io_enq_0_bits_T_27 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s; // @[riscv_isa.scala 518:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_29 = rnm_stage__rnRspReport_io_enq_0_bits_T_28 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s; // @[riscv_isa.scala 518:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_30 = rnm_stage__rnRspReport_io_enq_0_bits_T_29 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d; // @[riscv_isa.scala 518:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_31 = rnm_stage__rnRspReport_io_enq_0_bits_T_30 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d; // @[riscv_isa.scala 518:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_32 = rnm_stage__rnRspReport_io_enq_0_bits_T_31 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d; // @[riscv_isa.scala 518:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_33 = rnm_stage__rnRspReport_io_enq_0_bits_T_32 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_s; // @[riscv_isa.scala 518:73]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_34 = rnm_stage__rnRspReport_io_enq_0_bits_T_33 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_d; // @[riscv_isa.scala 519:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_35 = rnm_stage__rnRspReport_io_enq_0_bits_T_34 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_w; // @[riscv_isa.scala 519:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_36 = rnm_stage__rnRspReport_io_enq_0_bits_T_35 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_w_x; // @[riscv_isa.scala 520:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_37 = rnm_stage__rnRspReport_io_enq_0_bits_T_36 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_d; // @[riscv_isa.scala 520:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_38 = rnm_stage__rnRspReport_io_enq_0_bits_T_37 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_d_x; // @[riscv_isa.scala 520:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_39 = rnm_stage__rnRspReport_io_enq_0_bits_T_38 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_w; // @[riscv_isa.scala 520:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_40 = rnm_stage__rnRspReport_io_enq_0_bits_T_39 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_wu; // @[riscv_isa.scala 521:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_41 = rnm_stage__rnRspReport_io_enq_0_bits_T_40 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_s; // @[riscv_isa.scala 521:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_42 = rnm_stage__rnRspReport_io_enq_0_bits_T_41 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_s; // @[riscv_isa.scala 521:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_43 = rnm_stage__rnRspReport_io_enq_0_bits_T_42 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_l; // @[riscv_isa.scala 521:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_44 = rnm_stage__rnRspReport_io_enq_0_bits_T_43 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_lu; // @[riscv_isa.scala 522:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_45 = rnm_stage__rnRspReport_io_enq_0_bits_T_44 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 522:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_46 = rnm_stage__rnRspReport_io_enq_0_bits_T_45 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s; // @[riscv_isa.scala 522:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_47 = rnm_stage__rnRspReport_io_enq_0_bits_T_46 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_d; // @[riscv_isa.scala 522:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_48 = rnm_stage__rnRspReport_io_enq_0_bits_T_47 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_d; // @[riscv_isa.scala 523:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_49 = rnm_stage__rnRspReport_io_enq_0_bits_T_48 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_w; // @[riscv_isa.scala 523:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_50 = rnm_stage__rnRspReport_io_enq_0_bits_T_49 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_wu; // @[riscv_isa.scala 523:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_51 = rnm_stage__rnRspReport_io_enq_0_bits_T_50 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_d; // @[riscv_isa.scala 523:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_52 = rnm_stage__rnRspReport_io_enq_0_bits_T_51 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_d; // @[riscv_isa.scala 523:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_53 = rnm_stage__rnRspReport_io_enq_0_bits_T_52 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_l; // @[riscv_isa.scala 523:73]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_54 = rnm_stage__rnRspReport_io_enq_0_bits_T_53 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_lu; // @[riscv_isa.scala 524:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_55 = rnm_stage__rnRspReport_io_enq_0_bits_T_54 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_s; // @[riscv_isa.scala 524:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_56 = rnm_stage__rnRspReport_io_enq_0_bits_T_55 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_s; // @[riscv_isa.scala 524:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_57 = rnm_stage__rnRspReport_io_enq_0_bits_T_56 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rw; // @[riscv_isa.scala 524:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_58 = rnm_stage__rnRspReport_io_enq_0_bits_T_57 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rs; // @[riscv_isa.scala 525:13]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_59 = rnm_stage__rnRspReport_io_enq_0_bits_T_58 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rc; // @[riscv_isa.scala 525:25]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_60 = rnm_stage__rnRspReport_io_enq_0_bits_T_59 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rwi; // @[riscv_isa.scala 525:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_61 = rnm_stage__rnRspReport_io_enq_0_bits_T_60 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rsi; // @[riscv_isa.scala 525:49]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_62 = rnm_stage__rnRspReport_io_enq_0_bits_T_61 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rci; // @[riscv_isa.scala 525:61]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_66 = rnm_stage__rnRspReport_io_enq_0_bits_T_2 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_d; // @[riscv_isa.scala 365:43]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_67 = rnm_stage__rnRspReport_io_enq_0_bits_T_66 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_d; // @[riscv_isa.scala 366:11]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_68 = rnm_stage__rnRspReport_io_enq_0_bits_T_67 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_d; // @[riscv_isa.scala 366:21]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_69 = rnm_stage__rnRspReport_io_enq_0_bits_T_68 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_d; // @[riscv_isa.scala 366:32]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_70 = rnm_stage__rnRspReport_io_enq_0_bits_T_69 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_s; // @[riscv_isa.scala 368:29]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_71 = rnm_stage__rnRspReport_io_enq_0_bits_T_70 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_s; // @[riscv_isa.scala 369:10]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_72 = rnm_stage__rnRspReport_io_enq_0_bits_T_71 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_s; // @[riscv_isa.scala 369:19]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_73 = rnm_stage__rnRspReport_io_enq_0_bits_T_72 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_s; // @[riscv_isa.scala 369:28]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_74 = rnm_stage__rnRspReport_io_enq_0_bits_T_73 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_s; // @[riscv_isa.scala 369:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_75 = rnm_stage__rnRspReport_io_enq_0_bits_T_74 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 369:47]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_76 = rnm_stage__rnRspReport_io_enq_0_bits_T_75 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s; // @[riscv_isa.scala 370:11]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_77 = rnm_stage__rnRspReport_io_enq_0_bits_T_76 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s; // @[riscv_isa.scala 370:22]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_78 = rnm_stage__rnRspReport_io_enq_0_bits_T_77 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 370:33]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_79 = rnm_stage__rnRspReport_io_enq_0_bits_T_78 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d; // @[riscv_isa.scala 370:43]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_80 = rnm_stage__rnRspReport_io_enq_0_bits_T_79 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d; // @[riscv_isa.scala 370:54]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_81 = rnm_stage__rnRspReport_io_enq_0_bits_T_80 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 370:65]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_82 = rnm_stage__rnRspReport_io_enq_0_bits_T_81 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s; // @[riscv_isa.scala 371:10]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_83 = rnm_stage__rnRspReport_io_enq_0_bits_T_82 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d; // @[riscv_isa.scala 371:19]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_84 = rnm_stage__rnRspReport_io_enq_0_bits_T_83 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d; // @[riscv_isa.scala 371:28]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_85 = rnm_stage__rnRspReport_io_enq_0_bits_T_84 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s; // @[riscv_isa.scala 371:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_86 = rnm_stage__rnRspReport_io_enq_0_bits_T_85 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s; // @[riscv_isa.scala 372:9]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_87 = rnm_stage__rnRspReport_io_enq_0_bits_T_86 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s; // @[riscv_isa.scala 372:17]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_88 = rnm_stage__rnRspReport_io_enq_0_bits_T_87 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d; // @[riscv_isa.scala 372:24]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_89 = rnm_stage__rnRspReport_io_enq_0_bits_T_88 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d; // @[riscv_isa.scala 372:32]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_90 = rnm_stage__rnRspReport_io_enq_0_bits_T_89 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d; // @[riscv_isa.scala 372:40]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_91 = rnm_stage__rnRspReport_io_enq_0_bits_T_90 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d; // @[riscv_isa.scala 372:48]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_92 = rnm_stage__rnRspReport_io_enq_0_bits_T_91 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d; // @[riscv_isa.scala 373:10]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_93 = rnm_stage__rnRspReport_io_enq_0_bits_T_92 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d; // @[riscv_isa.scala 373:19]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_94 = rnm_stage__rnRspReport_io_enq_0_bits_T_93 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d; // @[riscv_isa.scala 373:28]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_95 = rnm_stage__rnRspReport_io_enq_0_bits_T_94 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d; // @[riscv_isa.scala 373:37]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_96 = rnm_stage__rnRspReport_io_enq_0_bits_T_95 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rw; // @[riscv_isa.scala 373:47]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_97 = rnm_stage__rnRspReport_io_enq_0_bits_T_96 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rs; // @[riscv_isa.scala 374:11]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_98 = rnm_stage__rnRspReport_io_enq_0_bits_T_97 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rc; // @[riscv_isa.scala 374:21]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_99 = rnm_stage__rnRspReport_io_enq_0_bits_T_98 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rwi; // @[riscv_isa.scala 374:31]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_100 = rnm_stage__rnRspReport_io_enq_0_bits_T_99 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rsi; // @[riscv_isa.scala 374:42]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_101 = rnm_stage__rnRspReport_io_enq_0_bits_T_100 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rci; // @[riscv_isa.scala 374:53]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_102 = ~rnm_stage__rnRspReport_io_enq_0_bits_T_101; // @[Rename.scala 115:12]
  wire  rnm_stage__reg_phy_0_rs2_T_12 = rnm_stage__rnRspReport_io_enq_0_bits_T_74 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d; // @[riscv_isa.scala 393:63]
  wire  rnm_stage__reg_phy_0_rs2_T_13 = rnm_stage__reg_phy_0_rs2_T_12 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d; // @[riscv_isa.scala 394:15]
  wire  rnm_stage__reg_phy_0_rs2_T_14 = rnm_stage__reg_phy_0_rs2_T_13 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d; // @[riscv_isa.scala 394:27]
  wire  rnm_stage__reg_phy_0_rs2_T_15 = rnm_stage__reg_phy_0_rs2_T_14 | rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d; // @[riscv_isa.scala 394:39]
  wire  rnm_stage__reg_phy_0_rs2_T_16 = rnm_stage__reg_phy_0_rs2_T_15 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d; // @[riscv_isa.scala 394:51]
  wire  rnm_stage__reg_phy_0_rs2_T_17 = rnm_stage__reg_phy_0_rs2_T_16 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 394:63]
  wire  rnm_stage__reg_phy_0_rs2_T_18 = rnm_stage__reg_phy_0_rs2_T_17 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s; // @[riscv_isa.scala 395:15]
  wire  rnm_stage__reg_phy_0_rs2_T_19 = rnm_stage__reg_phy_0_rs2_T_18 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s; // @[riscv_isa.scala 395:27]
  wire  rnm_stage__reg_phy_0_rs2_T_20 = rnm_stage__reg_phy_0_rs2_T_19 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 395:39]
  wire  rnm_stage__reg_phy_0_rs2_T_21 = rnm_stage__reg_phy_0_rs2_T_20 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d; // @[riscv_isa.scala 396:15]
  wire  rnm_stage__reg_phy_0_rs2_T_22 = rnm_stage__reg_phy_0_rs2_T_21 | rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d; // @[riscv_isa.scala 396:27]
  wire  rnm_stage__reg_phy_0_rs2_T_23 = rnm_stage__reg_phy_0_rs2_T_22 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 396:39]
  wire  rnm_stage__reg_phy_0_rs2_T_24 = rnm_stage__reg_phy_0_rs2_T_23 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s; // @[riscv_isa.scala 397:15]
  wire  rnm_stage__reg_phy_0_rs2_T_25 = rnm_stage__reg_phy_0_rs2_T_24 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d; // @[riscv_isa.scala 397:27]
  wire  rnm_stage__reg_phy_0_rs2_T_26 = rnm_stage__reg_phy_0_rs2_T_25 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d; // @[riscv_isa.scala 397:39]
  wire  rnm_stage__reg_phy_0_rs2_T_27 = rnm_stage__reg_phy_0_rs2_T_26 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_w; // @[riscv_isa.scala 397:51]
  wire  rnm_stage__reg_phy_0_rs2_T_28 = rnm_stage__reg_phy_0_rs2_T_27 | rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_d; // @[riscv_isa.scala 398:15]
  wire  rnm_stage__reg_phy_0_rs2_T_29 = rnm_stage__reg_phy_0_rs2_T_28 | rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s; // @[riscv_isa.scala 398:27]
  wire  rnm_stage__reg_phy_0_rs2_T_30 = rnm_stage__reg_phy_0_rs2_T_29 | rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s; // @[riscv_isa.scala 399:15]
  wire  rnm_stage__reg_phy_0_rs2_T_31 = rnm_stage__reg_phy_0_rs2_T_30 | rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s; // @[riscv_isa.scala 399:27]
  wire  rnm_stage__reg_phy_0_rs2_T_32 = rnm_stage__reg_phy_0_rs2_T_31 | rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d; // @[riscv_isa.scala 399:39]
  wire  rnm_stage__reg_phy_0_rs2_T_33 = rnm_stage__reg_phy_0_rs2_T_32 | rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d; // @[riscv_isa.scala 400:15]
  wire  rnm_stage__reg_phy_0_rs2_T_34 = rnm_stage__reg_phy_0_rs2_T_33 | rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d; // @[riscv_isa.scala 400:27]
  wire  rnm_stage__reg_phy_0_rs2_T_35 = rnm_stage__reg_phy_0_rs2_T_34 | rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_s; // @[riscv_isa.scala 400:39]
  wire  rnm_stage__reg_phy_0_rs2_T_36 = rnm_stage__reg_phy_0_rs2_T_35 | rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_d; // @[riscv_isa.scala 401:15]
  wire  rnm_stage__reg_phy_0_rs2_T_37 = rnm_stage__reg_phy_0_rs2_T_36 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_s; // @[riscv_isa.scala 401:27]
  wire  rnm_stage__reg_phy_0_rs2_T_38 = rnm_stage__reg_phy_0_rs2_T_37 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_s; // @[riscv_isa.scala 402:15]
  wire  rnm_stage__reg_phy_0_rs2_T_39 = rnm_stage__reg_phy_0_rs2_T_38 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_s; // @[riscv_isa.scala 402:27]
  wire  rnm_stage__reg_phy_0_rs2_T_40 = rnm_stage__reg_phy_0_rs2_T_39 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_s; // @[riscv_isa.scala 402:39]
  wire  rnm_stage__reg_phy_0_rs2_T_41 = rnm_stage__reg_phy_0_rs2_T_40 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_d; // @[riscv_isa.scala 402:51]
  wire  rnm_stage__reg_phy_0_rs2_T_42 = rnm_stage__reg_phy_0_rs2_T_41 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_d; // @[riscv_isa.scala 403:15]
  wire  rnm_stage__reg_phy_0_rs2_T_43 = rnm_stage__reg_phy_0_rs2_T_42 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_d; // @[riscv_isa.scala 403:27]
  wire  rnm_stage__reg_phy_0_rs2_T_44 = rnm_stage__reg_phy_0_rs2_T_43 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_d; // @[riscv_isa.scala 403:39]
  wire  rnm_stage__reg_phy_0_rs2_T_45 = rnm_stage__reg_phy_0_rs2_T_44 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 403:51]
  wire  rnm_stage__reg_phy_0_rs2_T_46 = rnm_stage__reg_phy_0_rs2_T_45 | rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s; // @[riscv_isa.scala 404:15]
  wire  rnm_stage__reg_phy_0_rs2_T_47 = rnm_stage_io_rnReq_0_bits_lsu_isa_fsw | rnm_stage_io_rnReq_0_bits_lsu_isa_fsd; // @[riscv_isa.scala 164:20]
  wire  rnm_stage__reg_phy_0_rs2_T_48 = rnm_stage__reg_phy_0_rs2_T_46 | rnm_stage__reg_phy_0_rs2_T_47; // @[Rename.scala 76:59]
  wire [5:0] rnm_stage__reg_phy_0_rs2_T_49 = rnm_stage__reg_phy_0_rs2_T_48 ? rnm_stage_io_fLookup_0_rsp_rs2 :
    rnm_stage_io_xLookup_0_rsp_rs2; // @[Rename.scala 76:26]
  wire [5:0] rnm_stage__GEN_0 = rnm_stage__rnRspReport_io_enq_0_bits_T_102 ? 6'h21 : rnm_stage__reg_phy_0_rs2_T_49; // @[Rename.scala 112:20 115:{37,51}]
  wire  rnm_stage__rnRspReport_io_enq_0_bits_T_110 = ~rnm_stage__rnRspReport_io_enq_0_bits_T_69; // @[Rename.scala 116:12]
  wire [5:0] rnm_stage__reg_phy_0_rs3_T_47 = rnm_stage__reg_phy_0_rs2_T_46 ? rnm_stage_io_fLookup_0_rsp_rs3 : 6'h21; // @[Rename.scala 77:26]
  wire [5:0] rnm_stage__GEN_1 = rnm_stage__rnRspReport_io_enq_0_bits_T_110 ? 6'h21 : rnm_stage__reg_phy_0_rs3_T_47; // @[Rename.scala 112:20 116:{39,53}]
  wire  rnm_stage__io_xRename_0_req_valid_T_1 = rnm_stage_io_rnReq_0_bits_lsu_isa_flw |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fld; // @[riscv_isa.scala 166:20]
  wire  rnm_stage__io_xRename_0_req_valid_T_29 = rnm_stage__rnRspReport_io_enq_0_bits_T_26 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_w; // @[riscv_isa.scala 418:39]
  wire  rnm_stage__io_xRename_0_req_valid_T_30 = rnm_stage__io_xRename_0_req_valid_T_29 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_wu; // @[riscv_isa.scala 419:14]
  wire  rnm_stage__io_xRename_0_req_valid_T_31 = rnm_stage__io_xRename_0_req_valid_T_30 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_w; // @[riscv_isa.scala 419:26]
  wire  rnm_stage__io_xRename_0_req_valid_T_32 = rnm_stage__io_xRename_0_req_valid_T_31 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_wu; // @[riscv_isa.scala 419:37]
  wire  rnm_stage__io_xRename_0_req_valid_T_33 = rnm_stage__io_xRename_0_req_valid_T_32 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_l; // @[riscv_isa.scala 419:49]
  wire  rnm_stage__io_xRename_0_req_valid_T_34 = rnm_stage__io_xRename_0_req_valid_T_33 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_lu; // @[riscv_isa.scala 420:14]
  wire  rnm_stage__io_xRename_0_req_valid_T_35 = rnm_stage__io_xRename_0_req_valid_T_34 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_l; // @[riscv_isa.scala 420:26]
  wire  rnm_stage__io_xRename_0_req_valid_T_36 = rnm_stage__io_xRename_0_req_valid_T_35 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_lu; // @[riscv_isa.scala 420:37]
  wire  rnm_stage__io_xRename_0_req_valid_T_37 = rnm_stage__io_xRename_0_req_valid_T_36 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 420:49]
  wire  rnm_stage__io_xRename_0_req_valid_T_38 = rnm_stage__io_xRename_0_req_valid_T_37 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s; // @[riscv_isa.scala 421:14]
  wire  rnm_stage__io_xRename_0_req_valid_T_39 = rnm_stage__io_xRename_0_req_valid_T_38 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_w_x; // @[riscv_isa.scala 421:25]
  wire  rnm_stage__io_xRename_0_req_valid_T_40 = rnm_stage__io_xRename_0_req_valid_T_39 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_d_x; // @[riscv_isa.scala 422:13]
  wire  rnm_stage__io_xRename_0_req_valid_T_41 = rnm_stage__io_xRename_0_req_valid_T_1 |
    rnm_stage__io_xRename_0_req_valid_T_40; // @[riscv_isa.scala 794:20]
  wire  rnm_stage__io_xRename_0_req_valid_T_42 = ~rnm_stage__io_xRename_0_req_valid_T_41; // @[riscv_isa.scala 800:16]
  wire  rnm_stage__reg_phy_0_rd0_T = rnm_stage_io_fRename_0_req_ready & rnm_stage_io_fRename_0_req_valid; // @[Decoupled.scala 52:35]
  wire  rnm_stage__reg_phy_0_rd0_T_1 = rnm_stage_io_xRename_0_req_ready & rnm_stage_io_xRename_0_req_valid; // @[Decoupled.scala 52:35]
  wire [5:0] rnm_stage__reg_phy_0_rd0_T_2 = rnm_stage__reg_phy_0_rd0_T ? rnm_stage_io_fRename_0_rsp_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] rnm_stage__reg_phy_0_rd0_T_3 = rnm_stage__reg_phy_0_rd0_T_1 ? rnm_stage_io_xRename_0_rsp_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [1:0] rnm_stage__T_2 = rnm_stage__reg_phy_0_rd0_T + rnm_stage__reg_phy_0_rd0_T_1; // @[Bitwise.scala 51:90]
  wire  rnm_stage__T_4 = rnm_stage__T_2 <= 2'h1; // @[Rename.scala 84:105]
  wire  rnm_stage__T_6 = ~rnm_stage_reset; // @[Rename.scala 84:40]
  wire  rnm_stage__T_7 = ~rnm_stage__T_4; // @[Rename.scala 84:40]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T = rnm_stage_io_rnReq_0_bits_bru_isa_beq |
    rnm_stage_io_rnReq_0_bits_bru_isa_bne; // @[riscv_isa.scala 93:23]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_1 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T | rnm_stage_io_rnReq_0_bits_bru_isa_blt; // @[riscv_isa.scala 93:29]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_2 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_1 | rnm_stage_io_rnReq_0_bits_bru_isa_bge; // @[riscv_isa.scala 93:35]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_3 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_2 | rnm_stage_io_rnReq_0_bits_bru_isa_bltu; // @[riscv_isa.scala 93:41]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T = rnm_stage_io_rnReq_0_bits_lsu_isa_lb |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lh; // @[riscv_isa.scala 143:19]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_1 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lw; // @[riscv_isa.scala 143:24]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_2 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_1 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_ld; // @[riscv_isa.scala 143:29]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_3 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_2 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lbu; // @[riscv_isa.scala 143:34]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_4 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_3 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lhu; // @[riscv_isa.scala 143:40]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_5 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_4 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lwu; // @[riscv_isa.scala 143:46]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_6 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_5 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_flw; // @[riscv_isa.scala 143:52]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_7 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_6 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fld; // @[riscv_isa.scala 143:59]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_8 = rnm_stage_io_rnReq_0_bits_lsu_isa_lr_d |
    rnm_stage_io_rnReq_0_bits_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T = rnm_stage_io_rnReq_0_bits_lsu_isa_sb |
    rnm_stage_io_rnReq_0_bits_lsu_isa_sh; // @[riscv_isa.scala 144:19]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_1 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T |
    rnm_stage_io_rnReq_0_bits_lsu_isa_sw; // @[riscv_isa.scala 144:24]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_2 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_1 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_sd; // @[riscv_isa.scala 144:29]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_3 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_2 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fsw; // @[riscv_isa.scala 144:34]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T = rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_w |
    rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_1 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T |
    rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_2 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_1
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_w; // @[riscv_isa.scala 148:37]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_3 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_2
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_w; // @[riscv_isa.scala 148:48]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_4 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_3
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_w; // @[riscv_isa.scala 148:58]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_5 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_4
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_w; // @[riscv_isa.scala 148:69]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_6 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_5
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_w; // @[riscv_isa.scala 148:80]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_7 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_6
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_8 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_7
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_9 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_8
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_10 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_9
     | rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_11 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_10 | rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_d; // @[riscv_isa.scala 148:138]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_12 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_11 | rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_d; // @[riscv_isa.scala 148:149]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_13 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_12 | rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_d; // @[riscv_isa.scala 148:159]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_14 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_13 | rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_d; // @[riscv_isa.scala 148:170]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_15 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_14 | rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_d; // @[riscv_isa.scala 148:181]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_16 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_15 | rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_17 = rnm_stage_io_rnReq_0_bits_lsu_isa_sc_d |
    rnm_stage_io_rnReq_0_bits_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_18 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_16 | rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_17; // @[riscv_isa.scala 148:205]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T = rnm_stage_io_rnReq_0_bits_csr_isa_rw |
    rnm_stage_io_rnReq_0_bits_csr_isa_rs; // @[riscv_isa.scala 179:19]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_1 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T |
    rnm_stage_io_rnReq_0_bits_csr_isa_rc; // @[riscv_isa.scala 179:24]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_2 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_1
     | rnm_stage_io_rnReq_0_bits_csr_isa_rwi; // @[riscv_isa.scala 179:29]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_3 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_2
     | rnm_stage_io_rnReq_0_bits_csr_isa_rsi; // @[riscv_isa.scala 179:35]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_4 = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_3
     | rnm_stage_io_rnReq_0_bits_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_63 = rnm_stage_io_rnReq_0_bits_lsu_isa_flw |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fsw; // @[riscv_isa.scala 168:20]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_64 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_63 | rnm_stage_io_rnReq_0_bits_lsu_isa_fld; // @[riscv_isa.scala 168:26]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_65 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_64 | rnm_stage_io_rnReq_0_bits_lsu_isa_fsd; // @[riscv_isa.scala 168:32]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T = rnm_stage_io_rnReq_0_bits_alu_isa_lui |
    rnm_stage_io_rnReq_0_bits_alu_isa_auipc; // @[riscv_isa.scala 78:20]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_1 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T | rnm_stage_io_rnReq_0_bits_alu_isa_addi; // @[riscv_isa.scala 78:28]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_2 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_1 | rnm_stage_io_rnReq_0_bits_alu_isa_addiw; // @[riscv_isa.scala 78:35]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_3 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_2 | rnm_stage_io_rnReq_0_bits_alu_isa_slti; // @[riscv_isa.scala 78:43]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_4 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_3 | rnm_stage_io_rnReq_0_bits_alu_isa_sltiu; // @[riscv_isa.scala 78:50]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_5 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_4 | rnm_stage_io_rnReq_0_bits_alu_isa_xori; // @[riscv_isa.scala 78:58]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_6 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_5 | rnm_stage_io_rnReq_0_bits_alu_isa_ori; // @[riscv_isa.scala 78:65]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_7 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_6 | rnm_stage_io_rnReq_0_bits_alu_isa_andi; // @[riscv_isa.scala 78:71]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_8 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_7 | rnm_stage_io_rnReq_0_bits_alu_isa_slli; // @[riscv_isa.scala 78:78]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_9 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_8 | rnm_stage_io_rnReq_0_bits_alu_isa_slliw; // @[riscv_isa.scala 78:85]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_10 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_9 | rnm_stage_io_rnReq_0_bits_alu_isa_srli; // @[riscv_isa.scala 78:93]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_11 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_10 | rnm_stage_io_rnReq_0_bits_alu_isa_srliw; // @[riscv_isa.scala 78:100]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_12 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_11 | rnm_stage_io_rnReq_0_bits_alu_isa_srai; // @[riscv_isa.scala 78:108]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_13 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_12 | rnm_stage_io_rnReq_0_bits_alu_isa_sraiw; // @[riscv_isa.scala 78:115]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_14 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_13 | rnm_stage_io_rnReq_0_bits_alu_isa_add; // @[riscv_isa.scala 78:123]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_15 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_14 | rnm_stage_io_rnReq_0_bits_alu_isa_addw; // @[riscv_isa.scala 78:129]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_16 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_15 | rnm_stage_io_rnReq_0_bits_alu_isa_sub; // @[riscv_isa.scala 78:136]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_17 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_16 | rnm_stage_io_rnReq_0_bits_alu_isa_subw; // @[riscv_isa.scala 78:142]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_18 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_17 | rnm_stage_io_rnReq_0_bits_alu_isa_sll; // @[riscv_isa.scala 78:149]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_19 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_18 | rnm_stage_io_rnReq_0_bits_alu_isa_sllw; // @[riscv_isa.scala 78:155]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_20 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_19 | rnm_stage_io_rnReq_0_bits_alu_isa_slt; // @[riscv_isa.scala 78:162]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_21 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_20 | rnm_stage_io_rnReq_0_bits_alu_isa_sltu; // @[riscv_isa.scala 78:168]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_22 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_21 | rnm_stage_io_rnReq_0_bits_alu_isa_xor; // @[riscv_isa.scala 78:175]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_23 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_22 | rnm_stage_io_rnReq_0_bits_alu_isa_srl; // @[riscv_isa.scala 78:181]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_24 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_23 | rnm_stage_io_rnReq_0_bits_alu_isa_srlw; // @[riscv_isa.scala 78:187]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_25 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_24 | rnm_stage_io_rnReq_0_bits_alu_isa_sra; // @[riscv_isa.scala 78:194]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_26 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_25 | rnm_stage_io_rnReq_0_bits_alu_isa_sraw; // @[riscv_isa.scala 78:200]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_27 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_26 | rnm_stage_io_rnReq_0_bits_alu_isa_or; // @[riscv_isa.scala 78:207]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_28 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_27 | rnm_stage_io_rnReq_0_bits_alu_isa_and; // @[riscv_isa.scala 78:212]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_29 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_28 | rnm_stage_io_rnReq_0_bits_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_30 = rnm_stage_io_rnReq_0_bits_bru_isa_jal |
    rnm_stage_io_rnReq_0_bits_bru_isa_jalr; // @[riscv_isa.scala 92:20]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_31 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_30 | rnm_stage_io_rnReq_0_bits_bru_isa_beq; // @[riscv_isa.scala 92:27]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_32 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_31 | rnm_stage_io_rnReq_0_bits_bru_isa_bne; // @[riscv_isa.scala 92:33]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_33 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_32 | rnm_stage_io_rnReq_0_bits_bru_isa_blt; // @[riscv_isa.scala 92:39]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_34 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_33 | rnm_stage_io_rnReq_0_bits_bru_isa_bge; // @[riscv_isa.scala 92:45]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_35 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_34 | rnm_stage_io_rnReq_0_bits_bru_isa_bltu; // @[riscv_isa.scala 92:51]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_36 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_35 | rnm_stage_io_rnReq_0_bits_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_37 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_29 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_36; // @[riscv_isa.scala 801:37]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_44 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_5 | rnm_stage_io_rnReq_0_bits_lsu_isa_sb; // @[riscv_isa.scala 145:52]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_45 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_44 | rnm_stage_io_rnReq_0_bits_lsu_isa_sh; // @[riscv_isa.scala 145:57]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_46 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_45 | rnm_stage_io_rnReq_0_bits_lsu_isa_sw; // @[riscv_isa.scala 145:62]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_47 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_46 | rnm_stage_io_rnReq_0_bits_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_50 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_17 | rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_8; // @[riscv_isa.scala 146:23]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_51 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_47 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_50; // @[riscv_isa.scala 151:23]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_71 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_51 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_18; // @[riscv_isa.scala 151:33]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_75 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_71 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_65; // @[riscv_isa.scala 151:42]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_76 = rnm_stage_io_rnReq_0_bits_lsu_isa_fence |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fence_i; // @[riscv_isa.scala 150:24]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_77 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_76 | rnm_stage_io_rnReq_0_bits_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_78 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_75 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_77; // @[riscv_isa.scala 151:51]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_79 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_37 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_78; // @[riscv_isa.scala 801:54]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_85 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_79 | rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_4
    ; // @[riscv_isa.scala 801:71]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_86 = rnm_stage_io_rnReq_0_bits_mul_isa_mul |
    rnm_stage_io_rnReq_0_bits_mul_isa_mulh; // @[riscv_isa.scala 203:19]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_87 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_86 | rnm_stage_io_rnReq_0_bits_mul_isa_mulhsu; // @[riscv_isa.scala 203:26]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_88 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_87 | rnm_stage_io_rnReq_0_bits_mul_isa_mulhu; // @[riscv_isa.scala 203:35]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_89 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_88 | rnm_stage_io_rnReq_0_bits_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_90 = rnm_stage_io_rnReq_0_bits_mul_isa_div |
    rnm_stage_io_rnReq_0_bits_mul_isa_divu; // @[riscv_isa.scala 204:19]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_91 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_90 | rnm_stage_io_rnReq_0_bits_mul_isa_divw; // @[riscv_isa.scala 204:26]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_92 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_91 | rnm_stage_io_rnReq_0_bits_mul_isa_divuw; // @[riscv_isa.scala 204:33]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_93 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_92 | rnm_stage_io_rnReq_0_bits_mul_isa_rem; // @[riscv_isa.scala 204:41]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_94 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_93 | rnm_stage_io_rnReq_0_bits_mul_isa_remu; // @[riscv_isa.scala 204:47]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_95 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_94 | rnm_stage_io_rnReq_0_bits_mul_isa_remw; // @[riscv_isa.scala 204:54]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_96 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_95 | rnm_stage_io_rnReq_0_bits_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_97 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_89 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_96; // @[riscv_isa.scala 206:25]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_98 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_85 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_97; // @[riscv_isa.scala 801:88]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_121 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_98 | rnm_stage__rnRspReport_io_enq_0_valid_T_22; // @[riscv_isa.scala 801:108]
  wire  rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_185 =
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_121 | rnm_stage__rnRspReport_io_enq_0_bits_T_62; // @[riscv_isa.scala 801:131]
  wire  rnm_stage__io_rnReq_0_ready_T = rnm_stage_io_xRename_0_req_ready & rnm_stage_io_fRename_0_req_ready; // @[Rename.scala 91:33]
  wire  rnm_stage__io_rnReq_0_ready_T_1 = rnm_stage__io_rnReq_0_ready_T & rnm_stage_reOrder_fifo_i_io_enq_0_ready; // @[Rename.scala 91:59]
  wire  rnm_stage__T_72 = ~rnm_stage__rnRspReport_io_enq_0_bits_T_62; // @[Rename.scala 157:48]
  wire  rnm_stage__T_75 = ~rnm_stage__T_72; // @[Rename.scala 157:15]
  wire  rnm_stage__T_120 = ~rnm_stage__io_xRename_0_req_valid_T_42; // @[Rename.scala 158:15]
  wire  _GEN_243 = rnm_stage__rnRspReport_io_enq_0_valid_T & rnm_stage__T_6; // @[Rename.scala 157:15]
  wire  iss_stage_clock;
  wire  iss_stage_reset;
  wire  iss_stage_io_dptReq_0_ready;
  wire  iss_stage_io_dptReq_0_valid;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_lui;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_auipc;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_addi;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_addiw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_slti;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sltiu;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_xori;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_ori;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_andi;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_slli;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_slliw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_srli;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_srliw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_srai;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sraiw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_add;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_addw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sub;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_subw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sll;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sllw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_slt;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sltu;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_xor;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_srl;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_srlw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sra;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_sraw;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_or;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_and;
  wire  iss_stage_io_dptReq_0_bits_alu_isa_wfi;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_jal;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_jalr;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_beq;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_bne;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_blt;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_bge;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_bltu;
  wire  iss_stage_io_dptReq_0_bits_bru_isa_bgeu;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lb;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lh;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lw;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_ld;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lbu;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lhu;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lwu;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sb;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sh;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sw;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sd;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_fence;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_fence_i;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lr_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sc_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_lr_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_sc_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_flw;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_fsw;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_fld;
  wire  iss_stage_io_dptReq_0_bits_lsu_isa_fsd;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rw;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rs;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rc;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rwi;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rsi;
  wire  iss_stage_io_dptReq_0_bits_csr_isa_rci;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_mul;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_mulh;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_mulhsu;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_mulhu;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_div;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_divu;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_rem;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_remu;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_mulw;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_divw;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_divuw;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_remw;
  wire  iss_stage_io_dptReq_0_bits_mul_isa_remuw;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fadd_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsub_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmul_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmin_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmax_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_w;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_feq_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_flt_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fle_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fclass_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fadd_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsub_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmul_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmin_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmax_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_s_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_d_s;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_feq_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_flt_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fle_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fclass_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_d;
  wire  iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_d;
  wire  iss_stage_io_dptReq_0_bits_param_is_rvc;
  wire [38:0] iss_stage_io_dptReq_0_bits_param_pc;
  wire [63:0] iss_stage_io_dptReq_0_bits_param_imm;
  wire [4:0] iss_stage_io_dptReq_0_bits_param_raw_rs1;
  wire [5:0] iss_stage_io_dptReq_0_bits_phy_rs1;
  wire [5:0] iss_stage_io_dptReq_0_bits_phy_rs2;
  wire [5:0] iss_stage_io_dptReq_0_bits_phy_rs3;
  wire [5:0] iss_stage_io_dptReq_0_bits_phy_rd0;
  wire  iss_stage_io_alu_iss_exe_0_ready;
  wire  iss_stage_io_alu_iss_exe_0_valid;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_add;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_slt;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_xor;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_or;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_and;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_sll;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_srl;
  wire  iss_stage_io_alu_iss_exe_0_bits_fun_sra;
  wire [5:0] iss_stage_io_alu_iss_exe_0_bits_param_rd0;
  wire  iss_stage_io_alu_iss_exe_0_bits_param_is_32w;
  wire  iss_stage_io_alu_iss_exe_0_bits_param_is_usi;
  wire [63:0] iss_stage_io_alu_iss_exe_0_bits_param_dat_op1;
  wire [63:0] iss_stage_io_alu_iss_exe_0_bits_param_dat_op2;
  wire  iss_stage_io_mul_iss_exe_0_ready;
  wire  iss_stage_io_mul_iss_exe_0_valid;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_mul;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_mulh;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_mulhsu;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_mulhu;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_div;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_divu;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_rem;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_remu;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_mulw;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_divw;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_divuw;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_remw;
  wire  iss_stage_io_mul_iss_exe_0_bits_fun_remuw;
  wire [5:0] iss_stage_io_mul_iss_exe_0_bits_param_rd0;
  wire [63:0] iss_stage_io_mul_iss_exe_0_bits_param_dat_op1;
  wire [63:0] iss_stage_io_mul_iss_exe_0_bits_param_dat_op2;
  wire  iss_stage_io_bru_iss_exe_ready;
  wire  iss_stage_io_bru_iss_exe_valid;
  wire  iss_stage_io_bru_iss_exe_bits_fun_jalr;
  wire  iss_stage_io_bru_iss_exe_bits_fun_beq;
  wire  iss_stage_io_bru_iss_exe_bits_fun_bne;
  wire  iss_stage_io_bru_iss_exe_bits_fun_blt;
  wire  iss_stage_io_bru_iss_exe_bits_fun_bge;
  wire  iss_stage_io_bru_iss_exe_bits_fun_bltu;
  wire  iss_stage_io_bru_iss_exe_bits_fun_bgeu;
  wire [5:0] iss_stage_io_bru_iss_exe_bits_param_rd0;
  wire  iss_stage_io_bru_iss_exe_bits_param_is_rvc;
  wire [63:0] iss_stage_io_bru_iss_exe_bits_param_pc;
  wire [63:0] iss_stage_io_bru_iss_exe_bits_param_imm;
  wire [63:0] iss_stage_io_bru_iss_exe_bits_param_dat_op1;
  wire [63:0] iss_stage_io_bru_iss_exe_bits_param_dat_op2;
  wire  iss_stage_io_csr_iss_exe_ready;
  wire  iss_stage_io_csr_iss_exe_valid;
  wire  iss_stage_io_csr_iss_exe_bits_fun_rw;
  wire  iss_stage_io_csr_iss_exe_bits_fun_rs;
  wire  iss_stage_io_csr_iss_exe_bits_fun_rc;
  wire [5:0] iss_stage_io_csr_iss_exe_bits_param_rd0;
  wire [63:0] iss_stage_io_csr_iss_exe_bits_param_dat_op1;
  wire [63:0] iss_stage_io_csr_iss_exe_bits_param_dat_op2;
  wire  iss_stage_io_lsu_iss_exe_ready;
  wire  iss_stage_io_lsu_iss_exe_valid;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lb;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lh;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lw;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_ld;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lbu;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lhu;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lwu;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sb;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sh;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sw;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sd;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_fence;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_fence_i;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sfence_vma;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lr_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sc_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoswap_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoadd_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoxor_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoand_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoor_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomin_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomax_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amominu_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_w;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_lr_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_sc_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoswap_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoadd_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoxor_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoand_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amoor_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomin_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomax_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amominu_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_d;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_flw;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_fsw;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_fld;
  wire  iss_stage_io_lsu_iss_exe_bits_fun_fsd;
  wire [5:0] iss_stage_io_lsu_iss_exe_bits_param_rd0;
  wire [63:0] iss_stage_io_lsu_iss_exe_bits_param_dat_op1;
  wire [63:0] iss_stage_io_lsu_iss_exe_bits_param_dat_op2;
  wire  iss_stage_io_fpu_iss_exe_0_valid;
  wire [1:0] iss_stage_io_irgLog_0;
  wire [1:0] iss_stage_io_irgLog_1;
  wire [1:0] iss_stage_io_irgLog_2;
  wire [1:0] iss_stage_io_irgLog_3;
  wire [1:0] iss_stage_io_irgLog_4;
  wire [1:0] iss_stage_io_irgLog_5;
  wire [1:0] iss_stage_io_irgLog_6;
  wire [1:0] iss_stage_io_irgLog_7;
  wire [1:0] iss_stage_io_irgLog_8;
  wire [1:0] iss_stage_io_irgLog_9;
  wire [1:0] iss_stage_io_irgLog_10;
  wire [1:0] iss_stage_io_irgLog_11;
  wire [1:0] iss_stage_io_irgLog_12;
  wire [1:0] iss_stage_io_irgLog_13;
  wire [1:0] iss_stage_io_irgLog_14;
  wire [1:0] iss_stage_io_irgLog_15;
  wire [1:0] iss_stage_io_irgLog_16;
  wire [1:0] iss_stage_io_irgLog_17;
  wire [1:0] iss_stage_io_irgLog_18;
  wire [1:0] iss_stage_io_irgLog_19;
  wire [1:0] iss_stage_io_irgLog_20;
  wire [1:0] iss_stage_io_irgLog_21;
  wire [1:0] iss_stage_io_irgLog_22;
  wire [1:0] iss_stage_io_irgLog_23;
  wire [1:0] iss_stage_io_irgLog_24;
  wire [1:0] iss_stage_io_irgLog_25;
  wire [1:0] iss_stage_io_irgLog_26;
  wire [1:0] iss_stage_io_irgLog_27;
  wire [1:0] iss_stage_io_irgLog_28;
  wire [1:0] iss_stage_io_irgLog_29;
  wire [1:0] iss_stage_io_irgLog_30;
  wire [1:0] iss_stage_io_irgLog_31;
  wire [1:0] iss_stage_io_irgLog_32;
  wire [1:0] iss_stage_io_irgLog_33;
  wire [1:0] iss_stage_io_frgLog_0;
  wire [1:0] iss_stage_io_frgLog_1;
  wire [1:0] iss_stage_io_frgLog_2;
  wire [1:0] iss_stage_io_frgLog_3;
  wire [1:0] iss_stage_io_frgLog_4;
  wire [1:0] iss_stage_io_frgLog_5;
  wire [1:0] iss_stage_io_frgLog_6;
  wire [1:0] iss_stage_io_frgLog_7;
  wire [1:0] iss_stage_io_frgLog_8;
  wire [1:0] iss_stage_io_frgLog_9;
  wire [1:0] iss_stage_io_frgLog_10;
  wire [1:0] iss_stage_io_frgLog_11;
  wire [1:0] iss_stage_io_frgLog_12;
  wire [1:0] iss_stage_io_frgLog_13;
  wire [1:0] iss_stage_io_frgLog_14;
  wire [1:0] iss_stage_io_frgLog_15;
  wire [1:0] iss_stage_io_frgLog_16;
  wire [1:0] iss_stage_io_frgLog_17;
  wire [1:0] iss_stage_io_frgLog_18;
  wire [1:0] iss_stage_io_frgLog_19;
  wire [1:0] iss_stage_io_frgLog_20;
  wire [1:0] iss_stage_io_frgLog_21;
  wire [1:0] iss_stage_io_frgLog_22;
  wire [1:0] iss_stage_io_frgLog_23;
  wire [1:0] iss_stage_io_frgLog_24;
  wire [1:0] iss_stage_io_frgLog_25;
  wire [1:0] iss_stage_io_frgLog_26;
  wire [1:0] iss_stage_io_frgLog_27;
  wire [1:0] iss_stage_io_frgLog_28;
  wire [1:0] iss_stage_io_frgLog_29;
  wire [1:0] iss_stage_io_frgLog_30;
  wire [1:0] iss_stage_io_frgLog_31;
  wire [1:0] iss_stage_io_frgLog_32;
  wire [1:0] iss_stage_io_frgLog_33;
  wire  iss_stage_io_irgReq_0_valid;
  wire [5:0] iss_stage_io_irgReq_0_bits;
  wire  iss_stage_io_irgReq_1_valid;
  wire [5:0] iss_stage_io_irgReq_1_bits;
  wire  iss_stage_io_irgRsp_0_valid;
  wire [5:0] iss_stage_io_irgRsp_0_bits_phy;
  wire [63:0] iss_stage_io_irgRsp_0_bits_op;
  wire  iss_stage_io_irgRsp_1_valid;
  wire [5:0] iss_stage_io_irgRsp_1_bits_phy;
  wire [63:0] iss_stage_io_irgRsp_1_bits_op;
  wire  iss_stage_io_flush;
  wire  iss_stage_aluIssFifo_0_clock;
  wire  iss_stage_aluIssFifo_0_reset;
  wire  iss_stage_aluIssFifo_0_io_enq_ready;
  wire  iss_stage_aluIssFifo_0_io_enq_valid;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_add;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_slt;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_xor;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_or;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_and;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_sll;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_srl;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_fun_sra;
  wire [5:0] iss_stage_aluIssFifo_0_io_enq_bits_param_rd0;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_param_is_32w;
  wire  iss_stage_aluIssFifo_0_io_enq_bits_param_is_usi;
  wire [63:0] iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op1;
  wire [63:0] iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op2;
  wire  iss_stage_aluIssFifo_0_io_deq_ready;
  wire  iss_stage_aluIssFifo_0_io_deq_valid;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_add;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_slt;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_xor;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_or;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_and;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_sll;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_srl;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_fun_sra;
  wire [5:0] iss_stage_aluIssFifo_0_io_deq_bits_param_rd0;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_param_is_32w;
  wire  iss_stage_aluIssFifo_0_io_deq_bits_param_is_usi;
  wire [63:0] iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op1;
  wire [63:0] iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op2;
  reg  iss_stage_aluIssFifo_0_ram_fun_add [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_add_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_slt [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_slt_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_xor [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_xor_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_or [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_or_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_and [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_and_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_sll [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sll_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_srl [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_srl_clock;
  reg  iss_stage_aluIssFifo_0_ram_fun_sra [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_fun_sra_clock;
  reg [5:0] iss_stage_aluIssFifo_0_ram_param_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_rd0_clock;
  reg  iss_stage_aluIssFifo_0_ram_param_is_32w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_32w_clock;
  reg  iss_stage_aluIssFifo_0_ram_param_is_usi [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_is_usi_clock;
  reg [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op1 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op1_clock;
  reg [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op2 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_aluIssFifo_0_ram_param_dat_op2_clock;
  reg  iss_stage_aluIssFifo_0_maybe_full; // @[Decoupled.scala 278:27]
  wire  iss_stage_aluIssFifo_0__empty_T = ~iss_stage_aluIssFifo_0_maybe_full; // @[Decoupled.scala 280:28]
  wire  iss_stage_aluIssFifo_0__do_enq_T = iss_stage_aluIssFifo_0_io_enq_ready & iss_stage_aluIssFifo_0_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_aluIssFifo_0__do_deq_T = iss_stage_aluIssFifo_0_io_deq_ready & iss_stage_aluIssFifo_0_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_aluIssFifo_0__GEN_22 = iss_stage_aluIssFifo_0_io_deq_ready ? 1'h0 : iss_stage_aluIssFifo_0__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  iss_stage_aluIssFifo_0__GEN_38 = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22 :
    iss_stage_aluIssFifo_0__do_enq_T; // @[Decoupled.scala 317:17]
  wire  iss_stage_aluIssFifo_0__GEN_37 = iss_stage_aluIssFifo_0__empty_T ? 1'h0 : iss_stage_aluIssFifo_0__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  iss_stage_aluIssFifo_0__T = iss_stage_aluIssFifo_0__GEN_38 != iss_stage_aluIssFifo_0__GEN_37; // @[Decoupled.scala 295:15]
  wire  iss_stage_aluIssFifo_0__io_deq_valid_T = ~iss_stage_aluIssFifo_0__empty_T; // @[Decoupled.scala 304:19]
  wire  iss_stage_mulIssFifo_0_clock;
  wire  iss_stage_mulIssFifo_0_reset;
  wire  iss_stage_mulIssFifo_0_io_enq_ready;
  wire  iss_stage_mulIssFifo_0_io_enq_valid;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_mul;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_mulh;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhsu;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhu;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_div;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_divu;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_rem;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_remu;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_mulw;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_divw;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_divuw;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_remw;
  wire  iss_stage_mulIssFifo_0_io_enq_bits_fun_remuw;
  wire [5:0] iss_stage_mulIssFifo_0_io_enq_bits_param_rd0;
  wire [63:0] iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op1;
  wire [63:0] iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op2;
  wire  iss_stage_mulIssFifo_0_io_deq_ready;
  wire  iss_stage_mulIssFifo_0_io_deq_valid;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_mul;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_mulh;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhsu;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhu;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_div;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_divu;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_rem;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_remu;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_mulw;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_divw;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_divuw;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_remw;
  wire  iss_stage_mulIssFifo_0_io_deq_bits_fun_remuw;
  wire [5:0] iss_stage_mulIssFifo_0_io_deq_bits_param_rd0;
  wire [63:0] iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op1;
  wire [63:0] iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op2;
  reg  iss_stage_mulIssFifo_0_ram_fun_mul [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mul_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_mulh [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulh_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_mulhsu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhsu_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_mulhu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulhu_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_div [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_div_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_divu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divu_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_rem [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_rem_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_remu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remu_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_mulw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_mulw_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_divw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divw_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_divuw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_divuw_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_remw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remw_clock;
  reg  iss_stage_mulIssFifo_0_ram_fun_remuw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_fun_remuw_clock;
  reg [5:0] iss_stage_mulIssFifo_0_ram_param_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_rd0_clock;
  reg [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op1 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op1_clock;
  reg [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op2 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_mulIssFifo_0_ram_param_dat_op2_clock;
  reg  iss_stage_mulIssFifo_0_maybe_full; // @[Decoupled.scala 278:27]
  wire  iss_stage_mulIssFifo_0__empty_T = ~iss_stage_mulIssFifo_0_maybe_full; // @[Decoupled.scala 280:28]
  wire  iss_stage_mulIssFifo_0__do_enq_T = iss_stage_mulIssFifo_0_io_enq_ready & iss_stage_mulIssFifo_0_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_mulIssFifo_0__do_deq_T = iss_stage_mulIssFifo_0_io_deq_ready & iss_stage_mulIssFifo_0_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_mulIssFifo_0__GEN_25 = iss_stage_mulIssFifo_0_io_deq_ready ? 1'h0 : iss_stage_mulIssFifo_0__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  iss_stage_mulIssFifo_0__GEN_44 = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25 :
    iss_stage_mulIssFifo_0__do_enq_T; // @[Decoupled.scala 317:17]
  wire  iss_stage_mulIssFifo_0__GEN_43 = iss_stage_mulIssFifo_0__empty_T ? 1'h0 : iss_stage_mulIssFifo_0__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  iss_stage_mulIssFifo_0__T = iss_stage_mulIssFifo_0__GEN_44 != iss_stage_mulIssFifo_0__GEN_43; // @[Decoupled.scala 295:15]
  wire  iss_stage_mulIssFifo_0__io_deq_valid_T = ~iss_stage_mulIssFifo_0__empty_T; // @[Decoupled.scala 304:19]
  wire  iss_stage_bruIssFifo_clock;
  wire  iss_stage_bruIssFifo_reset;
  wire  iss_stage_bruIssFifo_io_enq_ready;
  wire  iss_stage_bruIssFifo_io_enq_valid;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_jalr;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_beq;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_bne;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_blt;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_bge;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_bltu;
  wire  iss_stage_bruIssFifo_io_enq_bits_fun_bgeu;
  wire [5:0] iss_stage_bruIssFifo_io_enq_bits_param_rd0;
  wire  iss_stage_bruIssFifo_io_enq_bits_param_is_rvc;
  wire [63:0] iss_stage_bruIssFifo_io_enq_bits_param_pc;
  wire [63:0] iss_stage_bruIssFifo_io_enq_bits_param_imm;
  wire [63:0] iss_stage_bruIssFifo_io_enq_bits_param_dat_op1;
  wire [63:0] iss_stage_bruIssFifo_io_enq_bits_param_dat_op2;
  wire  iss_stage_bruIssFifo_io_deq_ready;
  wire  iss_stage_bruIssFifo_io_deq_valid;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_jalr;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_beq;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_bne;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_blt;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_bge;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_bltu;
  wire  iss_stage_bruIssFifo_io_deq_bits_fun_bgeu;
  wire [5:0] iss_stage_bruIssFifo_io_deq_bits_param_rd0;
  wire  iss_stage_bruIssFifo_io_deq_bits_param_is_rvc;
  wire [63:0] iss_stage_bruIssFifo_io_deq_bits_param_pc;
  wire [63:0] iss_stage_bruIssFifo_io_deq_bits_param_imm;
  wire [63:0] iss_stage_bruIssFifo_io_deq_bits_param_dat_op1;
  wire [63:0] iss_stage_bruIssFifo_io_deq_bits_param_dat_op2;
  reg  iss_stage_bruIssFifo_ram_fun_jalr [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_jalr_clock;
  reg  iss_stage_bruIssFifo_ram_fun_beq [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_beq_clock;
  reg  iss_stage_bruIssFifo_ram_fun_bne [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bne_clock;
  reg  iss_stage_bruIssFifo_ram_fun_blt [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_blt_clock;
  reg  iss_stage_bruIssFifo_ram_fun_bge [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bge_clock;
  reg  iss_stage_bruIssFifo_ram_fun_bltu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bltu_clock;
  reg  iss_stage_bruIssFifo_ram_fun_bgeu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_fun_bgeu_clock;
  reg [5:0] iss_stage_bruIssFifo_ram_param_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_bruIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_rd0_clock;
  reg  iss_stage_bruIssFifo_ram_param_is_rvc [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_is_rvc_clock;
  reg [63:0] iss_stage_bruIssFifo_ram_param_pc [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_pc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_pc_clock;
  reg [63:0] iss_stage_bruIssFifo_ram_param_imm [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_imm_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_imm_clock;
  reg [63:0] iss_stage_bruIssFifo_ram_param_dat_op1 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op1_clock;
  reg [63:0] iss_stage_bruIssFifo_ram_param_dat_op2 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_bruIssFifo_ram_param_dat_op2_clock;
  reg  iss_stage_bruIssFifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  iss_stage_bruIssFifo__empty_T = ~iss_stage_bruIssFifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  iss_stage_bruIssFifo__do_enq_T = iss_stage_bruIssFifo_io_enq_ready & iss_stage_bruIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_bruIssFifo__do_deq_T = iss_stage_bruIssFifo_io_deq_ready & iss_stage_bruIssFifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_bruIssFifo__GEN_23 = iss_stage_bruIssFifo_io_deq_ready ? 1'h0 : iss_stage_bruIssFifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  iss_stage_bruIssFifo__GEN_40 = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  iss_stage_bruIssFifo__GEN_39 = iss_stage_bruIssFifo__empty_T ? 1'h0 : iss_stage_bruIssFifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  iss_stage_bruIssFifo__T = iss_stage_bruIssFifo__GEN_40 != iss_stage_bruIssFifo__GEN_39; // @[Decoupled.scala 295:15]
  wire  iss_stage_bruIssFifo__io_deq_valid_T = ~iss_stage_bruIssFifo__empty_T; // @[Decoupled.scala 304:19]
  wire  iss_stage_csrIssFifo_clock;
  wire  iss_stage_csrIssFifo_reset;
  wire  iss_stage_csrIssFifo_io_enq_ready;
  wire  iss_stage_csrIssFifo_io_enq_valid;
  wire  iss_stage_csrIssFifo_io_enq_bits_fun_rw;
  wire  iss_stage_csrIssFifo_io_enq_bits_fun_rs;
  wire  iss_stage_csrIssFifo_io_enq_bits_fun_rc;
  wire [5:0] iss_stage_csrIssFifo_io_enq_bits_param_rd0;
  wire [63:0] iss_stage_csrIssFifo_io_enq_bits_param_dat_op1;
  wire [63:0] iss_stage_csrIssFifo_io_enq_bits_param_dat_op2;
  wire  iss_stage_csrIssFifo_io_deq_ready;
  wire  iss_stage_csrIssFifo_io_deq_valid;
  wire  iss_stage_csrIssFifo_io_deq_bits_fun_rw;
  wire  iss_stage_csrIssFifo_io_deq_bits_fun_rs;
  wire  iss_stage_csrIssFifo_io_deq_bits_fun_rc;
  wire [5:0] iss_stage_csrIssFifo_io_deq_bits_param_rd0;
  wire [63:0] iss_stage_csrIssFifo_io_deq_bits_param_dat_op1;
  wire [63:0] iss_stage_csrIssFifo_io_deq_bits_param_dat_op2;
  reg  iss_stage_csrIssFifo_ram_fun_rw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rw_clock;
  reg  iss_stage_csrIssFifo_ram_fun_rs [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rs_clock;
  reg  iss_stage_csrIssFifo_ram_fun_rc [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_fun_rc_clock;
  reg [5:0] iss_stage_csrIssFifo_ram_param_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_csrIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_rd0_clock;
  reg [63:0] iss_stage_csrIssFifo_ram_param_dat_op1 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op1_clock;
  reg [63:0] iss_stage_csrIssFifo_ram_param_dat_op2 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_csrIssFifo_ram_param_dat_op2_clock;
  reg  iss_stage_csrIssFifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  iss_stage_csrIssFifo__empty_T = ~iss_stage_csrIssFifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  iss_stage_csrIssFifo__do_enq_T = iss_stage_csrIssFifo_io_enq_ready & iss_stage_csrIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_csrIssFifo__do_deq_T = iss_stage_csrIssFifo_io_deq_ready & iss_stage_csrIssFifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_csrIssFifo__GEN_15 = iss_stage_csrIssFifo_io_deq_ready ? 1'h0 : iss_stage_csrIssFifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  iss_stage_csrIssFifo__GEN_24 = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15 :
    iss_stage_csrIssFifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  iss_stage_csrIssFifo__GEN_23 = iss_stage_csrIssFifo__empty_T ? 1'h0 : iss_stage_csrIssFifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  iss_stage_csrIssFifo__T = iss_stage_csrIssFifo__GEN_24 != iss_stage_csrIssFifo__GEN_23; // @[Decoupled.scala 295:15]
  wire  iss_stage_csrIssFifo__io_deq_valid_T = ~iss_stage_csrIssFifo__empty_T; // @[Decoupled.scala 304:19]
  wire  iss_stage_lsuIssFifo_clock;
  wire  iss_stage_lsuIssFifo_reset;
  wire  iss_stage_lsuIssFifo_io_enq_ready;
  wire  iss_stage_lsuIssFifo_io_enq_valid;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lb;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lh;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lw;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_ld;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lbu;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lhu;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lwu;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sb;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sh;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sw;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sd;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_fence;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_fence_i;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sfence_vma;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lr_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sc_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_w;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_lr_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_sc_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_d;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_flw;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_fsw;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_fld;
  wire  iss_stage_lsuIssFifo_io_enq_bits_fun_fsd;
  wire [5:0] iss_stage_lsuIssFifo_io_enq_bits_param_rd0;
  wire [63:0] iss_stage_lsuIssFifo_io_enq_bits_param_dat_op1;
  wire [63:0] iss_stage_lsuIssFifo_io_enq_bits_param_dat_op2;
  wire  iss_stage_lsuIssFifo_io_deq_ready;
  wire  iss_stage_lsuIssFifo_io_deq_valid;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lb;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lh;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lw;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_ld;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lbu;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lhu;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lwu;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sb;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sh;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sw;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sd;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_fence;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_fence_i;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sfence_vma;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lr_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sc_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_w;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_lr_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_sc_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_d;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_flw;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_fsw;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_fld;
  wire  iss_stage_lsuIssFifo_io_deq_bits_fun_fsd;
  wire [5:0] iss_stage_lsuIssFifo_io_deq_bits_param_rd0;
  wire [63:0] iss_stage_lsuIssFifo_io_deq_bits_param_dat_op1;
  wire [63:0] iss_stage_lsuIssFifo_io_deq_bits_param_dat_op2;
  reg  iss_stage_lsuIssFifo_ram_fun_lb [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lb_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lh [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lh_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lw_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_ld [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_ld_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lbu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lbu_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lhu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lhu_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lwu [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lwu_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sb [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sb_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sh [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sh_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sw_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sd [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sd_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_fence [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_fence_i [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fence_i_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sfence_vma [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sfence_vma_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lr_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sc_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoswap_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoadd_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoxor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoand_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomin_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomax_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amominu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomaxu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_w_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_lr_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_lr_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_sc_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_sc_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoswap_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoswap_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoadd_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoadd_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoxor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoxor_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoand_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoand_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amoor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amoor_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomin_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomin_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomax_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomax_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amominu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amominu_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_amomaxu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_amomaxu_d_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_flw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_flw_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_fsw [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsw_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_fld [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fld_clock;
  reg  iss_stage_lsuIssFifo_ram_fun_fsd [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_fun_fsd_clock;
  reg [5:0] iss_stage_lsuIssFifo_ram_param_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] iss_stage_lsuIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_rd0_clock;
  reg [63:0] iss_stage_lsuIssFifo_ram_param_dat_op1 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op1_clock;
  reg [63:0] iss_stage_lsuIssFifo_ram_param_dat_op2 [0:0]; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_en; // @[Decoupled.scala 275:95]
  wire  iss_stage_lsuIssFifo_ram_param_dat_op2_clock;
  reg  iss_stage_lsuIssFifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  iss_stage_lsuIssFifo__empty_T = ~iss_stage_lsuIssFifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  iss_stage_lsuIssFifo__do_enq_T = iss_stage_lsuIssFifo_io_enq_ready & iss_stage_lsuIssFifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_lsuIssFifo__do_deq_T = iss_stage_lsuIssFifo_io_deq_ready & iss_stage_lsuIssFifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  iss_stage_lsuIssFifo__GEN_52 = iss_stage_lsuIssFifo_io_deq_ready ? 1'h0 : iss_stage_lsuIssFifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  iss_stage_lsuIssFifo__GEN_98 = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  iss_stage_lsuIssFifo__GEN_97 = iss_stage_lsuIssFifo__empty_T ? 1'h0 : iss_stage_lsuIssFifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  iss_stage_lsuIssFifo__T = iss_stage_lsuIssFifo__GEN_98 != iss_stage_lsuIssFifo__GEN_97; // @[Decoupled.scala 295:15]
  wire  iss_stage_lsuIssFifo__io_deq_valid_T = ~iss_stage_lsuIssFifo__empty_T; // @[Decoupled.scala 304:19]
  reg  iss_stage_bufValid_0; // @[Issue.scala 61:29]
  reg  iss_stage_bufValid_1; // @[Issue.scala 61:29]
  reg  iss_stage_bufValid_2; // @[Issue.scala 61:29]
  reg  iss_stage_bufValid_3; // @[Issue.scala 61:29]
  reg  iss_stage_bufInfo_0_alu_isa_lui; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_addi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_slti; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_xori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_ori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_andi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_slli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_srli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_srai; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_add; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_addw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sub; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_subw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sll; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_slt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_xor; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_srl; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sra; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_or; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_and; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_jal; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_beq; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_bne; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_blt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_bge; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rs; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_csr_isa_rci; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_mul; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_div; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_divu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_rem; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_remu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_divw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_remw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_mul_isa_remuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_0_param_is_rvc; // @[Issue.scala 62:25]
  reg [38:0] iss_stage_bufInfo_0_param_pc; // @[Issue.scala 62:25]
  reg [63:0] iss_stage_bufInfo_0_param_imm; // @[Issue.scala 62:25]
  reg [4:0] iss_stage_bufInfo_0_param_raw_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_0_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_0_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_0_phy_rd0; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_lui; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_addi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_slti; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_xori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_ori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_andi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_slli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_srli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_srai; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_add; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_addw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sub; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_subw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sll; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_slt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_xor; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_srl; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sra; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_or; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_and; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_jal; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_beq; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_bne; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_blt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_bge; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rs; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_csr_isa_rci; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_mul; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_div; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_divu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_rem; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_remu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_divw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_remw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_mul_isa_remuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_1_param_is_rvc; // @[Issue.scala 62:25]
  reg [38:0] iss_stage_bufInfo_1_param_pc; // @[Issue.scala 62:25]
  reg [63:0] iss_stage_bufInfo_1_param_imm; // @[Issue.scala 62:25]
  reg [4:0] iss_stage_bufInfo_1_param_raw_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_1_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_1_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_1_phy_rd0; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_lui; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_addi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_slti; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_xori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_ori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_andi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_slli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_srli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_srai; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_add; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_addw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sub; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_subw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sll; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_slt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_xor; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_srl; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sra; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_or; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_and; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_jal; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_beq; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_bne; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_blt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_bge; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rs; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_csr_isa_rci; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_mul; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_div; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_divu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_rem; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_remu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_divw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_remw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_mul_isa_remuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_2_param_is_rvc; // @[Issue.scala 62:25]
  reg [38:0] iss_stage_bufInfo_2_param_pc; // @[Issue.scala 62:25]
  reg [63:0] iss_stage_bufInfo_2_param_imm; // @[Issue.scala 62:25]
  reg [4:0] iss_stage_bufInfo_2_param_raw_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_2_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_2_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_2_phy_rd0; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_lui; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_auipc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_addi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_addiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_slti; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sltiu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_xori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_ori; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_andi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_slli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_slliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_srli; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_srliw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_srai; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sraiw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_add; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_addw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sub; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_subw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sll; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sllw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_slt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_xor; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_srl; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_srlw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sra; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_sraw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_or; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_and; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_alu_isa_wfi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_jal; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_jalr; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_beq; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_bne; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_blt; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_bge; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_bltu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_bru_isa_bgeu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_ld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lbu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lwu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sb; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_fence; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_fence_i; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sfence_vma; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lr_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sc_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoswap_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoadd_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoxor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoand_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoor_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomin_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomax_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amominu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomaxu_w; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_lr_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_sc_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoswap_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoadd_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoxor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoand_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amoor_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomin_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomax_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amominu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_amomaxu_d; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_flw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_fsw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_fld; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_lsu_isa_fsd; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rs; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rc; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rwi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rsi; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_csr_isa_rci; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_mul; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_mulh; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_mulhsu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_mulhu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_div; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_divu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_rem; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_remu; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_mulw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_divw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_divuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_remw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_mul_isa_remuw; // @[Issue.scala 62:25]
  reg  iss_stage_bufInfo_3_param_is_rvc; // @[Issue.scala 62:25]
  reg [38:0] iss_stage_bufInfo_3_param_pc; // @[Issue.scala 62:25]
  reg [63:0] iss_stage_bufInfo_3_param_imm; // @[Issue.scala 62:25]
  reg [4:0] iss_stage_bufInfo_3_param_raw_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_3_phy_rs1; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_3_phy_rs2; // @[Issue.scala 62:25]
  reg [5:0] iss_stage_bufInfo_3_phy_rd0; // @[Issue.scala 62:25]
  reg  iss_stage_isOpReady_0_0; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_0_1; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_1_0; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_1_1; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_2_0; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_2_1; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_3_0; // @[Issue.scala 65:25]
  reg  iss_stage_isOpReady_3_1; // @[Issue.scala 65:25]
  reg [64:0] iss_stage_bufOperator_0_0; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_0_1; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_1_0; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_1_1; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_2_0; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_2_1; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_3_0; // @[Issue.scala 66:25]
  reg [64:0] iss_stage_bufOperator_3_1; // @[Issue.scala 66:25]
  wire  iss_stage__entrySel_T = ~iss_stage_bufValid_0; // @[Issue.scala 69:43]
  wire  iss_stage__entrySel_T_1 = ~iss_stage_bufValid_1; // @[Issue.scala 69:43]
  wire  iss_stage__entrySel_T_2 = ~iss_stage_bufValid_2; // @[Issue.scala 69:43]
  wire [1:0] iss_stage__entrySel_T_4 = iss_stage__entrySel_T_2 ? 2'h2 : 2'h3; // @[Issue.scala 69:26]
  wire [1:0] iss_stage__entrySel_T_5 = iss_stage__entrySel_T_1 ? 2'h1 : iss_stage__entrySel_T_4; // @[Issue.scala 69:26]
  wire [1:0] iss_stage_entrySel_0 = iss_stage__entrySel_T ? 2'h0 : iss_stage__entrySel_T_5; // @[Issue.scala 69:26]
  wire  iss_stage__io_dptReq_0_ready_T_3 = ~iss_stage_bufValid_3; // @[Issue.scala 78:59]
  wire  iss_stage__T = iss_stage_io_dptReq_0_ready & iss_stage_io_dptReq_0_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_245 = 2'h0 == iss_stage_entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  iss_stage__GEN_0 = 2'h0 == iss_stage_entrySel_0 | iss_stage_bufValid_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_246 = 2'h1 == iss_stage_entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  iss_stage__GEN_1 = 2'h1 == iss_stage_entrySel_0 | iss_stage_bufValid_1; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_247 = 2'h2 == iss_stage_entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  iss_stage__GEN_2 = 2'h2 == iss_stage_entrySel_0 | iss_stage_bufValid_2; // @[Issue.scala 82:23 89:{36,36}]
  wire  _GEN_248 = 2'h3 == iss_stage_entrySel_0; // @[Issue.scala 82:23 89:{36,36}]
  wire  iss_stage__GEN_3 = 2'h3 == iss_stage_entrySel_0 | iss_stage_bufValid_3; // @[Issue.scala 82:23 89:{36,36}]
  wire  iss_stage__GEN_792 = iss_stage__T ? iss_stage__GEN_0 : iss_stage_bufValid_0; // @[Issue.scala 82:23 88:38]
  wire  iss_stage__GEN_793 = iss_stage__T ? iss_stage__GEN_1 : iss_stage_bufValid_1; // @[Issue.scala 82:23 88:38]
  wire  iss_stage__GEN_794 = iss_stage__T ? iss_stage__GEN_2 : iss_stage_bufValid_2; // @[Issue.scala 82:23 88:38]
  wire  iss_stage__GEN_795 = iss_stage__T ? iss_stage__GEN_3 : iss_stage_bufValid_3; // @[Issue.scala 82:23 88:38]
  wire  iss_stage__GEN_1584 = iss_stage_io_flush ? 1'h0 : iss_stage__GEN_792; // @[Issue.scala 86:22 87:23]
  wire  iss_stage__GEN_1585 = iss_stage_io_flush ? 1'h0 : iss_stage__GEN_793; // @[Issue.scala 86:22 87:23]
  wire  iss_stage__GEN_1586 = iss_stage_io_flush ? 1'h0 : iss_stage__GEN_794; // @[Issue.scala 86:22 87:23]
  wire  iss_stage__GEN_1587 = iss_stage_io_flush ? 1'h0 : iss_stage__GEN_795; // @[Issue.scala 86:22 87:23]
  wire  iss_stage__T_3 = iss_stage_io_dptReq_0_bits_phy_rs1 == 6'h21; // @[Issue.scala 121:39]
  wire  iss_stage__GEN_2400 = _GEN_245 | iss_stage_isOpReady_0_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  iss_stage__GEN_2401 = _GEN_246 | iss_stage_isOpReady_1_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  iss_stage__GEN_2402 = _GEN_247 | iss_stage_isOpReady_2_0; // @[Issue.scala 122:{36,36} 65:25]
  wire  iss_stage__GEN_2403 = _GEN_248 | iss_stage_isOpReady_3_0; // @[Issue.scala 122:{36,36} 65:25]
  wire [64:0] iss_stage__GEN_2404 = 2'h0 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_0_0; // @[Issue.scala 123:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2405 = 2'h1 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_1_0; // @[Issue.scala 123:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2406 = 2'h2 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_2_0; // @[Issue.scala 123:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2407 = 2'h3 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_3_0; // @[Issue.scala 123:{37,37} 66:25]
  wire  iss_stage__GEN_2408 = 2'h0 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_0_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  iss_stage__GEN_2409 = 2'h1 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_1_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  iss_stage__GEN_2410 = 2'h2 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_2_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  iss_stage__GEN_2411 = 2'h3 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_3_0; // @[Issue.scala 125:{36,36} 65:25]
  wire  iss_stage__GEN_2412 = iss_stage__T_3 ? iss_stage__GEN_2400 : iss_stage__GEN_2408; // @[Issue.scala 121:58]
  wire  iss_stage__GEN_2413 = iss_stage__T_3 ? iss_stage__GEN_2401 : iss_stage__GEN_2409; // @[Issue.scala 121:58]
  wire  iss_stage__GEN_2414 = iss_stage__T_3 ? iss_stage__GEN_2402 : iss_stage__GEN_2410; // @[Issue.scala 121:58]
  wire  iss_stage__GEN_2415 = iss_stage__T_3 ? iss_stage__GEN_2403 : iss_stage__GEN_2411; // @[Issue.scala 121:58]
  wire [64:0] iss_stage__GEN_2416 = iss_stage__T_3 ? iss_stage__GEN_2404 : iss_stage_bufOperator_0_0; // @[Issue.scala 121:58 66:25]
  wire [64:0] iss_stage__GEN_2417 = iss_stage__T_3 ? iss_stage__GEN_2405 : iss_stage_bufOperator_1_0; // @[Issue.scala 121:58 66:25]
  wire [64:0] iss_stage__GEN_2418 = iss_stage__T_3 ? iss_stage__GEN_2406 : iss_stage_bufOperator_2_0; // @[Issue.scala 121:58 66:25]
  wire [64:0] iss_stage__GEN_2419 = iss_stage__T_3 ? iss_stage__GEN_2407 : iss_stage_bufOperator_3_0; // @[Issue.scala 121:58 66:25]
  wire  iss_stage__T_4 = iss_stage_io_dptReq_0_bits_phy_rs2 == 6'h21; // @[Issue.scala 127:39]
  wire  iss_stage__GEN_2420 = _GEN_245 | iss_stage_isOpReady_0_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  iss_stage__GEN_2421 = _GEN_246 | iss_stage_isOpReady_1_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  iss_stage__GEN_2422 = _GEN_247 | iss_stage_isOpReady_2_1; // @[Issue.scala 128:{36,36} 65:25]
  wire  iss_stage__GEN_2423 = _GEN_248 | iss_stage_isOpReady_3_1; // @[Issue.scala 128:{36,36} 65:25]
  wire [64:0] iss_stage__GEN_2424 = 2'h0 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_0_1; // @[Issue.scala 129:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2425 = 2'h1 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_1_1; // @[Issue.scala 129:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2426 = 2'h2 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_2_1; // @[Issue.scala 129:{37,37} 66:25]
  wire [64:0] iss_stage__GEN_2427 = 2'h3 == iss_stage_entrySel_0 ? 65'h0 : iss_stage_bufOperator_3_1; // @[Issue.scala 129:{37,37} 66:25]
  wire  iss_stage__GEN_2428 = 2'h0 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_0_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  iss_stage__GEN_2429 = 2'h1 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_1_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  iss_stage__GEN_2430 = 2'h2 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_2_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  iss_stage__GEN_2431 = 2'h3 == iss_stage_entrySel_0 ? 1'h0 : iss_stage_isOpReady_3_1; // @[Issue.scala 131:{36,36} 65:25]
  wire  iss_stage__GEN_2432 = iss_stage__T_4 ? iss_stage__GEN_2420 : iss_stage__GEN_2428; // @[Issue.scala 127:58]
  wire  iss_stage__GEN_2433 = iss_stage__T_4 ? iss_stage__GEN_2421 : iss_stage__GEN_2429; // @[Issue.scala 127:58]
  wire  iss_stage__GEN_2434 = iss_stage__T_4 ? iss_stage__GEN_2422 : iss_stage__GEN_2430; // @[Issue.scala 127:58]
  wire  iss_stage__GEN_2435 = iss_stage__T_4 ? iss_stage__GEN_2423 : iss_stage__GEN_2431; // @[Issue.scala 127:58]
  wire [64:0] iss_stage__GEN_2436 = iss_stage__T_4 ? iss_stage__GEN_2424 : iss_stage_bufOperator_0_1; // @[Issue.scala 127:58 66:25]
  wire [64:0] iss_stage__GEN_2437 = iss_stage__T_4 ? iss_stage__GEN_2425 : iss_stage_bufOperator_1_1; // @[Issue.scala 127:58 66:25]
  wire [64:0] iss_stage__GEN_2438 = iss_stage__T_4 ? iss_stage__GEN_2426 : iss_stage_bufOperator_2_1; // @[Issue.scala 127:58 66:25]
  wire [64:0] iss_stage__GEN_2439 = iss_stage__T_4 ? iss_stage__GEN_2427 : iss_stage_bufOperator_3_1; // @[Issue.scala 127:58 66:25]
  wire  iss_stage__GEN_2460 = iss_stage__T ? iss_stage__GEN_2412 : iss_stage_isOpReady_0_0; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2461 = iss_stage__T ? iss_stage__GEN_2413 : iss_stage_isOpReady_1_0; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2462 = iss_stage__T ? iss_stage__GEN_2414 : iss_stage_isOpReady_2_0; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2463 = iss_stage__T ? iss_stage__GEN_2415 : iss_stage_isOpReady_3_0; // @[Issue.scala 120:31 65:25]
  wire [64:0] iss_stage__GEN_2464 = iss_stage__T ? iss_stage__GEN_2416 : iss_stage_bufOperator_0_0; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2465 = iss_stage__T ? iss_stage__GEN_2417 : iss_stage_bufOperator_1_0; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2466 = iss_stage__T ? iss_stage__GEN_2418 : iss_stage_bufOperator_2_0; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2467 = iss_stage__T ? iss_stage__GEN_2419 : iss_stage_bufOperator_3_0; // @[Issue.scala 120:31 66:25]
  wire  iss_stage__GEN_2468 = iss_stage__T ? iss_stage__GEN_2432 : iss_stage_isOpReady_0_1; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2469 = iss_stage__T ? iss_stage__GEN_2433 : iss_stage_isOpReady_1_1; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2470 = iss_stage__T ? iss_stage__GEN_2434 : iss_stage_isOpReady_2_1; // @[Issue.scala 120:31 65:25]
  wire  iss_stage__GEN_2471 = iss_stage__T ? iss_stage__GEN_2435 : iss_stage_isOpReady_3_1; // @[Issue.scala 120:31 65:25]
  wire [64:0] iss_stage__GEN_2472 = iss_stage__T ? iss_stage__GEN_2436 : iss_stage_bufOperator_0_1; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2473 = iss_stage__T ? iss_stage__GEN_2437 : iss_stage_bufOperator_1_1; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2474 = iss_stage__T ? iss_stage__GEN_2438 : iss_stage_bufOperator_2_1; // @[Issue.scala 120:31 66:25]
  wire [64:0] iss_stage__GEN_2475 = iss_stage__T ? iss_stage__GEN_2439 : iss_stage_bufOperator_3_1; // @[Issue.scala 120:31 66:25]
  reg  iss_stage_ageMatrixW_0_0; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_0_1; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_0_2; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_0_3; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_1_1; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_1_2; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_1_3; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_2_2; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_2_3; // @[Issue.scala 156:23]
  reg  iss_stage_ageMatrixW_3_3; // @[Issue.scala 156:23]
  wire  iss_stage__ageMatrixR_1_0_T = ~iss_stage_ageMatrixW_0_1; // @[Issue.scala 161:27]
  wire  iss_stage__ageMatrixR_2_0_T = ~iss_stage_ageMatrixW_0_2; // @[Issue.scala 161:27]
  wire  iss_stage__ageMatrixR_2_1_T = ~iss_stage_ageMatrixW_1_2; // @[Issue.scala 161:27]
  wire  iss_stage__ageMatrixR_3_0_T = ~iss_stage_ageMatrixW_0_3; // @[Issue.scala 161:27]
  wire  iss_stage__ageMatrixR_3_1_T = ~iss_stage_ageMatrixW_1_3; // @[Issue.scala 161:27]
  wire  iss_stage__ageMatrixR_3_2_T = ~iss_stage_ageMatrixW_2_3; // @[Issue.scala 161:27]
  wire  iss_stage__GEN_2484 = _GEN_245 | iss_stage_ageMatrixW_0_0; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2488 = _GEN_245 | iss_stage_ageMatrixW_0_1; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2489 = _GEN_246 | iss_stage_ageMatrixW_1_1; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2492 = _GEN_245 | iss_stage_ageMatrixW_0_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2493 = _GEN_246 | iss_stage_ageMatrixW_1_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2494 = _GEN_247 | iss_stage_ageMatrixW_2_2; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2496 = _GEN_245 | iss_stage_ageMatrixW_0_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2497 = _GEN_246 | iss_stage_ageMatrixW_1_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2498 = _GEN_247 | iss_stage_ageMatrixW_2_3; // @[Issue.scala 156:23 171:{44,44}]
  wire  iss_stage__GEN_2499 = _GEN_248 | iss_stage_ageMatrixW_3_3; // @[Issue.scala 156:23 171:{44,44}]
  wire [1:0] iss_stage__GEN_2533 = 6'h1 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2534 = 6'h2 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2533; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2535 = 6'h3 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2534; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2536 = 6'h4 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2535; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2537 = 6'h5 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2536; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2538 = 6'h6 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2537; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2539 = 6'h7 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2538; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2540 = 6'h8 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2539; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2541 = 6'h9 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2540; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2542 = 6'ha == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2541; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2543 = 6'hb == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2542; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2544 = 6'hc == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2543; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2545 = 6'hd == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2544; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2546 = 6'he == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2545; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2547 = 6'hf == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2546; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2548 = 6'h10 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2547; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2549 = 6'h11 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2548; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2550 = 6'h12 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2549; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2551 = 6'h13 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2550; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2552 = 6'h14 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2551; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2553 = 6'h15 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2552; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2554 = 6'h16 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2553; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2555 = 6'h17 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2554; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2556 = 6'h18 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2555; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2557 = 6'h19 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2556; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2558 = 6'h1a == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2557; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2559 = 6'h1b == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2558; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2560 = 6'h1c == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2559; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2561 = 6'h1d == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2560; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2562 = 6'h1e == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2561; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2563 = 6'h1f == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2562; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2564 = 6'h20 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2563; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2565 = 6'h21 == iss_stage_bufInfo_0_phy_rs1 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2564; // @[Issue.scala 217:{37,37}]
  wire  iss_stage__canIOpReq_0_0_T = iss_stage__GEN_2565 == 2'h3; // @[Issue.scala 217:37]
  wire  iss_stage__canIOpReq_0_0_T_3 = ~iss_stage_isOpReady_0_0; // @[Issue.scala 219:7]
  wire  iss_stage__canIOpReq_0_0_T_4 = iss_stage__canIOpReq_0_0_T & iss_stage__canIOpReq_0_0_T_3; // @[Issue.scala 218:23]
  wire  iss_stage__canIOpReq_0_0_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_0_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_0_0_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_0_0_T_5; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_0_0_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_0_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_0_0_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_0_0_T_7; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_0_0_T_9 = iss_stage__canIOpReq_0_0_T_6 | iss_stage__canIOpReq_0_0_T_8; // @[Issue.scala 219:100]
  wire  iss_stage__canIOpReq_0_0_T_10 = ~iss_stage__canIOpReq_0_0_T_9; // @[Issue.scala 219:26]
  wire  iss_stage__canIOpReq_0_0_T_11 = iss_stage__canIOpReq_0_0_T_4 & iss_stage__canIOpReq_0_0_T_10; // @[Issue.scala 219:24]
  wire [1:0] iss_stage__GEN_2567 = 6'h1 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2568 = 6'h2 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2567; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2569 = 6'h3 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2568; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2570 = 6'h4 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2569; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2571 = 6'h5 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2570; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2572 = 6'h6 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2571; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2573 = 6'h7 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2572; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2574 = 6'h8 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2573; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2575 = 6'h9 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2574; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2576 = 6'ha == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2575; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2577 = 6'hb == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2576; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2578 = 6'hc == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2577; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2579 = 6'hd == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2578; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2580 = 6'he == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2579; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2581 = 6'hf == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2580; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2582 = 6'h10 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2581; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2583 = 6'h11 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2582; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2584 = 6'h12 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2583; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2585 = 6'h13 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2584; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2586 = 6'h14 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2585; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2587 = 6'h15 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2586; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2588 = 6'h16 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2587; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2589 = 6'h17 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2588; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2590 = 6'h18 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2589; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2591 = 6'h19 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2590; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2592 = 6'h1a == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2591; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2593 = 6'h1b == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2592; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2594 = 6'h1c == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2593; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2595 = 6'h1d == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2594; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2596 = 6'h1e == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2595; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2597 = 6'h1f == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2596; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2598 = 6'h20 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2597; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2599 = 6'h21 == iss_stage_bufInfo_0_phy_rs2 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2598; // @[Issue.scala 222:{37,37}]
  wire  iss_stage__canIOpReq_0_1_T = iss_stage__GEN_2599 == 2'h3; // @[Issue.scala 222:37]
  wire  iss_stage__canIOpReq_0_1_T_3 = ~iss_stage_isOpReady_0_1; // @[Issue.scala 224:7]
  wire  iss_stage__canIOpReq_0_1_T_4 = iss_stage__canIOpReq_0_1_T & iss_stage__canIOpReq_0_1_T_3; // @[Issue.scala 223:23]
  wire  iss_stage__canIOpReq_0_1_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_0_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_0_1_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_0_1_T_5; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_0_1_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_0_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_0_1_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_0_1_T_7; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_0_1_T_9 = iss_stage__canIOpReq_0_1_T_6 | iss_stage__canIOpReq_0_1_T_8; // @[Issue.scala 224:100]
  wire  iss_stage__canIOpReq_0_1_T_10 = ~iss_stage__canIOpReq_0_1_T_9; // @[Issue.scala 224:26]
  wire  iss_stage__canIOpReq_0_1_T_11 = iss_stage__canIOpReq_0_1_T_4 & iss_stage__canIOpReq_0_1_T_10; // @[Issue.scala 224:24]
  wire [1:0] iss_stage__GEN_2601 = 6'h1 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2602 = 6'h2 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2601; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2603 = 6'h3 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2602; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2604 = 6'h4 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2603; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2605 = 6'h5 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2604; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2606 = 6'h6 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2605; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2607 = 6'h7 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2606; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2608 = 6'h8 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2607; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2609 = 6'h9 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2608; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2610 = 6'ha == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2609; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2611 = 6'hb == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2610; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2612 = 6'hc == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2611; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2613 = 6'hd == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2612; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2614 = 6'he == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2613; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2615 = 6'hf == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2614; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2616 = 6'h10 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2615; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2617 = 6'h11 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2616; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2618 = 6'h12 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2617; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2619 = 6'h13 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2618; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2620 = 6'h14 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2619; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2621 = 6'h15 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2620; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2622 = 6'h16 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2621; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2623 = 6'h17 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2622; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2624 = 6'h18 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2623; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2625 = 6'h19 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2624; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2626 = 6'h1a == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2625; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2627 = 6'h1b == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2626; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2628 = 6'h1c == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2627; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2629 = 6'h1d == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2628; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2630 = 6'h1e == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2629; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2631 = 6'h1f == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2630; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2632 = 6'h20 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2631; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2633 = 6'h21 == iss_stage_bufInfo_1_phy_rs1 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2632; // @[Issue.scala 217:{37,37}]
  wire  iss_stage__canIOpReq_1_0_T = iss_stage__GEN_2633 == 2'h3; // @[Issue.scala 217:37]
  wire  iss_stage__canIOpReq_1_0_T_3 = ~iss_stage_isOpReady_1_0; // @[Issue.scala 219:7]
  wire  iss_stage__canIOpReq_1_0_T_4 = iss_stage__canIOpReq_1_0_T & iss_stage__canIOpReq_1_0_T_3; // @[Issue.scala 218:23]
  wire  iss_stage__canIOpReq_1_0_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_1_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_1_0_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_1_0_T_5; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_1_0_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_1_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_1_0_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_1_0_T_7; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_1_0_T_9 = iss_stage__canIOpReq_1_0_T_6 | iss_stage__canIOpReq_1_0_T_8; // @[Issue.scala 219:100]
  wire  iss_stage__canIOpReq_1_0_T_10 = ~iss_stage__canIOpReq_1_0_T_9; // @[Issue.scala 219:26]
  wire  iss_stage__canIOpReq_1_0_T_11 = iss_stage__canIOpReq_1_0_T_4 & iss_stage__canIOpReq_1_0_T_10; // @[Issue.scala 219:24]
  wire [1:0] iss_stage__GEN_2635 = 6'h1 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2636 = 6'h2 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2635; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2637 = 6'h3 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2636; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2638 = 6'h4 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2637; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2639 = 6'h5 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2638; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2640 = 6'h6 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2639; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2641 = 6'h7 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2640; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2642 = 6'h8 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2641; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2643 = 6'h9 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2642; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2644 = 6'ha == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2643; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2645 = 6'hb == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2644; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2646 = 6'hc == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2645; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2647 = 6'hd == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2646; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2648 = 6'he == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2647; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2649 = 6'hf == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2648; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2650 = 6'h10 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2649; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2651 = 6'h11 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2650; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2652 = 6'h12 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2651; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2653 = 6'h13 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2652; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2654 = 6'h14 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2653; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2655 = 6'h15 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2654; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2656 = 6'h16 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2655; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2657 = 6'h17 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2656; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2658 = 6'h18 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2657; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2659 = 6'h19 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2658; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2660 = 6'h1a == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2659; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2661 = 6'h1b == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2660; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2662 = 6'h1c == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2661; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2663 = 6'h1d == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2662; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2664 = 6'h1e == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2663; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2665 = 6'h1f == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2664; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2666 = 6'h20 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2665; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2667 = 6'h21 == iss_stage_bufInfo_1_phy_rs2 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2666; // @[Issue.scala 222:{37,37}]
  wire  iss_stage__canIOpReq_1_1_T = iss_stage__GEN_2667 == 2'h3; // @[Issue.scala 222:37]
  wire  iss_stage__canIOpReq_1_1_T_3 = ~iss_stage_isOpReady_1_1; // @[Issue.scala 224:7]
  wire  iss_stage__canIOpReq_1_1_T_4 = iss_stage__canIOpReq_1_1_T & iss_stage__canIOpReq_1_1_T_3; // @[Issue.scala 223:23]
  wire  iss_stage__canIOpReq_1_1_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_1_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_1_1_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_1_1_T_5; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_1_1_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_1_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_1_1_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_1_1_T_7; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_1_1_T_9 = iss_stage__canIOpReq_1_1_T_6 | iss_stage__canIOpReq_1_1_T_8; // @[Issue.scala 224:100]
  wire  iss_stage__canIOpReq_1_1_T_10 = ~iss_stage__canIOpReq_1_1_T_9; // @[Issue.scala 224:26]
  wire  iss_stage__canIOpReq_1_1_T_11 = iss_stage__canIOpReq_1_1_T_4 & iss_stage__canIOpReq_1_1_T_10; // @[Issue.scala 224:24]
  wire [1:0] iss_stage__GEN_2669 = 6'h1 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2670 = 6'h2 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2669; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2671 = 6'h3 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2670; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2672 = 6'h4 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2671; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2673 = 6'h5 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2672; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2674 = 6'h6 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2673; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2675 = 6'h7 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2674; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2676 = 6'h8 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2675; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2677 = 6'h9 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2676; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2678 = 6'ha == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2677; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2679 = 6'hb == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2678; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2680 = 6'hc == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2679; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2681 = 6'hd == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2680; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2682 = 6'he == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2681; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2683 = 6'hf == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2682; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2684 = 6'h10 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2683; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2685 = 6'h11 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2684; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2686 = 6'h12 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2685; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2687 = 6'h13 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2686; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2688 = 6'h14 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2687; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2689 = 6'h15 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2688; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2690 = 6'h16 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2689; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2691 = 6'h17 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2690; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2692 = 6'h18 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2691; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2693 = 6'h19 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2692; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2694 = 6'h1a == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2693; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2695 = 6'h1b == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2694; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2696 = 6'h1c == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2695; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2697 = 6'h1d == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2696; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2698 = 6'h1e == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2697; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2699 = 6'h1f == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2698; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2700 = 6'h20 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2699; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2701 = 6'h21 == iss_stage_bufInfo_2_phy_rs1 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2700; // @[Issue.scala 217:{37,37}]
  wire  iss_stage__canIOpReq_2_0_T = iss_stage__GEN_2701 == 2'h3; // @[Issue.scala 217:37]
  wire  iss_stage__canIOpReq_2_0_T_3 = ~iss_stage_isOpReady_2_0; // @[Issue.scala 219:7]
  wire  iss_stage__canIOpReq_2_0_T_4 = iss_stage__canIOpReq_2_0_T & iss_stage__canIOpReq_2_0_T_3; // @[Issue.scala 218:23]
  wire  iss_stage__canIOpReq_2_0_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_2_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_2_0_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_2_0_T_5; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_2_0_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_2_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_2_0_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_2_0_T_7; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_2_0_T_9 = iss_stage__canIOpReq_2_0_T_6 | iss_stage__canIOpReq_2_0_T_8; // @[Issue.scala 219:100]
  wire  iss_stage__canIOpReq_2_0_T_10 = ~iss_stage__canIOpReq_2_0_T_9; // @[Issue.scala 219:26]
  wire  iss_stage__canIOpReq_2_0_T_11 = iss_stage__canIOpReq_2_0_T_4 & iss_stage__canIOpReq_2_0_T_10; // @[Issue.scala 219:24]
  wire [1:0] iss_stage__GEN_2703 = 6'h1 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2704 = 6'h2 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2703; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2705 = 6'h3 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2704; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2706 = 6'h4 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2705; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2707 = 6'h5 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2706; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2708 = 6'h6 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2707; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2709 = 6'h7 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2708; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2710 = 6'h8 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2709; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2711 = 6'h9 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2710; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2712 = 6'ha == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2711; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2713 = 6'hb == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2712; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2714 = 6'hc == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2713; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2715 = 6'hd == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2714; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2716 = 6'he == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2715; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2717 = 6'hf == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2716; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2718 = 6'h10 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2717; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2719 = 6'h11 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2718; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2720 = 6'h12 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2719; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2721 = 6'h13 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2720; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2722 = 6'h14 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2721; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2723 = 6'h15 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2722; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2724 = 6'h16 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2723; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2725 = 6'h17 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2724; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2726 = 6'h18 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2725; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2727 = 6'h19 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2726; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2728 = 6'h1a == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2727; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2729 = 6'h1b == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2728; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2730 = 6'h1c == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2729; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2731 = 6'h1d == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2730; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2732 = 6'h1e == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2731; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2733 = 6'h1f == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2732; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2734 = 6'h20 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2733; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2735 = 6'h21 == iss_stage_bufInfo_2_phy_rs2 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2734; // @[Issue.scala 222:{37,37}]
  wire  iss_stage__canIOpReq_2_1_T = iss_stage__GEN_2735 == 2'h3; // @[Issue.scala 222:37]
  wire  iss_stage__canIOpReq_2_1_T_3 = ~iss_stage_isOpReady_2_1; // @[Issue.scala 224:7]
  wire  iss_stage__canIOpReq_2_1_T_4 = iss_stage__canIOpReq_2_1_T & iss_stage__canIOpReq_2_1_T_3; // @[Issue.scala 223:23]
  wire  iss_stage__canIOpReq_2_1_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_2_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_2_1_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_2_1_T_5; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_2_1_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_2_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_2_1_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_2_1_T_7; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_2_1_T_9 = iss_stage__canIOpReq_2_1_T_6 | iss_stage__canIOpReq_2_1_T_8; // @[Issue.scala 224:100]
  wire  iss_stage__canIOpReq_2_1_T_10 = ~iss_stage__canIOpReq_2_1_T_9; // @[Issue.scala 224:26]
  wire  iss_stage__canIOpReq_2_1_T_11 = iss_stage__canIOpReq_2_1_T_4 & iss_stage__canIOpReq_2_1_T_10; // @[Issue.scala 224:24]
  wire [1:0] iss_stage__GEN_2737 = 6'h1 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2738 = 6'h2 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2737; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2739 = 6'h3 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2738; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2740 = 6'h4 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2739; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2741 = 6'h5 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2740; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2742 = 6'h6 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2741; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2743 = 6'h7 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2742; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2744 = 6'h8 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2743; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2745 = 6'h9 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2744; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2746 = 6'ha == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2745; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2747 = 6'hb == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2746; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2748 = 6'hc == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2747; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2749 = 6'hd == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2748; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2750 = 6'he == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2749; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2751 = 6'hf == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2750; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2752 = 6'h10 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2751; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2753 = 6'h11 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2752; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2754 = 6'h12 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2753; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2755 = 6'h13 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2754; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2756 = 6'h14 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2755; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2757 = 6'h15 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2756; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2758 = 6'h16 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2757; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2759 = 6'h17 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2758; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2760 = 6'h18 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2759; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2761 = 6'h19 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2760; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2762 = 6'h1a == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2761; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2763 = 6'h1b == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2762; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2764 = 6'h1c == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2763; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2765 = 6'h1d == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2764; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2766 = 6'h1e == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2765; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2767 = 6'h1f == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2766; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2768 = 6'h20 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2767; // @[Issue.scala 217:{37,37}]
  wire [1:0] iss_stage__GEN_2769 = 6'h21 == iss_stage_bufInfo_3_phy_rs1 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2768; // @[Issue.scala 217:{37,37}]
  wire  iss_stage__canIOpReq_3_0_T = iss_stage__GEN_2769 == 2'h3; // @[Issue.scala 217:37]
  wire  iss_stage__canIOpReq_3_0_T_3 = ~iss_stage_isOpReady_3_0; // @[Issue.scala 219:7]
  wire  iss_stage__canIOpReq_3_0_T_4 = iss_stage__canIOpReq_3_0_T & iss_stage__canIOpReq_3_0_T_3; // @[Issue.scala 218:23]
  wire  iss_stage__canIOpReq_3_0_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_3_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_3_0_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_3_0_T_5; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_3_0_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_3_phy_rs1; // @[Issue.scala 219:69]
  wire  iss_stage__canIOpReq_3_0_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_3_0_T_7; // @[Issue.scala 219:55]
  wire  iss_stage__canIOpReq_3_0_T_9 = iss_stage__canIOpReq_3_0_T_6 | iss_stage__canIOpReq_3_0_T_8; // @[Issue.scala 219:100]
  wire  iss_stage__canIOpReq_3_0_T_10 = ~iss_stage__canIOpReq_3_0_T_9; // @[Issue.scala 219:26]
  wire  iss_stage__canIOpReq_3_0_T_11 = iss_stage__canIOpReq_3_0_T_4 & iss_stage__canIOpReq_3_0_T_10; // @[Issue.scala 219:24]
  wire [1:0] iss_stage__GEN_2771 = 6'h1 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_1 : iss_stage_io_irgLog_0; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2772 = 6'h2 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_2 : iss_stage__GEN_2771; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2773 = 6'h3 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_3 : iss_stage__GEN_2772; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2774 = 6'h4 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_4 : iss_stage__GEN_2773; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2775 = 6'h5 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_5 : iss_stage__GEN_2774; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2776 = 6'h6 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_6 : iss_stage__GEN_2775; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2777 = 6'h7 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_7 : iss_stage__GEN_2776; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2778 = 6'h8 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_8 : iss_stage__GEN_2777; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2779 = 6'h9 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_9 : iss_stage__GEN_2778; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2780 = 6'ha == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_10 : iss_stage__GEN_2779; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2781 = 6'hb == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_11 : iss_stage__GEN_2780; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2782 = 6'hc == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_12 : iss_stage__GEN_2781; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2783 = 6'hd == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_13 : iss_stage__GEN_2782; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2784 = 6'he == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_14 : iss_stage__GEN_2783; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2785 = 6'hf == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_15 : iss_stage__GEN_2784; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2786 = 6'h10 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_16 : iss_stage__GEN_2785; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2787 = 6'h11 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_17 : iss_stage__GEN_2786; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2788 = 6'h12 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_18 : iss_stage__GEN_2787; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2789 = 6'h13 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_19 : iss_stage__GEN_2788; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2790 = 6'h14 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_20 : iss_stage__GEN_2789; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2791 = 6'h15 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_21 : iss_stage__GEN_2790; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2792 = 6'h16 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_22 : iss_stage__GEN_2791; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2793 = 6'h17 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_23 : iss_stage__GEN_2792; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2794 = 6'h18 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_24 : iss_stage__GEN_2793; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2795 = 6'h19 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_25 : iss_stage__GEN_2794; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2796 = 6'h1a == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_26 : iss_stage__GEN_2795; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2797 = 6'h1b == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_27 : iss_stage__GEN_2796; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2798 = 6'h1c == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_28 : iss_stage__GEN_2797; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2799 = 6'h1d == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_29 : iss_stage__GEN_2798; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2800 = 6'h1e == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_30 : iss_stage__GEN_2799; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2801 = 6'h1f == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_31 : iss_stage__GEN_2800; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2802 = 6'h20 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_32 : iss_stage__GEN_2801; // @[Issue.scala 222:{37,37}]
  wire [1:0] iss_stage__GEN_2803 = 6'h21 == iss_stage_bufInfo_3_phy_rs2 ? iss_stage_io_irgLog_33 : iss_stage__GEN_2802; // @[Issue.scala 222:{37,37}]
  wire  iss_stage__canIOpReq_3_1_T = iss_stage__GEN_2803 == 2'h3; // @[Issue.scala 222:37]
  wire  iss_stage__canIOpReq_3_1_T_3 = ~iss_stage_isOpReady_3_1; // @[Issue.scala 224:7]
  wire  iss_stage__canIOpReq_3_1_T_4 = iss_stage__canIOpReq_3_1_T & iss_stage__canIOpReq_3_1_T_3; // @[Issue.scala 223:23]
  wire  iss_stage__canIOpReq_3_1_T_5 = iss_stage_io_irgRsp_0_bits_phy == iss_stage_bufInfo_3_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_3_1_T_6 = iss_stage_io_irgRsp_0_valid & iss_stage__canIOpReq_3_1_T_5; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_3_1_T_7 = iss_stage_io_irgRsp_1_bits_phy == iss_stage_bufInfo_3_phy_rs2; // @[Issue.scala 224:69]
  wire  iss_stage__canIOpReq_3_1_T_8 = iss_stage_io_irgRsp_1_valid & iss_stage__canIOpReq_3_1_T_7; // @[Issue.scala 224:55]
  wire  iss_stage__canIOpReq_3_1_T_9 = iss_stage__canIOpReq_3_1_T_6 | iss_stage__canIOpReq_3_1_T_8; // @[Issue.scala 224:100]
  wire  iss_stage__canIOpReq_3_1_T_10 = ~iss_stage__canIOpReq_3_1_T_9; // @[Issue.scala 224:26]
  wire  iss_stage__canIOpReq_3_1_T_11 = iss_stage__canIOpReq_3_1_T_4 & iss_stage__canIOpReq_3_1_T_10; // @[Issue.scala 224:24]
  wire [1:0] iss_stage__GEN_2805 = 6'h1 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_1 :
    iss_stage_io_irgLog_0; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2806 = 6'h2 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_2 :
    iss_stage__GEN_2805; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2807 = 6'h3 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_3 :
    iss_stage__GEN_2806; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2808 = 6'h4 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_4 :
    iss_stage__GEN_2807; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2809 = 6'h5 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_5 :
    iss_stage__GEN_2808; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2810 = 6'h6 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_6 :
    iss_stage__GEN_2809; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2811 = 6'h7 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_7 :
    iss_stage__GEN_2810; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2812 = 6'h8 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_8 :
    iss_stage__GEN_2811; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2813 = 6'h9 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_9 :
    iss_stage__GEN_2812; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2814 = 6'ha == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_10 :
    iss_stage__GEN_2813; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2815 = 6'hb == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_11 :
    iss_stage__GEN_2814; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2816 = 6'hc == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_12 :
    iss_stage__GEN_2815; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2817 = 6'hd == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_13 :
    iss_stage__GEN_2816; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2818 = 6'he == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_14 :
    iss_stage__GEN_2817; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2819 = 6'hf == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_15 :
    iss_stage__GEN_2818; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2820 = 6'h10 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_16 :
    iss_stage__GEN_2819; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2821 = 6'h11 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_17 :
    iss_stage__GEN_2820; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2822 = 6'h12 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_18 :
    iss_stage__GEN_2821; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2823 = 6'h13 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_19 :
    iss_stage__GEN_2822; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2824 = 6'h14 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_20 :
    iss_stage__GEN_2823; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2825 = 6'h15 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_21 :
    iss_stage__GEN_2824; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2826 = 6'h16 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_22 :
    iss_stage__GEN_2825; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2827 = 6'h17 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_23 :
    iss_stage__GEN_2826; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2828 = 6'h18 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_24 :
    iss_stage__GEN_2827; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2829 = 6'h19 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_25 :
    iss_stage__GEN_2828; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2830 = 6'h1a == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_26 :
    iss_stage__GEN_2829; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2831 = 6'h1b == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_27 :
    iss_stage__GEN_2830; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2832 = 6'h1c == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_28 :
    iss_stage__GEN_2831; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2833 = 6'h1d == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_29 :
    iss_stage__GEN_2832; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2834 = 6'h1e == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_30 :
    iss_stage__GEN_2833; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2835 = 6'h1f == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_31 :
    iss_stage__GEN_2834; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2836 = 6'h20 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_32 :
    iss_stage__GEN_2835; // @[Issue.scala 232:{44,44}]
  wire [1:0] iss_stage__GEN_2837 = 6'h21 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_irgLog_33 :
    iss_stage__GEN_2836; // @[Issue.scala 232:{44,44}]
  wire  iss_stage__canIOpPostReq_0_0_T = iss_stage__GEN_2837 == 2'h3; // @[Issue.scala 232:44]
  wire  iss_stage__canIOpPostReq_0_0_T_1 = iss_stage_io_dptReq_0_bits_phy_rs1 != 6'h21; // @[Issue.scala 233:33]
  wire  iss_stage__canIOpPostReq_0_0_T_2 = iss_stage__canIOpPostReq_0_0_T & iss_stage__canIOpPostReq_0_0_T_1; // @[Issue.scala 232:56]
  wire  iss_stage__canIOpPostReq_0_0_T_3 = iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_s |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_s; // @[riscv_isa.scala 391:15]
  wire  iss_stage__canIOpPostReq_0_0_T_4 = iss_stage__canIOpPostReq_0_0_T_3 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_s; // @[riscv_isa.scala 391:27]
  wire  iss_stage__canIOpPostReq_0_0_T_5 = iss_stage__canIOpPostReq_0_0_T_4 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_s; // @[riscv_isa.scala 391:39]
  wire  iss_stage__canIOpPostReq_0_0_T_6 = iss_stage__canIOpPostReq_0_0_T_5 | iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_d
    ; // @[riscv_isa.scala 391:51]
  wire  iss_stage__canIOpPostReq_0_0_T_7 = iss_stage__canIOpPostReq_0_0_T_6 | iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_d
    ; // @[riscv_isa.scala 392:15]
  wire  iss_stage__canIOpPostReq_0_0_T_8 = iss_stage__canIOpPostReq_0_0_T_7 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_d; // @[riscv_isa.scala 392:27]
  wire  iss_stage__canIOpPostReq_0_0_T_9 = iss_stage__canIOpPostReq_0_0_T_8 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_d; // @[riscv_isa.scala 392:39]
  wire  iss_stage__canIOpPostReq_0_0_T_10 = iss_stage__canIOpPostReq_0_0_T_9 | iss_stage_io_dptReq_0_bits_fpu_isa_fadd_s
    ; // @[riscv_isa.scala 392:51]
  wire  iss_stage__canIOpPostReq_0_0_T_11 = iss_stage__canIOpPostReq_0_0_T_10 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsub_s; // @[riscv_isa.scala 393:15]
  wire  iss_stage__canIOpPostReq_0_0_T_12 = iss_stage__canIOpPostReq_0_0_T_11 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmul_s; // @[riscv_isa.scala 393:27]
  wire  iss_stage__canIOpPostReq_0_0_T_13 = iss_stage__canIOpPostReq_0_0_T_12 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_s; // @[riscv_isa.scala 393:39]
  wire  iss_stage__canIOpPostReq_0_0_T_14 = iss_stage__canIOpPostReq_0_0_T_13 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_s; // @[riscv_isa.scala 393:51]
  wire  iss_stage__canIOpPostReq_0_0_T_15 = iss_stage__canIOpPostReq_0_0_T_14 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fadd_d; // @[riscv_isa.scala 393:63]
  wire  iss_stage__canIOpPostReq_0_0_T_16 = iss_stage__canIOpPostReq_0_0_T_15 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsub_d; // @[riscv_isa.scala 394:15]
  wire  iss_stage__canIOpPostReq_0_0_T_17 = iss_stage__canIOpPostReq_0_0_T_16 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmul_d; // @[riscv_isa.scala 394:27]
  wire  iss_stage__canIOpPostReq_0_0_T_18 = iss_stage__canIOpPostReq_0_0_T_17 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_d; // @[riscv_isa.scala 394:39]
  wire  iss_stage__canIOpPostReq_0_0_T_19 = iss_stage__canIOpPostReq_0_0_T_18 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_d; // @[riscv_isa.scala 394:51]
  wire  iss_stage__canIOpPostReq_0_0_T_20 = iss_stage__canIOpPostReq_0_0_T_19 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_s; // @[riscv_isa.scala 394:63]
  wire  iss_stage__canIOpPostReq_0_0_T_21 = iss_stage__canIOpPostReq_0_0_T_20 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_s; // @[riscv_isa.scala 395:15]
  wire  iss_stage__canIOpPostReq_0_0_T_22 = iss_stage__canIOpPostReq_0_0_T_21 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_s; // @[riscv_isa.scala 395:27]
  wire  iss_stage__canIOpPostReq_0_0_T_23 = iss_stage__canIOpPostReq_0_0_T_22 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_d; // @[riscv_isa.scala 395:39]
  wire  iss_stage__canIOpPostReq_0_0_T_24 = iss_stage__canIOpPostReq_0_0_T_23 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_d; // @[riscv_isa.scala 396:15]
  wire  iss_stage__canIOpPostReq_0_0_T_25 = iss_stage__canIOpPostReq_0_0_T_24 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_d; // @[riscv_isa.scala 396:27]
  wire  iss_stage__canIOpPostReq_0_0_T_26 = iss_stage__canIOpPostReq_0_0_T_25 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmin_s; // @[riscv_isa.scala 396:39]
  wire  iss_stage__canIOpPostReq_0_0_T_27 = iss_stage__canIOpPostReq_0_0_T_26 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmax_s; // @[riscv_isa.scala 397:15]
  wire  iss_stage__canIOpPostReq_0_0_T_28 = iss_stage__canIOpPostReq_0_0_T_27 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmin_d; // @[riscv_isa.scala 397:27]
  wire  iss_stage__canIOpPostReq_0_0_T_29 = iss_stage__canIOpPostReq_0_0_T_28 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmax_d; // @[riscv_isa.scala 397:39]
  wire  iss_stage__canIOpPostReq_0_0_T_30 = iss_stage__canIOpPostReq_0_0_T_29 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_w; // @[riscv_isa.scala 397:51]
  wire  iss_stage__canIOpPostReq_0_0_T_31 = iss_stage__canIOpPostReq_0_0_T_30 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_d; // @[riscv_isa.scala 398:15]
  wire  iss_stage__canIOpPostReq_0_0_T_32 = iss_stage__canIOpPostReq_0_0_T_31 | iss_stage_io_dptReq_0_bits_fpu_isa_feq_s
    ; // @[riscv_isa.scala 398:27]
  wire  iss_stage__canIOpPostReq_0_0_T_33 = iss_stage__canIOpPostReq_0_0_T_32 | iss_stage_io_dptReq_0_bits_fpu_isa_flt_s
    ; // @[riscv_isa.scala 399:15]
  wire  iss_stage__canIOpPostReq_0_0_T_34 = iss_stage__canIOpPostReq_0_0_T_33 | iss_stage_io_dptReq_0_bits_fpu_isa_fle_s
    ; // @[riscv_isa.scala 399:27]
  wire  iss_stage__canIOpPostReq_0_0_T_35 = iss_stage__canIOpPostReq_0_0_T_34 | iss_stage_io_dptReq_0_bits_fpu_isa_feq_d
    ; // @[riscv_isa.scala 399:39]
  wire  iss_stage__canIOpPostReq_0_0_T_36 = iss_stage__canIOpPostReq_0_0_T_35 | iss_stage_io_dptReq_0_bits_fpu_isa_flt_d
    ; // @[riscv_isa.scala 400:15]
  wire  iss_stage__canIOpPostReq_0_0_T_37 = iss_stage__canIOpPostReq_0_0_T_36 | iss_stage_io_dptReq_0_bits_fpu_isa_fle_d
    ; // @[riscv_isa.scala 400:27]
  wire  iss_stage__canIOpPostReq_0_0_T_38 = iss_stage__canIOpPostReq_0_0_T_37 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fclass_s; // @[riscv_isa.scala 400:39]
  wire  iss_stage__canIOpPostReq_0_0_T_39 = iss_stage__canIOpPostReq_0_0_T_38 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fclass_d; // @[riscv_isa.scala 401:15]
  wire  iss_stage__canIOpPostReq_0_0_T_40 = iss_stage__canIOpPostReq_0_0_T_39 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_s; // @[riscv_isa.scala 401:27]
  wire  iss_stage__canIOpPostReq_0_0_T_41 = iss_stage__canIOpPostReq_0_0_T_40 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_s; // @[riscv_isa.scala 402:15]
  wire  iss_stage__canIOpPostReq_0_0_T_42 = iss_stage__canIOpPostReq_0_0_T_41 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_s; // @[riscv_isa.scala 402:27]
  wire  iss_stage__canIOpPostReq_0_0_T_43 = iss_stage__canIOpPostReq_0_0_T_42 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_s; // @[riscv_isa.scala 402:39]
  wire  iss_stage__canIOpPostReq_0_0_T_44 = iss_stage__canIOpPostReq_0_0_T_43 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_d; // @[riscv_isa.scala 402:51]
  wire  iss_stage__canIOpPostReq_0_0_T_45 = iss_stage__canIOpPostReq_0_0_T_44 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_d; // @[riscv_isa.scala 403:15]
  wire  iss_stage__canIOpPostReq_0_0_T_46 = iss_stage__canIOpPostReq_0_0_T_45 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_d; // @[riscv_isa.scala 403:27]
  wire  iss_stage__canIOpPostReq_0_0_T_47 = iss_stage__canIOpPostReq_0_0_T_46 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_d; // @[riscv_isa.scala 403:39]
  wire  iss_stage__canIOpPostReq_0_0_T_48 = iss_stage__canIOpPostReq_0_0_T_47 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_s_d; // @[riscv_isa.scala 403:51]
  wire  iss_stage__canIOpPostReq_0_0_T_49 = iss_stage__canIOpPostReq_0_0_T_48 |
    iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_d_s; // @[riscv_isa.scala 404:15]
  wire  iss_stage__canIOpPostReq_0_0_T_50 = ~iss_stage__canIOpPostReq_0_0_T_49; // @[Issue.scala 234:7]
  wire  iss_stage__canIOpPostReq_0_0_T_51 = iss_stage__canIOpPostReq_0_0_T_2 & iss_stage__canIOpPostReq_0_0_T_50; // @[Issue.scala 233:50]
  wire [1:0] iss_stage__GEN_2839 = 6'h1 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_1 :
    iss_stage_io_irgLog_0; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2840 = 6'h2 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_2 :
    iss_stage__GEN_2839; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2841 = 6'h3 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_3 :
    iss_stage__GEN_2840; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2842 = 6'h4 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_4 :
    iss_stage__GEN_2841; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2843 = 6'h5 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_5 :
    iss_stage__GEN_2842; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2844 = 6'h6 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_6 :
    iss_stage__GEN_2843; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2845 = 6'h7 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_7 :
    iss_stage__GEN_2844; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2846 = 6'h8 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_8 :
    iss_stage__GEN_2845; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2847 = 6'h9 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_9 :
    iss_stage__GEN_2846; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2848 = 6'ha == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_10 :
    iss_stage__GEN_2847; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2849 = 6'hb == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_11 :
    iss_stage__GEN_2848; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2850 = 6'hc == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_12 :
    iss_stage__GEN_2849; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2851 = 6'hd == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_13 :
    iss_stage__GEN_2850; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2852 = 6'he == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_14 :
    iss_stage__GEN_2851; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2853 = 6'hf == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_15 :
    iss_stage__GEN_2852; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2854 = 6'h10 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_16 :
    iss_stage__GEN_2853; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2855 = 6'h11 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_17 :
    iss_stage__GEN_2854; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2856 = 6'h12 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_18 :
    iss_stage__GEN_2855; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2857 = 6'h13 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_19 :
    iss_stage__GEN_2856; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2858 = 6'h14 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_20 :
    iss_stage__GEN_2857; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2859 = 6'h15 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_21 :
    iss_stage__GEN_2858; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2860 = 6'h16 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_22 :
    iss_stage__GEN_2859; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2861 = 6'h17 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_23 :
    iss_stage__GEN_2860; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2862 = 6'h18 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_24 :
    iss_stage__GEN_2861; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2863 = 6'h19 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_25 :
    iss_stage__GEN_2862; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2864 = 6'h1a == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_26 :
    iss_stage__GEN_2863; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2865 = 6'h1b == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_27 :
    iss_stage__GEN_2864; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2866 = 6'h1c == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_28 :
    iss_stage__GEN_2865; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2867 = 6'h1d == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_29 :
    iss_stage__GEN_2866; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2868 = 6'h1e == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_30 :
    iss_stage__GEN_2867; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2869 = 6'h1f == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_31 :
    iss_stage__GEN_2868; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2870 = 6'h20 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_32 :
    iss_stage__GEN_2869; // @[Issue.scala 238:{44,44}]
  wire [1:0] iss_stage__GEN_2871 = 6'h21 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_irgLog_33 :
    iss_stage__GEN_2870; // @[Issue.scala 238:{44,44}]
  wire  iss_stage__canIOpPostReq_0_1_T = iss_stage__GEN_2871 == 2'h3; // @[Issue.scala 238:44]
  wire  iss_stage__canIOpPostReq_0_1_T_1 = iss_stage_io_dptReq_0_bits_phy_rs2 != 6'h21; // @[Issue.scala 239:33]
  wire  iss_stage__canIOpPostReq_0_1_T_2 = iss_stage__canIOpPostReq_0_1_T & iss_stage__canIOpPostReq_0_1_T_1; // @[Issue.scala 238:56]
  wire  iss_stage__canIOpPostReq_0_1_T_51 = iss_stage__canIOpPostReq_0_1_T_2 & iss_stage__canIOpPostReq_0_0_T_50; // @[Issue.scala 239:50]
  wire  iss_stage__canIOpPostReq_0_1_T_52 = iss_stage_io_dptReq_0_bits_lsu_isa_fsw |
    iss_stage_io_dptReq_0_bits_lsu_isa_fsd; // @[riscv_isa.scala 164:20]
  wire  iss_stage__canIOpPostReq_0_1_T_53 = ~iss_stage__canIOpPostReq_0_1_T_52; // @[Issue.scala 240:44]
  wire  iss_stage__canIOpPostReq_0_1_T_54 = iss_stage__canIOpPostReq_0_1_T_51 & iss_stage__canIOpPostReq_0_1_T_53; // @[Issue.scala 240:42]
  wire  iss_stage__maskCondSelIRS1_0_0_T_1 = ~iss_stage__canIOpReq_0_0_T_11; // @[Issue.scala 256:51]
  wire  iss_stage__maskCondSelIRS1_0_0_T_2 = iss_stage__entrySel_T | iss_stage__maskCondSelIRS1_0_0_T_1; // @[Issue.scala 256:49]
  wire  iss_stage__maskCondSelIRS2_0_0_T_1 = ~iss_stage__canIOpReq_0_1_T_11; // @[Issue.scala 257:51]
  wire  iss_stage__maskCondSelIRS2_0_0_T_2 = iss_stage__entrySel_T | iss_stage__maskCondSelIRS2_0_0_T_1; // @[Issue.scala 257:49]
  wire  iss_stage__maskCondSelIRS1_0_1_T_1 = ~iss_stage__canIOpReq_1_0_T_11; // @[Issue.scala 256:51]
  wire  iss_stage__maskCondSelIRS1_0_1_T_2 = iss_stage__entrySel_T_1 | iss_stage__maskCondSelIRS1_0_1_T_1; // @[Issue.scala 256:49]
  wire  iss_stage__maskCondSelIRS2_0_1_T_1 = ~iss_stage__canIOpReq_1_1_T_11; // @[Issue.scala 257:51]
  wire  iss_stage__maskCondSelIRS2_0_1_T_2 = iss_stage__entrySel_T_1 | iss_stage__maskCondSelIRS2_0_1_T_1; // @[Issue.scala 257:49]
  wire  iss_stage__maskCondSelIRS1_0_2_T_1 = ~iss_stage__canIOpReq_2_0_T_11; // @[Issue.scala 256:51]
  wire  iss_stage__maskCondSelIRS1_0_2_T_2 = iss_stage__entrySel_T_2 | iss_stage__maskCondSelIRS1_0_2_T_1; // @[Issue.scala 256:49]
  wire  iss_stage__maskCondSelIRS2_0_2_T_1 = ~iss_stage__canIOpReq_2_1_T_11; // @[Issue.scala 257:51]
  wire  iss_stage__maskCondSelIRS2_0_2_T_2 = iss_stage__entrySel_T_2 | iss_stage__maskCondSelIRS2_0_2_T_1; // @[Issue.scala 257:49]
  wire  iss_stage__maskCondSelIRS1_0_3_T_1 = ~iss_stage__canIOpReq_3_0_T_11; // @[Issue.scala 256:51]
  wire  iss_stage__maskCondSelIRS1_0_3_T_2 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondSelIRS1_0_3_T_1; // @[Issue.scala 256:49]
  wire  iss_stage__maskCondSelIRS2_0_3_T_1 = ~iss_stage__canIOpReq_3_1_T_11; // @[Issue.scala 257:51]
  wire  iss_stage__maskCondSelIRS2_0_3_T_2 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondSelIRS2_0_3_T_1; // @[Issue.scala 257:49]
  wire  iss_stage__maskCondSelIRS1_0_4_T_1 = ~iss_stage__T; // @[Issue.scala 260:45]
  wire  iss_stage__maskCondSelIRS1_0_4_T_2 = ~iss_stage__canIOpPostReq_0_0_T_51; // @[Issue.scala 260:66]
  wire  iss_stage__maskCondSelIRS1_0_4_T_3 = iss_stage__maskCondSelIRS1_0_4_T_1 | iss_stage__maskCondSelIRS1_0_4_T_2; // @[Issue.scala 260:64]
  wire  iss_stage__maskCondSelIRS2_0_4_T_2 = ~iss_stage__canIOpPostReq_0_1_T_54; // @[Issue.scala 261:66]
  wire  iss_stage__maskCondSelIRS2_0_4_T_3 = iss_stage__maskCondSelIRS1_0_4_T_1 | iss_stage__maskCondSelIRS2_0_4_T_2; // @[Issue.scala 261:64]
  wire  iss_stage__matrixOut_0_0_T = ~iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_1 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_2 = iss_stage__matrixOut_0_0_T_1 | iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T = ~iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_1 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_2 = iss_stage__matrixOut_0_1_T_1 | iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T = ~iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_1 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_2 = iss_stage__matrixOut_0_2_T_1 | iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T = ~iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_1 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_2 = iss_stage__matrixOut_0_3_T_1 | iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_4_T = ~iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_1_0_T_1 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_2 = iss_stage__matrixOut_1_0_T_1 | iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_1 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_2 = iss_stage__matrixOut_1_1_T_1 | iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_1 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_2 = iss_stage__matrixOut_1_2_T_1 | iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_1 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_2 = iss_stage__matrixOut_1_3_T_1 | iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_1 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_2 = iss_stage__matrixOut_2_0_T_1 | iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_1 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_2 = iss_stage__matrixOut_2_1_T_1 | iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_1 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_2 = iss_stage__matrixOut_2_2_T_1 | iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_1 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_2 = iss_stage__matrixOut_2_3_T_1 | iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_1 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_2 = iss_stage__matrixOut_3_0_T_1 | iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_1 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_2 = iss_stage__matrixOut_3_1_T_1 | iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_1 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_2 = iss_stage__matrixOut_3_2_T_1 | iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_1 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_2 = iss_stage__matrixOut_3_3_T_1 | iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_0_T_2 = iss_stage__matrixOut_0_0_T | iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_1_T_2 = iss_stage__matrixOut_0_1_T | iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_2_T_2 = iss_stage__matrixOut_0_2_T | iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_3_T_2 = iss_stage__matrixOut_0_3_T | iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_0_T_3 = ~iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_4 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_5 = iss_stage__matrixOut_0_0_T_4 | iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_3 = ~iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_4 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_5 = iss_stage__matrixOut_0_1_T_4 | iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_3 = ~iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_4 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_5 = iss_stage__matrixOut_0_2_T_4 | iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_3 = ~iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_4 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_5 = iss_stage__matrixOut_0_3_T_4 | iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_4_T_3 = ~iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_1_0_T_4 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_5 = iss_stage__matrixOut_1_0_T_4 | iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_4 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_5 = iss_stage__matrixOut_1_1_T_4 | iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_4 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_5 = iss_stage__matrixOut_1_2_T_4 | iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_4 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_5 = iss_stage__matrixOut_1_3_T_4 | iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_4 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_5 = iss_stage__matrixOut_2_0_T_4 | iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_4 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_5 = iss_stage__matrixOut_2_1_T_4 | iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_4 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_5 = iss_stage__matrixOut_2_2_T_4 | iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_4 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_5 = iss_stage__matrixOut_2_3_T_4 | iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_4 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_5 = iss_stage__matrixOut_3_0_T_4 | iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_4 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_5 = iss_stage__matrixOut_3_1_T_4 | iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_4 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_5 = iss_stage__matrixOut_3_2_T_4 | iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_4 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_3; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_5 = iss_stage__matrixOut_3_3_T_4 | iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_0_T_5 = iss_stage__matrixOut_0_0_T_3 | iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_1_T_5 = iss_stage__matrixOut_0_1_T_3 | iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_2_T_5 = iss_stage__matrixOut_0_2_T_3 | iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_3_T_5 = iss_stage__matrixOut_0_3_T_3 | iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 200:60]
  wire  iss_stage__T_13 = iss_stage__matrixOut_0_0_T_2 & iss_stage__matrixOut_0_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_14 = iss_stage__T_13 & iss_stage__matrixOut_0_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_15 = iss_stage__T_14 & iss_stage__matrixOut_0_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_16 = iss_stage__T_15 & iss_stage__maskCondSelIRS1_0_0_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_23 = iss_stage__matrixOut_1_0_T_2 & iss_stage__matrixOut_1_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_24 = iss_stage__T_23 & iss_stage__matrixOut_1_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_25 = iss_stage__T_24 & iss_stage__matrixOut_1_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_26 = iss_stage__T_25 & iss_stage__maskCondSelIRS1_0_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_33 = iss_stage__matrixOut_2_0_T_2 & iss_stage__matrixOut_2_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_34 = iss_stage__T_33 & iss_stage__matrixOut_2_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_35 = iss_stage__T_34 & iss_stage__matrixOut_2_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_36 = iss_stage__T_35 & iss_stage__maskCondSelIRS1_0_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_43 = iss_stage__matrixOut_3_0_T_2 & iss_stage__matrixOut_3_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_44 = iss_stage__T_43 & iss_stage__matrixOut_3_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_45 = iss_stage__T_44 & iss_stage__matrixOut_3_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_46 = iss_stage__T_45 & iss_stage__maskCondSelIRS1_0_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_53 = iss_stage__matrixOut_4_0_T_2 & iss_stage__matrixOut_4_1_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_54 = iss_stage__T_53 & iss_stage__matrixOut_4_2_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_55 = iss_stage__T_54 & iss_stage__matrixOut_4_3_T_2; // @[Issue.scala 277:60]
  wire  iss_stage__T_56 = iss_stage__T_55 & iss_stage__maskCondSelIRS1_0_4_T_3; // @[Issue.scala 277:60]
  wire  iss_stage__T_58 = iss_stage__T_16 & iss_stage__T_26; // @[Issue.scala 277:32]
  wire  iss_stage__T_59 = iss_stage__T_58 & iss_stage__T_36; // @[Issue.scala 277:32]
  wire  iss_stage__T_60 = iss_stage__T_59 & iss_stage__T_46; // @[Issue.scala 277:32]
  wire  iss_stage__T_61 = iss_stage__T_60 & iss_stage__T_56; // @[Issue.scala 277:32]
  wire  iss_stage__T_62 = ~iss_stage__matrixOut_0_0_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_63 = ~iss_stage__matrixOut_0_1_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_64 = ~iss_stage__matrixOut_0_2_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_65 = ~iss_stage__matrixOut_0_3_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_68 = iss_stage__T_62 & iss_stage__T_63; // @[Issue.scala 278:66]
  wire  iss_stage__T_69 = iss_stage__T_68 & iss_stage__T_64; // @[Issue.scala 278:66]
  wire  iss_stage__T_70 = iss_stage__T_69 & iss_stage__T_65; // @[Issue.scala 278:66]
  wire  iss_stage__T_71 = iss_stage__T_70 & iss_stage__matrixOut_0_0_T; // @[Issue.scala 278:66]
  wire  iss_stage__T_72 = ~iss_stage__matrixOut_1_0_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_73 = ~iss_stage__matrixOut_1_1_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_74 = ~iss_stage__matrixOut_1_2_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_75 = ~iss_stage__matrixOut_1_3_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_78 = iss_stage__T_72 & iss_stage__T_73; // @[Issue.scala 278:66]
  wire  iss_stage__T_79 = iss_stage__T_78 & iss_stage__T_74; // @[Issue.scala 278:66]
  wire  iss_stage__T_80 = iss_stage__T_79 & iss_stage__T_75; // @[Issue.scala 278:66]
  wire  iss_stage__T_81 = iss_stage__T_80 & iss_stage__matrixOut_0_1_T; // @[Issue.scala 278:66]
  wire  iss_stage__T_82 = ~iss_stage__matrixOut_2_0_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_83 = ~iss_stage__matrixOut_2_1_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_84 = ~iss_stage__matrixOut_2_2_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_85 = ~iss_stage__matrixOut_2_3_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_88 = iss_stage__T_82 & iss_stage__T_83; // @[Issue.scala 278:66]
  wire  iss_stage__T_89 = iss_stage__T_88 & iss_stage__T_84; // @[Issue.scala 278:66]
  wire  iss_stage__T_90 = iss_stage__T_89 & iss_stage__T_85; // @[Issue.scala 278:66]
  wire  iss_stage__T_91 = iss_stage__T_90 & iss_stage__matrixOut_0_2_T; // @[Issue.scala 278:66]
  wire  iss_stage__T_92 = ~iss_stage__matrixOut_3_0_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_93 = ~iss_stage__matrixOut_3_1_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_94 = ~iss_stage__matrixOut_3_2_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_95 = ~iss_stage__matrixOut_3_3_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_98 = iss_stage__T_92 & iss_stage__T_93; // @[Issue.scala 278:66]
  wire  iss_stage__T_99 = iss_stage__T_98 & iss_stage__T_94; // @[Issue.scala 278:66]
  wire  iss_stage__T_100 = iss_stage__T_99 & iss_stage__T_95; // @[Issue.scala 278:66]
  wire  iss_stage__T_101 = iss_stage__T_100 & iss_stage__matrixOut_0_3_T; // @[Issue.scala 278:66]
  wire  iss_stage__T_102 = ~iss_stage__matrixOut_4_0_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_103 = ~iss_stage__matrixOut_4_1_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_104 = ~iss_stage__matrixOut_4_2_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_105 = ~iss_stage__matrixOut_4_3_T_2; // @[Issue.scala 278:83]
  wire  iss_stage__T_108 = iss_stage__T_102 & iss_stage__T_103; // @[Issue.scala 278:66]
  wire  iss_stage__T_109 = iss_stage__T_108 & iss_stage__T_104; // @[Issue.scala 278:66]
  wire  iss_stage__T_110 = iss_stage__T_109 & iss_stage__T_105; // @[Issue.scala 278:66]
  wire  iss_stage__T_111 = iss_stage__T_110 & iss_stage__matrixOut_0_4_T; // @[Issue.scala 278:66]
  wire [1:0] iss_stage__T_112 = iss_stage__T_71 + iss_stage__T_81; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_114 = iss_stage__T_101 + iss_stage__T_111; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_271 = {{1'd0}, iss_stage__T_91}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_116 = _GEN_271 + iss_stage__T_114; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_117 = iss_stage__T_116[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_118 = iss_stage__T_112 + iss_stage__T_117; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_120 = iss_stage__T_118 == 3'h1; // @[Issue.scala 278:101]
  wire  iss_stage__T_121 = iss_stage__T_61 | iss_stage__T_120; // @[Issue.scala 277:92]
  wire  iss_stage__T_123 = ~iss_stage_reset; // @[Issue.scala 276:11]
  wire  iss_stage__T_124 = ~iss_stage__T_121; // @[Issue.scala 276:11]
  wire  iss_stage__T_131 = iss_stage__matrixOut_0_0_T_5 & iss_stage__matrixOut_0_1_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_132 = iss_stage__T_131 & iss_stage__matrixOut_0_2_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_133 = iss_stage__T_132 & iss_stage__matrixOut_0_3_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_134 = iss_stage__T_133 & iss_stage__maskCondSelIRS2_0_0_T_2; // @[Issue.scala 282:60]
  wire  iss_stage__T_141 = iss_stage__matrixOut_1_0_T_5 & iss_stage__matrixOut_1_1_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_142 = iss_stage__T_141 & iss_stage__matrixOut_1_2_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_143 = iss_stage__T_142 & iss_stage__matrixOut_1_3_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_144 = iss_stage__T_143 & iss_stage__maskCondSelIRS2_0_1_T_2; // @[Issue.scala 282:60]
  wire  iss_stage__T_151 = iss_stage__matrixOut_2_0_T_5 & iss_stage__matrixOut_2_1_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_152 = iss_stage__T_151 & iss_stage__matrixOut_2_2_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_153 = iss_stage__T_152 & iss_stage__matrixOut_2_3_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_154 = iss_stage__T_153 & iss_stage__maskCondSelIRS2_0_2_T_2; // @[Issue.scala 282:60]
  wire  iss_stage__T_161 = iss_stage__matrixOut_3_0_T_5 & iss_stage__matrixOut_3_1_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_162 = iss_stage__T_161 & iss_stage__matrixOut_3_2_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_163 = iss_stage__T_162 & iss_stage__matrixOut_3_3_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_164 = iss_stage__T_163 & iss_stage__maskCondSelIRS2_0_3_T_2; // @[Issue.scala 282:60]
  wire  iss_stage__T_171 = iss_stage__matrixOut_4_0_T_5 & iss_stage__matrixOut_4_1_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_172 = iss_stage__T_171 & iss_stage__matrixOut_4_2_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_173 = iss_stage__T_172 & iss_stage__matrixOut_4_3_T_5; // @[Issue.scala 282:60]
  wire  iss_stage__T_174 = iss_stage__T_173 & iss_stage__maskCondSelIRS2_0_4_T_3; // @[Issue.scala 282:60]
  wire  iss_stage__T_176 = iss_stage__T_134 & iss_stage__T_144; // @[Issue.scala 282:32]
  wire  iss_stage__T_177 = iss_stage__T_176 & iss_stage__T_154; // @[Issue.scala 282:32]
  wire  iss_stage__T_178 = iss_stage__T_177 & iss_stage__T_164; // @[Issue.scala 282:32]
  wire  iss_stage__T_179 = iss_stage__T_178 & iss_stage__T_174; // @[Issue.scala 282:32]
  wire  iss_stage__T_180 = ~iss_stage__matrixOut_0_0_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_181 = ~iss_stage__matrixOut_0_1_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_182 = ~iss_stage__matrixOut_0_2_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_183 = ~iss_stage__matrixOut_0_3_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_186 = iss_stage__T_180 & iss_stage__T_181; // @[Issue.scala 283:66]
  wire  iss_stage__T_187 = iss_stage__T_186 & iss_stage__T_182; // @[Issue.scala 283:66]
  wire  iss_stage__T_188 = iss_stage__T_187 & iss_stage__T_183; // @[Issue.scala 283:66]
  wire  iss_stage__T_189 = iss_stage__T_188 & iss_stage__matrixOut_0_0_T_3; // @[Issue.scala 283:66]
  wire  iss_stage__T_190 = ~iss_stage__matrixOut_1_0_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_191 = ~iss_stage__matrixOut_1_1_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_192 = ~iss_stage__matrixOut_1_2_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_193 = ~iss_stage__matrixOut_1_3_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_196 = iss_stage__T_190 & iss_stage__T_191; // @[Issue.scala 283:66]
  wire  iss_stage__T_197 = iss_stage__T_196 & iss_stage__T_192; // @[Issue.scala 283:66]
  wire  iss_stage__T_198 = iss_stage__T_197 & iss_stage__T_193; // @[Issue.scala 283:66]
  wire  iss_stage__T_199 = iss_stage__T_198 & iss_stage__matrixOut_0_1_T_3; // @[Issue.scala 283:66]
  wire  iss_stage__T_200 = ~iss_stage__matrixOut_2_0_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_201 = ~iss_stage__matrixOut_2_1_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_202 = ~iss_stage__matrixOut_2_2_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_203 = ~iss_stage__matrixOut_2_3_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_206 = iss_stage__T_200 & iss_stage__T_201; // @[Issue.scala 283:66]
  wire  iss_stage__T_207 = iss_stage__T_206 & iss_stage__T_202; // @[Issue.scala 283:66]
  wire  iss_stage__T_208 = iss_stage__T_207 & iss_stage__T_203; // @[Issue.scala 283:66]
  wire  iss_stage__T_209 = iss_stage__T_208 & iss_stage__matrixOut_0_2_T_3; // @[Issue.scala 283:66]
  wire  iss_stage__T_210 = ~iss_stage__matrixOut_3_0_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_211 = ~iss_stage__matrixOut_3_1_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_212 = ~iss_stage__matrixOut_3_2_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_213 = ~iss_stage__matrixOut_3_3_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_216 = iss_stage__T_210 & iss_stage__T_211; // @[Issue.scala 283:66]
  wire  iss_stage__T_217 = iss_stage__T_216 & iss_stage__T_212; // @[Issue.scala 283:66]
  wire  iss_stage__T_218 = iss_stage__T_217 & iss_stage__T_213; // @[Issue.scala 283:66]
  wire  iss_stage__T_219 = iss_stage__T_218 & iss_stage__matrixOut_0_3_T_3; // @[Issue.scala 283:66]
  wire  iss_stage__T_220 = ~iss_stage__matrixOut_4_0_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_221 = ~iss_stage__matrixOut_4_1_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_222 = ~iss_stage__matrixOut_4_2_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_223 = ~iss_stage__matrixOut_4_3_T_5; // @[Issue.scala 283:83]
  wire  iss_stage__T_226 = iss_stage__T_220 & iss_stage__T_221; // @[Issue.scala 283:66]
  wire  iss_stage__T_227 = iss_stage__T_226 & iss_stage__T_222; // @[Issue.scala 283:66]
  wire  iss_stage__T_228 = iss_stage__T_227 & iss_stage__T_223; // @[Issue.scala 283:66]
  wire  iss_stage__T_229 = iss_stage__T_228 & iss_stage__matrixOut_0_4_T_3; // @[Issue.scala 283:66]
  wire [1:0] iss_stage__T_230 = iss_stage__T_189 + iss_stage__T_199; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_232 = iss_stage__T_219 + iss_stage__T_229; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_272 = {{1'd0}, iss_stage__T_209}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_234 = _GEN_272 + iss_stage__T_232; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_235 = iss_stage__T_234[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_236 = iss_stage__T_230 + iss_stage__T_235; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_238 = iss_stage__T_236 == 3'h1; // @[Issue.scala 283:101]
  wire  iss_stage__T_239 = iss_stage__T_179 | iss_stage__T_238; // @[Issue.scala 282:93]
  wire  iss_stage__T_242 = ~iss_stage__T_239; // @[Issue.scala 281:11]
  wire  iss_stage__rIOpNum_0_T = ~iss_stage__T_61; // @[Issue.scala 313:28]
  wire [5:0] iss_stage__selIRS1_0_T_50 = iss_stage__T_71 ? iss_stage_bufInfo_0_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_51 = iss_stage__T_81 ? iss_stage_bufInfo_1_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_55 = iss_stage__selIRS1_0_T_50 | iss_stage__selIRS1_0_T_51; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_52 = iss_stage__T_91 ? iss_stage_bufInfo_2_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_56 = iss_stage__selIRS1_0_T_55 | iss_stage__selIRS1_0_T_52; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_53 = iss_stage__T_101 ? iss_stage_bufInfo_3_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_57 = iss_stage__selIRS1_0_T_56 | iss_stage__selIRS1_0_T_53; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_54 = iss_stage__T_111 ? iss_stage_io_dptReq_0_bits_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_0_T_58 = iss_stage__selIRS1_0_T_57 | iss_stage__selIRS1_0_T_54; // @[Mux.scala 27:73]
  wire  iss_stage__rIOpNum_0_T_1 = ~iss_stage__T_179; // @[Issue.scala 313:68]
  wire [5:0] iss_stage__selIRS2_0_T_50 = iss_stage__T_189 ? iss_stage_bufInfo_0_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_51 = iss_stage__T_199 ? iss_stage_bufInfo_1_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_55 = iss_stage__selIRS2_0_T_50 | iss_stage__selIRS2_0_T_51; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_52 = iss_stage__T_209 ? iss_stage_bufInfo_2_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_56 = iss_stage__selIRS2_0_T_55 | iss_stage__selIRS2_0_T_52; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_53 = iss_stage__T_219 ? iss_stage_bufInfo_3_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_57 = iss_stage__selIRS2_0_T_56 | iss_stage__selIRS2_0_T_53; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_54 = iss_stage__T_229 ? iss_stage_io_dptReq_0_bits_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_0_T_58 = iss_stage__selIRS2_0_T_57 | iss_stage__selIRS2_0_T_54; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__rIOpNum_0_T_2 = iss_stage__rIOpNum_0_T_1 ? iss_stage__selIRS2_0_T_58 : 6'h21; // @[Issue.scala 313:66]
  wire [5:0] iss_stage__rIOpNum_0_T_3 = iss_stage__rIOpNum_0_T ? iss_stage__selIRS1_0_T_58 : iss_stage__rIOpNum_0_T_2; // @[Issue.scala 313:26]
  wire  iss_stage__maskCondSelIRS1_1_0_T = iss_stage_bufInfo_0_phy_rs1 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 265:81]
  wire  iss_stage__maskCondSelIRS1_1_0_T_1 = iss_stage__maskCondSelIRS1_0_0_T_2 | iss_stage__maskCondSelIRS1_1_0_T; // @[Issue.scala 265:62]
  wire  iss_stage__maskCondSelIRS2_1_0_T = iss_stage_bufInfo_0_phy_rs2 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 266:81]
  wire  iss_stage__maskCondSelIRS2_1_0_T_1 = iss_stage__maskCondSelIRS2_0_0_T_2 | iss_stage__maskCondSelIRS2_1_0_T; // @[Issue.scala 266:62]
  wire  iss_stage__maskCondSelIRS1_1_1_T = iss_stage_bufInfo_1_phy_rs1 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 265:81]
  wire  iss_stage__maskCondSelIRS1_1_1_T_1 = iss_stage__maskCondSelIRS1_0_1_T_2 | iss_stage__maskCondSelIRS1_1_1_T; // @[Issue.scala 265:62]
  wire  iss_stage__maskCondSelIRS2_1_1_T = iss_stage_bufInfo_1_phy_rs2 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 266:81]
  wire  iss_stage__maskCondSelIRS2_1_1_T_1 = iss_stage__maskCondSelIRS2_0_1_T_2 | iss_stage__maskCondSelIRS2_1_1_T; // @[Issue.scala 266:62]
  wire  iss_stage__maskCondSelIRS1_1_2_T = iss_stage_bufInfo_2_phy_rs1 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 265:81]
  wire  iss_stage__maskCondSelIRS1_1_2_T_1 = iss_stage__maskCondSelIRS1_0_2_T_2 | iss_stage__maskCondSelIRS1_1_2_T; // @[Issue.scala 265:62]
  wire  iss_stage__maskCondSelIRS2_1_2_T = iss_stage_bufInfo_2_phy_rs2 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 266:81]
  wire  iss_stage__maskCondSelIRS2_1_2_T_1 = iss_stage__maskCondSelIRS2_0_2_T_2 | iss_stage__maskCondSelIRS2_1_2_T; // @[Issue.scala 266:62]
  wire  iss_stage__maskCondSelIRS1_1_3_T = iss_stage_bufInfo_3_phy_rs1 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 265:81]
  wire  iss_stage__maskCondSelIRS1_1_3_T_1 = iss_stage__maskCondSelIRS1_0_3_T_2 | iss_stage__maskCondSelIRS1_1_3_T; // @[Issue.scala 265:62]
  wire  iss_stage__maskCondSelIRS2_1_3_T = iss_stage_bufInfo_3_phy_rs2 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 266:81]
  wire  iss_stage__maskCondSelIRS2_1_3_T_1 = iss_stage__maskCondSelIRS2_0_3_T_2 | iss_stage__maskCondSelIRS2_1_3_T; // @[Issue.scala 266:62]
  wire  iss_stage__maskCondSelIRS1_1_4_T = iss_stage_io_dptReq_0_bits_phy_rs1 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 269:109]
  wire  iss_stage__maskCondSelIRS1_1_4_T_1 = iss_stage__maskCondSelIRS1_0_4_T_3 | iss_stage__maskCondSelIRS1_1_4_T; // @[Issue.scala 269:80]
  wire  iss_stage__maskCondSelIRS2_1_4_T = iss_stage_io_dptReq_0_bits_phy_rs2 == iss_stage__rIOpNum_0_T_3; // @[Issue.scala 270:109]
  wire  iss_stage__maskCondSelIRS2_1_4_T_1 = iss_stage__maskCondSelIRS2_0_4_T_3 | iss_stage__maskCondSelIRS2_1_4_T; // @[Issue.scala 270:80]
  wire  iss_stage__matrixOut_0_0_T_6 = ~iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_7 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_8 = iss_stage__matrixOut_0_0_T_7 | iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_6 = ~iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_7 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_8 = iss_stage__matrixOut_0_1_T_7 | iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_6 = ~iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_7 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_8 = iss_stage__matrixOut_0_2_T_7 | iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_6 = ~iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_7 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_8 = iss_stage__matrixOut_0_3_T_7 | iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_4_T_6 = ~iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_1_0_T_7 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_8 = iss_stage__matrixOut_1_0_T_7 | iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_7 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_8 = iss_stage__matrixOut_1_1_T_7 | iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_7 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_8 = iss_stage__matrixOut_1_2_T_7 | iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_7 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_8 = iss_stage__matrixOut_1_3_T_7 | iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_7 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_8 = iss_stage__matrixOut_2_0_T_7 | iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_7 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_8 = iss_stage__matrixOut_2_1_T_7 | iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_7 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_8 = iss_stage__matrixOut_2_2_T_7 | iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_7 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_8 = iss_stage__matrixOut_2_3_T_7 | iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_7 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_8 = iss_stage__matrixOut_3_0_T_7 | iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_7 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_8 = iss_stage__matrixOut_3_1_T_7 | iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_7 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_8 = iss_stage__matrixOut_3_2_T_7 | iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_7 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_6; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_8 = iss_stage__matrixOut_3_3_T_7 | iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_0_T_8 = iss_stage__matrixOut_0_0_T_6 | iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_1_T_8 = iss_stage__matrixOut_0_1_T_6 | iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_2_T_8 = iss_stage__matrixOut_0_2_T_6 | iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_3_T_8 = iss_stage__matrixOut_0_3_T_6 | iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_0_T_9 = ~iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_10 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_11 = iss_stage__matrixOut_0_0_T_10 | iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_9 = ~iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_10 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_11 = iss_stage__matrixOut_0_1_T_10 | iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_9 = ~iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_10 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_11 = iss_stage__matrixOut_0_2_T_10 | iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_9 = ~iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_10 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_11 = iss_stage__matrixOut_0_3_T_10 | iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_4_T_9 = ~iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_1_0_T_10 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_11 = iss_stage__matrixOut_1_0_T_10 | iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_10 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_11 = iss_stage__matrixOut_1_1_T_10 | iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_10 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_11 = iss_stage__matrixOut_1_2_T_10 | iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_10 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_11 = iss_stage__matrixOut_1_3_T_10 | iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_10 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_11 = iss_stage__matrixOut_2_0_T_10 | iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_10 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_11 = iss_stage__matrixOut_2_1_T_10 | iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_10 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_11 = iss_stage__matrixOut_2_2_T_10 | iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_10 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_11 = iss_stage__matrixOut_2_3_T_10 | iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_10 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_11 = iss_stage__matrixOut_3_0_T_10 | iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_10 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_11 = iss_stage__matrixOut_3_1_T_10 | iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_10 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_11 = iss_stage__matrixOut_3_2_T_10 | iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_10 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_9; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_11 = iss_stage__matrixOut_3_3_T_10 | iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_0_T_11 = iss_stage__matrixOut_0_0_T_9 | iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_1_T_11 = iss_stage__matrixOut_0_1_T_9 | iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_2_T_11 = iss_stage__matrixOut_0_2_T_9 | iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_4_3_T_11 = iss_stage__matrixOut_0_3_T_9 | iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 200:60]
  wire  iss_stage__T_249 = iss_stage__matrixOut_0_0_T_8 & iss_stage__matrixOut_0_1_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_250 = iss_stage__T_249 & iss_stage__matrixOut_0_2_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_251 = iss_stage__T_250 & iss_stage__matrixOut_0_3_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_252 = iss_stage__T_251 & iss_stage__maskCondSelIRS1_1_0_T_1; // @[Issue.scala 277:60]
  wire  iss_stage__T_259 = iss_stage__matrixOut_1_0_T_8 & iss_stage__matrixOut_1_1_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_260 = iss_stage__T_259 & iss_stage__matrixOut_1_2_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_261 = iss_stage__T_260 & iss_stage__matrixOut_1_3_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_262 = iss_stage__T_261 & iss_stage__maskCondSelIRS1_1_1_T_1; // @[Issue.scala 277:60]
  wire  iss_stage__T_269 = iss_stage__matrixOut_2_0_T_8 & iss_stage__matrixOut_2_1_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_270 = iss_stage__T_269 & iss_stage__matrixOut_2_2_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_271 = iss_stage__T_270 & iss_stage__matrixOut_2_3_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_272 = iss_stage__T_271 & iss_stage__maskCondSelIRS1_1_2_T_1; // @[Issue.scala 277:60]
  wire  iss_stage__T_279 = iss_stage__matrixOut_3_0_T_8 & iss_stage__matrixOut_3_1_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_280 = iss_stage__T_279 & iss_stage__matrixOut_3_2_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_281 = iss_stage__T_280 & iss_stage__matrixOut_3_3_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_282 = iss_stage__T_281 & iss_stage__maskCondSelIRS1_1_3_T_1; // @[Issue.scala 277:60]
  wire  iss_stage__T_289 = iss_stage__matrixOut_4_0_T_8 & iss_stage__matrixOut_4_1_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_290 = iss_stage__T_289 & iss_stage__matrixOut_4_2_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_291 = iss_stage__T_290 & iss_stage__matrixOut_4_3_T_8; // @[Issue.scala 277:60]
  wire  iss_stage__T_292 = iss_stage__T_291 & iss_stage__maskCondSelIRS1_1_4_T_1; // @[Issue.scala 277:60]
  wire  iss_stage__T_294 = iss_stage__T_252 & iss_stage__T_262; // @[Issue.scala 277:32]
  wire  iss_stage__T_295 = iss_stage__T_294 & iss_stage__T_272; // @[Issue.scala 277:32]
  wire  iss_stage__T_296 = iss_stage__T_295 & iss_stage__T_282; // @[Issue.scala 277:32]
  wire  iss_stage__T_297 = iss_stage__T_296 & iss_stage__T_292; // @[Issue.scala 277:32]
  wire  iss_stage__T_298 = ~iss_stage__matrixOut_0_0_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_299 = ~iss_stage__matrixOut_0_1_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_300 = ~iss_stage__matrixOut_0_2_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_301 = ~iss_stage__matrixOut_0_3_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_304 = iss_stage__T_298 & iss_stage__T_299; // @[Issue.scala 278:66]
  wire  iss_stage__T_305 = iss_stage__T_304 & iss_stage__T_300; // @[Issue.scala 278:66]
  wire  iss_stage__T_306 = iss_stage__T_305 & iss_stage__T_301; // @[Issue.scala 278:66]
  wire  iss_stage__T_307 = iss_stage__T_306 & iss_stage__matrixOut_0_0_T_6; // @[Issue.scala 278:66]
  wire  iss_stage__T_308 = ~iss_stage__matrixOut_1_0_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_309 = ~iss_stage__matrixOut_1_1_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_310 = ~iss_stage__matrixOut_1_2_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_311 = ~iss_stage__matrixOut_1_3_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_314 = iss_stage__T_308 & iss_stage__T_309; // @[Issue.scala 278:66]
  wire  iss_stage__T_315 = iss_stage__T_314 & iss_stage__T_310; // @[Issue.scala 278:66]
  wire  iss_stage__T_316 = iss_stage__T_315 & iss_stage__T_311; // @[Issue.scala 278:66]
  wire  iss_stage__T_317 = iss_stage__T_316 & iss_stage__matrixOut_0_1_T_6; // @[Issue.scala 278:66]
  wire  iss_stage__T_318 = ~iss_stage__matrixOut_2_0_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_319 = ~iss_stage__matrixOut_2_1_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_320 = ~iss_stage__matrixOut_2_2_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_321 = ~iss_stage__matrixOut_2_3_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_324 = iss_stage__T_318 & iss_stage__T_319; // @[Issue.scala 278:66]
  wire  iss_stage__T_325 = iss_stage__T_324 & iss_stage__T_320; // @[Issue.scala 278:66]
  wire  iss_stage__T_326 = iss_stage__T_325 & iss_stage__T_321; // @[Issue.scala 278:66]
  wire  iss_stage__T_327 = iss_stage__T_326 & iss_stage__matrixOut_0_2_T_6; // @[Issue.scala 278:66]
  wire  iss_stage__T_328 = ~iss_stage__matrixOut_3_0_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_329 = ~iss_stage__matrixOut_3_1_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_330 = ~iss_stage__matrixOut_3_2_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_331 = ~iss_stage__matrixOut_3_3_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_334 = iss_stage__T_328 & iss_stage__T_329; // @[Issue.scala 278:66]
  wire  iss_stage__T_335 = iss_stage__T_334 & iss_stage__T_330; // @[Issue.scala 278:66]
  wire  iss_stage__T_336 = iss_stage__T_335 & iss_stage__T_331; // @[Issue.scala 278:66]
  wire  iss_stage__T_337 = iss_stage__T_336 & iss_stage__matrixOut_0_3_T_6; // @[Issue.scala 278:66]
  wire  iss_stage__T_338 = ~iss_stage__matrixOut_4_0_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_339 = ~iss_stage__matrixOut_4_1_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_340 = ~iss_stage__matrixOut_4_2_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_341 = ~iss_stage__matrixOut_4_3_T_8; // @[Issue.scala 278:83]
  wire  iss_stage__T_344 = iss_stage__T_338 & iss_stage__T_339; // @[Issue.scala 278:66]
  wire  iss_stage__T_345 = iss_stage__T_344 & iss_stage__T_340; // @[Issue.scala 278:66]
  wire  iss_stage__T_346 = iss_stage__T_345 & iss_stage__T_341; // @[Issue.scala 278:66]
  wire  iss_stage__T_347 = iss_stage__T_346 & iss_stage__matrixOut_0_4_T_6; // @[Issue.scala 278:66]
  wire [1:0] iss_stage__T_348 = iss_stage__T_307 + iss_stage__T_317; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_350 = iss_stage__T_337 + iss_stage__T_347; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_273 = {{1'd0}, iss_stage__T_327}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_352 = _GEN_273 + iss_stage__T_350; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_353 = iss_stage__T_352[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_354 = iss_stage__T_348 + iss_stage__T_353; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_356 = iss_stage__T_354 == 3'h1; // @[Issue.scala 278:101]
  wire  iss_stage__T_357 = iss_stage__T_297 | iss_stage__T_356; // @[Issue.scala 277:92]
  wire  iss_stage__T_360 = ~iss_stage__T_357; // @[Issue.scala 276:11]
  wire  iss_stage__T_367 = iss_stage__matrixOut_0_0_T_11 & iss_stage__matrixOut_0_1_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_368 = iss_stage__T_367 & iss_stage__matrixOut_0_2_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_369 = iss_stage__T_368 & iss_stage__matrixOut_0_3_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_370 = iss_stage__T_369 & iss_stage__maskCondSelIRS2_1_0_T_1; // @[Issue.scala 282:60]
  wire  iss_stage__T_377 = iss_stage__matrixOut_1_0_T_11 & iss_stage__matrixOut_1_1_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_378 = iss_stage__T_377 & iss_stage__matrixOut_1_2_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_379 = iss_stage__T_378 & iss_stage__matrixOut_1_3_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_380 = iss_stage__T_379 & iss_stage__maskCondSelIRS2_1_1_T_1; // @[Issue.scala 282:60]
  wire  iss_stage__T_387 = iss_stage__matrixOut_2_0_T_11 & iss_stage__matrixOut_2_1_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_388 = iss_stage__T_387 & iss_stage__matrixOut_2_2_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_389 = iss_stage__T_388 & iss_stage__matrixOut_2_3_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_390 = iss_stage__T_389 & iss_stage__maskCondSelIRS2_1_2_T_1; // @[Issue.scala 282:60]
  wire  iss_stage__T_397 = iss_stage__matrixOut_3_0_T_11 & iss_stage__matrixOut_3_1_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_398 = iss_stage__T_397 & iss_stage__matrixOut_3_2_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_399 = iss_stage__T_398 & iss_stage__matrixOut_3_3_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_400 = iss_stage__T_399 & iss_stage__maskCondSelIRS2_1_3_T_1; // @[Issue.scala 282:60]
  wire  iss_stage__T_407 = iss_stage__matrixOut_4_0_T_11 & iss_stage__matrixOut_4_1_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_408 = iss_stage__T_407 & iss_stage__matrixOut_4_2_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_409 = iss_stage__T_408 & iss_stage__matrixOut_4_3_T_11; // @[Issue.scala 282:60]
  wire  iss_stage__T_410 = iss_stage__T_409 & iss_stage__maskCondSelIRS2_1_4_T_1; // @[Issue.scala 282:60]
  wire  iss_stage__T_412 = iss_stage__T_370 & iss_stage__T_380; // @[Issue.scala 282:32]
  wire  iss_stage__T_413 = iss_stage__T_412 & iss_stage__T_390; // @[Issue.scala 282:32]
  wire  iss_stage__T_414 = iss_stage__T_413 & iss_stage__T_400; // @[Issue.scala 282:32]
  wire  iss_stage__T_415 = iss_stage__T_414 & iss_stage__T_410; // @[Issue.scala 282:32]
  wire  iss_stage__T_416 = ~iss_stage__matrixOut_0_0_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_417 = ~iss_stage__matrixOut_0_1_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_418 = ~iss_stage__matrixOut_0_2_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_419 = ~iss_stage__matrixOut_0_3_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_422 = iss_stage__T_416 & iss_stage__T_417; // @[Issue.scala 283:66]
  wire  iss_stage__T_423 = iss_stage__T_422 & iss_stage__T_418; // @[Issue.scala 283:66]
  wire  iss_stage__T_424 = iss_stage__T_423 & iss_stage__T_419; // @[Issue.scala 283:66]
  wire  iss_stage__T_425 = iss_stage__T_424 & iss_stage__matrixOut_0_0_T_9; // @[Issue.scala 283:66]
  wire  iss_stage__T_426 = ~iss_stage__matrixOut_1_0_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_427 = ~iss_stage__matrixOut_1_1_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_428 = ~iss_stage__matrixOut_1_2_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_429 = ~iss_stage__matrixOut_1_3_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_432 = iss_stage__T_426 & iss_stage__T_427; // @[Issue.scala 283:66]
  wire  iss_stage__T_433 = iss_stage__T_432 & iss_stage__T_428; // @[Issue.scala 283:66]
  wire  iss_stage__T_434 = iss_stage__T_433 & iss_stage__T_429; // @[Issue.scala 283:66]
  wire  iss_stage__T_435 = iss_stage__T_434 & iss_stage__matrixOut_0_1_T_9; // @[Issue.scala 283:66]
  wire  iss_stage__T_436 = ~iss_stage__matrixOut_2_0_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_437 = ~iss_stage__matrixOut_2_1_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_438 = ~iss_stage__matrixOut_2_2_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_439 = ~iss_stage__matrixOut_2_3_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_442 = iss_stage__T_436 & iss_stage__T_437; // @[Issue.scala 283:66]
  wire  iss_stage__T_443 = iss_stage__T_442 & iss_stage__T_438; // @[Issue.scala 283:66]
  wire  iss_stage__T_444 = iss_stage__T_443 & iss_stage__T_439; // @[Issue.scala 283:66]
  wire  iss_stage__T_445 = iss_stage__T_444 & iss_stage__matrixOut_0_2_T_9; // @[Issue.scala 283:66]
  wire  iss_stage__T_446 = ~iss_stage__matrixOut_3_0_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_447 = ~iss_stage__matrixOut_3_1_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_448 = ~iss_stage__matrixOut_3_2_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_449 = ~iss_stage__matrixOut_3_3_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_452 = iss_stage__T_446 & iss_stage__T_447; // @[Issue.scala 283:66]
  wire  iss_stage__T_453 = iss_stage__T_452 & iss_stage__T_448; // @[Issue.scala 283:66]
  wire  iss_stage__T_454 = iss_stage__T_453 & iss_stage__T_449; // @[Issue.scala 283:66]
  wire  iss_stage__T_455 = iss_stage__T_454 & iss_stage__matrixOut_0_3_T_9; // @[Issue.scala 283:66]
  wire  iss_stage__T_456 = ~iss_stage__matrixOut_4_0_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_457 = ~iss_stage__matrixOut_4_1_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_458 = ~iss_stage__matrixOut_4_2_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_459 = ~iss_stage__matrixOut_4_3_T_11; // @[Issue.scala 283:83]
  wire  iss_stage__T_462 = iss_stage__T_456 & iss_stage__T_457; // @[Issue.scala 283:66]
  wire  iss_stage__T_463 = iss_stage__T_462 & iss_stage__T_458; // @[Issue.scala 283:66]
  wire  iss_stage__T_464 = iss_stage__T_463 & iss_stage__T_459; // @[Issue.scala 283:66]
  wire  iss_stage__T_465 = iss_stage__T_464 & iss_stage__matrixOut_0_4_T_9; // @[Issue.scala 283:66]
  wire [1:0] iss_stage__T_466 = iss_stage__T_425 + iss_stage__T_435; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_468 = iss_stage__T_455 + iss_stage__T_465; // @[Bitwise.scala 51:90]
  wire [1:0] _GEN_274 = {{1'd0}, iss_stage__T_445}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_470 = _GEN_274 + iss_stage__T_468; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_471 = iss_stage__T_470[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_472 = iss_stage__T_466 + iss_stage__T_471; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_474 = iss_stage__T_472 == 3'h1; // @[Issue.scala 283:101]
  wire  iss_stage__T_475 = iss_stage__T_415 | iss_stage__T_474; // @[Issue.scala 282:93]
  wire  iss_stage__T_478 = ~iss_stage__T_475; // @[Issue.scala 281:11]
  wire [5:0] iss_stage__selIRS1_1_T_50 = iss_stage__T_307 ? iss_stage_bufInfo_0_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_51 = iss_stage__T_317 ? iss_stage_bufInfo_1_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_52 = iss_stage__T_327 ? iss_stage_bufInfo_2_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_53 = iss_stage__T_337 ? iss_stage_bufInfo_3_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_54 = iss_stage__T_347 ? iss_stage_io_dptReq_0_bits_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_55 = iss_stage__selIRS1_1_T_50 | iss_stage__selIRS1_1_T_51; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_56 = iss_stage__selIRS1_1_T_55 | iss_stage__selIRS1_1_T_52; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_57 = iss_stage__selIRS1_1_T_56 | iss_stage__selIRS1_1_T_53; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS1_1_T_58 = iss_stage__selIRS1_1_T_57 | iss_stage__selIRS1_1_T_54; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_50 = iss_stage__T_425 ? iss_stage_bufInfo_0_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_51 = iss_stage__T_435 ? iss_stage_bufInfo_1_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_52 = iss_stage__T_445 ? iss_stage_bufInfo_2_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_53 = iss_stage__T_455 ? iss_stage_bufInfo_3_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_54 = iss_stage__T_465 ? iss_stage_io_dptReq_0_bits_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_55 = iss_stage__selIRS2_1_T_50 | iss_stage__selIRS2_1_T_51; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_56 = iss_stage__selIRS2_1_T_55 | iss_stage__selIRS2_1_T_52; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_57 = iss_stage__selIRS2_1_T_56 | iss_stage__selIRS2_1_T_53; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selIRS2_1_T_58 = iss_stage__selIRS2_1_T_57 | iss_stage__selIRS2_1_T_54; // @[Mux.scala 27:73]
  wire  iss_stage__rIOpNum_1_T = ~iss_stage__T_415; // @[Issue.scala 315:28]
  wire  iss_stage__rIOpNum_1_T_1 = ~iss_stage__T_297; // @[Issue.scala 315:68]
  wire [5:0] iss_stage__rIOpNum_1_T_2 = iss_stage__rIOpNum_1_T_1 ? iss_stage__selIRS1_1_T_58 : 6'h21; // @[Issue.scala 315:66]
  wire [1:0] iss_stage__GEN_3281 = 6'h1 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_1 :
    iss_stage_io_frgLog_0; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3282 = 6'h2 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_2 :
    iss_stage__GEN_3281; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3283 = 6'h3 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_3 :
    iss_stage__GEN_3282; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3284 = 6'h4 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_4 :
    iss_stage__GEN_3283; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3285 = 6'h5 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_5 :
    iss_stage__GEN_3284; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3286 = 6'h6 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_6 :
    iss_stage__GEN_3285; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3287 = 6'h7 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_7 :
    iss_stage__GEN_3286; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3288 = 6'h8 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_8 :
    iss_stage__GEN_3287; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3289 = 6'h9 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_9 :
    iss_stage__GEN_3288; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3290 = 6'ha == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_10 :
    iss_stage__GEN_3289; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3291 = 6'hb == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_11 :
    iss_stage__GEN_3290; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3292 = 6'hc == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_12 :
    iss_stage__GEN_3291; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3293 = 6'hd == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_13 :
    iss_stage__GEN_3292; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3294 = 6'he == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_14 :
    iss_stage__GEN_3293; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3295 = 6'hf == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_15 :
    iss_stage__GEN_3294; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3296 = 6'h10 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_16 :
    iss_stage__GEN_3295; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3297 = 6'h11 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_17 :
    iss_stage__GEN_3296; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3298 = 6'h12 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_18 :
    iss_stage__GEN_3297; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3299 = 6'h13 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_19 :
    iss_stage__GEN_3298; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3300 = 6'h14 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_20 :
    iss_stage__GEN_3299; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3301 = 6'h15 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_21 :
    iss_stage__GEN_3300; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3302 = 6'h16 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_22 :
    iss_stage__GEN_3301; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3303 = 6'h17 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_23 :
    iss_stage__GEN_3302; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3304 = 6'h18 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_24 :
    iss_stage__GEN_3303; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3305 = 6'h19 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_25 :
    iss_stage__GEN_3304; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3306 = 6'h1a == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_26 :
    iss_stage__GEN_3305; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3307 = 6'h1b == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_27 :
    iss_stage__GEN_3306; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3308 = 6'h1c == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_28 :
    iss_stage__GEN_3307; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3309 = 6'h1d == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_29 :
    iss_stage__GEN_3308; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3310 = 6'h1e == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_30 :
    iss_stage__GEN_3309; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3311 = 6'h1f == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_31 :
    iss_stage__GEN_3310; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3312 = 6'h20 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_32 :
    iss_stage__GEN_3311; // @[Issue.scala 356:{44,44}]
  wire [1:0] iss_stage__GEN_3313 = 6'h21 == iss_stage_io_dptReq_0_bits_phy_rs1 ? iss_stage_io_frgLog_33 :
    iss_stage__GEN_3312; // @[Issue.scala 356:{44,44}]
  wire  iss_stage__canFOpPostReq_0_0_T = iss_stage__GEN_3313 == 2'h3; // @[Issue.scala 356:44]
  wire  iss_stage__canFOpPostReq_0_0_T_2 = iss_stage__canFOpPostReq_0_0_T & iss_stage__canIOpPostReq_0_0_T_1; // @[Issue.scala 356:56]
  wire  iss_stage__canFOpPostReq_0_0_T_50 = iss_stage__canFOpPostReq_0_0_T_2 & iss_stage__canIOpPostReq_0_0_T_49; // @[Issue.scala 357:50]
  wire [1:0] iss_stage__GEN_3315 = 6'h1 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_1 :
    iss_stage_io_frgLog_0; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3316 = 6'h2 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_2 :
    iss_stage__GEN_3315; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3317 = 6'h3 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_3 :
    iss_stage__GEN_3316; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3318 = 6'h4 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_4 :
    iss_stage__GEN_3317; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3319 = 6'h5 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_5 :
    iss_stage__GEN_3318; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3320 = 6'h6 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_6 :
    iss_stage__GEN_3319; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3321 = 6'h7 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_7 :
    iss_stage__GEN_3320; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3322 = 6'h8 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_8 :
    iss_stage__GEN_3321; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3323 = 6'h9 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_9 :
    iss_stage__GEN_3322; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3324 = 6'ha == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_10 :
    iss_stage__GEN_3323; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3325 = 6'hb == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_11 :
    iss_stage__GEN_3324; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3326 = 6'hc == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_12 :
    iss_stage__GEN_3325; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3327 = 6'hd == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_13 :
    iss_stage__GEN_3326; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3328 = 6'he == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_14 :
    iss_stage__GEN_3327; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3329 = 6'hf == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_15 :
    iss_stage__GEN_3328; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3330 = 6'h10 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_16 :
    iss_stage__GEN_3329; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3331 = 6'h11 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_17 :
    iss_stage__GEN_3330; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3332 = 6'h12 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_18 :
    iss_stage__GEN_3331; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3333 = 6'h13 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_19 :
    iss_stage__GEN_3332; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3334 = 6'h14 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_20 :
    iss_stage__GEN_3333; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3335 = 6'h15 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_21 :
    iss_stage__GEN_3334; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3336 = 6'h16 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_22 :
    iss_stage__GEN_3335; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3337 = 6'h17 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_23 :
    iss_stage__GEN_3336; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3338 = 6'h18 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_24 :
    iss_stage__GEN_3337; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3339 = 6'h19 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_25 :
    iss_stage__GEN_3338; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3340 = 6'h1a == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_26 :
    iss_stage__GEN_3339; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3341 = 6'h1b == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_27 :
    iss_stage__GEN_3340; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3342 = 6'h1c == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_28 :
    iss_stage__GEN_3341; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3343 = 6'h1d == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_29 :
    iss_stage__GEN_3342; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3344 = 6'h1e == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_30 :
    iss_stage__GEN_3343; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3345 = 6'h1f == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_31 :
    iss_stage__GEN_3344; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3346 = 6'h20 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_32 :
    iss_stage__GEN_3345; // @[Issue.scala 362:{44,44}]
  wire [1:0] iss_stage__GEN_3347 = 6'h21 == iss_stage_io_dptReq_0_bits_phy_rs2 ? iss_stage_io_frgLog_33 :
    iss_stage__GEN_3346; // @[Issue.scala 362:{44,44}]
  wire  iss_stage__canFOpPostReq_0_1_T = iss_stage__GEN_3347 == 2'h3; // @[Issue.scala 362:44]
  wire  iss_stage__canFOpPostReq_0_1_T_2 = iss_stage__canFOpPostReq_0_1_T & iss_stage__canIOpPostReq_0_1_T_1; // @[Issue.scala 362:56]
  wire  iss_stage__canFOpPostReq_0_1_T_51 = iss_stage__canIOpPostReq_0_0_T_49 | iss_stage__canIOpPostReq_0_1_T_52; // @[Issue.scala 364:41]
  wire  iss_stage__canFOpPostReq_0_1_T_52 = iss_stage__canFOpPostReq_0_1_T_2 & iss_stage__canFOpPostReq_0_1_T_51; // @[Issue.scala 363:50]
  wire [1:0] iss_stage__GEN_3349 = 6'h1 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_1 :
    iss_stage_io_frgLog_0; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3350 = 6'h2 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_2 :
    iss_stage__GEN_3349; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3351 = 6'h3 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_3 :
    iss_stage__GEN_3350; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3352 = 6'h4 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_4 :
    iss_stage__GEN_3351; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3353 = 6'h5 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_5 :
    iss_stage__GEN_3352; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3354 = 6'h6 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_6 :
    iss_stage__GEN_3353; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3355 = 6'h7 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_7 :
    iss_stage__GEN_3354; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3356 = 6'h8 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_8 :
    iss_stage__GEN_3355; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3357 = 6'h9 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_9 :
    iss_stage__GEN_3356; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3358 = 6'ha == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_10 :
    iss_stage__GEN_3357; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3359 = 6'hb == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_11 :
    iss_stage__GEN_3358; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3360 = 6'hc == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_12 :
    iss_stage__GEN_3359; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3361 = 6'hd == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_13 :
    iss_stage__GEN_3360; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3362 = 6'he == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_14 :
    iss_stage__GEN_3361; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3363 = 6'hf == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_15 :
    iss_stage__GEN_3362; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3364 = 6'h10 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_16 :
    iss_stage__GEN_3363; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3365 = 6'h11 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_17 :
    iss_stage__GEN_3364; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3366 = 6'h12 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_18 :
    iss_stage__GEN_3365; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3367 = 6'h13 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_19 :
    iss_stage__GEN_3366; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3368 = 6'h14 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_20 :
    iss_stage__GEN_3367; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3369 = 6'h15 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_21 :
    iss_stage__GEN_3368; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3370 = 6'h16 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_22 :
    iss_stage__GEN_3369; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3371 = 6'h17 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_23 :
    iss_stage__GEN_3370; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3372 = 6'h18 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_24 :
    iss_stage__GEN_3371; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3373 = 6'h19 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_25 :
    iss_stage__GEN_3372; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3374 = 6'h1a == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_26 :
    iss_stage__GEN_3373; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3375 = 6'h1b == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_27 :
    iss_stage__GEN_3374; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3376 = 6'h1c == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_28 :
    iss_stage__GEN_3375; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3377 = 6'h1d == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_29 :
    iss_stage__GEN_3376; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3378 = 6'h1e == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_30 :
    iss_stage__GEN_3377; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3379 = 6'h1f == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_31 :
    iss_stage__GEN_3378; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3380 = 6'h20 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_32 :
    iss_stage__GEN_3379; // @[Issue.scala 368:{44,44}]
  wire [1:0] iss_stage__GEN_3381 = 6'h21 == iss_stage_io_dptReq_0_bits_phy_rs3 ? iss_stage_io_frgLog_33 :
    iss_stage__GEN_3380; // @[Issue.scala 368:{44,44}]
  wire  iss_stage__canFOpPostReq_0_2_T = iss_stage__GEN_3381 == 2'h3; // @[Issue.scala 368:44]
  wire  iss_stage__canFOpPostReq_0_2_T_1 = iss_stage_io_dptReq_0_bits_phy_rs3 != 6'h21; // @[Issue.scala 369:33]
  wire  iss_stage__canFOpPostReq_0_2_T_2 = iss_stage__canFOpPostReq_0_2_T & iss_stage__canFOpPostReq_0_2_T_1; // @[Issue.scala 368:56]
  wire  iss_stage__canFOpPostReq_0_2_T_50 = iss_stage__canFOpPostReq_0_2_T_2 & iss_stage__canIOpPostReq_0_0_T_49; // @[Issue.scala 369:50]
  wire  iss_stage__maskCondSelFRS1_0_4_T_2 = ~iss_stage__canFOpPostReq_0_0_T_50; // @[Issue.scala 392:66]
  wire  iss_stage__maskCondSelFRS1_0_4_T_3 = iss_stage__maskCondSelIRS1_0_4_T_1 | iss_stage__maskCondSelFRS1_0_4_T_2; // @[Issue.scala 392:64]
  wire  iss_stage__maskCondSelFRS2_0_4_T_2 = ~iss_stage__canFOpPostReq_0_1_T_52; // @[Issue.scala 393:66]
  wire  iss_stage__maskCondSelFRS2_0_4_T_3 = iss_stage__maskCondSelIRS1_0_4_T_1 | iss_stage__maskCondSelFRS2_0_4_T_2; // @[Issue.scala 393:64]
  wire  iss_stage__maskCondSelFRS3_0_4_T_2 = ~iss_stage__canFOpPostReq_0_2_T_50; // @[Issue.scala 394:66]
  wire  iss_stage__maskCondSelFRS3_0_4_T_3 = iss_stage__maskCondSelIRS1_0_4_T_1 | iss_stage__maskCondSelFRS3_0_4_T_2; // @[Issue.scala 394:64]
  wire  iss_stage__matrixOut_0_4_T_12 = ~iss_stage__maskCondSelFRS1_0_4_T_3; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_4_T_15 = ~iss_stage__maskCondSelFRS2_0_4_T_3; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_4_T_18 = ~iss_stage__maskCondSelFRS3_0_4_T_3; // @[Issue.scala 200:46]
  wire  iss_stage__T_580 = iss_stage__matrixOut_0_4_T_12 & iss_stage__matrixOut_0_4_T_12; // @[Issue.scala 414:66]
  wire  iss_stage__T_581 = iss_stage__T_580 & iss_stage__matrixOut_0_4_T_12; // @[Issue.scala 414:66]
  wire  iss_stage__T_582 = iss_stage__T_581 & iss_stage__matrixOut_0_4_T_12; // @[Issue.scala 414:66]
  wire  iss_stage__T_583 = iss_stage__T_582 & iss_stage__matrixOut_0_4_T_12; // @[Issue.scala 414:66]
  wire [1:0] iss_stage__T_586 = {{1'd0}, iss_stage__T_583}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_588 = {{1'd0}, iss_stage__T_586}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_589 = iss_stage__T_588[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_590 = {{1'd0}, iss_stage__T_589}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_592 = iss_stage__T_590 == 3'h1; // @[Issue.scala 414:101]
  wire  iss_stage__T_593 = iss_stage__maskCondSelFRS1_0_4_T_3 | iss_stage__T_592; // @[Issue.scala 413:92]
  wire  iss_stage__T_596 = ~iss_stage__T_593; // @[Issue.scala 412:11]
  wire  iss_stage__T_698 = iss_stage__matrixOut_0_4_T_15 & iss_stage__matrixOut_0_4_T_15; // @[Issue.scala 419:66]
  wire  iss_stage__T_699 = iss_stage__T_698 & iss_stage__matrixOut_0_4_T_15; // @[Issue.scala 419:66]
  wire  iss_stage__T_700 = iss_stage__T_699 & iss_stage__matrixOut_0_4_T_15; // @[Issue.scala 419:66]
  wire  iss_stage__T_701 = iss_stage__T_700 & iss_stage__matrixOut_0_4_T_15; // @[Issue.scala 419:66]
  wire [1:0] iss_stage__T_704 = {{1'd0}, iss_stage__T_701}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_706 = {{1'd0}, iss_stage__T_704}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_707 = iss_stage__T_706[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_708 = {{1'd0}, iss_stage__T_707}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_710 = iss_stage__T_708 == 3'h1; // @[Issue.scala 419:101]
  wire  iss_stage__T_711 = iss_stage__maskCondSelFRS2_0_4_T_3 | iss_stage__T_710; // @[Issue.scala 418:93]
  wire  iss_stage__T_714 = ~iss_stage__T_711; // @[Issue.scala 417:11]
  wire  iss_stage__T_816 = iss_stage__matrixOut_0_4_T_18 & iss_stage__matrixOut_0_4_T_18; // @[Issue.scala 424:66]
  wire  iss_stage__T_817 = iss_stage__T_816 & iss_stage__matrixOut_0_4_T_18; // @[Issue.scala 424:66]
  wire  iss_stage__T_818 = iss_stage__T_817 & iss_stage__matrixOut_0_4_T_18; // @[Issue.scala 424:66]
  wire  iss_stage__T_819 = iss_stage__T_818 & iss_stage__matrixOut_0_4_T_18; // @[Issue.scala 424:66]
  wire [1:0] iss_stage__T_822 = {{1'd0}, iss_stage__T_819}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_824 = {{1'd0}, iss_stage__T_822}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_825 = iss_stage__T_824[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_826 = {{1'd0}, iss_stage__T_825}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_828 = iss_stage__T_826 == 3'h1; // @[Issue.scala 424:101]
  wire  iss_stage__T_829 = iss_stage__maskCondSelFRS3_0_4_T_3 | iss_stage__T_828; // @[Issue.scala 423:93]
  wire  iss_stage__T_832 = ~iss_stage__T_829; // @[Issue.scala 422:11]
  wire [5:0] iss_stage__selFRS1_0_T_54 = iss_stage__T_583 ? iss_stage_io_dptReq_0_bits_phy_rs1 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selFRS2_0_T_54 = iss_stage__T_701 ? iss_stage_io_dptReq_0_bits_phy_rs2 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__selFRS3_0_T_54 = iss_stage__T_819 ? iss_stage_io_dptReq_0_bits_phy_rs3 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__rFOpNum_0_T_3 = iss_stage__matrixOut_0_4_T_18 ? iss_stage__selFRS3_0_T_54 : 6'h21; // @[Issue.scala 462:106]
  wire [5:0] iss_stage__rFOpNum_0_T_4 = iss_stage__matrixOut_0_4_T_15 ? iss_stage__selFRS2_0_T_54 :
    iss_stage__rFOpNum_0_T_3; // @[Issue.scala 462:66]
  wire [5:0] iss_stage__rFOpNum_0_T_5 = iss_stage__matrixOut_0_4_T_12 ? iss_stage__selFRS1_0_T_54 :
    iss_stage__rFOpNum_0_T_4; // @[Issue.scala 462:26]
  wire  iss_stage__maskCondSelFRS1_1_4_T = iss_stage_io_dptReq_0_bits_phy_rs1 == iss_stage__rFOpNum_0_T_5; // @[Issue.scala 403:109]
  wire  iss_stage__maskCondSelFRS1_1_4_T_1 = iss_stage__maskCondSelFRS1_0_4_T_3 | iss_stage__maskCondSelFRS1_1_4_T; // @[Issue.scala 403:80]
  wire  iss_stage__maskCondSelFRS2_1_4_T = iss_stage_io_dptReq_0_bits_phy_rs2 == iss_stage__rFOpNum_0_T_5; // @[Issue.scala 404:109]
  wire  iss_stage__maskCondSelFRS2_1_4_T_1 = iss_stage__maskCondSelFRS2_0_4_T_3 | iss_stage__maskCondSelFRS2_1_4_T; // @[Issue.scala 404:80]
  wire  iss_stage__maskCondSelFRS3_1_4_T = iss_stage_io_dptReq_0_bits_phy_rs3 == iss_stage__rFOpNum_0_T_5; // @[Issue.scala 405:109]
  wire  iss_stage__maskCondSelFRS3_1_4_T_1 = iss_stage__maskCondSelFRS3_0_4_T_3 | iss_stage__maskCondSelFRS3_1_4_T; // @[Issue.scala 405:80]
  wire  iss_stage__matrixOut_0_4_T_21 = ~iss_stage__maskCondSelFRS1_1_4_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_4_T_24 = ~iss_stage__maskCondSelFRS2_1_4_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_4_T_27 = ~iss_stage__maskCondSelFRS3_1_4_T_1; // @[Issue.scala 200:46]
  wire  iss_stage__T_934 = iss_stage__matrixOut_0_4_T_21 & iss_stage__matrixOut_0_4_T_21; // @[Issue.scala 414:66]
  wire  iss_stage__T_935 = iss_stage__T_934 & iss_stage__matrixOut_0_4_T_21; // @[Issue.scala 414:66]
  wire  iss_stage__T_936 = iss_stage__T_935 & iss_stage__matrixOut_0_4_T_21; // @[Issue.scala 414:66]
  wire  iss_stage__T_937 = iss_stage__T_936 & iss_stage__matrixOut_0_4_T_21; // @[Issue.scala 414:66]
  wire [1:0] iss_stage__T_940 = {{1'd0}, iss_stage__T_937}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_942 = {{1'd0}, iss_stage__T_940}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_943 = iss_stage__T_942[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_944 = {{1'd0}, iss_stage__T_943}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_946 = iss_stage__T_944 == 3'h1; // @[Issue.scala 414:101]
  wire  iss_stage__T_947 = iss_stage__maskCondSelFRS1_1_4_T_1 | iss_stage__T_946; // @[Issue.scala 413:92]
  wire  iss_stage__T_950 = ~iss_stage__T_947; // @[Issue.scala 412:11]
  wire  iss_stage__T_1052 = iss_stage__matrixOut_0_4_T_24 & iss_stage__matrixOut_0_4_T_24; // @[Issue.scala 419:66]
  wire  iss_stage__T_1053 = iss_stage__T_1052 & iss_stage__matrixOut_0_4_T_24; // @[Issue.scala 419:66]
  wire  iss_stage__T_1054 = iss_stage__T_1053 & iss_stage__matrixOut_0_4_T_24; // @[Issue.scala 419:66]
  wire  iss_stage__T_1055 = iss_stage__T_1054 & iss_stage__matrixOut_0_4_T_24; // @[Issue.scala 419:66]
  wire [1:0] iss_stage__T_1058 = {{1'd0}, iss_stage__T_1055}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1060 = {{1'd0}, iss_stage__T_1058}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_1061 = iss_stage__T_1060[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1062 = {{1'd0}, iss_stage__T_1061}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_1064 = iss_stage__T_1062 == 3'h1; // @[Issue.scala 419:101]
  wire  iss_stage__T_1065 = iss_stage__maskCondSelFRS2_1_4_T_1 | iss_stage__T_1064; // @[Issue.scala 418:93]
  wire  iss_stage__T_1068 = ~iss_stage__T_1065; // @[Issue.scala 417:11]
  wire  iss_stage__T_1170 = iss_stage__matrixOut_0_4_T_27 & iss_stage__matrixOut_0_4_T_27; // @[Issue.scala 424:66]
  wire  iss_stage__T_1171 = iss_stage__T_1170 & iss_stage__matrixOut_0_4_T_27; // @[Issue.scala 424:66]
  wire  iss_stage__T_1172 = iss_stage__T_1171 & iss_stage__matrixOut_0_4_T_27; // @[Issue.scala 424:66]
  wire  iss_stage__T_1173 = iss_stage__T_1172 & iss_stage__matrixOut_0_4_T_27; // @[Issue.scala 424:66]
  wire [1:0] iss_stage__T_1176 = {{1'd0}, iss_stage__T_1173}; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1178 = {{1'd0}, iss_stage__T_1176}; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_1179 = iss_stage__T_1178[1:0]; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1180 = {{1'd0}, iss_stage__T_1179}; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_1182 = iss_stage__T_1180 == 3'h1; // @[Issue.scala 424:101]
  wire  iss_stage__T_1183 = iss_stage__maskCondSelFRS3_1_4_T_1 | iss_stage__T_1182; // @[Issue.scala 423:93]
  wire  iss_stage__T_1186 = ~iss_stage__T_1183; // @[Issue.scala 422:11]
  wire  iss_stage__T_1187 = iss_stage_bufInfo_0_phy_rs1 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1188 = iss_stage_bufValid_0 & iss_stage__T_1187; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3382 = iss_stage__T_1188 | iss_stage__GEN_2460; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3383 = iss_stage__T_1188 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2464; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1192 = iss_stage_bufInfo_0_phy_rs2 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1193 = iss_stage_bufValid_0 & iss_stage__T_1192; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3384 = iss_stage__T_1193 | iss_stage__GEN_2468; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3385 = iss_stage__T_1193 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2472; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1197 = iss_stage_bufInfo_1_phy_rs1 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1198 = iss_stage_bufValid_1 & iss_stage__T_1197; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3386 = iss_stage__T_1198 | iss_stage__GEN_2461; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3387 = iss_stage__T_1198 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2465; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1202 = iss_stage_bufInfo_1_phy_rs2 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1203 = iss_stage_bufValid_1 & iss_stage__T_1202; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3388 = iss_stage__T_1203 | iss_stage__GEN_2469; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3389 = iss_stage__T_1203 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2473; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1207 = iss_stage_bufInfo_2_phy_rs1 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1208 = iss_stage_bufValid_2 & iss_stage__T_1207; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3390 = iss_stage__T_1208 | iss_stage__GEN_2462; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3391 = iss_stage__T_1208 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2466; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1212 = iss_stage_bufInfo_2_phy_rs2 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1213 = iss_stage_bufValid_2 & iss_stage__T_1212; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3392 = iss_stage__T_1213 | iss_stage__GEN_2470; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3393 = iss_stage__T_1213 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2474; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1217 = iss_stage_bufInfo_3_phy_rs1 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1218 = iss_stage_bufValid_3 & iss_stage__T_1217; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3394 = iss_stage__T_1218 | iss_stage__GEN_2463; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3395 = iss_stage__T_1218 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2467; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__T_1222 = iss_stage_bufInfo_3_phy_rs2 == iss_stage_io_irgRsp_0_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1223 = iss_stage_bufValid_3 & iss_stage__T_1222; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3396 = iss_stage__T_1223 | iss_stage__GEN_2471; // @[Issue.scala 489:98 491:32]
  wire [64:0] iss_stage__GEN_3397 = iss_stage__T_1223 ? {{1'd0}, iss_stage_io_irgRsp_0_bits_op} : iss_stage__GEN_2475; // @[Issue.scala 489:98 492:32]
  wire  iss_stage__GEN_3398 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3382 : iss_stage__GEN_2460; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3399 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3383 : iss_stage__GEN_2464; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3400 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3384 : iss_stage__GEN_2468; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3401 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3385 : iss_stage__GEN_2472; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3402 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3386 : iss_stage__GEN_2461; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3403 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3387 : iss_stage__GEN_2465; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3404 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3388 : iss_stage__GEN_2469; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3405 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3389 : iss_stage__GEN_2473; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3406 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3390 : iss_stage__GEN_2462; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3407 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3391 : iss_stage__GEN_2466; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3408 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3392 : iss_stage__GEN_2470; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3409 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3393 : iss_stage__GEN_2474; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3410 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3394 : iss_stage__GEN_2463; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3411 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3395 : iss_stage__GEN_2467; // @[Issue.scala 486:33]
  wire  iss_stage__GEN_3412 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3396 : iss_stage__GEN_2471; // @[Issue.scala 486:33]
  wire [64:0] iss_stage__GEN_3413 = iss_stage_io_irgRsp_0_valid ? iss_stage__GEN_3397 : iss_stage__GEN_2475; // @[Issue.scala 486:33]
  wire  iss_stage__T_1227 = iss_stage_bufInfo_0_phy_rs1 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1228 = iss_stage_bufValid_0 & iss_stage__T_1227; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3414 = iss_stage__T_1228 | iss_stage__GEN_3398; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1232 = iss_stage_bufInfo_0_phy_rs2 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1233 = iss_stage_bufValid_0 & iss_stage__T_1232; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3416 = iss_stage__T_1233 | iss_stage__GEN_3400; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1237 = iss_stage_bufInfo_1_phy_rs1 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1238 = iss_stage_bufValid_1 & iss_stage__T_1237; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3418 = iss_stage__T_1238 | iss_stage__GEN_3402; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1242 = iss_stage_bufInfo_1_phy_rs2 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1243 = iss_stage_bufValid_1 & iss_stage__T_1242; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3420 = iss_stage__T_1243 | iss_stage__GEN_3404; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1247 = iss_stage_bufInfo_2_phy_rs1 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1248 = iss_stage_bufValid_2 & iss_stage__T_1247; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3422 = iss_stage__T_1248 | iss_stage__GEN_3406; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1252 = iss_stage_bufInfo_2_phy_rs2 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1253 = iss_stage_bufValid_2 & iss_stage__T_1252; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3424 = iss_stage__T_1253 | iss_stage__GEN_3408; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1257 = iss_stage_bufInfo_3_phy_rs1 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1258 = iss_stage_bufValid_3 & iss_stage__T_1257; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3426 = iss_stage__T_1258 | iss_stage__GEN_3410; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__T_1262 = iss_stage_bufInfo_3_phy_rs2 == iss_stage_io_irgRsp_1_bits_phy; // @[Issue.scala 489:49]
  wire  iss_stage__T_1263 = iss_stage_bufValid_3 & iss_stage__T_1262; // @[Issue.scala 489:29]
  wire  iss_stage__GEN_3428 = iss_stage__T_1263 | iss_stage__GEN_3412; // @[Issue.scala 489:98 491:32]
  wire  iss_stage__postIsOpReady_0_0_T_16 = iss_stage__canIOpReq_0_0_T_8 | iss_stage_isOpReady_0_0; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_0_0_T_17 = iss_stage__canIOpReq_0_0_T_6 | iss_stage__postIsOpReady_0_0_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_0_1_T_16 = iss_stage__canIOpReq_0_1_T_8 | iss_stage_isOpReady_0_1; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_0_1_T_17 = iss_stage__canIOpReq_0_1_T_6 | iss_stage__postIsOpReady_0_1_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_0_0_T_16 = iss_stage__canIOpReq_0_0_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_0_0; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_0_0_T_17 = iss_stage__canIOpReq_0_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_0_0_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_0_1_T_16 = iss_stage__canIOpReq_0_1_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_0_1; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_0_1_T_17 = iss_stage__canIOpReq_0_1_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_0_1_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_1_0_T_16 = iss_stage__canIOpReq_1_0_T_8 | iss_stage_isOpReady_1_0; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_1_0_T_17 = iss_stage__canIOpReq_1_0_T_6 | iss_stage__postIsOpReady_1_0_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_1_1_T_16 = iss_stage__canIOpReq_1_1_T_8 | iss_stage_isOpReady_1_1; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_1_1_T_17 = iss_stage__canIOpReq_1_1_T_6 | iss_stage__postIsOpReady_1_1_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_1_0_T_16 = iss_stage__canIOpReq_1_0_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_1_0; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_1_0_T_17 = iss_stage__canIOpReq_1_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_1_0_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_1_1_T_16 = iss_stage__canIOpReq_1_1_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_1_1; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_1_1_T_17 = iss_stage__canIOpReq_1_1_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_1_1_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_2_0_T_16 = iss_stage__canIOpReq_2_0_T_8 | iss_stage_isOpReady_2_0; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_2_0_T_17 = iss_stage__canIOpReq_2_0_T_6 | iss_stage__postIsOpReady_2_0_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_2_1_T_16 = iss_stage__canIOpReq_2_1_T_8 | iss_stage_isOpReady_2_1; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_2_1_T_17 = iss_stage__canIOpReq_2_1_T_6 | iss_stage__postIsOpReady_2_1_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_2_0_T_16 = iss_stage__canIOpReq_2_0_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_2_0; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_2_0_T_17 = iss_stage__canIOpReq_2_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_2_0_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_2_1_T_16 = iss_stage__canIOpReq_2_1_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_2_1; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_2_1_T_17 = iss_stage__canIOpReq_2_1_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_2_1_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_3_0_T_16 = iss_stage__canIOpReq_3_0_T_8 | iss_stage_isOpReady_3_0; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_3_0_T_17 = iss_stage__canIOpReq_3_0_T_6 | iss_stage__postIsOpReady_3_0_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_3_1_T_16 = iss_stage__canIOpReq_3_1_T_8 | iss_stage_isOpReady_3_1; // @[Mux.scala 101:16]
  wire  iss_stage__postIsOpReady_3_1_T_17 = iss_stage__canIOpReq_3_1_T_6 | iss_stage__postIsOpReady_3_1_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_3_0_T_16 = iss_stage__canIOpReq_3_0_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_3_0; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_3_0_T_17 = iss_stage__canIOpReq_3_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_3_0_T_16; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_3_1_T_16 = iss_stage__canIOpReq_3_1_T_8 ? {{1'd0},
    iss_stage_io_irgRsp_1_bits_op} : iss_stage_bufOperator_3_1; // @[Mux.scala 101:16]
  wire [64:0] iss_stage__postBufOperator_3_1_T_17 = iss_stage__canIOpReq_3_1_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_3_1_T_16; // @[Mux.scala 101:16]
  wire  iss_stage__aluIssInfo_res_fun_add_T = iss_stage_bufInfo_0_alu_isa_addi | iss_stage_bufInfo_0_alu_isa_addiw; // @[riscv_isa.scala 69:25]
  wire  iss_stage__aluIssInfo_res_fun_add_T_1 = iss_stage__aluIssInfo_res_fun_add_T | iss_stage_bufInfo_0_alu_isa_add; // @[riscv_isa.scala 69:33]
  wire  iss_stage__aluIssInfo_res_fun_add_T_2 = iss_stage__aluIssInfo_res_fun_add_T_1 | iss_stage_bufInfo_0_alu_isa_addw
    ; // @[riscv_isa.scala 69:39]
  wire  iss_stage__aluIssInfo_res_fun_add_T_3 = iss_stage__aluIssInfo_res_fun_add_T_2 | iss_stage_bufInfo_0_alu_isa_lui; // @[riscv_isa.scala 69:46]
  wire  iss_stage__aluIssInfo_res_fun_add_T_4 = iss_stage__aluIssInfo_res_fun_add_T_3 |
    iss_stage_bufInfo_0_alu_isa_auipc; // @[riscv_isa.scala 69:52]
  wire  iss_stage__aluIssInfo_res_fun_add_T_5 = iss_stage__aluIssInfo_res_fun_add_T_4 | iss_stage_bufInfo_0_alu_isa_sub; // @[riscv_isa.scala 69:60]
  wire  iss_stage__aluIssInfo_res_fun_add_T_6 = iss_stage__aluIssInfo_res_fun_add_T_5 | iss_stage_bufInfo_0_alu_isa_subw
    ; // @[riscv_isa.scala 69:66]
  wire  iss_stage__aluIssInfo_res_fun_add_T_7 = iss_stage__aluIssInfo_res_fun_add_T_6 | iss_stage_bufInfo_0_alu_isa_wfi; // @[riscv_isa.scala 69:73]
  wire  iss_stage__aluIssInfo_res_fun_slt_T = iss_stage_bufInfo_0_alu_isa_slti | iss_stage_bufInfo_0_alu_isa_sltiu; // @[riscv_isa.scala 70:25]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_1 = iss_stage__aluIssInfo_res_fun_slt_T | iss_stage_bufInfo_0_alu_isa_slt; // @[riscv_isa.scala 70:33]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_2 = iss_stage__aluIssInfo_res_fun_slt_T_1 | iss_stage_bufInfo_0_alu_isa_sltu
    ; // @[riscv_isa.scala 70:39]
  wire  iss_stage__aluIssInfo_res_fun_xor_T = iss_stage_bufInfo_0_alu_isa_xori | iss_stage_bufInfo_0_alu_isa_xor; // @[riscv_isa.scala 71:25]
  wire  iss_stage__aluIssInfo_res_fun_or_T = iss_stage_bufInfo_0_alu_isa_ori | iss_stage_bufInfo_0_alu_isa_or; // @[riscv_isa.scala 72:24]
  wire  iss_stage__aluIssInfo_res_fun_and_T = iss_stage_bufInfo_0_alu_isa_andi | iss_stage_bufInfo_0_alu_isa_and; // @[riscv_isa.scala 73:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T = iss_stage_bufInfo_0_alu_isa_slli | iss_stage_bufInfo_0_alu_isa_slliw; // @[riscv_isa.scala 74:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_1 = iss_stage__aluIssInfo_res_fun_sll_T | iss_stage_bufInfo_0_alu_isa_sll; // @[riscv_isa.scala 74:33]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_2 = iss_stage__aluIssInfo_res_fun_sll_T_1 | iss_stage_bufInfo_0_alu_isa_sllw
    ; // @[riscv_isa.scala 74:39]
  wire  iss_stage__aluIssInfo_res_fun_srl_T = iss_stage_bufInfo_0_alu_isa_srli | iss_stage_bufInfo_0_alu_isa_srliw; // @[riscv_isa.scala 75:25]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_1 = iss_stage__aluIssInfo_res_fun_srl_T | iss_stage_bufInfo_0_alu_isa_srl; // @[riscv_isa.scala 75:33]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_2 = iss_stage__aluIssInfo_res_fun_srl_T_1 | iss_stage_bufInfo_0_alu_isa_srlw
    ; // @[riscv_isa.scala 75:39]
  wire  iss_stage__aluIssInfo_res_fun_sra_T = iss_stage_bufInfo_0_alu_isa_srai | iss_stage_bufInfo_0_alu_isa_sraiw; // @[riscv_isa.scala 76:25]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_1 = iss_stage__aluIssInfo_res_fun_sra_T | iss_stage_bufInfo_0_alu_isa_sra; // @[riscv_isa.scala 76:33]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_2 = iss_stage__aluIssInfo_res_fun_sra_T_1 | iss_stage_bufInfo_0_alu_isa_sraw
    ; // @[riscv_isa.scala 76:39]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T = iss_stage_bufInfo_0_alu_isa_addiw | iss_stage_bufInfo_0_alu_isa_addw; // @[riscv_isa.scala 65:22]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_1 = iss_stage__aluIssInfo_res_param_is_32w_T |
    iss_stage_bufInfo_0_alu_isa_subw; // @[riscv_isa.scala 65:29]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_2 = iss_stage__aluIssInfo_res_param_is_32w_T_1 |
    iss_stage_bufInfo_0_alu_isa_slliw; // @[riscv_isa.scala 65:36]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_3 = iss_stage__aluIssInfo_res_param_is_32w_T_2 |
    iss_stage_bufInfo_0_alu_isa_sllw; // @[riscv_isa.scala 65:44]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_4 = iss_stage__aluIssInfo_res_param_is_32w_T_3 |
    iss_stage_bufInfo_0_alu_isa_srliw; // @[riscv_isa.scala 65:51]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_5 = iss_stage__aluIssInfo_res_param_is_32w_T_4 |
    iss_stage_bufInfo_0_alu_isa_srlw; // @[riscv_isa.scala 65:59]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_6 = iss_stage__aluIssInfo_res_param_is_32w_T_5 |
    iss_stage_bufInfo_0_alu_isa_sraiw; // @[riscv_isa.scala 65:66]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_7 = iss_stage__aluIssInfo_res_param_is_32w_T_6 |
    iss_stage_bufInfo_0_alu_isa_sraw; // @[riscv_isa.scala 65:74]
  wire  iss_stage__aluIssInfo_res_param_is_usi_T = iss_stage_bufInfo_0_alu_isa_sltiu | iss_stage_bufInfo_0_alu_isa_sltu; // @[riscv_isa.scala 66:22]
  wire  iss_stage__aluIssInfo_res_param_dat_op1_v64_T = iss_stage_bufInfo_0_param_pc[38]; // @[Util.scala 47:31]
  wire [24:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_2 = iss_stage__aluIssInfo_res_param_dat_op1_v64_T ? 25'h1ffffff
     : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_4 = {iss_stage__aluIssInfo_res_param_dat_op1_v64_T_2,
    iss_stage_bufInfo_0_param_pc}; // @[Cat.scala 33:92]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_T_1 = iss_stage_bufInfo_0_alu_isa_auipc ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_2 = iss_stage_bufInfo_0_alu_isa_addi ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_3 = iss_stage_bufInfo_0_alu_isa_addiw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_4 = iss_stage_bufInfo_0_alu_isa_slti ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_5 = iss_stage_bufInfo_0_alu_isa_sltiu ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_6 = iss_stage_bufInfo_0_alu_isa_xori ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_7 = iss_stage_bufInfo_0_alu_isa_ori ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_8 = iss_stage_bufInfo_0_alu_isa_andi ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_9 = iss_stage_bufInfo_0_alu_isa_slli ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_10 = iss_stage_bufInfo_0_alu_isa_slliw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_11 = iss_stage_bufInfo_0_alu_isa_srli ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_12 = iss_stage_bufInfo_0_alu_isa_srliw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_13 = iss_stage_bufInfo_0_alu_isa_srai ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_14 = iss_stage_bufInfo_0_alu_isa_sraiw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_15 = iss_stage_bufInfo_0_alu_isa_add ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_16 = iss_stage_bufInfo_0_alu_isa_addw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_17 = iss_stage_bufInfo_0_alu_isa_sub ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_18 = iss_stage_bufInfo_0_alu_isa_subw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_19 = iss_stage_bufInfo_0_alu_isa_sll ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_20 = iss_stage_bufInfo_0_alu_isa_sllw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_21 = iss_stage_bufInfo_0_alu_isa_slt ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_22 = iss_stage_bufInfo_0_alu_isa_sltu ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_23 = iss_stage_bufInfo_0_alu_isa_xor ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_24 = iss_stage_bufInfo_0_alu_isa_srl ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_25 = iss_stage_bufInfo_0_alu_isa_srlw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_26 = iss_stage_bufInfo_0_alu_isa_sra ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_27 = iss_stage_bufInfo_0_alu_isa_sraw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_28 = iss_stage_bufInfo_0_alu_isa_or ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_29 = iss_stage_bufInfo_0_alu_isa_and ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_275 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op1_T_1}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_32 = _GEN_275 | iss_stage__aluIssInfo_res_param_dat_op1_T_2; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_33 = iss_stage__aluIssInfo_res_param_dat_op1_T_32 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_3; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_34 = iss_stage__aluIssInfo_res_param_dat_op1_T_33 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_4; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_35 = iss_stage__aluIssInfo_res_param_dat_op1_T_34 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_5; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_36 = iss_stage__aluIssInfo_res_param_dat_op1_T_35 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_6; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_37 = iss_stage__aluIssInfo_res_param_dat_op1_T_36 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_7; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_38 = iss_stage__aluIssInfo_res_param_dat_op1_T_37 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_8; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_39 = iss_stage__aluIssInfo_res_param_dat_op1_T_38 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_9; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_40 = iss_stage__aluIssInfo_res_param_dat_op1_T_39 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_10; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_41 = iss_stage__aluIssInfo_res_param_dat_op1_T_40 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_11; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_42 = iss_stage__aluIssInfo_res_param_dat_op1_T_41 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_12; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_43 = iss_stage__aluIssInfo_res_param_dat_op1_T_42 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_13; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_44 = iss_stage__aluIssInfo_res_param_dat_op1_T_43 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_14; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_45 = iss_stage__aluIssInfo_res_param_dat_op1_T_44 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_15; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_46 = iss_stage__aluIssInfo_res_param_dat_op1_T_45 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_16; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_47 = iss_stage__aluIssInfo_res_param_dat_op1_T_46 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_17; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_48 = iss_stage__aluIssInfo_res_param_dat_op1_T_47 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_18; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_49 = iss_stage__aluIssInfo_res_param_dat_op1_T_48 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_19; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_50 = iss_stage__aluIssInfo_res_param_dat_op1_T_49 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_20; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_51 = iss_stage__aluIssInfo_res_param_dat_op1_T_50 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_21; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_52 = iss_stage__aluIssInfo_res_param_dat_op1_T_51 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_22; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_53 = iss_stage__aluIssInfo_res_param_dat_op1_T_52 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_23; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_54 = iss_stage__aluIssInfo_res_param_dat_op1_T_53 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_24; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_55 = iss_stage__aluIssInfo_res_param_dat_op1_T_54 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_25; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_56 = iss_stage__aluIssInfo_res_param_dat_op1_T_55 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_26; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_57 = iss_stage__aluIssInfo_res_param_dat_op1_T_56 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_27; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_58 = iss_stage__aluIssInfo_res_param_dat_op1_T_57 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_28; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_59 = iss_stage__aluIssInfo_res_param_dat_op1_T_58 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_29; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T = iss_stage_bufInfo_0_param_imm[5:0]; // @[Issue.scala 582:122]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_6 = ~iss_stage__postBufOperator_0_1_T_17; // @[Issue.scala 586:101]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_8 = iss_stage__aluIssInfo_res_param_dat_op2_T_6 + 65'h1; // @[Issue.scala 586:107]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_12 = iss_stage_bufInfo_0_alu_isa_lui ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_13 = iss_stage_bufInfo_0_alu_isa_auipc ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_14 = iss_stage_bufInfo_0_alu_isa_addi ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_15 = iss_stage_bufInfo_0_alu_isa_addiw ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_16 = iss_stage_bufInfo_0_alu_isa_slti ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_17 = iss_stage_bufInfo_0_alu_isa_sltiu ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_18 = iss_stage_bufInfo_0_alu_isa_xori ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_19 = iss_stage_bufInfo_0_alu_isa_ori ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_20 = iss_stage_bufInfo_0_alu_isa_andi ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_21 = iss_stage_bufInfo_0_alu_isa_slli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_22 = iss_stage_bufInfo_0_alu_isa_slliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_23 = iss_stage_bufInfo_0_alu_isa_srli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_24 = iss_stage_bufInfo_0_alu_isa_srliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_25 = iss_stage_bufInfo_0_alu_isa_srai ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_26 = iss_stage_bufInfo_0_alu_isa_sraiw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T : 6'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_27 = iss_stage_bufInfo_0_alu_isa_add ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_28 = iss_stage_bufInfo_0_alu_isa_addw ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_29 = iss_stage_bufInfo_0_alu_isa_sub ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_8 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_30 = iss_stage_bufInfo_0_alu_isa_subw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_8 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_31 = iss_stage_bufInfo_0_alu_isa_sll ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_32 = iss_stage_bufInfo_0_alu_isa_sllw ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_33 = iss_stage_bufInfo_0_alu_isa_slt ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_34 = iss_stage_bufInfo_0_alu_isa_sltu ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_35 = iss_stage_bufInfo_0_alu_isa_xor ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_36 = iss_stage_bufInfo_0_alu_isa_srl ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_37 = iss_stage_bufInfo_0_alu_isa_srlw ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_38 = iss_stage_bufInfo_0_alu_isa_sra ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_39 = iss_stage_bufInfo_0_alu_isa_sraw ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_40 = iss_stage_bufInfo_0_alu_isa_or ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_41 = iss_stage_bufInfo_0_alu_isa_and ?
    iss_stage__postBufOperator_0_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_43 = iss_stage__aluIssInfo_res_param_dat_op2_T_12 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_13; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_44 = iss_stage__aluIssInfo_res_param_dat_op2_T_43 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_14; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_45 = iss_stage__aluIssInfo_res_param_dat_op2_T_44 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_15; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_46 = iss_stage__aluIssInfo_res_param_dat_op2_T_45 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_16; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_47 = iss_stage__aluIssInfo_res_param_dat_op2_T_46 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_17; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_48 = iss_stage__aluIssInfo_res_param_dat_op2_T_47 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_18; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_49 = iss_stage__aluIssInfo_res_param_dat_op2_T_48 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_19; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_50 = iss_stage__aluIssInfo_res_param_dat_op2_T_49 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_20; // @[Mux.scala 27:73]
  wire [63:0] _GEN_276 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_21}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_51 = iss_stage__aluIssInfo_res_param_dat_op2_T_50 | _GEN_276; // @[Mux.scala 27:73]
  wire [63:0] _GEN_277 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_22}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_52 = iss_stage__aluIssInfo_res_param_dat_op2_T_51 | _GEN_277; // @[Mux.scala 27:73]
  wire [63:0] _GEN_278 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_23}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_53 = iss_stage__aluIssInfo_res_param_dat_op2_T_52 | _GEN_278; // @[Mux.scala 27:73]
  wire [63:0] _GEN_279 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_24}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_54 = iss_stage__aluIssInfo_res_param_dat_op2_T_53 | _GEN_279; // @[Mux.scala 27:73]
  wire [63:0] _GEN_280 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_25}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_55 = iss_stage__aluIssInfo_res_param_dat_op2_T_54 | _GEN_280; // @[Mux.scala 27:73]
  wire [63:0] _GEN_281 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_26}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_56 = iss_stage__aluIssInfo_res_param_dat_op2_T_55 | _GEN_281; // @[Mux.scala 27:73]
  wire [64:0] _GEN_282 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_56}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_57 = _GEN_282 | iss_stage__aluIssInfo_res_param_dat_op2_T_27; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_58 = iss_stage__aluIssInfo_res_param_dat_op2_T_57 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_28; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_59 = iss_stage__aluIssInfo_res_param_dat_op2_T_58 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_29; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_60 = iss_stage__aluIssInfo_res_param_dat_op2_T_59 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_30; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_61 = iss_stage__aluIssInfo_res_param_dat_op2_T_60 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_31; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_62 = iss_stage__aluIssInfo_res_param_dat_op2_T_61 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_32; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_63 = iss_stage__aluIssInfo_res_param_dat_op2_T_62 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_33; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_64 = iss_stage__aluIssInfo_res_param_dat_op2_T_63 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_34; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_65 = iss_stage__aluIssInfo_res_param_dat_op2_T_64 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_35; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_66 = iss_stage__aluIssInfo_res_param_dat_op2_T_65 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_36; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_67 = iss_stage__aluIssInfo_res_param_dat_op2_T_66 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_37; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_68 = iss_stage__aluIssInfo_res_param_dat_op2_T_67 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_38; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_69 = iss_stage__aluIssInfo_res_param_dat_op2_T_68 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_39; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_70 = iss_stage__aluIssInfo_res_param_dat_op2_T_69 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_40; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_71 = iss_stage__aluIssInfo_res_param_dat_op2_T_70 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_41; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssInfo_res_fun_add_T_8 = iss_stage_bufInfo_1_alu_isa_addi | iss_stage_bufInfo_1_alu_isa_addiw; // @[riscv_isa.scala 69:25]
  wire  iss_stage__aluIssInfo_res_fun_add_T_9 = iss_stage__aluIssInfo_res_fun_add_T_8 | iss_stage_bufInfo_1_alu_isa_add; // @[riscv_isa.scala 69:33]
  wire  iss_stage__aluIssInfo_res_fun_add_T_10 = iss_stage__aluIssInfo_res_fun_add_T_9 |
    iss_stage_bufInfo_1_alu_isa_addw; // @[riscv_isa.scala 69:39]
  wire  iss_stage__aluIssInfo_res_fun_add_T_11 = iss_stage__aluIssInfo_res_fun_add_T_10 |
    iss_stage_bufInfo_1_alu_isa_lui; // @[riscv_isa.scala 69:46]
  wire  iss_stage__aluIssInfo_res_fun_add_T_12 = iss_stage__aluIssInfo_res_fun_add_T_11 |
    iss_stage_bufInfo_1_alu_isa_auipc; // @[riscv_isa.scala 69:52]
  wire  iss_stage__aluIssInfo_res_fun_add_T_13 = iss_stage__aluIssInfo_res_fun_add_T_12 |
    iss_stage_bufInfo_1_alu_isa_sub; // @[riscv_isa.scala 69:60]
  wire  iss_stage__aluIssInfo_res_fun_add_T_14 = iss_stage__aluIssInfo_res_fun_add_T_13 |
    iss_stage_bufInfo_1_alu_isa_subw; // @[riscv_isa.scala 69:66]
  wire  iss_stage__aluIssInfo_res_fun_add_T_15 = iss_stage__aluIssInfo_res_fun_add_T_14 |
    iss_stage_bufInfo_1_alu_isa_wfi; // @[riscv_isa.scala 69:73]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_3 = iss_stage_bufInfo_1_alu_isa_slti | iss_stage_bufInfo_1_alu_isa_sltiu; // @[riscv_isa.scala 70:25]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_4 = iss_stage__aluIssInfo_res_fun_slt_T_3 | iss_stage_bufInfo_1_alu_isa_slt; // @[riscv_isa.scala 70:33]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_5 = iss_stage__aluIssInfo_res_fun_slt_T_4 | iss_stage_bufInfo_1_alu_isa_sltu
    ; // @[riscv_isa.scala 70:39]
  wire  iss_stage__aluIssInfo_res_fun_xor_T_1 = iss_stage_bufInfo_1_alu_isa_xori | iss_stage_bufInfo_1_alu_isa_xor; // @[riscv_isa.scala 71:25]
  wire  iss_stage__aluIssInfo_res_fun_or_T_1 = iss_stage_bufInfo_1_alu_isa_ori | iss_stage_bufInfo_1_alu_isa_or; // @[riscv_isa.scala 72:24]
  wire  iss_stage__aluIssInfo_res_fun_and_T_1 = iss_stage_bufInfo_1_alu_isa_andi | iss_stage_bufInfo_1_alu_isa_and; // @[riscv_isa.scala 73:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_3 = iss_stage_bufInfo_1_alu_isa_slli | iss_stage_bufInfo_1_alu_isa_slliw; // @[riscv_isa.scala 74:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_4 = iss_stage__aluIssInfo_res_fun_sll_T_3 | iss_stage_bufInfo_1_alu_isa_sll; // @[riscv_isa.scala 74:33]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_5 = iss_stage__aluIssInfo_res_fun_sll_T_4 | iss_stage_bufInfo_1_alu_isa_sllw
    ; // @[riscv_isa.scala 74:39]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_3 = iss_stage_bufInfo_1_alu_isa_srli | iss_stage_bufInfo_1_alu_isa_srliw; // @[riscv_isa.scala 75:25]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_4 = iss_stage__aluIssInfo_res_fun_srl_T_3 | iss_stage_bufInfo_1_alu_isa_srl; // @[riscv_isa.scala 75:33]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_5 = iss_stage__aluIssInfo_res_fun_srl_T_4 | iss_stage_bufInfo_1_alu_isa_srlw
    ; // @[riscv_isa.scala 75:39]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_3 = iss_stage_bufInfo_1_alu_isa_srai | iss_stage_bufInfo_1_alu_isa_sraiw; // @[riscv_isa.scala 76:25]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_4 = iss_stage__aluIssInfo_res_fun_sra_T_3 | iss_stage_bufInfo_1_alu_isa_sra; // @[riscv_isa.scala 76:33]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_5 = iss_stage__aluIssInfo_res_fun_sra_T_4 | iss_stage_bufInfo_1_alu_isa_sraw
    ; // @[riscv_isa.scala 76:39]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_8 = iss_stage_bufInfo_1_alu_isa_addiw |
    iss_stage_bufInfo_1_alu_isa_addw; // @[riscv_isa.scala 65:22]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_9 = iss_stage__aluIssInfo_res_param_is_32w_T_8 |
    iss_stage_bufInfo_1_alu_isa_subw; // @[riscv_isa.scala 65:29]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_10 = iss_stage__aluIssInfo_res_param_is_32w_T_9 |
    iss_stage_bufInfo_1_alu_isa_slliw; // @[riscv_isa.scala 65:36]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_11 = iss_stage__aluIssInfo_res_param_is_32w_T_10 |
    iss_stage_bufInfo_1_alu_isa_sllw; // @[riscv_isa.scala 65:44]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_12 = iss_stage__aluIssInfo_res_param_is_32w_T_11 |
    iss_stage_bufInfo_1_alu_isa_srliw; // @[riscv_isa.scala 65:51]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_13 = iss_stage__aluIssInfo_res_param_is_32w_T_12 |
    iss_stage_bufInfo_1_alu_isa_srlw; // @[riscv_isa.scala 65:59]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_14 = iss_stage__aluIssInfo_res_param_is_32w_T_13 |
    iss_stage_bufInfo_1_alu_isa_sraiw; // @[riscv_isa.scala 65:66]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_15 = iss_stage__aluIssInfo_res_param_is_32w_T_14 |
    iss_stage_bufInfo_1_alu_isa_sraw; // @[riscv_isa.scala 65:74]
  wire  iss_stage__aluIssInfo_res_param_is_usi_T_1 = iss_stage_bufInfo_1_alu_isa_sltiu |
    iss_stage_bufInfo_1_alu_isa_sltu; // @[riscv_isa.scala 66:22]
  wire  iss_stage__aluIssInfo_res_param_dat_op1_v64_T_5 = iss_stage_bufInfo_1_param_pc[38]; // @[Util.scala 47:31]
  wire [24:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_7 = iss_stage__aluIssInfo_res_param_dat_op1_v64_T_5 ? 25'h1ffffff
     : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_9 = {iss_stage__aluIssInfo_res_param_dat_op1_v64_T_7,
    iss_stage_bufInfo_1_param_pc}; // @[Cat.scala 33:92]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_T_62 = iss_stage_bufInfo_1_alu_isa_auipc ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_9 : 64'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_63 = iss_stage_bufInfo_1_alu_isa_addi ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_64 = iss_stage_bufInfo_1_alu_isa_addiw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_65 = iss_stage_bufInfo_1_alu_isa_slti ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_66 = iss_stage_bufInfo_1_alu_isa_sltiu ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_67 = iss_stage_bufInfo_1_alu_isa_xori ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_68 = iss_stage_bufInfo_1_alu_isa_ori ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_69 = iss_stage_bufInfo_1_alu_isa_andi ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_70 = iss_stage_bufInfo_1_alu_isa_slli ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_71 = iss_stage_bufInfo_1_alu_isa_slliw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_72 = iss_stage_bufInfo_1_alu_isa_srli ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_73 = iss_stage_bufInfo_1_alu_isa_srliw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_74 = iss_stage_bufInfo_1_alu_isa_srai ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_75 = iss_stage_bufInfo_1_alu_isa_sraiw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_76 = iss_stage_bufInfo_1_alu_isa_add ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_77 = iss_stage_bufInfo_1_alu_isa_addw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_78 = iss_stage_bufInfo_1_alu_isa_sub ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_79 = iss_stage_bufInfo_1_alu_isa_subw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_80 = iss_stage_bufInfo_1_alu_isa_sll ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_81 = iss_stage_bufInfo_1_alu_isa_sllw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_82 = iss_stage_bufInfo_1_alu_isa_slt ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_83 = iss_stage_bufInfo_1_alu_isa_sltu ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_84 = iss_stage_bufInfo_1_alu_isa_xor ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_85 = iss_stage_bufInfo_1_alu_isa_srl ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_86 = iss_stage_bufInfo_1_alu_isa_srlw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_87 = iss_stage_bufInfo_1_alu_isa_sra ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_88 = iss_stage_bufInfo_1_alu_isa_sraw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_89 = iss_stage_bufInfo_1_alu_isa_or ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_90 = iss_stage_bufInfo_1_alu_isa_and ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_283 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op1_T_62}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_93 = _GEN_283 | iss_stage__aluIssInfo_res_param_dat_op1_T_63; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_94 = iss_stage__aluIssInfo_res_param_dat_op1_T_93 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_64; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_95 = iss_stage__aluIssInfo_res_param_dat_op1_T_94 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_65; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_96 = iss_stage__aluIssInfo_res_param_dat_op1_T_95 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_66; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_97 = iss_stage__aluIssInfo_res_param_dat_op1_T_96 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_67; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_98 = iss_stage__aluIssInfo_res_param_dat_op1_T_97 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_68; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_99 = iss_stage__aluIssInfo_res_param_dat_op1_T_98 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_69; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_100 = iss_stage__aluIssInfo_res_param_dat_op1_T_99 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_70; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_101 = iss_stage__aluIssInfo_res_param_dat_op1_T_100 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_71; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_102 = iss_stage__aluIssInfo_res_param_dat_op1_T_101 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_72; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_103 = iss_stage__aluIssInfo_res_param_dat_op1_T_102 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_73; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_104 = iss_stage__aluIssInfo_res_param_dat_op1_T_103 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_74; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_105 = iss_stage__aluIssInfo_res_param_dat_op1_T_104 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_75; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_106 = iss_stage__aluIssInfo_res_param_dat_op1_T_105 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_76; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_107 = iss_stage__aluIssInfo_res_param_dat_op1_T_106 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_77; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_108 = iss_stage__aluIssInfo_res_param_dat_op1_T_107 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_78; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_109 = iss_stage__aluIssInfo_res_param_dat_op1_T_108 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_79; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_110 = iss_stage__aluIssInfo_res_param_dat_op1_T_109 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_80; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_111 = iss_stage__aluIssInfo_res_param_dat_op1_T_110 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_81; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_112 = iss_stage__aluIssInfo_res_param_dat_op1_T_111 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_82; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_113 = iss_stage__aluIssInfo_res_param_dat_op1_T_112 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_83; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_114 = iss_stage__aluIssInfo_res_param_dat_op1_T_113 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_84; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_115 = iss_stage__aluIssInfo_res_param_dat_op1_T_114 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_85; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_116 = iss_stage__aluIssInfo_res_param_dat_op1_T_115 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_86; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_117 = iss_stage__aluIssInfo_res_param_dat_op1_T_116 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_87; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_118 = iss_stage__aluIssInfo_res_param_dat_op1_T_117 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_88; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_119 = iss_stage__aluIssInfo_res_param_dat_op1_T_118 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_89; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_120 = iss_stage__aluIssInfo_res_param_dat_op1_T_119 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_90; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_73 = iss_stage_bufInfo_1_param_imm[5:0]; // @[Issue.scala 582:122]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_79 = ~iss_stage__postBufOperator_1_1_T_17; // @[Issue.scala 586:101]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_81 = iss_stage__aluIssInfo_res_param_dat_op2_T_79 + 65'h1; // @[Issue.scala 586:107]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_85 = iss_stage_bufInfo_1_alu_isa_lui ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_86 = iss_stage_bufInfo_1_alu_isa_auipc ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_87 = iss_stage_bufInfo_1_alu_isa_addi ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_88 = iss_stage_bufInfo_1_alu_isa_addiw ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_89 = iss_stage_bufInfo_1_alu_isa_slti ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_90 = iss_stage_bufInfo_1_alu_isa_sltiu ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_91 = iss_stage_bufInfo_1_alu_isa_xori ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_92 = iss_stage_bufInfo_1_alu_isa_ori ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_93 = iss_stage_bufInfo_1_alu_isa_andi ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_94 = iss_stage_bufInfo_1_alu_isa_slli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_95 = iss_stage_bufInfo_1_alu_isa_slliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_96 = iss_stage_bufInfo_1_alu_isa_srli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_97 = iss_stage_bufInfo_1_alu_isa_srliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_98 = iss_stage_bufInfo_1_alu_isa_srai ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_99 = iss_stage_bufInfo_1_alu_isa_sraiw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_73 : 6'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_100 = iss_stage_bufInfo_1_alu_isa_add ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_101 = iss_stage_bufInfo_1_alu_isa_addw ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_102 = iss_stage_bufInfo_1_alu_isa_sub ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_81 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_103 = iss_stage_bufInfo_1_alu_isa_subw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_81 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_104 = iss_stage_bufInfo_1_alu_isa_sll ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_105 = iss_stage_bufInfo_1_alu_isa_sllw ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_106 = iss_stage_bufInfo_1_alu_isa_slt ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_107 = iss_stage_bufInfo_1_alu_isa_sltu ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_108 = iss_stage_bufInfo_1_alu_isa_xor ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_109 = iss_stage_bufInfo_1_alu_isa_srl ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_110 = iss_stage_bufInfo_1_alu_isa_srlw ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_111 = iss_stage_bufInfo_1_alu_isa_sra ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_112 = iss_stage_bufInfo_1_alu_isa_sraw ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_113 = iss_stage_bufInfo_1_alu_isa_or ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_114 = iss_stage_bufInfo_1_alu_isa_and ?
    iss_stage__postBufOperator_1_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_116 = iss_stage__aluIssInfo_res_param_dat_op2_T_85 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_86; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_117 = iss_stage__aluIssInfo_res_param_dat_op2_T_116 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_87; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_118 = iss_stage__aluIssInfo_res_param_dat_op2_T_117 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_88; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_119 = iss_stage__aluIssInfo_res_param_dat_op2_T_118 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_89; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_120 = iss_stage__aluIssInfo_res_param_dat_op2_T_119 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_90; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_121 = iss_stage__aluIssInfo_res_param_dat_op2_T_120 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_91; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_122 = iss_stage__aluIssInfo_res_param_dat_op2_T_121 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_92; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_123 = iss_stage__aluIssInfo_res_param_dat_op2_T_122 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_93; // @[Mux.scala 27:73]
  wire [63:0] _GEN_284 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_94}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_124 = iss_stage__aluIssInfo_res_param_dat_op2_T_123 | _GEN_284; // @[Mux.scala 27:73]
  wire [63:0] _GEN_285 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_95}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_125 = iss_stage__aluIssInfo_res_param_dat_op2_T_124 | _GEN_285; // @[Mux.scala 27:73]
  wire [63:0] _GEN_286 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_96}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_126 = iss_stage__aluIssInfo_res_param_dat_op2_T_125 | _GEN_286; // @[Mux.scala 27:73]
  wire [63:0] _GEN_287 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_97}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_127 = iss_stage__aluIssInfo_res_param_dat_op2_T_126 | _GEN_287; // @[Mux.scala 27:73]
  wire [63:0] _GEN_288 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_98}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_128 = iss_stage__aluIssInfo_res_param_dat_op2_T_127 | _GEN_288; // @[Mux.scala 27:73]
  wire [63:0] _GEN_289 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_99}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_129 = iss_stage__aluIssInfo_res_param_dat_op2_T_128 | _GEN_289; // @[Mux.scala 27:73]
  wire [64:0] _GEN_290 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_129}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_130 = _GEN_290 | iss_stage__aluIssInfo_res_param_dat_op2_T_100; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_131 = iss_stage__aluIssInfo_res_param_dat_op2_T_130 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_101; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_132 = iss_stage__aluIssInfo_res_param_dat_op2_T_131 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_102; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_133 = iss_stage__aluIssInfo_res_param_dat_op2_T_132 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_103; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_134 = iss_stage__aluIssInfo_res_param_dat_op2_T_133 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_104; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_135 = iss_stage__aluIssInfo_res_param_dat_op2_T_134 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_105; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_136 = iss_stage__aluIssInfo_res_param_dat_op2_T_135 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_106; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_137 = iss_stage__aluIssInfo_res_param_dat_op2_T_136 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_107; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_138 = iss_stage__aluIssInfo_res_param_dat_op2_T_137 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_108; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_139 = iss_stage__aluIssInfo_res_param_dat_op2_T_138 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_109; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_140 = iss_stage__aluIssInfo_res_param_dat_op2_T_139 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_110; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_141 = iss_stage__aluIssInfo_res_param_dat_op2_T_140 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_111; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_142 = iss_stage__aluIssInfo_res_param_dat_op2_T_141 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_112; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_143 = iss_stage__aluIssInfo_res_param_dat_op2_T_142 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_113; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_144 = iss_stage__aluIssInfo_res_param_dat_op2_T_143 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_114; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssInfo_res_fun_add_T_16 = iss_stage_bufInfo_2_alu_isa_addi | iss_stage_bufInfo_2_alu_isa_addiw; // @[riscv_isa.scala 69:25]
  wire  iss_stage__aluIssInfo_res_fun_add_T_17 = iss_stage__aluIssInfo_res_fun_add_T_16 |
    iss_stage_bufInfo_2_alu_isa_add; // @[riscv_isa.scala 69:33]
  wire  iss_stage__aluIssInfo_res_fun_add_T_18 = iss_stage__aluIssInfo_res_fun_add_T_17 |
    iss_stage_bufInfo_2_alu_isa_addw; // @[riscv_isa.scala 69:39]
  wire  iss_stage__aluIssInfo_res_fun_add_T_19 = iss_stage__aluIssInfo_res_fun_add_T_18 |
    iss_stage_bufInfo_2_alu_isa_lui; // @[riscv_isa.scala 69:46]
  wire  iss_stage__aluIssInfo_res_fun_add_T_20 = iss_stage__aluIssInfo_res_fun_add_T_19 |
    iss_stage_bufInfo_2_alu_isa_auipc; // @[riscv_isa.scala 69:52]
  wire  iss_stage__aluIssInfo_res_fun_add_T_21 = iss_stage__aluIssInfo_res_fun_add_T_20 |
    iss_stage_bufInfo_2_alu_isa_sub; // @[riscv_isa.scala 69:60]
  wire  iss_stage__aluIssInfo_res_fun_add_T_22 = iss_stage__aluIssInfo_res_fun_add_T_21 |
    iss_stage_bufInfo_2_alu_isa_subw; // @[riscv_isa.scala 69:66]
  wire  iss_stage__aluIssInfo_res_fun_add_T_23 = iss_stage__aluIssInfo_res_fun_add_T_22 |
    iss_stage_bufInfo_2_alu_isa_wfi; // @[riscv_isa.scala 69:73]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_6 = iss_stage_bufInfo_2_alu_isa_slti | iss_stage_bufInfo_2_alu_isa_sltiu; // @[riscv_isa.scala 70:25]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_7 = iss_stage__aluIssInfo_res_fun_slt_T_6 | iss_stage_bufInfo_2_alu_isa_slt; // @[riscv_isa.scala 70:33]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_8 = iss_stage__aluIssInfo_res_fun_slt_T_7 | iss_stage_bufInfo_2_alu_isa_sltu
    ; // @[riscv_isa.scala 70:39]
  wire  iss_stage__aluIssInfo_res_fun_xor_T_2 = iss_stage_bufInfo_2_alu_isa_xori | iss_stage_bufInfo_2_alu_isa_xor; // @[riscv_isa.scala 71:25]
  wire  iss_stage__aluIssInfo_res_fun_or_T_2 = iss_stage_bufInfo_2_alu_isa_ori | iss_stage_bufInfo_2_alu_isa_or; // @[riscv_isa.scala 72:24]
  wire  iss_stage__aluIssInfo_res_fun_and_T_2 = iss_stage_bufInfo_2_alu_isa_andi | iss_stage_bufInfo_2_alu_isa_and; // @[riscv_isa.scala 73:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_6 = iss_stage_bufInfo_2_alu_isa_slli | iss_stage_bufInfo_2_alu_isa_slliw; // @[riscv_isa.scala 74:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_7 = iss_stage__aluIssInfo_res_fun_sll_T_6 | iss_stage_bufInfo_2_alu_isa_sll; // @[riscv_isa.scala 74:33]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_8 = iss_stage__aluIssInfo_res_fun_sll_T_7 | iss_stage_bufInfo_2_alu_isa_sllw
    ; // @[riscv_isa.scala 74:39]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_6 = iss_stage_bufInfo_2_alu_isa_srli | iss_stage_bufInfo_2_alu_isa_srliw; // @[riscv_isa.scala 75:25]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_7 = iss_stage__aluIssInfo_res_fun_srl_T_6 | iss_stage_bufInfo_2_alu_isa_srl; // @[riscv_isa.scala 75:33]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_8 = iss_stage__aluIssInfo_res_fun_srl_T_7 | iss_stage_bufInfo_2_alu_isa_srlw
    ; // @[riscv_isa.scala 75:39]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_6 = iss_stage_bufInfo_2_alu_isa_srai | iss_stage_bufInfo_2_alu_isa_sraiw; // @[riscv_isa.scala 76:25]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_7 = iss_stage__aluIssInfo_res_fun_sra_T_6 | iss_stage_bufInfo_2_alu_isa_sra; // @[riscv_isa.scala 76:33]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_8 = iss_stage__aluIssInfo_res_fun_sra_T_7 | iss_stage_bufInfo_2_alu_isa_sraw
    ; // @[riscv_isa.scala 76:39]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_16 = iss_stage_bufInfo_2_alu_isa_addiw |
    iss_stage_bufInfo_2_alu_isa_addw; // @[riscv_isa.scala 65:22]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_17 = iss_stage__aluIssInfo_res_param_is_32w_T_16 |
    iss_stage_bufInfo_2_alu_isa_subw; // @[riscv_isa.scala 65:29]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_18 = iss_stage__aluIssInfo_res_param_is_32w_T_17 |
    iss_stage_bufInfo_2_alu_isa_slliw; // @[riscv_isa.scala 65:36]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_19 = iss_stage__aluIssInfo_res_param_is_32w_T_18 |
    iss_stage_bufInfo_2_alu_isa_sllw; // @[riscv_isa.scala 65:44]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_20 = iss_stage__aluIssInfo_res_param_is_32w_T_19 |
    iss_stage_bufInfo_2_alu_isa_srliw; // @[riscv_isa.scala 65:51]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_21 = iss_stage__aluIssInfo_res_param_is_32w_T_20 |
    iss_stage_bufInfo_2_alu_isa_srlw; // @[riscv_isa.scala 65:59]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_22 = iss_stage__aluIssInfo_res_param_is_32w_T_21 |
    iss_stage_bufInfo_2_alu_isa_sraiw; // @[riscv_isa.scala 65:66]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_23 = iss_stage__aluIssInfo_res_param_is_32w_T_22 |
    iss_stage_bufInfo_2_alu_isa_sraw; // @[riscv_isa.scala 65:74]
  wire  iss_stage__aluIssInfo_res_param_is_usi_T_2 = iss_stage_bufInfo_2_alu_isa_sltiu |
    iss_stage_bufInfo_2_alu_isa_sltu; // @[riscv_isa.scala 66:22]
  wire  iss_stage__aluIssInfo_res_param_dat_op1_v64_T_10 = iss_stage_bufInfo_2_param_pc[38]; // @[Util.scala 47:31]
  wire [24:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_12 = iss_stage__aluIssInfo_res_param_dat_op1_v64_T_10 ? 25'h1ffffff
     : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_14 = {iss_stage__aluIssInfo_res_param_dat_op1_v64_T_12,
    iss_stage_bufInfo_2_param_pc}; // @[Cat.scala 33:92]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_T_123 = iss_stage_bufInfo_2_alu_isa_auipc ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_14 : 64'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_124 = iss_stage_bufInfo_2_alu_isa_addi ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_125 = iss_stage_bufInfo_2_alu_isa_addiw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_126 = iss_stage_bufInfo_2_alu_isa_slti ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_127 = iss_stage_bufInfo_2_alu_isa_sltiu ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_128 = iss_stage_bufInfo_2_alu_isa_xori ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_129 = iss_stage_bufInfo_2_alu_isa_ori ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_130 = iss_stage_bufInfo_2_alu_isa_andi ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_131 = iss_stage_bufInfo_2_alu_isa_slli ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_132 = iss_stage_bufInfo_2_alu_isa_slliw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_133 = iss_stage_bufInfo_2_alu_isa_srli ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_134 = iss_stage_bufInfo_2_alu_isa_srliw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_135 = iss_stage_bufInfo_2_alu_isa_srai ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_136 = iss_stage_bufInfo_2_alu_isa_sraiw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_137 = iss_stage_bufInfo_2_alu_isa_add ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_138 = iss_stage_bufInfo_2_alu_isa_addw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_139 = iss_stage_bufInfo_2_alu_isa_sub ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_140 = iss_stage_bufInfo_2_alu_isa_subw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_141 = iss_stage_bufInfo_2_alu_isa_sll ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_142 = iss_stage_bufInfo_2_alu_isa_sllw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_143 = iss_stage_bufInfo_2_alu_isa_slt ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_144 = iss_stage_bufInfo_2_alu_isa_sltu ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_145 = iss_stage_bufInfo_2_alu_isa_xor ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_146 = iss_stage_bufInfo_2_alu_isa_srl ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_147 = iss_stage_bufInfo_2_alu_isa_srlw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_148 = iss_stage_bufInfo_2_alu_isa_sra ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_149 = iss_stage_bufInfo_2_alu_isa_sraw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_150 = iss_stage_bufInfo_2_alu_isa_or ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_151 = iss_stage_bufInfo_2_alu_isa_and ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_291 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op1_T_123}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_154 = _GEN_291 | iss_stage__aluIssInfo_res_param_dat_op1_T_124; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_155 = iss_stage__aluIssInfo_res_param_dat_op1_T_154 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_125; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_156 = iss_stage__aluIssInfo_res_param_dat_op1_T_155 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_126; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_157 = iss_stage__aluIssInfo_res_param_dat_op1_T_156 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_127; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_158 = iss_stage__aluIssInfo_res_param_dat_op1_T_157 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_128; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_159 = iss_stage__aluIssInfo_res_param_dat_op1_T_158 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_129; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_160 = iss_stage__aluIssInfo_res_param_dat_op1_T_159 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_130; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_161 = iss_stage__aluIssInfo_res_param_dat_op1_T_160 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_131; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_162 = iss_stage__aluIssInfo_res_param_dat_op1_T_161 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_132; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_163 = iss_stage__aluIssInfo_res_param_dat_op1_T_162 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_133; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_164 = iss_stage__aluIssInfo_res_param_dat_op1_T_163 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_134; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_165 = iss_stage__aluIssInfo_res_param_dat_op1_T_164 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_135; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_166 = iss_stage__aluIssInfo_res_param_dat_op1_T_165 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_136; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_167 = iss_stage__aluIssInfo_res_param_dat_op1_T_166 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_137; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_168 = iss_stage__aluIssInfo_res_param_dat_op1_T_167 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_138; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_169 = iss_stage__aluIssInfo_res_param_dat_op1_T_168 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_139; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_170 = iss_stage__aluIssInfo_res_param_dat_op1_T_169 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_140; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_171 = iss_stage__aluIssInfo_res_param_dat_op1_T_170 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_141; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_172 = iss_stage__aluIssInfo_res_param_dat_op1_T_171 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_142; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_173 = iss_stage__aluIssInfo_res_param_dat_op1_T_172 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_143; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_174 = iss_stage__aluIssInfo_res_param_dat_op1_T_173 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_144; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_175 = iss_stage__aluIssInfo_res_param_dat_op1_T_174 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_145; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_176 = iss_stage__aluIssInfo_res_param_dat_op1_T_175 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_146; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_177 = iss_stage__aluIssInfo_res_param_dat_op1_T_176 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_147; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_178 = iss_stage__aluIssInfo_res_param_dat_op1_T_177 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_148; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_179 = iss_stage__aluIssInfo_res_param_dat_op1_T_178 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_149; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_180 = iss_stage__aluIssInfo_res_param_dat_op1_T_179 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_150; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_181 = iss_stage__aluIssInfo_res_param_dat_op1_T_180 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_151; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_146 = iss_stage_bufInfo_2_param_imm[5:0]; // @[Issue.scala 582:122]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_152 = ~iss_stage__postBufOperator_2_1_T_17; // @[Issue.scala 586:101]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_154 = iss_stage__aluIssInfo_res_param_dat_op2_T_152 + 65'h1; // @[Issue.scala 586:107]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_158 = iss_stage_bufInfo_2_alu_isa_lui ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_159 = iss_stage_bufInfo_2_alu_isa_auipc ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_160 = iss_stage_bufInfo_2_alu_isa_addi ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_161 = iss_stage_bufInfo_2_alu_isa_addiw ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_162 = iss_stage_bufInfo_2_alu_isa_slti ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_163 = iss_stage_bufInfo_2_alu_isa_sltiu ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_164 = iss_stage_bufInfo_2_alu_isa_xori ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_165 = iss_stage_bufInfo_2_alu_isa_ori ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_166 = iss_stage_bufInfo_2_alu_isa_andi ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_167 = iss_stage_bufInfo_2_alu_isa_slli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_168 = iss_stage_bufInfo_2_alu_isa_slliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_169 = iss_stage_bufInfo_2_alu_isa_srli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_170 = iss_stage_bufInfo_2_alu_isa_srliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_171 = iss_stage_bufInfo_2_alu_isa_srai ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_172 = iss_stage_bufInfo_2_alu_isa_sraiw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_146 : 6'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_173 = iss_stage_bufInfo_2_alu_isa_add ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_174 = iss_stage_bufInfo_2_alu_isa_addw ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_175 = iss_stage_bufInfo_2_alu_isa_sub ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_154 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_176 = iss_stage_bufInfo_2_alu_isa_subw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_154 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_177 = iss_stage_bufInfo_2_alu_isa_sll ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_178 = iss_stage_bufInfo_2_alu_isa_sllw ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_179 = iss_stage_bufInfo_2_alu_isa_slt ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_180 = iss_stage_bufInfo_2_alu_isa_sltu ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_181 = iss_stage_bufInfo_2_alu_isa_xor ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_182 = iss_stage_bufInfo_2_alu_isa_srl ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_183 = iss_stage_bufInfo_2_alu_isa_srlw ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_184 = iss_stage_bufInfo_2_alu_isa_sra ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_185 = iss_stage_bufInfo_2_alu_isa_sraw ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_186 = iss_stage_bufInfo_2_alu_isa_or ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_187 = iss_stage_bufInfo_2_alu_isa_and ?
    iss_stage__postBufOperator_2_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_189 = iss_stage__aluIssInfo_res_param_dat_op2_T_158 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_159; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_190 = iss_stage__aluIssInfo_res_param_dat_op2_T_189 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_160; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_191 = iss_stage__aluIssInfo_res_param_dat_op2_T_190 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_161; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_192 = iss_stage__aluIssInfo_res_param_dat_op2_T_191 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_162; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_193 = iss_stage__aluIssInfo_res_param_dat_op2_T_192 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_163; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_194 = iss_stage__aluIssInfo_res_param_dat_op2_T_193 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_164; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_195 = iss_stage__aluIssInfo_res_param_dat_op2_T_194 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_165; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_196 = iss_stage__aluIssInfo_res_param_dat_op2_T_195 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_166; // @[Mux.scala 27:73]
  wire [63:0] _GEN_292 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_167}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_197 = iss_stage__aluIssInfo_res_param_dat_op2_T_196 | _GEN_292; // @[Mux.scala 27:73]
  wire [63:0] _GEN_293 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_168}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_198 = iss_stage__aluIssInfo_res_param_dat_op2_T_197 | _GEN_293; // @[Mux.scala 27:73]
  wire [63:0] _GEN_294 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_169}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_199 = iss_stage__aluIssInfo_res_param_dat_op2_T_198 | _GEN_294; // @[Mux.scala 27:73]
  wire [63:0] _GEN_295 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_170}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_200 = iss_stage__aluIssInfo_res_param_dat_op2_T_199 | _GEN_295; // @[Mux.scala 27:73]
  wire [63:0] _GEN_296 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_171}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_201 = iss_stage__aluIssInfo_res_param_dat_op2_T_200 | _GEN_296; // @[Mux.scala 27:73]
  wire [63:0] _GEN_297 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_172}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_202 = iss_stage__aluIssInfo_res_param_dat_op2_T_201 | _GEN_297; // @[Mux.scala 27:73]
  wire [64:0] _GEN_298 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_202}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_203 = _GEN_298 | iss_stage__aluIssInfo_res_param_dat_op2_T_173; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_204 = iss_stage__aluIssInfo_res_param_dat_op2_T_203 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_174; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_205 = iss_stage__aluIssInfo_res_param_dat_op2_T_204 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_175; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_206 = iss_stage__aluIssInfo_res_param_dat_op2_T_205 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_176; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_207 = iss_stage__aluIssInfo_res_param_dat_op2_T_206 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_177; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_208 = iss_stage__aluIssInfo_res_param_dat_op2_T_207 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_178; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_209 = iss_stage__aluIssInfo_res_param_dat_op2_T_208 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_179; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_210 = iss_stage__aluIssInfo_res_param_dat_op2_T_209 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_180; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_211 = iss_stage__aluIssInfo_res_param_dat_op2_T_210 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_181; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_212 = iss_stage__aluIssInfo_res_param_dat_op2_T_211 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_182; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_213 = iss_stage__aluIssInfo_res_param_dat_op2_T_212 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_183; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_214 = iss_stage__aluIssInfo_res_param_dat_op2_T_213 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_184; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_215 = iss_stage__aluIssInfo_res_param_dat_op2_T_214 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_185; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_216 = iss_stage__aluIssInfo_res_param_dat_op2_T_215 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_186; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_217 = iss_stage__aluIssInfo_res_param_dat_op2_T_216 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_187; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssInfo_res_fun_add_T_24 = iss_stage_bufInfo_3_alu_isa_addi | iss_stage_bufInfo_3_alu_isa_addiw; // @[riscv_isa.scala 69:25]
  wire  iss_stage__aluIssInfo_res_fun_add_T_25 = iss_stage__aluIssInfo_res_fun_add_T_24 |
    iss_stage_bufInfo_3_alu_isa_add; // @[riscv_isa.scala 69:33]
  wire  iss_stage__aluIssInfo_res_fun_add_T_26 = iss_stage__aluIssInfo_res_fun_add_T_25 |
    iss_stage_bufInfo_3_alu_isa_addw; // @[riscv_isa.scala 69:39]
  wire  iss_stage__aluIssInfo_res_fun_add_T_27 = iss_stage__aluIssInfo_res_fun_add_T_26 |
    iss_stage_bufInfo_3_alu_isa_lui; // @[riscv_isa.scala 69:46]
  wire  iss_stage__aluIssInfo_res_fun_add_T_28 = iss_stage__aluIssInfo_res_fun_add_T_27 |
    iss_stage_bufInfo_3_alu_isa_auipc; // @[riscv_isa.scala 69:52]
  wire  iss_stage__aluIssInfo_res_fun_add_T_29 = iss_stage__aluIssInfo_res_fun_add_T_28 |
    iss_stage_bufInfo_3_alu_isa_sub; // @[riscv_isa.scala 69:60]
  wire  iss_stage__aluIssInfo_res_fun_add_T_30 = iss_stage__aluIssInfo_res_fun_add_T_29 |
    iss_stage_bufInfo_3_alu_isa_subw; // @[riscv_isa.scala 69:66]
  wire  iss_stage__aluIssInfo_res_fun_add_T_31 = iss_stage__aluIssInfo_res_fun_add_T_30 |
    iss_stage_bufInfo_3_alu_isa_wfi; // @[riscv_isa.scala 69:73]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_9 = iss_stage_bufInfo_3_alu_isa_slti | iss_stage_bufInfo_3_alu_isa_sltiu; // @[riscv_isa.scala 70:25]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_10 = iss_stage__aluIssInfo_res_fun_slt_T_9 | iss_stage_bufInfo_3_alu_isa_slt
    ; // @[riscv_isa.scala 70:33]
  wire  iss_stage__aluIssInfo_res_fun_slt_T_11 = iss_stage__aluIssInfo_res_fun_slt_T_10 |
    iss_stage_bufInfo_3_alu_isa_sltu; // @[riscv_isa.scala 70:39]
  wire  iss_stage__aluIssInfo_res_fun_xor_T_3 = iss_stage_bufInfo_3_alu_isa_xori | iss_stage_bufInfo_3_alu_isa_xor; // @[riscv_isa.scala 71:25]
  wire  iss_stage__aluIssInfo_res_fun_or_T_3 = iss_stage_bufInfo_3_alu_isa_ori | iss_stage_bufInfo_3_alu_isa_or; // @[riscv_isa.scala 72:24]
  wire  iss_stage__aluIssInfo_res_fun_and_T_3 = iss_stage_bufInfo_3_alu_isa_andi | iss_stage_bufInfo_3_alu_isa_and; // @[riscv_isa.scala 73:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_9 = iss_stage_bufInfo_3_alu_isa_slli | iss_stage_bufInfo_3_alu_isa_slliw; // @[riscv_isa.scala 74:25]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_10 = iss_stage__aluIssInfo_res_fun_sll_T_9 | iss_stage_bufInfo_3_alu_isa_sll
    ; // @[riscv_isa.scala 74:33]
  wire  iss_stage__aluIssInfo_res_fun_sll_T_11 = iss_stage__aluIssInfo_res_fun_sll_T_10 |
    iss_stage_bufInfo_3_alu_isa_sllw; // @[riscv_isa.scala 74:39]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_9 = iss_stage_bufInfo_3_alu_isa_srli | iss_stage_bufInfo_3_alu_isa_srliw; // @[riscv_isa.scala 75:25]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_10 = iss_stage__aluIssInfo_res_fun_srl_T_9 | iss_stage_bufInfo_3_alu_isa_srl
    ; // @[riscv_isa.scala 75:33]
  wire  iss_stage__aluIssInfo_res_fun_srl_T_11 = iss_stage__aluIssInfo_res_fun_srl_T_10 |
    iss_stage_bufInfo_3_alu_isa_srlw; // @[riscv_isa.scala 75:39]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_9 = iss_stage_bufInfo_3_alu_isa_srai | iss_stage_bufInfo_3_alu_isa_sraiw; // @[riscv_isa.scala 76:25]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_10 = iss_stage__aluIssInfo_res_fun_sra_T_9 | iss_stage_bufInfo_3_alu_isa_sra
    ; // @[riscv_isa.scala 76:33]
  wire  iss_stage__aluIssInfo_res_fun_sra_T_11 = iss_stage__aluIssInfo_res_fun_sra_T_10 |
    iss_stage_bufInfo_3_alu_isa_sraw; // @[riscv_isa.scala 76:39]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_24 = iss_stage_bufInfo_3_alu_isa_addiw |
    iss_stage_bufInfo_3_alu_isa_addw; // @[riscv_isa.scala 65:22]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_25 = iss_stage__aluIssInfo_res_param_is_32w_T_24 |
    iss_stage_bufInfo_3_alu_isa_subw; // @[riscv_isa.scala 65:29]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_26 = iss_stage__aluIssInfo_res_param_is_32w_T_25 |
    iss_stage_bufInfo_3_alu_isa_slliw; // @[riscv_isa.scala 65:36]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_27 = iss_stage__aluIssInfo_res_param_is_32w_T_26 |
    iss_stage_bufInfo_3_alu_isa_sllw; // @[riscv_isa.scala 65:44]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_28 = iss_stage__aluIssInfo_res_param_is_32w_T_27 |
    iss_stage_bufInfo_3_alu_isa_srliw; // @[riscv_isa.scala 65:51]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_29 = iss_stage__aluIssInfo_res_param_is_32w_T_28 |
    iss_stage_bufInfo_3_alu_isa_srlw; // @[riscv_isa.scala 65:59]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_30 = iss_stage__aluIssInfo_res_param_is_32w_T_29 |
    iss_stage_bufInfo_3_alu_isa_sraiw; // @[riscv_isa.scala 65:66]
  wire  iss_stage__aluIssInfo_res_param_is_32w_T_31 = iss_stage__aluIssInfo_res_param_is_32w_T_30 |
    iss_stage_bufInfo_3_alu_isa_sraw; // @[riscv_isa.scala 65:74]
  wire  iss_stage__aluIssInfo_res_param_is_usi_T_3 = iss_stage_bufInfo_3_alu_isa_sltiu |
    iss_stage_bufInfo_3_alu_isa_sltu; // @[riscv_isa.scala 66:22]
  wire  iss_stage__aluIssInfo_res_param_dat_op1_v64_T_15 = iss_stage_bufInfo_3_param_pc[38]; // @[Util.scala 47:31]
  wire [24:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_17 = iss_stage__aluIssInfo_res_param_dat_op1_v64_T_15 ? 25'h1ffffff
     : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_v64_T_19 = {iss_stage__aluIssInfo_res_param_dat_op1_v64_T_17,
    iss_stage_bufInfo_3_param_pc}; // @[Cat.scala 33:92]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op1_T_184 = iss_stage_bufInfo_3_alu_isa_auipc ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_19 : 64'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_185 = iss_stage_bufInfo_3_alu_isa_addi ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_186 = iss_stage_bufInfo_3_alu_isa_addiw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_187 = iss_stage_bufInfo_3_alu_isa_slti ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_188 = iss_stage_bufInfo_3_alu_isa_sltiu ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_189 = iss_stage_bufInfo_3_alu_isa_xori ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_190 = iss_stage_bufInfo_3_alu_isa_ori ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_191 = iss_stage_bufInfo_3_alu_isa_andi ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_192 = iss_stage_bufInfo_3_alu_isa_slli ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_193 = iss_stage_bufInfo_3_alu_isa_slliw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_194 = iss_stage_bufInfo_3_alu_isa_srli ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_195 = iss_stage_bufInfo_3_alu_isa_srliw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_196 = iss_stage_bufInfo_3_alu_isa_srai ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_197 = iss_stage_bufInfo_3_alu_isa_sraiw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_198 = iss_stage_bufInfo_3_alu_isa_add ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_199 = iss_stage_bufInfo_3_alu_isa_addw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_200 = iss_stage_bufInfo_3_alu_isa_sub ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_201 = iss_stage_bufInfo_3_alu_isa_subw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_202 = iss_stage_bufInfo_3_alu_isa_sll ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_203 = iss_stage_bufInfo_3_alu_isa_sllw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_204 = iss_stage_bufInfo_3_alu_isa_slt ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_205 = iss_stage_bufInfo_3_alu_isa_sltu ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_206 = iss_stage_bufInfo_3_alu_isa_xor ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_207 = iss_stage_bufInfo_3_alu_isa_srl ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_208 = iss_stage_bufInfo_3_alu_isa_srlw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_209 = iss_stage_bufInfo_3_alu_isa_sra ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_210 = iss_stage_bufInfo_3_alu_isa_sraw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_211 = iss_stage_bufInfo_3_alu_isa_or ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_212 = iss_stage_bufInfo_3_alu_isa_and ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_299 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op1_T_184}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_215 = _GEN_299 | iss_stage__aluIssInfo_res_param_dat_op1_T_185; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_216 = iss_stage__aluIssInfo_res_param_dat_op1_T_215 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_186; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_217 = iss_stage__aluIssInfo_res_param_dat_op1_T_216 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_187; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_218 = iss_stage__aluIssInfo_res_param_dat_op1_T_217 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_188; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_219 = iss_stage__aluIssInfo_res_param_dat_op1_T_218 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_189; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_220 = iss_stage__aluIssInfo_res_param_dat_op1_T_219 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_190; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_221 = iss_stage__aluIssInfo_res_param_dat_op1_T_220 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_191; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_222 = iss_stage__aluIssInfo_res_param_dat_op1_T_221 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_192; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_223 = iss_stage__aluIssInfo_res_param_dat_op1_T_222 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_193; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_224 = iss_stage__aluIssInfo_res_param_dat_op1_T_223 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_194; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_225 = iss_stage__aluIssInfo_res_param_dat_op1_T_224 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_195; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_226 = iss_stage__aluIssInfo_res_param_dat_op1_T_225 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_196; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_227 = iss_stage__aluIssInfo_res_param_dat_op1_T_226 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_197; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_228 = iss_stage__aluIssInfo_res_param_dat_op1_T_227 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_198; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_229 = iss_stage__aluIssInfo_res_param_dat_op1_T_228 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_199; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_230 = iss_stage__aluIssInfo_res_param_dat_op1_T_229 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_200; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_231 = iss_stage__aluIssInfo_res_param_dat_op1_T_230 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_201; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_232 = iss_stage__aluIssInfo_res_param_dat_op1_T_231 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_202; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_233 = iss_stage__aluIssInfo_res_param_dat_op1_T_232 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_203; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_234 = iss_stage__aluIssInfo_res_param_dat_op1_T_233 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_204; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_235 = iss_stage__aluIssInfo_res_param_dat_op1_T_234 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_205; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_236 = iss_stage__aluIssInfo_res_param_dat_op1_T_235 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_206; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_237 = iss_stage__aluIssInfo_res_param_dat_op1_T_236 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_207; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_238 = iss_stage__aluIssInfo_res_param_dat_op1_T_237 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_208; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_239 = iss_stage__aluIssInfo_res_param_dat_op1_T_238 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_209; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_240 = iss_stage__aluIssInfo_res_param_dat_op1_T_239 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_210; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_241 = iss_stage__aluIssInfo_res_param_dat_op1_T_240 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_211; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op1_T_242 = iss_stage__aluIssInfo_res_param_dat_op1_T_241 |
    iss_stage__aluIssInfo_res_param_dat_op1_T_212; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_219 = iss_stage_bufInfo_3_param_imm[5:0]; // @[Issue.scala 582:122]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_225 = ~iss_stage__postBufOperator_3_1_T_17; // @[Issue.scala 586:101]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_227 = iss_stage__aluIssInfo_res_param_dat_op2_T_225 + 65'h1; // @[Issue.scala 586:107]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_231 = iss_stage_bufInfo_3_alu_isa_lui ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_232 = iss_stage_bufInfo_3_alu_isa_auipc ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_233 = iss_stage_bufInfo_3_alu_isa_addi ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_234 = iss_stage_bufInfo_3_alu_isa_addiw ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_235 = iss_stage_bufInfo_3_alu_isa_slti ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_236 = iss_stage_bufInfo_3_alu_isa_sltiu ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_237 = iss_stage_bufInfo_3_alu_isa_xori ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_238 = iss_stage_bufInfo_3_alu_isa_ori ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_239 = iss_stage_bufInfo_3_alu_isa_andi ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_240 = iss_stage_bufInfo_3_alu_isa_slli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_241 = iss_stage_bufInfo_3_alu_isa_slliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_242 = iss_stage_bufInfo_3_alu_isa_srli ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_243 = iss_stage_bufInfo_3_alu_isa_srliw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_244 = iss_stage_bufInfo_3_alu_isa_srai ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssInfo_res_param_dat_op2_T_245 = iss_stage_bufInfo_3_alu_isa_sraiw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_219 : 6'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_246 = iss_stage_bufInfo_3_alu_isa_add ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_247 = iss_stage_bufInfo_3_alu_isa_addw ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_248 = iss_stage_bufInfo_3_alu_isa_sub ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_227 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_249 = iss_stage_bufInfo_3_alu_isa_subw ?
    iss_stage__aluIssInfo_res_param_dat_op2_T_227 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_250 = iss_stage_bufInfo_3_alu_isa_sll ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_251 = iss_stage_bufInfo_3_alu_isa_sllw ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_252 = iss_stage_bufInfo_3_alu_isa_slt ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_253 = iss_stage_bufInfo_3_alu_isa_sltu ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_254 = iss_stage_bufInfo_3_alu_isa_xor ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_255 = iss_stage_bufInfo_3_alu_isa_srl ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_256 = iss_stage_bufInfo_3_alu_isa_srlw ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_257 = iss_stage_bufInfo_3_alu_isa_sra ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_258 = iss_stage_bufInfo_3_alu_isa_sraw ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_259 = iss_stage_bufInfo_3_alu_isa_or ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_260 = iss_stage_bufInfo_3_alu_isa_and ?
    iss_stage__postBufOperator_3_1_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_262 = iss_stage__aluIssInfo_res_param_dat_op2_T_231 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_232; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_263 = iss_stage__aluIssInfo_res_param_dat_op2_T_262 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_233; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_264 = iss_stage__aluIssInfo_res_param_dat_op2_T_263 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_234; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_265 = iss_stage__aluIssInfo_res_param_dat_op2_T_264 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_235; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_266 = iss_stage__aluIssInfo_res_param_dat_op2_T_265 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_236; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_267 = iss_stage__aluIssInfo_res_param_dat_op2_T_266 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_237; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_268 = iss_stage__aluIssInfo_res_param_dat_op2_T_267 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_238; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_269 = iss_stage__aluIssInfo_res_param_dat_op2_T_268 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_239; // @[Mux.scala 27:73]
  wire [63:0] _GEN_300 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_240}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_270 = iss_stage__aluIssInfo_res_param_dat_op2_T_269 | _GEN_300; // @[Mux.scala 27:73]
  wire [63:0] _GEN_301 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_241}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_271 = iss_stage__aluIssInfo_res_param_dat_op2_T_270 | _GEN_301; // @[Mux.scala 27:73]
  wire [63:0] _GEN_302 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_242}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_272 = iss_stage__aluIssInfo_res_param_dat_op2_T_271 | _GEN_302; // @[Mux.scala 27:73]
  wire [63:0] _GEN_303 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_243}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_273 = iss_stage__aluIssInfo_res_param_dat_op2_T_272 | _GEN_303; // @[Mux.scala 27:73]
  wire [63:0] _GEN_304 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_244}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_274 = iss_stage__aluIssInfo_res_param_dat_op2_T_273 | _GEN_304; // @[Mux.scala 27:73]
  wire [63:0] _GEN_305 = {{58'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_245}; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssInfo_res_param_dat_op2_T_275 = iss_stage__aluIssInfo_res_param_dat_op2_T_274 | _GEN_305; // @[Mux.scala 27:73]
  wire [64:0] _GEN_306 = {{1'd0}, iss_stage__aluIssInfo_res_param_dat_op2_T_275}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_276 = _GEN_306 | iss_stage__aluIssInfo_res_param_dat_op2_T_246; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_277 = iss_stage__aluIssInfo_res_param_dat_op2_T_276 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_247; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_278 = iss_stage__aluIssInfo_res_param_dat_op2_T_277 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_248; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_279 = iss_stage__aluIssInfo_res_param_dat_op2_T_278 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_249; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_280 = iss_stage__aluIssInfo_res_param_dat_op2_T_279 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_250; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_281 = iss_stage__aluIssInfo_res_param_dat_op2_T_280 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_251; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_282 = iss_stage__aluIssInfo_res_param_dat_op2_T_281 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_252; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_283 = iss_stage__aluIssInfo_res_param_dat_op2_T_282 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_253; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_284 = iss_stage__aluIssInfo_res_param_dat_op2_T_283 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_254; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_285 = iss_stage__aluIssInfo_res_param_dat_op2_T_284 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_255; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_286 = iss_stage__aluIssInfo_res_param_dat_op2_T_285 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_256; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_287 = iss_stage__aluIssInfo_res_param_dat_op2_T_286 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_257; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_288 = iss_stage__aluIssInfo_res_param_dat_op2_T_287 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_258; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_289 = iss_stage__aluIssInfo_res_param_dat_op2_T_288 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_259; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__aluIssInfo_res_param_dat_op2_T_290 = iss_stage__aluIssInfo_res_param_dat_op2_T_289 |
    iss_stage__aluIssInfo_res_param_dat_op2_T_260; // @[Mux.scala 27:73]
  wire  iss_stage__maskCondAluIss_0_0_T_1 = iss_stage_bufInfo_0_alu_isa_lui | iss_stage_bufInfo_0_alu_isa_auipc; // @[riscv_isa.scala 78:20]
  wire  iss_stage__maskCondAluIss_0_0_T_2 = iss_stage__maskCondAluIss_0_0_T_1 | iss_stage_bufInfo_0_alu_isa_addi; // @[riscv_isa.scala 78:28]
  wire  iss_stage__maskCondAluIss_0_0_T_3 = iss_stage__maskCondAluIss_0_0_T_2 | iss_stage_bufInfo_0_alu_isa_addiw; // @[riscv_isa.scala 78:35]
  wire  iss_stage__maskCondAluIss_0_0_T_4 = iss_stage__maskCondAluIss_0_0_T_3 | iss_stage_bufInfo_0_alu_isa_slti; // @[riscv_isa.scala 78:43]
  wire  iss_stage__maskCondAluIss_0_0_T_5 = iss_stage__maskCondAluIss_0_0_T_4 | iss_stage_bufInfo_0_alu_isa_sltiu; // @[riscv_isa.scala 78:50]
  wire  iss_stage__maskCondAluIss_0_0_T_6 = iss_stage__maskCondAluIss_0_0_T_5 | iss_stage_bufInfo_0_alu_isa_xori; // @[riscv_isa.scala 78:58]
  wire  iss_stage__maskCondAluIss_0_0_T_7 = iss_stage__maskCondAluIss_0_0_T_6 | iss_stage_bufInfo_0_alu_isa_ori; // @[riscv_isa.scala 78:65]
  wire  iss_stage__maskCondAluIss_0_0_T_8 = iss_stage__maskCondAluIss_0_0_T_7 | iss_stage_bufInfo_0_alu_isa_andi; // @[riscv_isa.scala 78:71]
  wire  iss_stage__maskCondAluIss_0_0_T_9 = iss_stage__maskCondAluIss_0_0_T_8 | iss_stage_bufInfo_0_alu_isa_slli; // @[riscv_isa.scala 78:78]
  wire  iss_stage__maskCondAluIss_0_0_T_10 = iss_stage__maskCondAluIss_0_0_T_9 | iss_stage_bufInfo_0_alu_isa_slliw; // @[riscv_isa.scala 78:85]
  wire  iss_stage__maskCondAluIss_0_0_T_11 = iss_stage__maskCondAluIss_0_0_T_10 | iss_stage_bufInfo_0_alu_isa_srli; // @[riscv_isa.scala 78:93]
  wire  iss_stage__maskCondAluIss_0_0_T_12 = iss_stage__maskCondAluIss_0_0_T_11 | iss_stage_bufInfo_0_alu_isa_srliw; // @[riscv_isa.scala 78:100]
  wire  iss_stage__maskCondAluIss_0_0_T_13 = iss_stage__maskCondAluIss_0_0_T_12 | iss_stage_bufInfo_0_alu_isa_srai; // @[riscv_isa.scala 78:108]
  wire  iss_stage__maskCondAluIss_0_0_T_14 = iss_stage__maskCondAluIss_0_0_T_13 | iss_stage_bufInfo_0_alu_isa_sraiw; // @[riscv_isa.scala 78:115]
  wire  iss_stage__maskCondAluIss_0_0_T_15 = iss_stage__maskCondAluIss_0_0_T_14 | iss_stage_bufInfo_0_alu_isa_add; // @[riscv_isa.scala 78:123]
  wire  iss_stage__maskCondAluIss_0_0_T_16 = iss_stage__maskCondAluIss_0_0_T_15 | iss_stage_bufInfo_0_alu_isa_addw; // @[riscv_isa.scala 78:129]
  wire  iss_stage__maskCondAluIss_0_0_T_17 = iss_stage__maskCondAluIss_0_0_T_16 | iss_stage_bufInfo_0_alu_isa_sub; // @[riscv_isa.scala 78:136]
  wire  iss_stage__maskCondAluIss_0_0_T_18 = iss_stage__maskCondAluIss_0_0_T_17 | iss_stage_bufInfo_0_alu_isa_subw; // @[riscv_isa.scala 78:142]
  wire  iss_stage__maskCondAluIss_0_0_T_19 = iss_stage__maskCondAluIss_0_0_T_18 | iss_stage_bufInfo_0_alu_isa_sll; // @[riscv_isa.scala 78:149]
  wire  iss_stage__maskCondAluIss_0_0_T_20 = iss_stage__maskCondAluIss_0_0_T_19 | iss_stage_bufInfo_0_alu_isa_sllw; // @[riscv_isa.scala 78:155]
  wire  iss_stage__maskCondAluIss_0_0_T_21 = iss_stage__maskCondAluIss_0_0_T_20 | iss_stage_bufInfo_0_alu_isa_slt; // @[riscv_isa.scala 78:162]
  wire  iss_stage__maskCondAluIss_0_0_T_22 = iss_stage__maskCondAluIss_0_0_T_21 | iss_stage_bufInfo_0_alu_isa_sltu; // @[riscv_isa.scala 78:168]
  wire  iss_stage__maskCondAluIss_0_0_T_23 = iss_stage__maskCondAluIss_0_0_T_22 | iss_stage_bufInfo_0_alu_isa_xor; // @[riscv_isa.scala 78:175]
  wire  iss_stage__maskCondAluIss_0_0_T_24 = iss_stage__maskCondAluIss_0_0_T_23 | iss_stage_bufInfo_0_alu_isa_srl; // @[riscv_isa.scala 78:181]
  wire  iss_stage__maskCondAluIss_0_0_T_25 = iss_stage__maskCondAluIss_0_0_T_24 | iss_stage_bufInfo_0_alu_isa_srlw; // @[riscv_isa.scala 78:187]
  wire  iss_stage__maskCondAluIss_0_0_T_26 = iss_stage__maskCondAluIss_0_0_T_25 | iss_stage_bufInfo_0_alu_isa_sra; // @[riscv_isa.scala 78:194]
  wire  iss_stage__maskCondAluIss_0_0_T_27 = iss_stage__maskCondAluIss_0_0_T_26 | iss_stage_bufInfo_0_alu_isa_sraw; // @[riscv_isa.scala 78:200]
  wire  iss_stage__maskCondAluIss_0_0_T_28 = iss_stage__maskCondAluIss_0_0_T_27 | iss_stage_bufInfo_0_alu_isa_or; // @[riscv_isa.scala 78:207]
  wire  iss_stage__maskCondAluIss_0_0_T_29 = iss_stage__maskCondAluIss_0_0_T_28 | iss_stage_bufInfo_0_alu_isa_and; // @[riscv_isa.scala 78:212]
  wire  iss_stage__maskCondAluIss_0_0_T_30 = iss_stage__maskCondAluIss_0_0_T_29 | iss_stage_bufInfo_0_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  iss_stage__maskCondAluIss_0_0_T_31 = ~iss_stage__maskCondAluIss_0_0_T_30; // @[Issue.scala 617:11]
  wire  iss_stage__maskCondAluIss_0_0_T_32 = iss_stage__entrySel_T | iss_stage__maskCondAluIss_0_0_T_31; // @[Issue.scala 616:24]
  wire  iss_stage__maskCondAluIss_0_0_T_33 = iss_stage__postIsOpReady_0_0_T_17 & iss_stage__postIsOpReady_0_1_T_17; // @[Issue.scala 618:33]
  wire  iss_stage__maskCondAluIss_0_0_T_34 = ~iss_stage__maskCondAluIss_0_0_T_33; // @[Issue.scala 618:11]
  wire  iss_stage__maskCondAluIss_0_0_T_35 = iss_stage__maskCondAluIss_0_0_T_32 | iss_stage__maskCondAluIss_0_0_T_34; // @[Issue.scala 617:38]
  wire  iss_stage__maskCondAluIss_0_1_T_1 = iss_stage_bufInfo_1_alu_isa_lui | iss_stage_bufInfo_1_alu_isa_auipc; // @[riscv_isa.scala 78:20]
  wire  iss_stage__maskCondAluIss_0_1_T_2 = iss_stage__maskCondAluIss_0_1_T_1 | iss_stage_bufInfo_1_alu_isa_addi; // @[riscv_isa.scala 78:28]
  wire  iss_stage__maskCondAluIss_0_1_T_3 = iss_stage__maskCondAluIss_0_1_T_2 | iss_stage_bufInfo_1_alu_isa_addiw; // @[riscv_isa.scala 78:35]
  wire  iss_stage__maskCondAluIss_0_1_T_4 = iss_stage__maskCondAluIss_0_1_T_3 | iss_stage_bufInfo_1_alu_isa_slti; // @[riscv_isa.scala 78:43]
  wire  iss_stage__maskCondAluIss_0_1_T_5 = iss_stage__maskCondAluIss_0_1_T_4 | iss_stage_bufInfo_1_alu_isa_sltiu; // @[riscv_isa.scala 78:50]
  wire  iss_stage__maskCondAluIss_0_1_T_6 = iss_stage__maskCondAluIss_0_1_T_5 | iss_stage_bufInfo_1_alu_isa_xori; // @[riscv_isa.scala 78:58]
  wire  iss_stage__maskCondAluIss_0_1_T_7 = iss_stage__maskCondAluIss_0_1_T_6 | iss_stage_bufInfo_1_alu_isa_ori; // @[riscv_isa.scala 78:65]
  wire  iss_stage__maskCondAluIss_0_1_T_8 = iss_stage__maskCondAluIss_0_1_T_7 | iss_stage_bufInfo_1_alu_isa_andi; // @[riscv_isa.scala 78:71]
  wire  iss_stage__maskCondAluIss_0_1_T_9 = iss_stage__maskCondAluIss_0_1_T_8 | iss_stage_bufInfo_1_alu_isa_slli; // @[riscv_isa.scala 78:78]
  wire  iss_stage__maskCondAluIss_0_1_T_10 = iss_stage__maskCondAluIss_0_1_T_9 | iss_stage_bufInfo_1_alu_isa_slliw; // @[riscv_isa.scala 78:85]
  wire  iss_stage__maskCondAluIss_0_1_T_11 = iss_stage__maskCondAluIss_0_1_T_10 | iss_stage_bufInfo_1_alu_isa_srli; // @[riscv_isa.scala 78:93]
  wire  iss_stage__maskCondAluIss_0_1_T_12 = iss_stage__maskCondAluIss_0_1_T_11 | iss_stage_bufInfo_1_alu_isa_srliw; // @[riscv_isa.scala 78:100]
  wire  iss_stage__maskCondAluIss_0_1_T_13 = iss_stage__maskCondAluIss_0_1_T_12 | iss_stage_bufInfo_1_alu_isa_srai; // @[riscv_isa.scala 78:108]
  wire  iss_stage__maskCondAluIss_0_1_T_14 = iss_stage__maskCondAluIss_0_1_T_13 | iss_stage_bufInfo_1_alu_isa_sraiw; // @[riscv_isa.scala 78:115]
  wire  iss_stage__maskCondAluIss_0_1_T_15 = iss_stage__maskCondAluIss_0_1_T_14 | iss_stage_bufInfo_1_alu_isa_add; // @[riscv_isa.scala 78:123]
  wire  iss_stage__maskCondAluIss_0_1_T_16 = iss_stage__maskCondAluIss_0_1_T_15 | iss_stage_bufInfo_1_alu_isa_addw; // @[riscv_isa.scala 78:129]
  wire  iss_stage__maskCondAluIss_0_1_T_17 = iss_stage__maskCondAluIss_0_1_T_16 | iss_stage_bufInfo_1_alu_isa_sub; // @[riscv_isa.scala 78:136]
  wire  iss_stage__maskCondAluIss_0_1_T_18 = iss_stage__maskCondAluIss_0_1_T_17 | iss_stage_bufInfo_1_alu_isa_subw; // @[riscv_isa.scala 78:142]
  wire  iss_stage__maskCondAluIss_0_1_T_19 = iss_stage__maskCondAluIss_0_1_T_18 | iss_stage_bufInfo_1_alu_isa_sll; // @[riscv_isa.scala 78:149]
  wire  iss_stage__maskCondAluIss_0_1_T_20 = iss_stage__maskCondAluIss_0_1_T_19 | iss_stage_bufInfo_1_alu_isa_sllw; // @[riscv_isa.scala 78:155]
  wire  iss_stage__maskCondAluIss_0_1_T_21 = iss_stage__maskCondAluIss_0_1_T_20 | iss_stage_bufInfo_1_alu_isa_slt; // @[riscv_isa.scala 78:162]
  wire  iss_stage__maskCondAluIss_0_1_T_22 = iss_stage__maskCondAluIss_0_1_T_21 | iss_stage_bufInfo_1_alu_isa_sltu; // @[riscv_isa.scala 78:168]
  wire  iss_stage__maskCondAluIss_0_1_T_23 = iss_stage__maskCondAluIss_0_1_T_22 | iss_stage_bufInfo_1_alu_isa_xor; // @[riscv_isa.scala 78:175]
  wire  iss_stage__maskCondAluIss_0_1_T_24 = iss_stage__maskCondAluIss_0_1_T_23 | iss_stage_bufInfo_1_alu_isa_srl; // @[riscv_isa.scala 78:181]
  wire  iss_stage__maskCondAluIss_0_1_T_25 = iss_stage__maskCondAluIss_0_1_T_24 | iss_stage_bufInfo_1_alu_isa_srlw; // @[riscv_isa.scala 78:187]
  wire  iss_stage__maskCondAluIss_0_1_T_26 = iss_stage__maskCondAluIss_0_1_T_25 | iss_stage_bufInfo_1_alu_isa_sra; // @[riscv_isa.scala 78:194]
  wire  iss_stage__maskCondAluIss_0_1_T_27 = iss_stage__maskCondAluIss_0_1_T_26 | iss_stage_bufInfo_1_alu_isa_sraw; // @[riscv_isa.scala 78:200]
  wire  iss_stage__maskCondAluIss_0_1_T_28 = iss_stage__maskCondAluIss_0_1_T_27 | iss_stage_bufInfo_1_alu_isa_or; // @[riscv_isa.scala 78:207]
  wire  iss_stage__maskCondAluIss_0_1_T_29 = iss_stage__maskCondAluIss_0_1_T_28 | iss_stage_bufInfo_1_alu_isa_and; // @[riscv_isa.scala 78:212]
  wire  iss_stage__maskCondAluIss_0_1_T_30 = iss_stage__maskCondAluIss_0_1_T_29 | iss_stage_bufInfo_1_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  iss_stage__maskCondAluIss_0_1_T_31 = ~iss_stage__maskCondAluIss_0_1_T_30; // @[Issue.scala 617:11]
  wire  iss_stage__maskCondAluIss_0_1_T_32 = iss_stage__entrySel_T_1 | iss_stage__maskCondAluIss_0_1_T_31; // @[Issue.scala 616:24]
  wire  iss_stage__maskCondAluIss_0_1_T_33 = iss_stage__postIsOpReady_1_0_T_17 & iss_stage__postIsOpReady_1_1_T_17; // @[Issue.scala 618:33]
  wire  iss_stage__maskCondAluIss_0_1_T_34 = ~iss_stage__maskCondAluIss_0_1_T_33; // @[Issue.scala 618:11]
  wire  iss_stage__maskCondAluIss_0_1_T_35 = iss_stage__maskCondAluIss_0_1_T_32 | iss_stage__maskCondAluIss_0_1_T_34; // @[Issue.scala 617:38]
  wire  iss_stage__maskCondAluIss_0_2_T_1 = iss_stage_bufInfo_2_alu_isa_lui | iss_stage_bufInfo_2_alu_isa_auipc; // @[riscv_isa.scala 78:20]
  wire  iss_stage__maskCondAluIss_0_2_T_2 = iss_stage__maskCondAluIss_0_2_T_1 | iss_stage_bufInfo_2_alu_isa_addi; // @[riscv_isa.scala 78:28]
  wire  iss_stage__maskCondAluIss_0_2_T_3 = iss_stage__maskCondAluIss_0_2_T_2 | iss_stage_bufInfo_2_alu_isa_addiw; // @[riscv_isa.scala 78:35]
  wire  iss_stage__maskCondAluIss_0_2_T_4 = iss_stage__maskCondAluIss_0_2_T_3 | iss_stage_bufInfo_2_alu_isa_slti; // @[riscv_isa.scala 78:43]
  wire  iss_stage__maskCondAluIss_0_2_T_5 = iss_stage__maskCondAluIss_0_2_T_4 | iss_stage_bufInfo_2_alu_isa_sltiu; // @[riscv_isa.scala 78:50]
  wire  iss_stage__maskCondAluIss_0_2_T_6 = iss_stage__maskCondAluIss_0_2_T_5 | iss_stage_bufInfo_2_alu_isa_xori; // @[riscv_isa.scala 78:58]
  wire  iss_stage__maskCondAluIss_0_2_T_7 = iss_stage__maskCondAluIss_0_2_T_6 | iss_stage_bufInfo_2_alu_isa_ori; // @[riscv_isa.scala 78:65]
  wire  iss_stage__maskCondAluIss_0_2_T_8 = iss_stage__maskCondAluIss_0_2_T_7 | iss_stage_bufInfo_2_alu_isa_andi; // @[riscv_isa.scala 78:71]
  wire  iss_stage__maskCondAluIss_0_2_T_9 = iss_stage__maskCondAluIss_0_2_T_8 | iss_stage_bufInfo_2_alu_isa_slli; // @[riscv_isa.scala 78:78]
  wire  iss_stage__maskCondAluIss_0_2_T_10 = iss_stage__maskCondAluIss_0_2_T_9 | iss_stage_bufInfo_2_alu_isa_slliw; // @[riscv_isa.scala 78:85]
  wire  iss_stage__maskCondAluIss_0_2_T_11 = iss_stage__maskCondAluIss_0_2_T_10 | iss_stage_bufInfo_2_alu_isa_srli; // @[riscv_isa.scala 78:93]
  wire  iss_stage__maskCondAluIss_0_2_T_12 = iss_stage__maskCondAluIss_0_2_T_11 | iss_stage_bufInfo_2_alu_isa_srliw; // @[riscv_isa.scala 78:100]
  wire  iss_stage__maskCondAluIss_0_2_T_13 = iss_stage__maskCondAluIss_0_2_T_12 | iss_stage_bufInfo_2_alu_isa_srai; // @[riscv_isa.scala 78:108]
  wire  iss_stage__maskCondAluIss_0_2_T_14 = iss_stage__maskCondAluIss_0_2_T_13 | iss_stage_bufInfo_2_alu_isa_sraiw; // @[riscv_isa.scala 78:115]
  wire  iss_stage__maskCondAluIss_0_2_T_15 = iss_stage__maskCondAluIss_0_2_T_14 | iss_stage_bufInfo_2_alu_isa_add; // @[riscv_isa.scala 78:123]
  wire  iss_stage__maskCondAluIss_0_2_T_16 = iss_stage__maskCondAluIss_0_2_T_15 | iss_stage_bufInfo_2_alu_isa_addw; // @[riscv_isa.scala 78:129]
  wire  iss_stage__maskCondAluIss_0_2_T_17 = iss_stage__maskCondAluIss_0_2_T_16 | iss_stage_bufInfo_2_alu_isa_sub; // @[riscv_isa.scala 78:136]
  wire  iss_stage__maskCondAluIss_0_2_T_18 = iss_stage__maskCondAluIss_0_2_T_17 | iss_stage_bufInfo_2_alu_isa_subw; // @[riscv_isa.scala 78:142]
  wire  iss_stage__maskCondAluIss_0_2_T_19 = iss_stage__maskCondAluIss_0_2_T_18 | iss_stage_bufInfo_2_alu_isa_sll; // @[riscv_isa.scala 78:149]
  wire  iss_stage__maskCondAluIss_0_2_T_20 = iss_stage__maskCondAluIss_0_2_T_19 | iss_stage_bufInfo_2_alu_isa_sllw; // @[riscv_isa.scala 78:155]
  wire  iss_stage__maskCondAluIss_0_2_T_21 = iss_stage__maskCondAluIss_0_2_T_20 | iss_stage_bufInfo_2_alu_isa_slt; // @[riscv_isa.scala 78:162]
  wire  iss_stage__maskCondAluIss_0_2_T_22 = iss_stage__maskCondAluIss_0_2_T_21 | iss_stage_bufInfo_2_alu_isa_sltu; // @[riscv_isa.scala 78:168]
  wire  iss_stage__maskCondAluIss_0_2_T_23 = iss_stage__maskCondAluIss_0_2_T_22 | iss_stage_bufInfo_2_alu_isa_xor; // @[riscv_isa.scala 78:175]
  wire  iss_stage__maskCondAluIss_0_2_T_24 = iss_stage__maskCondAluIss_0_2_T_23 | iss_stage_bufInfo_2_alu_isa_srl; // @[riscv_isa.scala 78:181]
  wire  iss_stage__maskCondAluIss_0_2_T_25 = iss_stage__maskCondAluIss_0_2_T_24 | iss_stage_bufInfo_2_alu_isa_srlw; // @[riscv_isa.scala 78:187]
  wire  iss_stage__maskCondAluIss_0_2_T_26 = iss_stage__maskCondAluIss_0_2_T_25 | iss_stage_bufInfo_2_alu_isa_sra; // @[riscv_isa.scala 78:194]
  wire  iss_stage__maskCondAluIss_0_2_T_27 = iss_stage__maskCondAluIss_0_2_T_26 | iss_stage_bufInfo_2_alu_isa_sraw; // @[riscv_isa.scala 78:200]
  wire  iss_stage__maskCondAluIss_0_2_T_28 = iss_stage__maskCondAluIss_0_2_T_27 | iss_stage_bufInfo_2_alu_isa_or; // @[riscv_isa.scala 78:207]
  wire  iss_stage__maskCondAluIss_0_2_T_29 = iss_stage__maskCondAluIss_0_2_T_28 | iss_stage_bufInfo_2_alu_isa_and; // @[riscv_isa.scala 78:212]
  wire  iss_stage__maskCondAluIss_0_2_T_30 = iss_stage__maskCondAluIss_0_2_T_29 | iss_stage_bufInfo_2_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  iss_stage__maskCondAluIss_0_2_T_31 = ~iss_stage__maskCondAluIss_0_2_T_30; // @[Issue.scala 617:11]
  wire  iss_stage__maskCondAluIss_0_2_T_32 = iss_stage__entrySel_T_2 | iss_stage__maskCondAluIss_0_2_T_31; // @[Issue.scala 616:24]
  wire  iss_stage__maskCondAluIss_0_2_T_33 = iss_stage__postIsOpReady_2_0_T_17 & iss_stage__postIsOpReady_2_1_T_17; // @[Issue.scala 618:33]
  wire  iss_stage__maskCondAluIss_0_2_T_34 = ~iss_stage__maskCondAluIss_0_2_T_33; // @[Issue.scala 618:11]
  wire  iss_stage__maskCondAluIss_0_2_T_35 = iss_stage__maskCondAluIss_0_2_T_32 | iss_stage__maskCondAluIss_0_2_T_34; // @[Issue.scala 617:38]
  wire  iss_stage__maskCondAluIss_0_3_T_1 = iss_stage_bufInfo_3_alu_isa_lui | iss_stage_bufInfo_3_alu_isa_auipc; // @[riscv_isa.scala 78:20]
  wire  iss_stage__maskCondAluIss_0_3_T_2 = iss_stage__maskCondAluIss_0_3_T_1 | iss_stage_bufInfo_3_alu_isa_addi; // @[riscv_isa.scala 78:28]
  wire  iss_stage__maskCondAluIss_0_3_T_3 = iss_stage__maskCondAluIss_0_3_T_2 | iss_stage_bufInfo_3_alu_isa_addiw; // @[riscv_isa.scala 78:35]
  wire  iss_stage__maskCondAluIss_0_3_T_4 = iss_stage__maskCondAluIss_0_3_T_3 | iss_stage_bufInfo_3_alu_isa_slti; // @[riscv_isa.scala 78:43]
  wire  iss_stage__maskCondAluIss_0_3_T_5 = iss_stage__maskCondAluIss_0_3_T_4 | iss_stage_bufInfo_3_alu_isa_sltiu; // @[riscv_isa.scala 78:50]
  wire  iss_stage__maskCondAluIss_0_3_T_6 = iss_stage__maskCondAluIss_0_3_T_5 | iss_stage_bufInfo_3_alu_isa_xori; // @[riscv_isa.scala 78:58]
  wire  iss_stage__maskCondAluIss_0_3_T_7 = iss_stage__maskCondAluIss_0_3_T_6 | iss_stage_bufInfo_3_alu_isa_ori; // @[riscv_isa.scala 78:65]
  wire  iss_stage__maskCondAluIss_0_3_T_8 = iss_stage__maskCondAluIss_0_3_T_7 | iss_stage_bufInfo_3_alu_isa_andi; // @[riscv_isa.scala 78:71]
  wire  iss_stage__maskCondAluIss_0_3_T_9 = iss_stage__maskCondAluIss_0_3_T_8 | iss_stage_bufInfo_3_alu_isa_slli; // @[riscv_isa.scala 78:78]
  wire  iss_stage__maskCondAluIss_0_3_T_10 = iss_stage__maskCondAluIss_0_3_T_9 | iss_stage_bufInfo_3_alu_isa_slliw; // @[riscv_isa.scala 78:85]
  wire  iss_stage__maskCondAluIss_0_3_T_11 = iss_stage__maskCondAluIss_0_3_T_10 | iss_stage_bufInfo_3_alu_isa_srli; // @[riscv_isa.scala 78:93]
  wire  iss_stage__maskCondAluIss_0_3_T_12 = iss_stage__maskCondAluIss_0_3_T_11 | iss_stage_bufInfo_3_alu_isa_srliw; // @[riscv_isa.scala 78:100]
  wire  iss_stage__maskCondAluIss_0_3_T_13 = iss_stage__maskCondAluIss_0_3_T_12 | iss_stage_bufInfo_3_alu_isa_srai; // @[riscv_isa.scala 78:108]
  wire  iss_stage__maskCondAluIss_0_3_T_14 = iss_stage__maskCondAluIss_0_3_T_13 | iss_stage_bufInfo_3_alu_isa_sraiw; // @[riscv_isa.scala 78:115]
  wire  iss_stage__maskCondAluIss_0_3_T_15 = iss_stage__maskCondAluIss_0_3_T_14 | iss_stage_bufInfo_3_alu_isa_add; // @[riscv_isa.scala 78:123]
  wire  iss_stage__maskCondAluIss_0_3_T_16 = iss_stage__maskCondAluIss_0_3_T_15 | iss_stage_bufInfo_3_alu_isa_addw; // @[riscv_isa.scala 78:129]
  wire  iss_stage__maskCondAluIss_0_3_T_17 = iss_stage__maskCondAluIss_0_3_T_16 | iss_stage_bufInfo_3_alu_isa_sub; // @[riscv_isa.scala 78:136]
  wire  iss_stage__maskCondAluIss_0_3_T_18 = iss_stage__maskCondAluIss_0_3_T_17 | iss_stage_bufInfo_3_alu_isa_subw; // @[riscv_isa.scala 78:142]
  wire  iss_stage__maskCondAluIss_0_3_T_19 = iss_stage__maskCondAluIss_0_3_T_18 | iss_stage_bufInfo_3_alu_isa_sll; // @[riscv_isa.scala 78:149]
  wire  iss_stage__maskCondAluIss_0_3_T_20 = iss_stage__maskCondAluIss_0_3_T_19 | iss_stage_bufInfo_3_alu_isa_sllw; // @[riscv_isa.scala 78:155]
  wire  iss_stage__maskCondAluIss_0_3_T_21 = iss_stage__maskCondAluIss_0_3_T_20 | iss_stage_bufInfo_3_alu_isa_slt; // @[riscv_isa.scala 78:162]
  wire  iss_stage__maskCondAluIss_0_3_T_22 = iss_stage__maskCondAluIss_0_3_T_21 | iss_stage_bufInfo_3_alu_isa_sltu; // @[riscv_isa.scala 78:168]
  wire  iss_stage__maskCondAluIss_0_3_T_23 = iss_stage__maskCondAluIss_0_3_T_22 | iss_stage_bufInfo_3_alu_isa_xor; // @[riscv_isa.scala 78:175]
  wire  iss_stage__maskCondAluIss_0_3_T_24 = iss_stage__maskCondAluIss_0_3_T_23 | iss_stage_bufInfo_3_alu_isa_srl; // @[riscv_isa.scala 78:181]
  wire  iss_stage__maskCondAluIss_0_3_T_25 = iss_stage__maskCondAluIss_0_3_T_24 | iss_stage_bufInfo_3_alu_isa_srlw; // @[riscv_isa.scala 78:187]
  wire  iss_stage__maskCondAluIss_0_3_T_26 = iss_stage__maskCondAluIss_0_3_T_25 | iss_stage_bufInfo_3_alu_isa_sra; // @[riscv_isa.scala 78:194]
  wire  iss_stage__maskCondAluIss_0_3_T_27 = iss_stage__maskCondAluIss_0_3_T_26 | iss_stage_bufInfo_3_alu_isa_sraw; // @[riscv_isa.scala 78:200]
  wire  iss_stage__maskCondAluIss_0_3_T_28 = iss_stage__maskCondAluIss_0_3_T_27 | iss_stage_bufInfo_3_alu_isa_or; // @[riscv_isa.scala 78:207]
  wire  iss_stage__maskCondAluIss_0_3_T_29 = iss_stage__maskCondAluIss_0_3_T_28 | iss_stage_bufInfo_3_alu_isa_and; // @[riscv_isa.scala 78:212]
  wire  iss_stage__maskCondAluIss_0_3_T_30 = iss_stage__maskCondAluIss_0_3_T_29 | iss_stage_bufInfo_3_alu_isa_wfi; // @[riscv_isa.scala 78:217]
  wire  iss_stage__maskCondAluIss_0_3_T_31 = ~iss_stage__maskCondAluIss_0_3_T_30; // @[Issue.scala 617:11]
  wire  iss_stage__maskCondAluIss_0_3_T_32 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondAluIss_0_3_T_31; // @[Issue.scala 616:24]
  wire  iss_stage__maskCondAluIss_0_3_T_33 = iss_stage__postIsOpReady_3_0_T_17 & iss_stage__postIsOpReady_3_1_T_17; // @[Issue.scala 618:33]
  wire  iss_stage__maskCondAluIss_0_3_T_34 = ~iss_stage__maskCondAluIss_0_3_T_33; // @[Issue.scala 618:11]
  wire  iss_stage__maskCondAluIss_0_3_T_35 = iss_stage__maskCondAluIss_0_3_T_32 | iss_stage__maskCondAluIss_0_3_T_34; // @[Issue.scala 617:38]
  wire  iss_stage__matrixOut_0_0_T_30 = ~iss_stage__maskCondAluIss_0_0_T_35; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_31 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_32 = iss_stage__matrixOut_0_0_T_31 | iss_stage__maskCondAluIss_0_0_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_30 = ~iss_stage__maskCondAluIss_0_1_T_35; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_31 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_32 = iss_stage__matrixOut_0_1_T_31 | iss_stage__maskCondAluIss_0_0_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_30 = ~iss_stage__maskCondAluIss_0_2_T_35; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_31 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_32 = iss_stage__matrixOut_0_2_T_31 | iss_stage__maskCondAluIss_0_0_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_30 = ~iss_stage__maskCondAluIss_0_3_T_35; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_31 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_32 = iss_stage__matrixOut_0_3_T_31 | iss_stage__maskCondAluIss_0_0_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_0_T_31 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_32 = iss_stage__matrixOut_1_0_T_31 | iss_stage__maskCondAluIss_0_1_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_31 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_32 = iss_stage__matrixOut_1_1_T_31 | iss_stage__maskCondAluIss_0_1_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_31 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_32 = iss_stage__matrixOut_1_2_T_31 | iss_stage__maskCondAluIss_0_1_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_31 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_32 = iss_stage__matrixOut_1_3_T_31 | iss_stage__maskCondAluIss_0_1_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_31 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_32 = iss_stage__matrixOut_2_0_T_31 | iss_stage__maskCondAluIss_0_2_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_31 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_32 = iss_stage__matrixOut_2_1_T_31 | iss_stage__maskCondAluIss_0_2_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_31 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_32 = iss_stage__matrixOut_2_2_T_31 | iss_stage__maskCondAluIss_0_2_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_31 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_32 = iss_stage__matrixOut_2_3_T_31 | iss_stage__maskCondAluIss_0_2_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_31 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_32 = iss_stage__matrixOut_3_0_T_31 | iss_stage__maskCondAluIss_0_3_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_31 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_32 = iss_stage__matrixOut_3_1_T_31 | iss_stage__maskCondAluIss_0_3_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_31 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_32 = iss_stage__matrixOut_3_2_T_31 | iss_stage__maskCondAluIss_0_3_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_31 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_30; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_32 = iss_stage__matrixOut_3_3_T_31 | iss_stage__maskCondAluIss_0_3_T_35; // @[Issue.scala 200:60]
  wire  iss_stage__T_1368 = iss_stage__matrixOut_0_0_T_32 & iss_stage__matrixOut_0_1_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1369 = iss_stage__T_1368 & iss_stage__matrixOut_0_2_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1370 = iss_stage__T_1369 & iss_stage__matrixOut_0_3_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1376 = iss_stage__matrixOut_1_0_T_32 & iss_stage__matrixOut_1_1_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1377 = iss_stage__T_1376 & iss_stage__matrixOut_1_2_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1378 = iss_stage__T_1377 & iss_stage__matrixOut_1_3_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1384 = iss_stage__matrixOut_2_0_T_32 & iss_stage__matrixOut_2_1_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1385 = iss_stage__T_1384 & iss_stage__matrixOut_2_2_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1386 = iss_stage__T_1385 & iss_stage__matrixOut_2_3_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1392 = iss_stage__matrixOut_3_0_T_32 & iss_stage__matrixOut_3_1_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1393 = iss_stage__T_1392 & iss_stage__matrixOut_3_2_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1394 = iss_stage__T_1393 & iss_stage__matrixOut_3_3_T_32; // @[Issue.scala 628:59]
  wire  iss_stage__T_1396 = iss_stage__T_1370 & iss_stage__T_1378; // @[Issue.scala 628:31]
  wire  iss_stage__T_1397 = iss_stage__T_1396 & iss_stage__T_1386; // @[Issue.scala 628:31]
  wire  iss_stage__T_1398 = iss_stage__T_1397 & iss_stage__T_1394; // @[Issue.scala 628:31]
  wire  iss_stage__T_1399 = ~iss_stage__matrixOut_0_0_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1400 = ~iss_stage__matrixOut_0_1_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1401 = ~iss_stage__matrixOut_0_2_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1402 = ~iss_stage__matrixOut_0_3_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1404 = iss_stage__T_1399 & iss_stage__T_1400; // @[Issue.scala 629:65]
  wire  iss_stage__T_1405 = iss_stage__T_1404 & iss_stage__T_1401; // @[Issue.scala 629:65]
  wire  iss_stage__T_1406 = iss_stage__T_1405 & iss_stage__T_1402; // @[Issue.scala 629:65]
  wire  iss_stage__T_1407 = ~iss_stage__matrixOut_1_0_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1408 = ~iss_stage__matrixOut_1_1_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1409 = ~iss_stage__matrixOut_1_2_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1410 = ~iss_stage__matrixOut_1_3_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1412 = iss_stage__T_1407 & iss_stage__T_1408; // @[Issue.scala 629:65]
  wire  iss_stage__T_1413 = iss_stage__T_1412 & iss_stage__T_1409; // @[Issue.scala 629:65]
  wire  iss_stage__T_1414 = iss_stage__T_1413 & iss_stage__T_1410; // @[Issue.scala 629:65]
  wire  iss_stage__T_1415 = ~iss_stage__matrixOut_2_0_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1416 = ~iss_stage__matrixOut_2_1_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1417 = ~iss_stage__matrixOut_2_2_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1418 = ~iss_stage__matrixOut_2_3_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1420 = iss_stage__T_1415 & iss_stage__T_1416; // @[Issue.scala 629:65]
  wire  iss_stage__T_1421 = iss_stage__T_1420 & iss_stage__T_1417; // @[Issue.scala 629:65]
  wire  iss_stage__T_1422 = iss_stage__T_1421 & iss_stage__T_1418; // @[Issue.scala 629:65]
  wire  iss_stage__T_1423 = ~iss_stage__matrixOut_3_0_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1424 = ~iss_stage__matrixOut_3_1_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1425 = ~iss_stage__matrixOut_3_2_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1426 = ~iss_stage__matrixOut_3_3_T_32; // @[Issue.scala 629:82]
  wire  iss_stage__T_1428 = iss_stage__T_1423 & iss_stage__T_1424; // @[Issue.scala 629:65]
  wire  iss_stage__T_1429 = iss_stage__T_1428 & iss_stage__T_1425; // @[Issue.scala 629:65]
  wire  iss_stage__T_1430 = iss_stage__T_1429 & iss_stage__T_1426; // @[Issue.scala 629:65]
  wire [1:0] iss_stage__T_1431 = iss_stage__T_1406 + iss_stage__T_1414; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_1433 = iss_stage__T_1422 + iss_stage__T_1430; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1435 = iss_stage__T_1431 + iss_stage__T_1433; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_1437 = iss_stage__T_1435 == 3'h1; // @[Issue.scala 629:100]
  wire  iss_stage__T_1438 = iss_stage__T_1398 | iss_stage__T_1437; // @[Issue.scala 628:92]
  wire  iss_stage__T_1441 = ~iss_stage__T_1438; // @[Issue.scala 627:11]
  wire [1:0] iss_stage__aluIssIdx_0_T_32 = iss_stage__T_1422 ? 2'h2 : 2'h3; // @[Issue.scala 635:51]
  wire [1:0] iss_stage__aluIssIdx_0_T_33 = iss_stage__T_1414 ? 2'h1 : iss_stage__aluIssIdx_0_T_32; // @[Issue.scala 635:51]
  wire [1:0] iss_stage__aluIssIdx_0_T_34 = iss_stage__T_1406 ? 2'h0 : iss_stage__aluIssIdx_0_T_33; // @[Issue.scala 635:51]
  wire [63:0] iss_stage_aluIssInfo_0_param_dat_op2 = iss_stage__aluIssInfo_res_param_dat_op2_T_71[63:0]; // @[Issue.scala 538:19 576:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_39 = iss_stage__T_1406 ? iss_stage_aluIssInfo_0_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_1_param_dat_op2 = iss_stage__aluIssInfo_res_param_dat_op2_T_144[63:0]; // @[Issue.scala 538:19 576:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_40 = iss_stage__T_1414 ? iss_stage_aluIssInfo_1_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_2_param_dat_op2 = iss_stage__aluIssInfo_res_param_dat_op2_T_217[63:0]; // @[Issue.scala 538:19 576:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_41 = iss_stage__T_1422 ? iss_stage_aluIssInfo_2_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_3_param_dat_op2 = iss_stage__aluIssInfo_res_param_dat_op2_T_290[63:0]; // @[Issue.scala 538:19 576:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_42 = iss_stage__T_1430 ? iss_stage_aluIssInfo_3_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_43 = iss_stage__aluIssFifo_0_io_enq_bits_T_39 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_40; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_44 = iss_stage__aluIssFifo_0_io_enq_bits_T_43 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_41; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_0_param_dat_op1 = iss_stage__aluIssInfo_res_param_dat_op1_T_59[63:0]; // @[Issue.scala 538:19 554:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_46 = iss_stage__T_1406 ? iss_stage_aluIssInfo_0_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_1_param_dat_op1 = iss_stage__aluIssInfo_res_param_dat_op1_T_120[63:0]; // @[Issue.scala 538:19 554:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_47 = iss_stage__T_1414 ? iss_stage_aluIssInfo_1_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_2_param_dat_op1 = iss_stage__aluIssInfo_res_param_dat_op1_T_181[63:0]; // @[Issue.scala 538:19 554:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_48 = iss_stage__T_1422 ? iss_stage_aluIssInfo_2_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_aluIssInfo_3_param_dat_op1 = iss_stage__aluIssInfo_res_param_dat_op1_T_242[63:0]; // @[Issue.scala 538:19 554:23]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_49 = iss_stage__T_1430 ? iss_stage_aluIssInfo_3_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_50 = iss_stage__aluIssFifo_0_io_enq_bits_T_46 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_47; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__aluIssFifo_0_io_enq_bits_T_51 = iss_stage__aluIssFifo_0_io_enq_bits_T_50 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_48; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_53 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_param_is_usi_T; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_54 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_param_is_usi_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_55 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_param_is_usi_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_56 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_param_is_usi_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_57 = iss_stage__aluIssFifo_0_io_enq_bits_T_53 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_54; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_58 = iss_stage__aluIssFifo_0_io_enq_bits_T_57 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_55; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_60 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_param_is_32w_T_7; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_61 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_param_is_32w_T_15; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_62 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_param_is_32w_T_23; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_63 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_param_is_32w_T_31; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_64 = iss_stage__aluIssFifo_0_io_enq_bits_T_60 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_61; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_65 = iss_stage__aluIssFifo_0_io_enq_bits_T_64 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_62; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_67 = iss_stage__T_1406 ? iss_stage_bufInfo_0_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_68 = iss_stage__T_1414 ? iss_stage_bufInfo_1_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_69 = iss_stage__T_1422 ? iss_stage_bufInfo_2_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_70 = iss_stage__T_1430 ? iss_stage_bufInfo_3_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_71 = iss_stage__aluIssFifo_0_io_enq_bits_T_67 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_68; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__aluIssFifo_0_io_enq_bits_T_72 = iss_stage__aluIssFifo_0_io_enq_bits_T_71 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_69; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_74 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_sra_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_75 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_sra_T_5; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_76 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_sra_T_8; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_77 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_sra_T_11; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_78 = iss_stage__aluIssFifo_0_io_enq_bits_T_74 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_75; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_79 = iss_stage__aluIssFifo_0_io_enq_bits_T_78 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_76; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_81 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_srl_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_82 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_srl_T_5; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_83 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_srl_T_8; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_84 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_srl_T_11; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_85 = iss_stage__aluIssFifo_0_io_enq_bits_T_81 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_82; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_86 = iss_stage__aluIssFifo_0_io_enq_bits_T_85 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_83; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_88 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_sll_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_89 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_sll_T_5; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_90 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_sll_T_8; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_91 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_sll_T_11; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_92 = iss_stage__aluIssFifo_0_io_enq_bits_T_88 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_89; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_93 = iss_stage__aluIssFifo_0_io_enq_bits_T_92 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_90; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_95 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_and_T; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_96 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_and_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_97 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_and_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_98 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_and_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_99 = iss_stage__aluIssFifo_0_io_enq_bits_T_95 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_96; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_100 = iss_stage__aluIssFifo_0_io_enq_bits_T_99 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_97; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_102 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_or_T; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_103 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_or_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_104 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_or_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_105 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_or_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_106 = iss_stage__aluIssFifo_0_io_enq_bits_T_102 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_103; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_107 = iss_stage__aluIssFifo_0_io_enq_bits_T_106 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_104; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_109 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_xor_T; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_110 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_xor_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_111 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_xor_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_112 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_xor_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_113 = iss_stage__aluIssFifo_0_io_enq_bits_T_109 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_110; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_114 = iss_stage__aluIssFifo_0_io_enq_bits_T_113 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_111; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_116 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_slt_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_117 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_slt_T_5; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_118 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_slt_T_8; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_119 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_slt_T_11; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_120 = iss_stage__aluIssFifo_0_io_enq_bits_T_116 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_117; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_121 = iss_stage__aluIssFifo_0_io_enq_bits_T_120 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_118; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_123 = iss_stage__T_1406 & iss_stage__aluIssInfo_res_fun_add_T_7; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_124 = iss_stage__T_1414 & iss_stage__aluIssInfo_res_fun_add_T_15; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_125 = iss_stage__T_1422 & iss_stage__aluIssInfo_res_fun_add_T_23; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_126 = iss_stage__T_1430 & iss_stage__aluIssInfo_res_fun_add_T_31; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_127 = iss_stage__aluIssFifo_0_io_enq_bits_T_123 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_124; // @[Mux.scala 27:73]
  wire  iss_stage__aluIssFifo_0_io_enq_bits_T_128 = iss_stage__aluIssFifo_0_io_enq_bits_T_127 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_125; // @[Mux.scala 27:73]
  wire  iss_stage__T_1443 = iss_stage__aluIssIdx_0_T_34 == 2'h0; // @[Issue.scala 640:58]
  wire  iss_stage__T_1444 = iss_stage_aluIssFifo_0__do_enq_T & iss_stage__T_1443; // @[Issue.scala 640:41]
  wire  iss_stage__GEN_3542 = iss_stage__T_1444 ? 1'h0 : iss_stage__GEN_1584; // @[Issue.scala 640:68 641:21 75:12]
  wire  iss_stage__T_1486 = iss_stage__aluIssIdx_0_T_34 == 2'h1; // @[Issue.scala 640:58]
  wire  iss_stage__T_1487 = iss_stage_aluIssFifo_0__do_enq_T & iss_stage__T_1486; // @[Issue.scala 640:41]
  wire  iss_stage__GEN_3543 = iss_stage__T_1487 ? 1'h0 : iss_stage__GEN_1585; // @[Issue.scala 640:68 641:21 75:12]
  wire  iss_stage__T_1529 = iss_stage__aluIssIdx_0_T_34 == 2'h2; // @[Issue.scala 640:58]
  wire  iss_stage__T_1530 = iss_stage_aluIssFifo_0__do_enq_T & iss_stage__T_1529; // @[Issue.scala 640:41]
  wire  iss_stage__GEN_3544 = iss_stage__T_1530 ? 1'h0 : iss_stage__GEN_1586; // @[Issue.scala 640:68 641:21 75:12]
  wire  iss_stage__T_1572 = iss_stage__aluIssIdx_0_T_34 == 2'h3; // @[Issue.scala 640:58]
  wire  iss_stage__T_1573 = iss_stage_aluIssFifo_0__do_enq_T & iss_stage__T_1572; // @[Issue.scala 640:41]
  wire  iss_stage__GEN_3545 = iss_stage__T_1573 ? 1'h0 : iss_stage__GEN_1587; // @[Issue.scala 640:68 641:21 75:12]
  wire  iss_stage__maskCondMulIss_0_0_T_1 = iss_stage_bufInfo_0_mul_isa_mul | iss_stage_bufInfo_0_mul_isa_mulh; // @[riscv_isa.scala 203:19]
  wire  iss_stage__maskCondMulIss_0_0_T_2 = iss_stage__maskCondMulIss_0_0_T_1 | iss_stage_bufInfo_0_mul_isa_mulhsu; // @[riscv_isa.scala 203:26]
  wire  iss_stage__maskCondMulIss_0_0_T_3 = iss_stage__maskCondMulIss_0_0_T_2 | iss_stage_bufInfo_0_mul_isa_mulhu; // @[riscv_isa.scala 203:35]
  wire  iss_stage__maskCondMulIss_0_0_T_4 = iss_stage__maskCondMulIss_0_0_T_3 | iss_stage_bufInfo_0_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  iss_stage__maskCondMulIss_0_0_T_5 = iss_stage_bufInfo_0_mul_isa_div | iss_stage_bufInfo_0_mul_isa_divu; // @[riscv_isa.scala 204:19]
  wire  iss_stage__maskCondMulIss_0_0_T_6 = iss_stage__maskCondMulIss_0_0_T_5 | iss_stage_bufInfo_0_mul_isa_divw; // @[riscv_isa.scala 204:26]
  wire  iss_stage__maskCondMulIss_0_0_T_7 = iss_stage__maskCondMulIss_0_0_T_6 | iss_stage_bufInfo_0_mul_isa_divuw; // @[riscv_isa.scala 204:33]
  wire  iss_stage__maskCondMulIss_0_0_T_8 = iss_stage__maskCondMulIss_0_0_T_7 | iss_stage_bufInfo_0_mul_isa_rem; // @[riscv_isa.scala 204:41]
  wire  iss_stage__maskCondMulIss_0_0_T_9 = iss_stage__maskCondMulIss_0_0_T_8 | iss_stage_bufInfo_0_mul_isa_remu; // @[riscv_isa.scala 204:47]
  wire  iss_stage__maskCondMulIss_0_0_T_10 = iss_stage__maskCondMulIss_0_0_T_9 | iss_stage_bufInfo_0_mul_isa_remw; // @[riscv_isa.scala 204:54]
  wire  iss_stage__maskCondMulIss_0_0_T_11 = iss_stage__maskCondMulIss_0_0_T_10 | iss_stage_bufInfo_0_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  iss_stage__maskCondMulIss_0_0_T_12 = iss_stage__maskCondMulIss_0_0_T_4 | iss_stage__maskCondMulIss_0_0_T_11; // @[riscv_isa.scala 206:25]
  wire  iss_stage__maskCondMulIss_0_0_T_13 = ~iss_stage__maskCondMulIss_0_0_T_12; // @[Issue.scala 682:13]
  wire  iss_stage__maskCondMulIss_0_0_T_14 = iss_stage__entrySel_T | iss_stage__maskCondMulIss_0_0_T_13; // @[Issue.scala 681:26]
  wire  iss_stage__maskCondMulIss_0_0_T_17 = iss_stage__maskCondMulIss_0_0_T_14 | iss_stage__maskCondAluIss_0_0_T_34; // @[Issue.scala 682:43]
  wire  iss_stage__maskCondMulIss_0_1_T_1 = iss_stage_bufInfo_1_mul_isa_mul | iss_stage_bufInfo_1_mul_isa_mulh; // @[riscv_isa.scala 203:19]
  wire  iss_stage__maskCondMulIss_0_1_T_2 = iss_stage__maskCondMulIss_0_1_T_1 | iss_stage_bufInfo_1_mul_isa_mulhsu; // @[riscv_isa.scala 203:26]
  wire  iss_stage__maskCondMulIss_0_1_T_3 = iss_stage__maskCondMulIss_0_1_T_2 | iss_stage_bufInfo_1_mul_isa_mulhu; // @[riscv_isa.scala 203:35]
  wire  iss_stage__maskCondMulIss_0_1_T_4 = iss_stage__maskCondMulIss_0_1_T_3 | iss_stage_bufInfo_1_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  iss_stage__maskCondMulIss_0_1_T_5 = iss_stage_bufInfo_1_mul_isa_div | iss_stage_bufInfo_1_mul_isa_divu; // @[riscv_isa.scala 204:19]
  wire  iss_stage__maskCondMulIss_0_1_T_6 = iss_stage__maskCondMulIss_0_1_T_5 | iss_stage_bufInfo_1_mul_isa_divw; // @[riscv_isa.scala 204:26]
  wire  iss_stage__maskCondMulIss_0_1_T_7 = iss_stage__maskCondMulIss_0_1_T_6 | iss_stage_bufInfo_1_mul_isa_divuw; // @[riscv_isa.scala 204:33]
  wire  iss_stage__maskCondMulIss_0_1_T_8 = iss_stage__maskCondMulIss_0_1_T_7 | iss_stage_bufInfo_1_mul_isa_rem; // @[riscv_isa.scala 204:41]
  wire  iss_stage__maskCondMulIss_0_1_T_9 = iss_stage__maskCondMulIss_0_1_T_8 | iss_stage_bufInfo_1_mul_isa_remu; // @[riscv_isa.scala 204:47]
  wire  iss_stage__maskCondMulIss_0_1_T_10 = iss_stage__maskCondMulIss_0_1_T_9 | iss_stage_bufInfo_1_mul_isa_remw; // @[riscv_isa.scala 204:54]
  wire  iss_stage__maskCondMulIss_0_1_T_11 = iss_stage__maskCondMulIss_0_1_T_10 | iss_stage_bufInfo_1_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  iss_stage__maskCondMulIss_0_1_T_12 = iss_stage__maskCondMulIss_0_1_T_4 | iss_stage__maskCondMulIss_0_1_T_11; // @[riscv_isa.scala 206:25]
  wire  iss_stage__maskCondMulIss_0_1_T_13 = ~iss_stage__maskCondMulIss_0_1_T_12; // @[Issue.scala 682:13]
  wire  iss_stage__maskCondMulIss_0_1_T_14 = iss_stage__entrySel_T_1 | iss_stage__maskCondMulIss_0_1_T_13; // @[Issue.scala 681:26]
  wire  iss_stage__maskCondMulIss_0_1_T_17 = iss_stage__maskCondMulIss_0_1_T_14 | iss_stage__maskCondAluIss_0_1_T_34; // @[Issue.scala 682:43]
  wire  iss_stage__maskCondMulIss_0_2_T_1 = iss_stage_bufInfo_2_mul_isa_mul | iss_stage_bufInfo_2_mul_isa_mulh; // @[riscv_isa.scala 203:19]
  wire  iss_stage__maskCondMulIss_0_2_T_2 = iss_stage__maskCondMulIss_0_2_T_1 | iss_stage_bufInfo_2_mul_isa_mulhsu; // @[riscv_isa.scala 203:26]
  wire  iss_stage__maskCondMulIss_0_2_T_3 = iss_stage__maskCondMulIss_0_2_T_2 | iss_stage_bufInfo_2_mul_isa_mulhu; // @[riscv_isa.scala 203:35]
  wire  iss_stage__maskCondMulIss_0_2_T_4 = iss_stage__maskCondMulIss_0_2_T_3 | iss_stage_bufInfo_2_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  iss_stage__maskCondMulIss_0_2_T_5 = iss_stage_bufInfo_2_mul_isa_div | iss_stage_bufInfo_2_mul_isa_divu; // @[riscv_isa.scala 204:19]
  wire  iss_stage__maskCondMulIss_0_2_T_6 = iss_stage__maskCondMulIss_0_2_T_5 | iss_stage_bufInfo_2_mul_isa_divw; // @[riscv_isa.scala 204:26]
  wire  iss_stage__maskCondMulIss_0_2_T_7 = iss_stage__maskCondMulIss_0_2_T_6 | iss_stage_bufInfo_2_mul_isa_divuw; // @[riscv_isa.scala 204:33]
  wire  iss_stage__maskCondMulIss_0_2_T_8 = iss_stage__maskCondMulIss_0_2_T_7 | iss_stage_bufInfo_2_mul_isa_rem; // @[riscv_isa.scala 204:41]
  wire  iss_stage__maskCondMulIss_0_2_T_9 = iss_stage__maskCondMulIss_0_2_T_8 | iss_stage_bufInfo_2_mul_isa_remu; // @[riscv_isa.scala 204:47]
  wire  iss_stage__maskCondMulIss_0_2_T_10 = iss_stage__maskCondMulIss_0_2_T_9 | iss_stage_bufInfo_2_mul_isa_remw; // @[riscv_isa.scala 204:54]
  wire  iss_stage__maskCondMulIss_0_2_T_11 = iss_stage__maskCondMulIss_0_2_T_10 | iss_stage_bufInfo_2_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  iss_stage__maskCondMulIss_0_2_T_12 = iss_stage__maskCondMulIss_0_2_T_4 | iss_stage__maskCondMulIss_0_2_T_11; // @[riscv_isa.scala 206:25]
  wire  iss_stage__maskCondMulIss_0_2_T_13 = ~iss_stage__maskCondMulIss_0_2_T_12; // @[Issue.scala 682:13]
  wire  iss_stage__maskCondMulIss_0_2_T_14 = iss_stage__entrySel_T_2 | iss_stage__maskCondMulIss_0_2_T_13; // @[Issue.scala 681:26]
  wire  iss_stage__maskCondMulIss_0_2_T_17 = iss_stage__maskCondMulIss_0_2_T_14 | iss_stage__maskCondAluIss_0_2_T_34; // @[Issue.scala 682:43]
  wire  iss_stage__maskCondMulIss_0_3_T_1 = iss_stage_bufInfo_3_mul_isa_mul | iss_stage_bufInfo_3_mul_isa_mulh; // @[riscv_isa.scala 203:19]
  wire  iss_stage__maskCondMulIss_0_3_T_2 = iss_stage__maskCondMulIss_0_3_T_1 | iss_stage_bufInfo_3_mul_isa_mulhsu; // @[riscv_isa.scala 203:26]
  wire  iss_stage__maskCondMulIss_0_3_T_3 = iss_stage__maskCondMulIss_0_3_T_2 | iss_stage_bufInfo_3_mul_isa_mulhu; // @[riscv_isa.scala 203:35]
  wire  iss_stage__maskCondMulIss_0_3_T_4 = iss_stage__maskCondMulIss_0_3_T_3 | iss_stage_bufInfo_3_mul_isa_mulw; // @[riscv_isa.scala 203:43]
  wire  iss_stage__maskCondMulIss_0_3_T_5 = iss_stage_bufInfo_3_mul_isa_div | iss_stage_bufInfo_3_mul_isa_divu; // @[riscv_isa.scala 204:19]
  wire  iss_stage__maskCondMulIss_0_3_T_6 = iss_stage__maskCondMulIss_0_3_T_5 | iss_stage_bufInfo_3_mul_isa_divw; // @[riscv_isa.scala 204:26]
  wire  iss_stage__maskCondMulIss_0_3_T_7 = iss_stage__maskCondMulIss_0_3_T_6 | iss_stage_bufInfo_3_mul_isa_divuw; // @[riscv_isa.scala 204:33]
  wire  iss_stage__maskCondMulIss_0_3_T_8 = iss_stage__maskCondMulIss_0_3_T_7 | iss_stage_bufInfo_3_mul_isa_rem; // @[riscv_isa.scala 204:41]
  wire  iss_stage__maskCondMulIss_0_3_T_9 = iss_stage__maskCondMulIss_0_3_T_8 | iss_stage_bufInfo_3_mul_isa_remu; // @[riscv_isa.scala 204:47]
  wire  iss_stage__maskCondMulIss_0_3_T_10 = iss_stage__maskCondMulIss_0_3_T_9 | iss_stage_bufInfo_3_mul_isa_remw; // @[riscv_isa.scala 204:54]
  wire  iss_stage__maskCondMulIss_0_3_T_11 = iss_stage__maskCondMulIss_0_3_T_10 | iss_stage_bufInfo_3_mul_isa_remuw; // @[riscv_isa.scala 204:61]
  wire  iss_stage__maskCondMulIss_0_3_T_12 = iss_stage__maskCondMulIss_0_3_T_4 | iss_stage__maskCondMulIss_0_3_T_11; // @[riscv_isa.scala 206:25]
  wire  iss_stage__maskCondMulIss_0_3_T_13 = ~iss_stage__maskCondMulIss_0_3_T_12; // @[Issue.scala 682:13]
  wire  iss_stage__maskCondMulIss_0_3_T_14 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondMulIss_0_3_T_13; // @[Issue.scala 681:26]
  wire  iss_stage__maskCondMulIss_0_3_T_17 = iss_stage__maskCondMulIss_0_3_T_14 | iss_stage__maskCondAluIss_0_3_T_34; // @[Issue.scala 682:43]
  wire  iss_stage__matrixOut_0_0_T_33 = ~iss_stage__maskCondMulIss_0_0_T_17; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_34 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_35 = iss_stage__matrixOut_0_0_T_34 | iss_stage__maskCondMulIss_0_0_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_33 = ~iss_stage__maskCondMulIss_0_1_T_17; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_34 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_35 = iss_stage__matrixOut_0_1_T_34 | iss_stage__maskCondMulIss_0_0_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_33 = ~iss_stage__maskCondMulIss_0_2_T_17; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_34 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_35 = iss_stage__matrixOut_0_2_T_34 | iss_stage__maskCondMulIss_0_0_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_33 = ~iss_stage__maskCondMulIss_0_3_T_17; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_34 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_35 = iss_stage__matrixOut_0_3_T_34 | iss_stage__maskCondMulIss_0_0_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_0_T_34 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_35 = iss_stage__matrixOut_1_0_T_34 | iss_stage__maskCondMulIss_0_1_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_34 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_35 = iss_stage__matrixOut_1_1_T_34 | iss_stage__maskCondMulIss_0_1_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_34 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_35 = iss_stage__matrixOut_1_2_T_34 | iss_stage__maskCondMulIss_0_1_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_34 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_35 = iss_stage__matrixOut_1_3_T_34 | iss_stage__maskCondMulIss_0_1_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_34 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_35 = iss_stage__matrixOut_2_0_T_34 | iss_stage__maskCondMulIss_0_2_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_34 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_35 = iss_stage__matrixOut_2_1_T_34 | iss_stage__maskCondMulIss_0_2_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_34 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_35 = iss_stage__matrixOut_2_2_T_34 | iss_stage__maskCondMulIss_0_2_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_34 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_35 = iss_stage__matrixOut_2_3_T_34 | iss_stage__maskCondMulIss_0_2_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_34 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_35 = iss_stage__matrixOut_3_0_T_34 | iss_stage__maskCondMulIss_0_3_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_34 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_35 = iss_stage__matrixOut_3_1_T_34 | iss_stage__maskCondMulIss_0_3_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_34 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_35 = iss_stage__matrixOut_3_2_T_34 | iss_stage__maskCondMulIss_0_3_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_34 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_33; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_35 = iss_stage__matrixOut_3_3_T_34 | iss_stage__maskCondMulIss_0_3_T_17; // @[Issue.scala 200:60]
  wire  iss_stage__T_1619 = iss_stage__matrixOut_0_0_T_35 & iss_stage__matrixOut_0_1_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1620 = iss_stage__T_1619 & iss_stage__matrixOut_0_2_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1621 = iss_stage__T_1620 & iss_stage__matrixOut_0_3_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1627 = iss_stage__matrixOut_1_0_T_35 & iss_stage__matrixOut_1_1_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1628 = iss_stage__T_1627 & iss_stage__matrixOut_1_2_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1629 = iss_stage__T_1628 & iss_stage__matrixOut_1_3_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1635 = iss_stage__matrixOut_2_0_T_35 & iss_stage__matrixOut_2_1_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1636 = iss_stage__T_1635 & iss_stage__matrixOut_2_2_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1637 = iss_stage__T_1636 & iss_stage__matrixOut_2_3_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1643 = iss_stage__matrixOut_3_0_T_35 & iss_stage__matrixOut_3_1_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1644 = iss_stage__T_1643 & iss_stage__matrixOut_3_2_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1645 = iss_stage__T_1644 & iss_stage__matrixOut_3_3_T_35; // @[Issue.scala 693:61]
  wire  iss_stage__T_1647 = iss_stage__T_1621 & iss_stage__T_1629; // @[Issue.scala 693:33]
  wire  iss_stage__T_1648 = iss_stage__T_1647 & iss_stage__T_1637; // @[Issue.scala 693:33]
  wire  iss_stage__T_1649 = iss_stage__T_1648 & iss_stage__T_1645; // @[Issue.scala 693:33]
  wire  iss_stage__T_1650 = ~iss_stage__matrixOut_0_0_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1651 = ~iss_stage__matrixOut_0_1_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1652 = ~iss_stage__matrixOut_0_2_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1653 = ~iss_stage__matrixOut_0_3_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1655 = iss_stage__T_1650 & iss_stage__T_1651; // @[Issue.scala 694:67]
  wire  iss_stage__T_1656 = iss_stage__T_1655 & iss_stage__T_1652; // @[Issue.scala 694:67]
  wire  iss_stage__T_1657 = iss_stage__T_1656 & iss_stage__T_1653; // @[Issue.scala 694:67]
  wire  iss_stage__T_1658 = ~iss_stage__matrixOut_1_0_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1659 = ~iss_stage__matrixOut_1_1_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1660 = ~iss_stage__matrixOut_1_2_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1661 = ~iss_stage__matrixOut_1_3_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1663 = iss_stage__T_1658 & iss_stage__T_1659; // @[Issue.scala 694:67]
  wire  iss_stage__T_1664 = iss_stage__T_1663 & iss_stage__T_1660; // @[Issue.scala 694:67]
  wire  iss_stage__T_1665 = iss_stage__T_1664 & iss_stage__T_1661; // @[Issue.scala 694:67]
  wire  iss_stage__T_1666 = ~iss_stage__matrixOut_2_0_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1667 = ~iss_stage__matrixOut_2_1_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1668 = ~iss_stage__matrixOut_2_2_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1669 = ~iss_stage__matrixOut_2_3_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1671 = iss_stage__T_1666 & iss_stage__T_1667; // @[Issue.scala 694:67]
  wire  iss_stage__T_1672 = iss_stage__T_1671 & iss_stage__T_1668; // @[Issue.scala 694:67]
  wire  iss_stage__T_1673 = iss_stage__T_1672 & iss_stage__T_1669; // @[Issue.scala 694:67]
  wire  iss_stage__T_1674 = ~iss_stage__matrixOut_3_0_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1675 = ~iss_stage__matrixOut_3_1_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1676 = ~iss_stage__matrixOut_3_2_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1677 = ~iss_stage__matrixOut_3_3_T_35; // @[Issue.scala 694:84]
  wire  iss_stage__T_1679 = iss_stage__T_1674 & iss_stage__T_1675; // @[Issue.scala 694:67]
  wire  iss_stage__T_1680 = iss_stage__T_1679 & iss_stage__T_1676; // @[Issue.scala 694:67]
  wire  iss_stage__T_1681 = iss_stage__T_1680 & iss_stage__T_1677; // @[Issue.scala 694:67]
  wire [1:0] iss_stage__T_1682 = iss_stage__T_1657 + iss_stage__T_1665; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_1684 = iss_stage__T_1673 + iss_stage__T_1681; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1686 = iss_stage__T_1682 + iss_stage__T_1684; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_1688 = iss_stage__T_1686 == 3'h1; // @[Issue.scala 694:102]
  wire  iss_stage__T_1689 = iss_stage__T_1649 | iss_stage__T_1688; // @[Issue.scala 693:95]
  wire  iss_stage__T_1692 = ~iss_stage__T_1689; // @[Issue.scala 692:13]
  wire [1:0] iss_stage__mulIssIdx_0_T_32 = iss_stage__T_1673 ? 2'h2 : 2'h3; // @[Issue.scala 700:53]
  wire [1:0] iss_stage__mulIssIdx_0_T_33 = iss_stage__T_1665 ? 2'h1 : iss_stage__mulIssIdx_0_T_32; // @[Issue.scala 700:53]
  wire [1:0] iss_stage__mulIssIdx_0_T_34 = iss_stage__T_1657 ? 2'h0 : iss_stage__mulIssIdx_0_T_33; // @[Issue.scala 700:53]
  wire [63:0] iss_stage_mulIssInfo_0_param_dat_op2 = iss_stage__postBufOperator_0_1_T_17[63:0]; // @[Issue.scala 657:19 661:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_39 = iss_stage__T_1657 ? iss_stage_mulIssInfo_0_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_1_param_dat_op2 = iss_stage__postBufOperator_1_1_T_17[63:0]; // @[Issue.scala 657:19 661:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_40 = iss_stage__T_1665 ? iss_stage_mulIssInfo_1_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_2_param_dat_op2 = iss_stage__postBufOperator_2_1_T_17[63:0]; // @[Issue.scala 657:19 661:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_41 = iss_stage__T_1673 ? iss_stage_mulIssInfo_2_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_3_param_dat_op2 = iss_stage__postBufOperator_3_1_T_17[63:0]; // @[Issue.scala 657:19 661:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_42 = iss_stage__T_1681 ? iss_stage_mulIssInfo_3_param_dat_op2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_43 = iss_stage__mulIssFifo_0_io_enq_bits_T_39 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_40; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_44 = iss_stage__mulIssFifo_0_io_enq_bits_T_43 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_41; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_0_param_dat_op1 = iss_stage__postBufOperator_0_0_T_17[63:0]; // @[Issue.scala 657:19 660:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_46 = iss_stage__T_1657 ? iss_stage_mulIssInfo_0_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_1_param_dat_op1 = iss_stage__postBufOperator_1_0_T_17[63:0]; // @[Issue.scala 657:19 660:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_47 = iss_stage__T_1665 ? iss_stage_mulIssInfo_1_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_2_param_dat_op1 = iss_stage__postBufOperator_2_0_T_17[63:0]; // @[Issue.scala 657:19 660:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_48 = iss_stage__T_1673 ? iss_stage_mulIssInfo_2_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_mulIssInfo_3_param_dat_op1 = iss_stage__postBufOperator_3_0_T_17[63:0]; // @[Issue.scala 657:19 660:23]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_49 = iss_stage__T_1681 ? iss_stage_mulIssInfo_3_param_dat_op1 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_50 = iss_stage__mulIssFifo_0_io_enq_bits_T_46 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_47; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__mulIssFifo_0_io_enq_bits_T_51 = iss_stage__mulIssFifo_0_io_enq_bits_T_50 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_48; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_53 = iss_stage__T_1657 ? iss_stage_bufInfo_0_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_54 = iss_stage__T_1665 ? iss_stage_bufInfo_1_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_55 = iss_stage__T_1673 ? iss_stage_bufInfo_2_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_56 = iss_stage__T_1681 ? iss_stage_bufInfo_3_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_57 = iss_stage__mulIssFifo_0_io_enq_bits_T_53 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_54; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__mulIssFifo_0_io_enq_bits_T_58 = iss_stage__mulIssFifo_0_io_enq_bits_T_57 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_55; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_60 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_remuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_61 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_remuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_62 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_remuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_63 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_remuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_64 = iss_stage__mulIssFifo_0_io_enq_bits_T_60 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_61; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_65 = iss_stage__mulIssFifo_0_io_enq_bits_T_64 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_62; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_67 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_remw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_68 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_remw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_69 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_remw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_70 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_remw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_71 = iss_stage__mulIssFifo_0_io_enq_bits_T_67 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_68; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_72 = iss_stage__mulIssFifo_0_io_enq_bits_T_71 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_69; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_74 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_divuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_75 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_divuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_76 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_divuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_77 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_divuw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_78 = iss_stage__mulIssFifo_0_io_enq_bits_T_74 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_75; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_79 = iss_stage__mulIssFifo_0_io_enq_bits_T_78 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_76; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_81 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_divw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_82 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_divw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_83 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_divw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_84 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_divw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_85 = iss_stage__mulIssFifo_0_io_enq_bits_T_81 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_82; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_86 = iss_stage__mulIssFifo_0_io_enq_bits_T_85 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_83; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_88 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_mulw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_89 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_mulw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_90 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_mulw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_91 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_mulw; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_92 = iss_stage__mulIssFifo_0_io_enq_bits_T_88 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_89; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_93 = iss_stage__mulIssFifo_0_io_enq_bits_T_92 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_90; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_95 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_remu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_96 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_remu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_97 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_remu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_98 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_remu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_99 = iss_stage__mulIssFifo_0_io_enq_bits_T_95 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_96; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_100 = iss_stage__mulIssFifo_0_io_enq_bits_T_99 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_97; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_102 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_rem; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_103 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_rem; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_104 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_rem; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_105 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_rem; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_106 = iss_stage__mulIssFifo_0_io_enq_bits_T_102 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_103; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_107 = iss_stage__mulIssFifo_0_io_enq_bits_T_106 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_104; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_109 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_divu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_110 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_divu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_111 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_divu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_112 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_divu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_113 = iss_stage__mulIssFifo_0_io_enq_bits_T_109 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_110; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_114 = iss_stage__mulIssFifo_0_io_enq_bits_T_113 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_111; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_116 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_div; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_117 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_div; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_118 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_div; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_119 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_div; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_120 = iss_stage__mulIssFifo_0_io_enq_bits_T_116 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_117; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_121 = iss_stage__mulIssFifo_0_io_enq_bits_T_120 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_118; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_123 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_mulhu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_124 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_mulhu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_125 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_mulhu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_126 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_mulhu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_127 = iss_stage__mulIssFifo_0_io_enq_bits_T_123 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_124; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_128 = iss_stage__mulIssFifo_0_io_enq_bits_T_127 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_125; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_130 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_mulhsu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_131 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_mulhsu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_132 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_mulhsu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_133 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_mulhsu; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_134 = iss_stage__mulIssFifo_0_io_enq_bits_T_130 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_131; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_135 = iss_stage__mulIssFifo_0_io_enq_bits_T_134 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_132; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_137 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_mulh; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_138 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_mulh; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_139 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_mulh; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_140 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_mulh; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_141 = iss_stage__mulIssFifo_0_io_enq_bits_T_137 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_138; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_142 = iss_stage__mulIssFifo_0_io_enq_bits_T_141 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_139; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_144 = iss_stage__T_1657 & iss_stage_bufInfo_0_mul_isa_mul; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_145 = iss_stage__T_1665 & iss_stage_bufInfo_1_mul_isa_mul; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_146 = iss_stage__T_1673 & iss_stage_bufInfo_2_mul_isa_mul; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_147 = iss_stage__T_1681 & iss_stage_bufInfo_3_mul_isa_mul; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_148 = iss_stage__mulIssFifo_0_io_enq_bits_T_144 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_145; // @[Mux.scala 27:73]
  wire  iss_stage__mulIssFifo_0_io_enq_bits_T_149 = iss_stage__mulIssFifo_0_io_enq_bits_T_148 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_146; // @[Mux.scala 27:73]
  wire  iss_stage__T_1694 = iss_stage__mulIssIdx_0_T_34 == 2'h0; // @[Issue.scala 705:60]
  wire  iss_stage__T_1695 = iss_stage_mulIssFifo_0__do_enq_T & iss_stage__T_1694; // @[Issue.scala 705:43]
  wire  iss_stage__GEN_3546 = iss_stage__T_1695 ? 1'h0 : iss_stage__GEN_3542; // @[Issue.scala 705:70 706:23]
  wire  iss_stage__T_1719 = iss_stage__mulIssIdx_0_T_34 == 2'h1; // @[Issue.scala 705:60]
  wire  iss_stage__T_1720 = iss_stage_mulIssFifo_0__do_enq_T & iss_stage__T_1719; // @[Issue.scala 705:43]
  wire  iss_stage__GEN_3547 = iss_stage__T_1720 ? 1'h0 : iss_stage__GEN_3543; // @[Issue.scala 705:70 706:23]
  wire  iss_stage__T_1744 = iss_stage__mulIssIdx_0_T_34 == 2'h2; // @[Issue.scala 705:60]
  wire  iss_stage__T_1745 = iss_stage_mulIssFifo_0__do_enq_T & iss_stage__T_1744; // @[Issue.scala 705:43]
  wire  iss_stage__GEN_3548 = iss_stage__T_1745 ? 1'h0 : iss_stage__GEN_3544; // @[Issue.scala 705:70 706:23]
  wire  iss_stage__T_1769 = iss_stage__mulIssIdx_0_T_34 == 2'h3; // @[Issue.scala 705:60]
  wire  iss_stage__T_1770 = iss_stage_mulIssFifo_0__do_enq_T & iss_stage__T_1769; // @[Issue.scala 705:43]
  wire  iss_stage__GEN_3549 = iss_stage__T_1770 ? 1'h0 : iss_stage__GEN_3545; // @[Issue.scala 705:70 706:23]
  wire  iss_stage__maskCondBruIss_0_T_1 = iss_stage_bufInfo_0_bru_isa_jal | iss_stage_bufInfo_0_bru_isa_jalr; // @[riscv_isa.scala 92:20]
  wire  iss_stage__maskCondBruIss_0_T_2 = iss_stage__maskCondBruIss_0_T_1 | iss_stage_bufInfo_0_bru_isa_beq; // @[riscv_isa.scala 92:27]
  wire  iss_stage__maskCondBruIss_0_T_3 = iss_stage__maskCondBruIss_0_T_2 | iss_stage_bufInfo_0_bru_isa_bne; // @[riscv_isa.scala 92:33]
  wire  iss_stage__maskCondBruIss_0_T_4 = iss_stage__maskCondBruIss_0_T_3 | iss_stage_bufInfo_0_bru_isa_blt; // @[riscv_isa.scala 92:39]
  wire  iss_stage__maskCondBruIss_0_T_5 = iss_stage__maskCondBruIss_0_T_4 | iss_stage_bufInfo_0_bru_isa_bge; // @[riscv_isa.scala 92:45]
  wire  iss_stage__maskCondBruIss_0_T_6 = iss_stage__maskCondBruIss_0_T_5 | iss_stage_bufInfo_0_bru_isa_bltu; // @[riscv_isa.scala 92:51]
  wire  iss_stage__maskCondBruIss_0_T_7 = iss_stage__maskCondBruIss_0_T_6 | iss_stage_bufInfo_0_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  iss_stage__maskCondBruIss_0_T_8 = ~iss_stage__maskCondBruIss_0_T_7; // @[Issue.scala 752:7]
  wire  iss_stage__maskCondBruIss_0_T_9 = iss_stage__entrySel_T | iss_stage__maskCondBruIss_0_T_8; // @[Issue.scala 751:20]
  wire  iss_stage__maskCondBruIss_1_T_1 = iss_stage_bufInfo_1_bru_isa_jal | iss_stage_bufInfo_1_bru_isa_jalr; // @[riscv_isa.scala 92:20]
  wire  iss_stage__maskCondBruIss_1_T_2 = iss_stage__maskCondBruIss_1_T_1 | iss_stage_bufInfo_1_bru_isa_beq; // @[riscv_isa.scala 92:27]
  wire  iss_stage__maskCondBruIss_1_T_3 = iss_stage__maskCondBruIss_1_T_2 | iss_stage_bufInfo_1_bru_isa_bne; // @[riscv_isa.scala 92:33]
  wire  iss_stage__maskCondBruIss_1_T_4 = iss_stage__maskCondBruIss_1_T_3 | iss_stage_bufInfo_1_bru_isa_blt; // @[riscv_isa.scala 92:39]
  wire  iss_stage__maskCondBruIss_1_T_5 = iss_stage__maskCondBruIss_1_T_4 | iss_stage_bufInfo_1_bru_isa_bge; // @[riscv_isa.scala 92:45]
  wire  iss_stage__maskCondBruIss_1_T_6 = iss_stage__maskCondBruIss_1_T_5 | iss_stage_bufInfo_1_bru_isa_bltu; // @[riscv_isa.scala 92:51]
  wire  iss_stage__maskCondBruIss_1_T_7 = iss_stage__maskCondBruIss_1_T_6 | iss_stage_bufInfo_1_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  iss_stage__maskCondBruIss_1_T_8 = ~iss_stage__maskCondBruIss_1_T_7; // @[Issue.scala 752:7]
  wire  iss_stage__maskCondBruIss_1_T_9 = iss_stage__entrySel_T_1 | iss_stage__maskCondBruIss_1_T_8; // @[Issue.scala 751:20]
  wire  iss_stage__maskCondBruIss_2_T_1 = iss_stage_bufInfo_2_bru_isa_jal | iss_stage_bufInfo_2_bru_isa_jalr; // @[riscv_isa.scala 92:20]
  wire  iss_stage__maskCondBruIss_2_T_2 = iss_stage__maskCondBruIss_2_T_1 | iss_stage_bufInfo_2_bru_isa_beq; // @[riscv_isa.scala 92:27]
  wire  iss_stage__maskCondBruIss_2_T_3 = iss_stage__maskCondBruIss_2_T_2 | iss_stage_bufInfo_2_bru_isa_bne; // @[riscv_isa.scala 92:33]
  wire  iss_stage__maskCondBruIss_2_T_4 = iss_stage__maskCondBruIss_2_T_3 | iss_stage_bufInfo_2_bru_isa_blt; // @[riscv_isa.scala 92:39]
  wire  iss_stage__maskCondBruIss_2_T_5 = iss_stage__maskCondBruIss_2_T_4 | iss_stage_bufInfo_2_bru_isa_bge; // @[riscv_isa.scala 92:45]
  wire  iss_stage__maskCondBruIss_2_T_6 = iss_stage__maskCondBruIss_2_T_5 | iss_stage_bufInfo_2_bru_isa_bltu; // @[riscv_isa.scala 92:51]
  wire  iss_stage__maskCondBruIss_2_T_7 = iss_stage__maskCondBruIss_2_T_6 | iss_stage_bufInfo_2_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  iss_stage__maskCondBruIss_2_T_8 = ~iss_stage__maskCondBruIss_2_T_7; // @[Issue.scala 752:7]
  wire  iss_stage__maskCondBruIss_2_T_9 = iss_stage__entrySel_T_2 | iss_stage__maskCondBruIss_2_T_8; // @[Issue.scala 751:20]
  wire  iss_stage__maskCondBruIss_3_T_1 = iss_stage_bufInfo_3_bru_isa_jal | iss_stage_bufInfo_3_bru_isa_jalr; // @[riscv_isa.scala 92:20]
  wire  iss_stage__maskCondBruIss_3_T_2 = iss_stage__maskCondBruIss_3_T_1 | iss_stage_bufInfo_3_bru_isa_beq; // @[riscv_isa.scala 92:27]
  wire  iss_stage__maskCondBruIss_3_T_3 = iss_stage__maskCondBruIss_3_T_2 | iss_stage_bufInfo_3_bru_isa_bne; // @[riscv_isa.scala 92:33]
  wire  iss_stage__maskCondBruIss_3_T_4 = iss_stage__maskCondBruIss_3_T_3 | iss_stage_bufInfo_3_bru_isa_blt; // @[riscv_isa.scala 92:39]
  wire  iss_stage__maskCondBruIss_3_T_5 = iss_stage__maskCondBruIss_3_T_4 | iss_stage_bufInfo_3_bru_isa_bge; // @[riscv_isa.scala 92:45]
  wire  iss_stage__maskCondBruIss_3_T_6 = iss_stage__maskCondBruIss_3_T_5 | iss_stage_bufInfo_3_bru_isa_bltu; // @[riscv_isa.scala 92:51]
  wire  iss_stage__maskCondBruIss_3_T_7 = iss_stage__maskCondBruIss_3_T_6 | iss_stage_bufInfo_3_bru_isa_bgeu; // @[riscv_isa.scala 92:58]
  wire  iss_stage__maskCondBruIss_3_T_8 = ~iss_stage__maskCondBruIss_3_T_7; // @[Issue.scala 752:7]
  wire  iss_stage__maskCondBruIss_3_T_9 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondBruIss_3_T_8; // @[Issue.scala 751:20]
  wire  iss_stage__matrixOut_0_0_T_36 = ~iss_stage__maskCondBruIss_0_T_9; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_37 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_38 = iss_stage__matrixOut_0_0_T_37 | iss_stage__maskCondBruIss_0_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_36 = ~iss_stage__maskCondBruIss_1_T_9; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_37 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_38 = iss_stage__matrixOut_0_1_T_37 | iss_stage__maskCondBruIss_0_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_36 = ~iss_stage__maskCondBruIss_2_T_9; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_37 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_38 = iss_stage__matrixOut_0_2_T_37 | iss_stage__maskCondBruIss_0_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_36 = ~iss_stage__maskCondBruIss_3_T_9; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_37 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_38 = iss_stage__matrixOut_0_3_T_37 | iss_stage__maskCondBruIss_0_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_0_T_37 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_38 = iss_stage__matrixOut_1_0_T_37 | iss_stage__maskCondBruIss_1_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_37 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_38 = iss_stage__matrixOut_1_1_T_37 | iss_stage__maskCondBruIss_1_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_37 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_38 = iss_stage__matrixOut_1_2_T_37 | iss_stage__maskCondBruIss_1_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_37 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_38 = iss_stage__matrixOut_1_3_T_37 | iss_stage__maskCondBruIss_1_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_37 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_38 = iss_stage__matrixOut_2_0_T_37 | iss_stage__maskCondBruIss_2_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_37 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_38 = iss_stage__matrixOut_2_1_T_37 | iss_stage__maskCondBruIss_2_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_37 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_38 = iss_stage__matrixOut_2_2_T_37 | iss_stage__maskCondBruIss_2_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_37 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_38 = iss_stage__matrixOut_2_3_T_37 | iss_stage__maskCondBruIss_2_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_37 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_38 = iss_stage__matrixOut_3_0_T_37 | iss_stage__maskCondBruIss_3_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_37 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_38 = iss_stage__matrixOut_3_1_T_37 | iss_stage__maskCondBruIss_3_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_37 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_38 = iss_stage__matrixOut_3_2_T_37 | iss_stage__maskCondBruIss_3_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_37 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_36; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_38 = iss_stage__matrixOut_3_3_T_37 | iss_stage__maskCondBruIss_3_T_9; // @[Issue.scala 200:60]
  wire  iss_stage__T_1798 = iss_stage__matrixOut_0_0_T_38 & iss_stage__matrixOut_0_1_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1799 = iss_stage__T_1798 & iss_stage__matrixOut_0_2_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1800 = iss_stage__T_1799 & iss_stage__matrixOut_0_3_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1806 = iss_stage__matrixOut_1_0_T_38 & iss_stage__matrixOut_1_1_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1807 = iss_stage__T_1806 & iss_stage__matrixOut_1_2_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1808 = iss_stage__T_1807 & iss_stage__matrixOut_1_3_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1814 = iss_stage__matrixOut_2_0_T_38 & iss_stage__matrixOut_2_1_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1815 = iss_stage__T_1814 & iss_stage__matrixOut_2_2_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1816 = iss_stage__T_1815 & iss_stage__matrixOut_2_3_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1822 = iss_stage__matrixOut_3_0_T_38 & iss_stage__matrixOut_3_1_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1823 = iss_stage__T_1822 & iss_stage__matrixOut_3_2_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1824 = iss_stage__T_1823 & iss_stage__matrixOut_3_3_T_38; // @[Issue.scala 758:52]
  wire  iss_stage__T_1826 = iss_stage__T_1800 & iss_stage__T_1808; // @[Issue.scala 758:24]
  wire  iss_stage__T_1827 = iss_stage__T_1826 & iss_stage__T_1816; // @[Issue.scala 758:24]
  wire  iss_stage__T_1828 = iss_stage__T_1827 & iss_stage__T_1824; // @[Issue.scala 758:24]
  wire  iss_stage__T_1829 = ~iss_stage__matrixOut_0_0_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1830 = ~iss_stage__matrixOut_0_1_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1831 = ~iss_stage__matrixOut_0_2_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1832 = ~iss_stage__matrixOut_0_3_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1834 = iss_stage__T_1829 & iss_stage__T_1830; // @[Issue.scala 759:58]
  wire  iss_stage__T_1835 = iss_stage__T_1834 & iss_stage__T_1831; // @[Issue.scala 759:58]
  wire  iss_stage__T_1836 = iss_stage__T_1835 & iss_stage__T_1832; // @[Issue.scala 759:58]
  wire  iss_stage__T_1837 = ~iss_stage__matrixOut_1_0_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1838 = ~iss_stage__matrixOut_1_1_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1839 = ~iss_stage__matrixOut_1_2_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1840 = ~iss_stage__matrixOut_1_3_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1842 = iss_stage__T_1837 & iss_stage__T_1838; // @[Issue.scala 759:58]
  wire  iss_stage__T_1843 = iss_stage__T_1842 & iss_stage__T_1839; // @[Issue.scala 759:58]
  wire  iss_stage__T_1844 = iss_stage__T_1843 & iss_stage__T_1840; // @[Issue.scala 759:58]
  wire  iss_stage__T_1845 = ~iss_stage__matrixOut_2_0_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1846 = ~iss_stage__matrixOut_2_1_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1847 = ~iss_stage__matrixOut_2_2_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1848 = ~iss_stage__matrixOut_2_3_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1850 = iss_stage__T_1845 & iss_stage__T_1846; // @[Issue.scala 759:58]
  wire  iss_stage__T_1851 = iss_stage__T_1850 & iss_stage__T_1847; // @[Issue.scala 759:58]
  wire  iss_stage__T_1852 = iss_stage__T_1851 & iss_stage__T_1848; // @[Issue.scala 759:58]
  wire  iss_stage__T_1853 = ~iss_stage__matrixOut_3_0_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1854 = ~iss_stage__matrixOut_3_1_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1855 = ~iss_stage__matrixOut_3_2_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1856 = ~iss_stage__matrixOut_3_3_T_38; // @[Issue.scala 759:75]
  wire  iss_stage__T_1858 = iss_stage__T_1853 & iss_stage__T_1854; // @[Issue.scala 759:58]
  wire  iss_stage__T_1859 = iss_stage__T_1858 & iss_stage__T_1855; // @[Issue.scala 759:58]
  wire  iss_stage__T_1860 = iss_stage__T_1859 & iss_stage__T_1856; // @[Issue.scala 759:58]
  wire [1:0] iss_stage__T_1861 = iss_stage__T_1836 + iss_stage__T_1844; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_1863 = iss_stage__T_1852 + iss_stage__T_1860; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_1865 = iss_stage__T_1861 + iss_stage__T_1863; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_1867 = iss_stage__T_1865 == 3'h1; // @[Issue.scala 759:92]
  wire  iss_stage__T_1868 = iss_stage__T_1828 | iss_stage__T_1867; // @[Issue.scala 758:86]
  wire  iss_stage__T_1871 = ~iss_stage__T_1868; // @[Issue.scala 757:9]
  wire [1:0] iss_stage__bruIssIdx_T_32 = iss_stage__T_1852 ? 2'h2 : 2'h3; // @[Issue.scala 762:39]
  wire [1:0] iss_stage__bruIssIdx_T_33 = iss_stage__T_1844 ? 2'h1 : iss_stage__bruIssIdx_T_32; // @[Issue.scala 762:39]
  wire [1:0] iss_stage__bruIssIdx_T_34 = iss_stage__T_1836 ? 2'h0 : iss_stage__bruIssIdx_T_33; // @[Issue.scala 762:39]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_8 = iss_stage__T_1836 & iss_stage__postIsOpReady_0_0_T_17; // @[Issue.scala 765:93]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_9 = iss_stage__bruIssFifo_io_enq_valid_T_8 &
    iss_stage__postIsOpReady_0_1_T_17; // @[Issue.scala 765:115]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_18 = iss_stage__T_1844 & iss_stage__postIsOpReady_1_0_T_17; // @[Issue.scala 765:93]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_19 = iss_stage__bruIssFifo_io_enq_valid_T_18 &
    iss_stage__postIsOpReady_1_1_T_17; // @[Issue.scala 765:115]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_28 = iss_stage__T_1852 & iss_stage__postIsOpReady_2_0_T_17; // @[Issue.scala 765:93]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_29 = iss_stage__bruIssFifo_io_enq_valid_T_28 &
    iss_stage__postIsOpReady_2_1_T_17; // @[Issue.scala 765:115]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_38 = iss_stage__T_1860 & iss_stage__postIsOpReady_3_0_T_17; // @[Issue.scala 765:93]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_39 = iss_stage__bruIssFifo_io_enq_valid_T_38 &
    iss_stage__postIsOpReady_3_1_T_17; // @[Issue.scala 765:115]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_40 = iss_stage__bruIssFifo_io_enq_valid_T_9 |
    iss_stage__bruIssFifo_io_enq_valid_T_19; // @[Issue.scala 765:149]
  wire  iss_stage__bruIssFifo_io_enq_valid_T_41 = iss_stage__bruIssFifo_io_enq_valid_T_40 |
    iss_stage__bruIssFifo_io_enq_valid_T_29; // @[Issue.scala 765:149]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_47 = iss_stage__bruIssFifo_io_enq_valid_T_9 ?
    iss_stage_mulIssInfo_0_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_48 = iss_stage__bruIssFifo_io_enq_valid_T_19 ?
    iss_stage_mulIssInfo_1_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_49 = iss_stage__bruIssFifo_io_enq_valid_T_29 ?
    iss_stage_mulIssInfo_2_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_50 = iss_stage__bruIssFifo_io_enq_valid_T_39 ?
    iss_stage_mulIssInfo_3_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_51 = iss_stage__bruIssFifo_io_enq_bits_T_47 |
    iss_stage__bruIssFifo_io_enq_bits_T_48; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_52 = iss_stage__bruIssFifo_io_enq_bits_T_51 |
    iss_stage__bruIssFifo_io_enq_bits_T_49; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_54 = iss_stage__bruIssFifo_io_enq_valid_T_9 ?
    iss_stage_mulIssInfo_0_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_55 = iss_stage__bruIssFifo_io_enq_valid_T_19 ?
    iss_stage_mulIssInfo_1_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_56 = iss_stage__bruIssFifo_io_enq_valid_T_29 ?
    iss_stage_mulIssInfo_2_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_57 = iss_stage__bruIssFifo_io_enq_valid_T_39 ?
    iss_stage_mulIssInfo_3_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_58 = iss_stage__bruIssFifo_io_enq_bits_T_54 |
    iss_stage__bruIssFifo_io_enq_bits_T_55; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_59 = iss_stage__bruIssFifo_io_enq_bits_T_58 |
    iss_stage__bruIssFifo_io_enq_bits_T_56; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_61 = iss_stage__bruIssFifo_io_enq_valid_T_9 ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_62 = iss_stage__bruIssFifo_io_enq_valid_T_19 ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_63 = iss_stage__bruIssFifo_io_enq_valid_T_29 ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_64 = iss_stage__bruIssFifo_io_enq_valid_T_39 ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_65 = iss_stage__bruIssFifo_io_enq_bits_T_61 |
    iss_stage__bruIssFifo_io_enq_bits_T_62; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_66 = iss_stage__bruIssFifo_io_enq_bits_T_65 |
    iss_stage__bruIssFifo_io_enq_bits_T_63; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_68 = iss_stage__bruIssFifo_io_enq_valid_T_9 ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_69 = iss_stage__bruIssFifo_io_enq_valid_T_19 ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_9 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_70 = iss_stage__bruIssFifo_io_enq_valid_T_29 ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_14 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_71 = iss_stage__bruIssFifo_io_enq_valid_T_39 ?
    iss_stage__aluIssInfo_res_param_dat_op1_v64_T_19 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_72 = iss_stage__bruIssFifo_io_enq_bits_T_68 |
    iss_stage__bruIssFifo_io_enq_bits_T_69; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__bruIssFifo_io_enq_bits_T_73 = iss_stage__bruIssFifo_io_enq_bits_T_72 |
    iss_stage__bruIssFifo_io_enq_bits_T_70; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_75 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_param_is_rvc; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_76 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_param_is_rvc; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_77 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_param_is_rvc; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_78 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_param_is_rvc; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_79 = iss_stage__bruIssFifo_io_enq_bits_T_75 |
    iss_stage__bruIssFifo_io_enq_bits_T_76; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_80 = iss_stage__bruIssFifo_io_enq_bits_T_79 |
    iss_stage__bruIssFifo_io_enq_bits_T_77; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_82 = iss_stage__bruIssFifo_io_enq_valid_T_9 ?
    iss_stage_bufInfo_0_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_83 = iss_stage__bruIssFifo_io_enq_valid_T_19 ?
    iss_stage_bufInfo_1_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_84 = iss_stage__bruIssFifo_io_enq_valid_T_29 ?
    iss_stage_bufInfo_2_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_85 = iss_stage__bruIssFifo_io_enq_valid_T_39 ?
    iss_stage_bufInfo_3_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_86 = iss_stage__bruIssFifo_io_enq_bits_T_82 |
    iss_stage__bruIssFifo_io_enq_bits_T_83; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__bruIssFifo_io_enq_bits_T_87 = iss_stage__bruIssFifo_io_enq_bits_T_86 |
    iss_stage__bruIssFifo_io_enq_bits_T_84; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_89 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_bgeu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_90 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_bgeu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_91 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_bgeu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_92 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_bgeu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_93 = iss_stage__bruIssFifo_io_enq_bits_T_89 |
    iss_stage__bruIssFifo_io_enq_bits_T_90; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_94 = iss_stage__bruIssFifo_io_enq_bits_T_93 |
    iss_stage__bruIssFifo_io_enq_bits_T_91; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_96 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_bltu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_97 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_bltu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_98 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_bltu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_99 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_bltu; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_100 = iss_stage__bruIssFifo_io_enq_bits_T_96 |
    iss_stage__bruIssFifo_io_enq_bits_T_97; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_101 = iss_stage__bruIssFifo_io_enq_bits_T_100 |
    iss_stage__bruIssFifo_io_enq_bits_T_98; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_103 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_bge; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_104 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_bge; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_105 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_bge; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_106 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_bge; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_107 = iss_stage__bruIssFifo_io_enq_bits_T_103 |
    iss_stage__bruIssFifo_io_enq_bits_T_104; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_108 = iss_stage__bruIssFifo_io_enq_bits_T_107 |
    iss_stage__bruIssFifo_io_enq_bits_T_105; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_110 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_blt; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_111 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_blt; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_112 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_blt; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_113 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_blt; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_114 = iss_stage__bruIssFifo_io_enq_bits_T_110 |
    iss_stage__bruIssFifo_io_enq_bits_T_111; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_115 = iss_stage__bruIssFifo_io_enq_bits_T_114 |
    iss_stage__bruIssFifo_io_enq_bits_T_112; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_117 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_bne; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_118 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_bne; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_119 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_bne; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_120 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_bne; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_121 = iss_stage__bruIssFifo_io_enq_bits_T_117 |
    iss_stage__bruIssFifo_io_enq_bits_T_118; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_122 = iss_stage__bruIssFifo_io_enq_bits_T_121 |
    iss_stage__bruIssFifo_io_enq_bits_T_119; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_124 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_beq; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_125 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_beq; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_126 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_beq; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_127 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_beq; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_128 = iss_stage__bruIssFifo_io_enq_bits_T_124 |
    iss_stage__bruIssFifo_io_enq_bits_T_125; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_129 = iss_stage__bruIssFifo_io_enq_bits_T_128 |
    iss_stage__bruIssFifo_io_enq_bits_T_126; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_131 = iss_stage__bruIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_bru_isa_jalr; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_132 = iss_stage__bruIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_bru_isa_jalr; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_133 = iss_stage__bruIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_bru_isa_jalr; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_134 = iss_stage__bruIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_bru_isa_jalr; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_135 = iss_stage__bruIssFifo_io_enq_bits_T_131 |
    iss_stage__bruIssFifo_io_enq_bits_T_132; // @[Mux.scala 27:73]
  wire  iss_stage__bruIssFifo_io_enq_bits_T_136 = iss_stage__bruIssFifo_io_enq_bits_T_135 |
    iss_stage__bruIssFifo_io_enq_bits_T_133; // @[Mux.scala 27:73]
  wire  iss_stage__T_1873 = iss_stage__bruIssIdx_T_34 == 2'h0; // @[Issue.scala 771:46]
  wire  iss_stage__T_1874 = iss_stage_bruIssFifo__do_enq_T & iss_stage__T_1873; // @[Issue.scala 771:34]
  wire  iss_stage__T_1893 = iss_stage__bruIssIdx_T_34 == 2'h1; // @[Issue.scala 771:46]
  wire  iss_stage__T_1894 = iss_stage_bruIssFifo__do_enq_T & iss_stage__T_1893; // @[Issue.scala 771:34]
  wire  iss_stage__T_1913 = iss_stage__bruIssIdx_T_34 == 2'h2; // @[Issue.scala 771:46]
  wire  iss_stage__T_1914 = iss_stage_bruIssFifo__do_enq_T & iss_stage__T_1913; // @[Issue.scala 771:34]
  wire  iss_stage__T_1933 = iss_stage__bruIssIdx_T_34 == 2'h3; // @[Issue.scala 771:46]
  wire  iss_stage__T_1934 = iss_stage_bruIssFifo__do_enq_T & iss_stage__T_1933; // @[Issue.scala 771:34]
  wire  iss_stage__csrIssInfo_res_fun_rc_T = iss_stage_bufInfo_0_csr_isa_rc | iss_stage_bufInfo_0_csr_isa_rci; // @[Issue.scala 789:44]
  wire  iss_stage__csrIssInfo_res_fun_rs_T = iss_stage_bufInfo_0_csr_isa_rs | iss_stage_bufInfo_0_csr_isa_rsi; // @[Issue.scala 790:44]
  wire  iss_stage__csrIssInfo_res_fun_rw_T = iss_stage_bufInfo_0_csr_isa_rw | iss_stage_bufInfo_0_csr_isa_rwi; // @[Issue.scala 791:44]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T = iss_stage_bufInfo_0_csr_isa_rw ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_1 = iss_stage_bufInfo_0_csr_isa_rwi ?
    iss_stage_bufInfo_0_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_2 = iss_stage_bufInfo_0_csr_isa_rs ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_3 = iss_stage_bufInfo_0_csr_isa_rsi ?
    iss_stage_bufInfo_0_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_4 = iss_stage_bufInfo_0_csr_isa_rc ?
    iss_stage__postBufOperator_0_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_5 = iss_stage_bufInfo_0_csr_isa_rci ?
    iss_stage_bufInfo_0_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_307 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_1}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_6 = iss_stage__csrIssInfo_res_param_dat_op1_T | _GEN_307; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_7 = iss_stage__csrIssInfo_res_param_dat_op1_T_6 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_2; // @[Mux.scala 27:73]
  wire [64:0] _GEN_308 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_3}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_8 = iss_stage__csrIssInfo_res_param_dat_op1_T_7 | _GEN_308; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_9 = iss_stage__csrIssInfo_res_param_dat_op1_T_8 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_4; // @[Mux.scala 27:73]
  wire [64:0] _GEN_309 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_5}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_10 = iss_stage__csrIssInfo_res_param_dat_op1_T_9 | _GEN_309; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssInfo_res_fun_rc_T_1 = iss_stage_bufInfo_1_csr_isa_rc | iss_stage_bufInfo_1_csr_isa_rci; // @[Issue.scala 789:44]
  wire  iss_stage__csrIssInfo_res_fun_rs_T_1 = iss_stage_bufInfo_1_csr_isa_rs | iss_stage_bufInfo_1_csr_isa_rsi; // @[Issue.scala 790:44]
  wire  iss_stage__csrIssInfo_res_fun_rw_T_1 = iss_stage_bufInfo_1_csr_isa_rw | iss_stage_bufInfo_1_csr_isa_rwi; // @[Issue.scala 791:44]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_11 = iss_stage_bufInfo_1_csr_isa_rw ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_12 = iss_stage_bufInfo_1_csr_isa_rwi ?
    iss_stage_bufInfo_1_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_13 = iss_stage_bufInfo_1_csr_isa_rs ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_14 = iss_stage_bufInfo_1_csr_isa_rsi ?
    iss_stage_bufInfo_1_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_15 = iss_stage_bufInfo_1_csr_isa_rc ?
    iss_stage__postBufOperator_1_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_16 = iss_stage_bufInfo_1_csr_isa_rci ?
    iss_stage_bufInfo_1_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_310 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_12}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_17 = iss_stage__csrIssInfo_res_param_dat_op1_T_11 | _GEN_310; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_18 = iss_stage__csrIssInfo_res_param_dat_op1_T_17 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_13; // @[Mux.scala 27:73]
  wire [64:0] _GEN_311 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_14}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_19 = iss_stage__csrIssInfo_res_param_dat_op1_T_18 | _GEN_311; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_20 = iss_stage__csrIssInfo_res_param_dat_op1_T_19 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_15; // @[Mux.scala 27:73]
  wire [64:0] _GEN_312 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_16}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_21 = iss_stage__csrIssInfo_res_param_dat_op1_T_20 | _GEN_312; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssInfo_res_fun_rc_T_2 = iss_stage_bufInfo_2_csr_isa_rc | iss_stage_bufInfo_2_csr_isa_rci; // @[Issue.scala 789:44]
  wire  iss_stage__csrIssInfo_res_fun_rs_T_2 = iss_stage_bufInfo_2_csr_isa_rs | iss_stage_bufInfo_2_csr_isa_rsi; // @[Issue.scala 790:44]
  wire  iss_stage__csrIssInfo_res_fun_rw_T_2 = iss_stage_bufInfo_2_csr_isa_rw | iss_stage_bufInfo_2_csr_isa_rwi; // @[Issue.scala 791:44]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_22 = iss_stage_bufInfo_2_csr_isa_rw ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_23 = iss_stage_bufInfo_2_csr_isa_rwi ?
    iss_stage_bufInfo_2_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_24 = iss_stage_bufInfo_2_csr_isa_rs ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_25 = iss_stage_bufInfo_2_csr_isa_rsi ?
    iss_stage_bufInfo_2_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_26 = iss_stage_bufInfo_2_csr_isa_rc ?
    iss_stage__postBufOperator_2_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_27 = iss_stage_bufInfo_2_csr_isa_rci ?
    iss_stage_bufInfo_2_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_313 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_23}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_28 = iss_stage__csrIssInfo_res_param_dat_op1_T_22 | _GEN_313; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_29 = iss_stage__csrIssInfo_res_param_dat_op1_T_28 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_24; // @[Mux.scala 27:73]
  wire [64:0] _GEN_314 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_25}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_30 = iss_stage__csrIssInfo_res_param_dat_op1_T_29 | _GEN_314; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_31 = iss_stage__csrIssInfo_res_param_dat_op1_T_30 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_26; // @[Mux.scala 27:73]
  wire [64:0] _GEN_315 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_27}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_32 = iss_stage__csrIssInfo_res_param_dat_op1_T_31 | _GEN_315; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssInfo_res_fun_rc_T_3 = iss_stage_bufInfo_3_csr_isa_rc | iss_stage_bufInfo_3_csr_isa_rci; // @[Issue.scala 789:44]
  wire  iss_stage__csrIssInfo_res_fun_rs_T_3 = iss_stage_bufInfo_3_csr_isa_rs | iss_stage_bufInfo_3_csr_isa_rsi; // @[Issue.scala 790:44]
  wire  iss_stage__csrIssInfo_res_fun_rw_T_3 = iss_stage_bufInfo_3_csr_isa_rw | iss_stage_bufInfo_3_csr_isa_rwi; // @[Issue.scala 791:44]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_33 = iss_stage_bufInfo_3_csr_isa_rw ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_34 = iss_stage_bufInfo_3_csr_isa_rwi ?
    iss_stage_bufInfo_3_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_35 = iss_stage_bufInfo_3_csr_isa_rs ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_36 = iss_stage_bufInfo_3_csr_isa_rsi ?
    iss_stage_bufInfo_3_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_37 = iss_stage_bufInfo_3_csr_isa_rc ?
    iss_stage__postBufOperator_3_0_T_17 : 65'h0; // @[Mux.scala 27:73]
  wire [4:0] iss_stage__csrIssInfo_res_param_dat_op1_T_38 = iss_stage_bufInfo_3_csr_isa_rci ?
    iss_stage_bufInfo_3_param_raw_rs1 : 5'h0; // @[Mux.scala 27:73]
  wire [64:0] _GEN_316 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_34}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_39 = iss_stage__csrIssInfo_res_param_dat_op1_T_33 | _GEN_316; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_40 = iss_stage__csrIssInfo_res_param_dat_op1_T_39 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_35; // @[Mux.scala 27:73]
  wire [64:0] _GEN_317 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_36}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_41 = iss_stage__csrIssInfo_res_param_dat_op1_T_40 | _GEN_317; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_42 = iss_stage__csrIssInfo_res_param_dat_op1_T_41 |
    iss_stage__csrIssInfo_res_param_dat_op1_T_37; // @[Mux.scala 27:73]
  wire [64:0] _GEN_318 = {{60'd0}, iss_stage__csrIssInfo_res_param_dat_op1_T_38}; // @[Mux.scala 27:73]
  wire [64:0] iss_stage__csrIssInfo_res_param_dat_op1_T_43 = iss_stage__csrIssInfo_res_param_dat_op1_T_42 | _GEN_318; // @[Mux.scala 27:73]
  wire  iss_stage__maskCondCsrIss_0_T_1 = iss_stage_bufInfo_0_csr_isa_rw | iss_stage_bufInfo_0_csr_isa_rs; // @[riscv_isa.scala 179:19]
  wire  iss_stage__maskCondCsrIss_0_T_2 = iss_stage__maskCondCsrIss_0_T_1 | iss_stage_bufInfo_0_csr_isa_rc; // @[riscv_isa.scala 179:24]
  wire  iss_stage__maskCondCsrIss_0_T_3 = iss_stage__maskCondCsrIss_0_T_2 | iss_stage_bufInfo_0_csr_isa_rwi; // @[riscv_isa.scala 179:29]
  wire  iss_stage__maskCondCsrIss_0_T_4 = iss_stage__maskCondCsrIss_0_T_3 | iss_stage_bufInfo_0_csr_isa_rsi; // @[riscv_isa.scala 179:35]
  wire  iss_stage__maskCondCsrIss_0_T_5 = iss_stage__maskCondCsrIss_0_T_4 | iss_stage_bufInfo_0_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  iss_stage__maskCondCsrIss_0_T_6 = ~iss_stage__maskCondCsrIss_0_T_5; // @[Issue.scala 818:7]
  wire  iss_stage__maskCondCsrIss_0_T_7 = iss_stage__entrySel_T | iss_stage__maskCondCsrIss_0_T_6; // @[Issue.scala 817:20]
  wire  iss_stage__maskCondCsrIss_1_T_1 = iss_stage_bufInfo_1_csr_isa_rw | iss_stage_bufInfo_1_csr_isa_rs; // @[riscv_isa.scala 179:19]
  wire  iss_stage__maskCondCsrIss_1_T_2 = iss_stage__maskCondCsrIss_1_T_1 | iss_stage_bufInfo_1_csr_isa_rc; // @[riscv_isa.scala 179:24]
  wire  iss_stage__maskCondCsrIss_1_T_3 = iss_stage__maskCondCsrIss_1_T_2 | iss_stage_bufInfo_1_csr_isa_rwi; // @[riscv_isa.scala 179:29]
  wire  iss_stage__maskCondCsrIss_1_T_4 = iss_stage__maskCondCsrIss_1_T_3 | iss_stage_bufInfo_1_csr_isa_rsi; // @[riscv_isa.scala 179:35]
  wire  iss_stage__maskCondCsrIss_1_T_5 = iss_stage__maskCondCsrIss_1_T_4 | iss_stage_bufInfo_1_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  iss_stage__maskCondCsrIss_1_T_6 = ~iss_stage__maskCondCsrIss_1_T_5; // @[Issue.scala 818:7]
  wire  iss_stage__maskCondCsrIss_1_T_7 = iss_stage__entrySel_T_1 | iss_stage__maskCondCsrIss_1_T_6; // @[Issue.scala 817:20]
  wire  iss_stage__maskCondCsrIss_2_T_1 = iss_stage_bufInfo_2_csr_isa_rw | iss_stage_bufInfo_2_csr_isa_rs; // @[riscv_isa.scala 179:19]
  wire  iss_stage__maskCondCsrIss_2_T_2 = iss_stage__maskCondCsrIss_2_T_1 | iss_stage_bufInfo_2_csr_isa_rc; // @[riscv_isa.scala 179:24]
  wire  iss_stage__maskCondCsrIss_2_T_3 = iss_stage__maskCondCsrIss_2_T_2 | iss_stage_bufInfo_2_csr_isa_rwi; // @[riscv_isa.scala 179:29]
  wire  iss_stage__maskCondCsrIss_2_T_4 = iss_stage__maskCondCsrIss_2_T_3 | iss_stage_bufInfo_2_csr_isa_rsi; // @[riscv_isa.scala 179:35]
  wire  iss_stage__maskCondCsrIss_2_T_5 = iss_stage__maskCondCsrIss_2_T_4 | iss_stage_bufInfo_2_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  iss_stage__maskCondCsrIss_2_T_6 = ~iss_stage__maskCondCsrIss_2_T_5; // @[Issue.scala 818:7]
  wire  iss_stage__maskCondCsrIss_2_T_7 = iss_stage__entrySel_T_2 | iss_stage__maskCondCsrIss_2_T_6; // @[Issue.scala 817:20]
  wire  iss_stage__maskCondCsrIss_3_T_1 = iss_stage_bufInfo_3_csr_isa_rw | iss_stage_bufInfo_3_csr_isa_rs; // @[riscv_isa.scala 179:19]
  wire  iss_stage__maskCondCsrIss_3_T_2 = iss_stage__maskCondCsrIss_3_T_1 | iss_stage_bufInfo_3_csr_isa_rc; // @[riscv_isa.scala 179:24]
  wire  iss_stage__maskCondCsrIss_3_T_3 = iss_stage__maskCondCsrIss_3_T_2 | iss_stage_bufInfo_3_csr_isa_rwi; // @[riscv_isa.scala 179:29]
  wire  iss_stage__maskCondCsrIss_3_T_4 = iss_stage__maskCondCsrIss_3_T_3 | iss_stage_bufInfo_3_csr_isa_rsi; // @[riscv_isa.scala 179:35]
  wire  iss_stage__maskCondCsrIss_3_T_5 = iss_stage__maskCondCsrIss_3_T_4 | iss_stage_bufInfo_3_csr_isa_rci; // @[riscv_isa.scala 179:41]
  wire  iss_stage__maskCondCsrIss_3_T_6 = ~iss_stage__maskCondCsrIss_3_T_5; // @[Issue.scala 818:7]
  wire  iss_stage__maskCondCsrIss_3_T_7 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondCsrIss_3_T_6; // @[Issue.scala 817:20]
  wire  iss_stage__matrixOut_0_0_T_39 = ~iss_stage__maskCondCsrIss_0_T_7; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_40 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_41 = iss_stage__matrixOut_0_0_T_40 | iss_stage__maskCondCsrIss_0_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_39 = ~iss_stage__maskCondCsrIss_1_T_7; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_40 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_41 = iss_stage__matrixOut_0_1_T_40 | iss_stage__maskCondCsrIss_0_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_39 = ~iss_stage__maskCondCsrIss_2_T_7; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_40 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_41 = iss_stage__matrixOut_0_2_T_40 | iss_stage__maskCondCsrIss_0_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_39 = ~iss_stage__maskCondCsrIss_3_T_7; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_40 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_41 = iss_stage__matrixOut_0_3_T_40 | iss_stage__maskCondCsrIss_0_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_0_T_40 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_41 = iss_stage__matrixOut_1_0_T_40 | iss_stage__maskCondCsrIss_1_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_40 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_41 = iss_stage__matrixOut_1_1_T_40 | iss_stage__maskCondCsrIss_1_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_40 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_41 = iss_stage__matrixOut_1_2_T_40 | iss_stage__maskCondCsrIss_1_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_40 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_41 = iss_stage__matrixOut_1_3_T_40 | iss_stage__maskCondCsrIss_1_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_40 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_41 = iss_stage__matrixOut_2_0_T_40 | iss_stage__maskCondCsrIss_2_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_40 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_41 = iss_stage__matrixOut_2_1_T_40 | iss_stage__maskCondCsrIss_2_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_40 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_41 = iss_stage__matrixOut_2_2_T_40 | iss_stage__maskCondCsrIss_2_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_40 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_41 = iss_stage__matrixOut_2_3_T_40 | iss_stage__maskCondCsrIss_2_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_40 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_41 = iss_stage__matrixOut_3_0_T_40 | iss_stage__maskCondCsrIss_3_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_40 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_41 = iss_stage__matrixOut_3_1_T_40 | iss_stage__maskCondCsrIss_3_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_40 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_41 = iss_stage__matrixOut_3_2_T_40 | iss_stage__maskCondCsrIss_3_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_40 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_39; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_41 = iss_stage__matrixOut_3_3_T_40 | iss_stage__maskCondCsrIss_3_T_7; // @[Issue.scala 200:60]
  wire  iss_stage__T_1957 = iss_stage__matrixOut_0_0_T_41 & iss_stage__matrixOut_0_1_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1958 = iss_stage__T_1957 & iss_stage__matrixOut_0_2_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1959 = iss_stage__T_1958 & iss_stage__matrixOut_0_3_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1965 = iss_stage__matrixOut_1_0_T_41 & iss_stage__matrixOut_1_1_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1966 = iss_stage__T_1965 & iss_stage__matrixOut_1_2_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1967 = iss_stage__T_1966 & iss_stage__matrixOut_1_3_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1973 = iss_stage__matrixOut_2_0_T_41 & iss_stage__matrixOut_2_1_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1974 = iss_stage__T_1973 & iss_stage__matrixOut_2_2_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1975 = iss_stage__T_1974 & iss_stage__matrixOut_2_3_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1981 = iss_stage__matrixOut_3_0_T_41 & iss_stage__matrixOut_3_1_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1982 = iss_stage__T_1981 & iss_stage__matrixOut_3_2_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1983 = iss_stage__T_1982 & iss_stage__matrixOut_3_3_T_41; // @[Issue.scala 824:52]
  wire  iss_stage__T_1985 = iss_stage__T_1959 & iss_stage__T_1967; // @[Issue.scala 824:24]
  wire  iss_stage__T_1986 = iss_stage__T_1985 & iss_stage__T_1975; // @[Issue.scala 824:24]
  wire  iss_stage__T_1987 = iss_stage__T_1986 & iss_stage__T_1983; // @[Issue.scala 824:24]
  wire  iss_stage__T_1988 = ~iss_stage__matrixOut_0_0_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1989 = ~iss_stage__matrixOut_0_1_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1990 = ~iss_stage__matrixOut_0_2_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1991 = ~iss_stage__matrixOut_0_3_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1993 = iss_stage__T_1988 & iss_stage__T_1989; // @[Issue.scala 825:58]
  wire  iss_stage__T_1994 = iss_stage__T_1993 & iss_stage__T_1990; // @[Issue.scala 825:58]
  wire  iss_stage__T_1995 = iss_stage__T_1994 & iss_stage__T_1991; // @[Issue.scala 825:58]
  wire  iss_stage__T_1996 = ~iss_stage__matrixOut_1_0_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1997 = ~iss_stage__matrixOut_1_1_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1998 = ~iss_stage__matrixOut_1_2_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_1999 = ~iss_stage__matrixOut_1_3_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2001 = iss_stage__T_1996 & iss_stage__T_1997; // @[Issue.scala 825:58]
  wire  iss_stage__T_2002 = iss_stage__T_2001 & iss_stage__T_1998; // @[Issue.scala 825:58]
  wire  iss_stage__T_2003 = iss_stage__T_2002 & iss_stage__T_1999; // @[Issue.scala 825:58]
  wire  iss_stage__T_2004 = ~iss_stage__matrixOut_2_0_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2005 = ~iss_stage__matrixOut_2_1_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2006 = ~iss_stage__matrixOut_2_2_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2007 = ~iss_stage__matrixOut_2_3_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2009 = iss_stage__T_2004 & iss_stage__T_2005; // @[Issue.scala 825:58]
  wire  iss_stage__T_2010 = iss_stage__T_2009 & iss_stage__T_2006; // @[Issue.scala 825:58]
  wire  iss_stage__T_2011 = iss_stage__T_2010 & iss_stage__T_2007; // @[Issue.scala 825:58]
  wire  iss_stage__T_2012 = ~iss_stage__matrixOut_3_0_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2013 = ~iss_stage__matrixOut_3_1_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2014 = ~iss_stage__matrixOut_3_2_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2015 = ~iss_stage__matrixOut_3_3_T_41; // @[Issue.scala 825:75]
  wire  iss_stage__T_2017 = iss_stage__T_2012 & iss_stage__T_2013; // @[Issue.scala 825:58]
  wire  iss_stage__T_2018 = iss_stage__T_2017 & iss_stage__T_2014; // @[Issue.scala 825:58]
  wire  iss_stage__T_2019 = iss_stage__T_2018 & iss_stage__T_2015; // @[Issue.scala 825:58]
  wire [1:0] iss_stage__T_2020 = iss_stage__T_1995 + iss_stage__T_2003; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_2022 = iss_stage__T_2011 + iss_stage__T_2019; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_2024 = iss_stage__T_2020 + iss_stage__T_2022; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_2026 = iss_stage__T_2024 == 3'h1; // @[Issue.scala 825:92]
  wire  iss_stage__T_2027 = iss_stage__T_1987 | iss_stage__T_2026; // @[Issue.scala 824:86]
  wire  iss_stage__T_2030 = ~iss_stage__T_2027; // @[Issue.scala 823:9]
  wire [1:0] iss_stage__csrIssIdx_T_32 = iss_stage__T_2011 ? 2'h2 : 2'h3; // @[Issue.scala 828:39]
  wire [1:0] iss_stage__csrIssIdx_T_33 = iss_stage__T_2003 ? 2'h1 : iss_stage__csrIssIdx_T_32; // @[Issue.scala 828:39]
  wire [1:0] iss_stage__csrIssIdx_T_34 = iss_stage__T_1995 ? 2'h0 : iss_stage__csrIssIdx_T_33; // @[Issue.scala 828:39]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_8 = iss_stage__T_1995 & iss_stage__postIsOpReady_0_0_T_17; // @[Issue.scala 831:93]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_9 = iss_stage__csrIssFifo_io_enq_valid_T_8 &
    iss_stage__postIsOpReady_0_1_T_17; // @[Issue.scala 831:115]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_18 = iss_stage__T_2003 & iss_stage__postIsOpReady_1_0_T_17; // @[Issue.scala 831:93]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_19 = iss_stage__csrIssFifo_io_enq_valid_T_18 &
    iss_stage__postIsOpReady_1_1_T_17; // @[Issue.scala 831:115]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_28 = iss_stage__T_2011 & iss_stage__postIsOpReady_2_0_T_17; // @[Issue.scala 831:93]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_29 = iss_stage__csrIssFifo_io_enq_valid_T_28 &
    iss_stage__postIsOpReady_2_1_T_17; // @[Issue.scala 831:115]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_38 = iss_stage__T_2019 & iss_stage__postIsOpReady_3_0_T_17; // @[Issue.scala 831:93]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_39 = iss_stage__csrIssFifo_io_enq_valid_T_38 &
    iss_stage__postIsOpReady_3_1_T_17; // @[Issue.scala 831:115]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_40 = iss_stage__csrIssFifo_io_enq_valid_T_9 |
    iss_stage__csrIssFifo_io_enq_valid_T_19; // @[Issue.scala 831:149]
  wire  iss_stage__csrIssFifo_io_enq_valid_T_41 = iss_stage__csrIssFifo_io_enq_valid_T_40 |
    iss_stage__csrIssFifo_io_enq_valid_T_29; // @[Issue.scala 831:149]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_47 = iss_stage__csrIssFifo_io_enq_valid_T_9 ?
    iss_stage_bufInfo_0_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_48 = iss_stage__csrIssFifo_io_enq_valid_T_19 ?
    iss_stage_bufInfo_1_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_49 = iss_stage__csrIssFifo_io_enq_valid_T_29 ?
    iss_stage_bufInfo_2_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_50 = iss_stage__csrIssFifo_io_enq_valid_T_39 ?
    iss_stage_bufInfo_3_param_imm : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_51 = iss_stage__csrIssFifo_io_enq_bits_T_47 |
    iss_stage__csrIssFifo_io_enq_bits_T_48; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_52 = iss_stage__csrIssFifo_io_enq_bits_T_51 |
    iss_stage__csrIssFifo_io_enq_bits_T_49; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_csrIssInfo_0_param_dat_op1 = iss_stage__csrIssInfo_res_param_dat_op1_T_10[63:0]; // @[Issue.scala 787:19 793:23]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_54 = iss_stage__csrIssFifo_io_enq_valid_T_9 ?
    iss_stage_csrIssInfo_0_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_csrIssInfo_1_param_dat_op1 = iss_stage__csrIssInfo_res_param_dat_op1_T_21[63:0]; // @[Issue.scala 787:19 793:23]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_55 = iss_stage__csrIssFifo_io_enq_valid_T_19 ?
    iss_stage_csrIssInfo_1_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_csrIssInfo_2_param_dat_op1 = iss_stage__csrIssInfo_res_param_dat_op1_T_32[63:0]; // @[Issue.scala 787:19 793:23]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_56 = iss_stage__csrIssFifo_io_enq_valid_T_29 ?
    iss_stage_csrIssInfo_2_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_csrIssInfo_3_param_dat_op1 = iss_stage__csrIssInfo_res_param_dat_op1_T_43[63:0]; // @[Issue.scala 787:19 793:23]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_57 = iss_stage__csrIssFifo_io_enq_valid_T_39 ?
    iss_stage_csrIssInfo_3_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_58 = iss_stage__csrIssFifo_io_enq_bits_T_54 |
    iss_stage__csrIssFifo_io_enq_bits_T_55; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__csrIssFifo_io_enq_bits_T_59 = iss_stage__csrIssFifo_io_enq_bits_T_58 |
    iss_stage__csrIssFifo_io_enq_bits_T_56; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_61 = iss_stage__csrIssFifo_io_enq_valid_T_9 ?
    iss_stage_bufInfo_0_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_62 = iss_stage__csrIssFifo_io_enq_valid_T_19 ?
    iss_stage_bufInfo_1_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_63 = iss_stage__csrIssFifo_io_enq_valid_T_29 ?
    iss_stage_bufInfo_2_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_64 = iss_stage__csrIssFifo_io_enq_valid_T_39 ?
    iss_stage_bufInfo_3_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_65 = iss_stage__csrIssFifo_io_enq_bits_T_61 |
    iss_stage__csrIssFifo_io_enq_bits_T_62; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__csrIssFifo_io_enq_bits_T_66 = iss_stage__csrIssFifo_io_enq_bits_T_65 |
    iss_stage__csrIssFifo_io_enq_bits_T_63; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_68 = iss_stage__csrIssFifo_io_enq_valid_T_9 &
    iss_stage__csrIssInfo_res_fun_rc_T; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_69 = iss_stage__csrIssFifo_io_enq_valid_T_19 &
    iss_stage__csrIssInfo_res_fun_rc_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_70 = iss_stage__csrIssFifo_io_enq_valid_T_29 &
    iss_stage__csrIssInfo_res_fun_rc_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_71 = iss_stage__csrIssFifo_io_enq_valid_T_39 &
    iss_stage__csrIssInfo_res_fun_rc_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_72 = iss_stage__csrIssFifo_io_enq_bits_T_68 |
    iss_stage__csrIssFifo_io_enq_bits_T_69; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_73 = iss_stage__csrIssFifo_io_enq_bits_T_72 |
    iss_stage__csrIssFifo_io_enq_bits_T_70; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_75 = iss_stage__csrIssFifo_io_enq_valid_T_9 &
    iss_stage__csrIssInfo_res_fun_rs_T; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_76 = iss_stage__csrIssFifo_io_enq_valid_T_19 &
    iss_stage__csrIssInfo_res_fun_rs_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_77 = iss_stage__csrIssFifo_io_enq_valid_T_29 &
    iss_stage__csrIssInfo_res_fun_rs_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_78 = iss_stage__csrIssFifo_io_enq_valid_T_39 &
    iss_stage__csrIssInfo_res_fun_rs_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_79 = iss_stage__csrIssFifo_io_enq_bits_T_75 |
    iss_stage__csrIssFifo_io_enq_bits_T_76; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_80 = iss_stage__csrIssFifo_io_enq_bits_T_79 |
    iss_stage__csrIssFifo_io_enq_bits_T_77; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_82 = iss_stage__csrIssFifo_io_enq_valid_T_9 &
    iss_stage__csrIssInfo_res_fun_rw_T; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_83 = iss_stage__csrIssFifo_io_enq_valid_T_19 &
    iss_stage__csrIssInfo_res_fun_rw_T_1; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_84 = iss_stage__csrIssFifo_io_enq_valid_T_29 &
    iss_stage__csrIssInfo_res_fun_rw_T_2; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_85 = iss_stage__csrIssFifo_io_enq_valid_T_39 &
    iss_stage__csrIssInfo_res_fun_rw_T_3; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_86 = iss_stage__csrIssFifo_io_enq_bits_T_82 |
    iss_stage__csrIssFifo_io_enq_bits_T_83; // @[Mux.scala 27:73]
  wire  iss_stage__csrIssFifo_io_enq_bits_T_87 = iss_stage__csrIssFifo_io_enq_bits_T_86 |
    iss_stage__csrIssFifo_io_enq_bits_T_84; // @[Mux.scala 27:73]
  wire  iss_stage__T_2032 = iss_stage__csrIssIdx_T_34 == 2'h0; // @[Issue.scala 837:46]
  wire  iss_stage__T_2033 = iss_stage_csrIssFifo__do_enq_T & iss_stage__T_2032; // @[Issue.scala 837:34]
  wire  iss_stage__T_2050 = iss_stage__csrIssIdx_T_34 == 2'h1; // @[Issue.scala 837:46]
  wire  iss_stage__T_2051 = iss_stage_csrIssFifo__do_enq_T & iss_stage__T_2050; // @[Issue.scala 837:34]
  wire  iss_stage__T_2068 = iss_stage__csrIssIdx_T_34 == 2'h2; // @[Issue.scala 837:46]
  wire  iss_stage__T_2069 = iss_stage_csrIssFifo__do_enq_T & iss_stage__T_2068; // @[Issue.scala 837:34]
  wire  iss_stage__T_2086 = iss_stage__csrIssIdx_T_34 == 2'h3; // @[Issue.scala 837:46]
  wire  iss_stage__T_2087 = iss_stage_csrIssFifo__do_enq_T & iss_stage__T_2086; // @[Issue.scala 837:34]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T = iss_stage_bufInfo_0_lsu_isa_sc_d | iss_stage_bufInfo_0_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_1 = iss_stage_bufInfo_0_lsu_isa_lr_d |
    iss_stage_bufInfo_0_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_2 = iss_stage__lsuIssInfo_res_param_dat_op1_T |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_1; // @[riscv_isa.scala 146:23]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_3 = iss_stage_bufInfo_0_lsu_isa_amoswap_w |
    iss_stage_bufInfo_0_lsu_isa_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_4 = iss_stage__lsuIssInfo_res_param_dat_op1_T_3 |
    iss_stage_bufInfo_0_lsu_isa_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_5 = iss_stage__lsuIssInfo_res_param_dat_op1_T_4 |
    iss_stage_bufInfo_0_lsu_isa_amoand_w; // @[riscv_isa.scala 148:37]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_6 = iss_stage__lsuIssInfo_res_param_dat_op1_T_5 |
    iss_stage_bufInfo_0_lsu_isa_amoor_w; // @[riscv_isa.scala 148:48]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_7 = iss_stage__lsuIssInfo_res_param_dat_op1_T_6 |
    iss_stage_bufInfo_0_lsu_isa_amomin_w; // @[riscv_isa.scala 148:58]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_8 = iss_stage__lsuIssInfo_res_param_dat_op1_T_7 |
    iss_stage_bufInfo_0_lsu_isa_amomax_w; // @[riscv_isa.scala 148:69]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_9 = iss_stage__lsuIssInfo_res_param_dat_op1_T_8 |
    iss_stage_bufInfo_0_lsu_isa_amominu_w; // @[riscv_isa.scala 148:80]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_10 = iss_stage__lsuIssInfo_res_param_dat_op1_T_9 |
    iss_stage_bufInfo_0_lsu_isa_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_11 = iss_stage__lsuIssInfo_res_param_dat_op1_T_10 |
    iss_stage_bufInfo_0_lsu_isa_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_12 = iss_stage__lsuIssInfo_res_param_dat_op1_T_11 |
    iss_stage_bufInfo_0_lsu_isa_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_13 = iss_stage__lsuIssInfo_res_param_dat_op1_T_12 |
    iss_stage_bufInfo_0_lsu_isa_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_14 = iss_stage__lsuIssInfo_res_param_dat_op1_T_13 |
    iss_stage_bufInfo_0_lsu_isa_amoand_d; // @[riscv_isa.scala 148:138]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_15 = iss_stage__lsuIssInfo_res_param_dat_op1_T_14 |
    iss_stage_bufInfo_0_lsu_isa_amoor_d; // @[riscv_isa.scala 148:149]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_16 = iss_stage__lsuIssInfo_res_param_dat_op1_T_15 |
    iss_stage_bufInfo_0_lsu_isa_amomin_d; // @[riscv_isa.scala 148:159]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_17 = iss_stage__lsuIssInfo_res_param_dat_op1_T_16 |
    iss_stage_bufInfo_0_lsu_isa_amomax_d; // @[riscv_isa.scala 148:170]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_18 = iss_stage__lsuIssInfo_res_param_dat_op1_T_17 |
    iss_stage_bufInfo_0_lsu_isa_amominu_d; // @[riscv_isa.scala 148:181]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_19 = iss_stage__lsuIssInfo_res_param_dat_op1_T_18 |
    iss_stage_bufInfo_0_lsu_isa_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_21 = iss_stage__lsuIssInfo_res_param_dat_op1_T_19 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T; // @[riscv_isa.scala 148:205]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_22 = iss_stage__lsuIssInfo_res_param_dat_op1_T_2 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_21; // @[Issue.scala 857:42]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_23 = iss_stage__canIOpReq_0_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_0_0_T_16; // @[Issue.scala 857:125]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_24 = iss_stage_bufInfo_0_param_imm; // @[Issue.scala 857:163]
  wire [64:0] _GEN_319 = {{1{iss_stage__lsuIssInfo_res_param_dat_op1_T_24[63]}},
    iss_stage__lsuIssInfo_res_param_dat_op1_T_24}; // @[Issue.scala 857:132]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_28 = $signed(iss_stage__lsuIssInfo_res_param_dat_op1_T_23) +
    $signed(_GEN_319); // @[Issue.scala 857:173]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_29 = iss_stage__lsuIssInfo_res_param_dat_op1_T_22 ?
    iss_stage__postBufOperator_0_0_T_17 : iss_stage__lsuIssInfo_res_param_dat_op1_T_28; // @[Issue.scala 857:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T = iss_stage_bufInfo_0_lsu_isa_fsw | iss_stage_bufInfo_0_lsu_isa_fsd; // @[riscv_isa.scala 164:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T = iss_stage__postBufOperator_0_1_T_17[31]; // @[Fpu.scala 143:14]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_1 = iss_stage__postBufOperator_0_1_T_17[52]; // @[Fpu.scala 144:14]
  wire [30:0] iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_2 = iss_stage__postBufOperator_0_1_T_17[30:0]; // @[Fpu.scala 145:14]
  wire [32:0] iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled = {iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T,
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_1,iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_2}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_sign = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled[32]; // @[Fpu.scala 59:17]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_fractIn = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled[22:0]; // @[Fpu.scala 60:20]
  wire [8:0] iss_stage_lsuIssInfo_res_param_dat_op2_expIn = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled[31:23]; // @[Fpu.scala 61:18]
  wire [2:0] iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode = iss_stage_lsuIssInfo_res_param_dat_op2_expIn[8:6]; // @[Fpu.scala 64:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T = iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode == 3'h0
    ; // @[Fpu.scala 66:19]
  wire [11:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp = iss_stage__postBufOperator_0_1_T_17[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp[11:9]; // @[rawFloatFromRecFN.scala 51:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp[11:10]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp[9]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_1 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_1; // @[rawFloatFromRecFN.scala 56:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T = iss_stage__postBufOperator_0_1_T_17[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T = ~
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero; // @[rawFloatFromRecFN.scala 60:39]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_1 = iss_stage__postBufOperator_0_1_T_17[
    51:0]; // @[rawFloatFromRecFN.scala 60:51]
  wire [53:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_2 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_1}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T[5:0]; // @[fNFromRecFN.scala 51:51]
  wire [5:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist = 6'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T; // @[fNFromRecFN.scala 51:39]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_2[53:1]; // @[fNFromRecFN.scala 52:38]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T >>
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_1[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T[10:0]; // @[fNFromRecFN.scala 57:27]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal ? 11'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_1 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_2; // @[fNFromRecFN.scala 59:44]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_4 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_3 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_2[51:0]; // @[fNFromRecFN.scala 63:52]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_2 ? 52'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T; // @[fNFromRecFN.scala 63:20]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal ?
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [63:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut,iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut}; // @[Cat.scala 33:92]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn[8:7]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn[6]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_1 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_1; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_2 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T,iss_stage_lsuIssInfo_res_param_dat_op2_fractIn
    }; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T[4:0]; // @[fNFromRecFN.scala 51:51]
  wire [4:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist = 5'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T; // @[fNFromRecFN.scala 51:39]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_2[24:1]; // @[fNFromRecFN.scala 52:38]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T >>
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist; // @[fNFromRecFN.scala 52:42]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_1[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T[7:0]; // @[fNFromRecFN.scala 57:27]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal ? 8'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_2; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_1 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_2; // @[fNFromRecFN.scala 59:44]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_3 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_6; // @[fNFromRecFN.scala 59:15]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_2[22:0]; // @[fNFromRecFN.scala 63:52]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_2 ? 23'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T; // @[fNFromRecFN.scala 63:20]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_1; // @[fNFromRecFN.scala 61:16]
  wire [31:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded = {iss_stage_lsuIssInfo_res_param_dat_op2_sign,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut}; // @[Cat.scala 33:92]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_8 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded[63:32]; // @[Fpu.scala 243:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_9 = iss_stage__postBufOperator_0_1_T_17[63:61]; // @[Fpu.scala 34:25]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_10 = &iss_stage__lsuIssInfo_res_param_dat_op2_T_9; // @[Fpu.scala 34:56]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_11 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded[31:0]; // @[Fpu.scala 243:81]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_12 = iss_stage__lsuIssInfo_res_param_dat_op2_T_10 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded : iss_stage__lsuIssInfo_res_param_dat_op2_T_11; // @[Fpu.scala 243:44]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_13 = {iss_stage__lsuIssInfo_res_param_dat_op2_T_8,
    iss_stage__lsuIssInfo_res_param_dat_op2_T_12}; // @[Cat.scala 33:92]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_14 = iss_stage__lsuIssInfo_res_param_dat_op2_T ? {{1'd0},
    iss_stage__lsuIssInfo_res_param_dat_op2_T_13} : iss_stage__postBufOperator_0_1_T_17; // @[Issue.scala 859:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_30 = iss_stage_bufInfo_1_lsu_isa_sc_d |
    iss_stage_bufInfo_1_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_31 = iss_stage_bufInfo_1_lsu_isa_lr_d |
    iss_stage_bufInfo_1_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_32 = iss_stage__lsuIssInfo_res_param_dat_op1_T_30 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_31; // @[riscv_isa.scala 146:23]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_33 = iss_stage_bufInfo_1_lsu_isa_amoswap_w |
    iss_stage_bufInfo_1_lsu_isa_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_34 = iss_stage__lsuIssInfo_res_param_dat_op1_T_33 |
    iss_stage_bufInfo_1_lsu_isa_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_35 = iss_stage__lsuIssInfo_res_param_dat_op1_T_34 |
    iss_stage_bufInfo_1_lsu_isa_amoand_w; // @[riscv_isa.scala 148:37]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_36 = iss_stage__lsuIssInfo_res_param_dat_op1_T_35 |
    iss_stage_bufInfo_1_lsu_isa_amoor_w; // @[riscv_isa.scala 148:48]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_37 = iss_stage__lsuIssInfo_res_param_dat_op1_T_36 |
    iss_stage_bufInfo_1_lsu_isa_amomin_w; // @[riscv_isa.scala 148:58]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_38 = iss_stage__lsuIssInfo_res_param_dat_op1_T_37 |
    iss_stage_bufInfo_1_lsu_isa_amomax_w; // @[riscv_isa.scala 148:69]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_39 = iss_stage__lsuIssInfo_res_param_dat_op1_T_38 |
    iss_stage_bufInfo_1_lsu_isa_amominu_w; // @[riscv_isa.scala 148:80]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_40 = iss_stage__lsuIssInfo_res_param_dat_op1_T_39 |
    iss_stage_bufInfo_1_lsu_isa_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_41 = iss_stage__lsuIssInfo_res_param_dat_op1_T_40 |
    iss_stage_bufInfo_1_lsu_isa_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_42 = iss_stage__lsuIssInfo_res_param_dat_op1_T_41 |
    iss_stage_bufInfo_1_lsu_isa_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_43 = iss_stage__lsuIssInfo_res_param_dat_op1_T_42 |
    iss_stage_bufInfo_1_lsu_isa_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_44 = iss_stage__lsuIssInfo_res_param_dat_op1_T_43 |
    iss_stage_bufInfo_1_lsu_isa_amoand_d; // @[riscv_isa.scala 148:138]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_45 = iss_stage__lsuIssInfo_res_param_dat_op1_T_44 |
    iss_stage_bufInfo_1_lsu_isa_amoor_d; // @[riscv_isa.scala 148:149]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_46 = iss_stage__lsuIssInfo_res_param_dat_op1_T_45 |
    iss_stage_bufInfo_1_lsu_isa_amomin_d; // @[riscv_isa.scala 148:159]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_47 = iss_stage__lsuIssInfo_res_param_dat_op1_T_46 |
    iss_stage_bufInfo_1_lsu_isa_amomax_d; // @[riscv_isa.scala 148:170]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_48 = iss_stage__lsuIssInfo_res_param_dat_op1_T_47 |
    iss_stage_bufInfo_1_lsu_isa_amominu_d; // @[riscv_isa.scala 148:181]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_49 = iss_stage__lsuIssInfo_res_param_dat_op1_T_48 |
    iss_stage_bufInfo_1_lsu_isa_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_51 = iss_stage__lsuIssInfo_res_param_dat_op1_T_49 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_30; // @[riscv_isa.scala 148:205]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_52 = iss_stage__lsuIssInfo_res_param_dat_op1_T_32 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_51; // @[Issue.scala 857:42]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_53 = iss_stage__canIOpReq_1_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_1_0_T_16; // @[Issue.scala 857:125]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_54 = iss_stage_bufInfo_1_param_imm; // @[Issue.scala 857:163]
  wire [64:0] _GEN_321 = {{1{iss_stage__lsuIssInfo_res_param_dat_op1_T_54[63]}},
    iss_stage__lsuIssInfo_res_param_dat_op1_T_54}; // @[Issue.scala 857:132]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_58 = $signed(iss_stage__lsuIssInfo_res_param_dat_op1_T_53) +
    $signed(_GEN_321); // @[Issue.scala 857:173]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_59 = iss_stage__lsuIssInfo_res_param_dat_op1_T_52 ?
    iss_stage__postBufOperator_1_0_T_17 : iss_stage__lsuIssInfo_res_param_dat_op1_T_58; // @[Issue.scala 857:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_15 = iss_stage_bufInfo_1_lsu_isa_fsw | iss_stage_bufInfo_1_lsu_isa_fsd
    ; // @[riscv_isa.scala 164:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_3 = iss_stage__postBufOperator_1_1_T_17[31]; // @[Fpu.scala 143:14]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_4 = iss_stage__postBufOperator_1_1_T_17[52]; // @[Fpu.scala 144:14]
  wire [30:0] iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_5 = iss_stage__postBufOperator_1_1_T_17[30:0]; // @[Fpu.scala 145:14]
  wire [32:0] iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_1 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_3,iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_4,
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_5}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_sign_1 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_1[32]; // @[Fpu.scala 59:17]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_1 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_1[22:
    0]; // @[Fpu.scala 60:20]
  wire [8:0] iss_stage_lsuIssInfo_res_param_dat_op2_expIn_1 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_1[31:23]
    ; // @[Fpu.scala 61:18]
  wire [2:0] iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_1 = iss_stage_lsuIssInfo_res_param_dat_op2_expIn_1[8:
    6]; // @[Fpu.scala 64:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_6 = iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_1 == 3'h0
    ; // @[Fpu.scala 66:19]
  wire [11:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_1 = iss_stage__postBufOperator_1_1_T_17[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_1[11:9]; // @[rawFloatFromRecFN.scala 51:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_1 == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_1[11:10]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_1 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_1[9]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_1 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_2; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_4 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_2; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_5 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_1 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_4; // @[rawFloatFromRecFN.scala 56:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_1 = iss_stage__postBufOperator_1_1_T_17[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_1 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_1)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_3 = ~
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_1; // @[rawFloatFromRecFN.scala 60:39]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_4 = iss_stage__postBufOperator_1_1_T_17[
    51:0]; // @[rawFloatFromRecFN.scala 60:51]
  wire [53:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_5 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_3,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_4}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_1 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_1) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_1[5:0]; // @[fNFromRecFN.scala 51:51]
  wire [5:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_1 = 6'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_2; // @[fNFromRecFN.scala 51:39]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_5[53:1]; // @[fNFromRecFN.scala 52:38]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_2 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_1; // @[fNFromRecFN.scala 52:42]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_3[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_1[10:0]; // @[fNFromRecFN.scala 57:27]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_9 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_7 - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_10 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_1 ? 11'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_9; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_11 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_3 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_5; // @[fNFromRecFN.scala 59:44]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_13 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_11 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_13; // @[fNFromRecFN.scala 59:15]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_5[51:0]; // @[fNFromRecFN.scala 63:52]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_5 ? 52'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_2; // @[fNFromRecFN.scala 63:20]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_1 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_1 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_3; // @[fNFromRecFN.scala 61:16]
  wire [63:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_1 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_1,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_1,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_1}; // @[Cat.scala 33:92]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_1[8:7]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_1 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_1[6]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_1 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_2; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_4 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_2; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_5 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_1 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_4; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_1 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_1)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_3 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_6; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_5 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_3,
    iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_1}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_1 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_1) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_1[4:0]; // @[fNFromRecFN.scala 51:51]
  wire [4:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_1 = 5'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_2; // @[fNFromRecFN.scala 51:39]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_5[24:1]; // @[fNFromRecFN.scala 52:38]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_2 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_1; // @[fNFromRecFN.scala 52:42]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_3[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_1[7:0]; // @[fNFromRecFN.scala 57:27]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_9 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_7 - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_10 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_1 ? 8'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_9; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_11 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_3 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_5; // @[fNFromRecFN.scala 59:44]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_13 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_11 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_1 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_13; // @[fNFromRecFN.scala 59:15]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_5[22:0]; // @[fNFromRecFN.scala 63:52]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_5 ? 23'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_2; // @[fNFromRecFN.scala 63:20]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_1 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_1 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_1 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_3; // @[fNFromRecFN.scala 61:16]
  wire [31:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_1 = {iss_stage_lsuIssInfo_res_param_dat_op2_sign_1,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_1,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_1}; // @[Cat.scala 33:92]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_23 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_1[63:32]; // @[Fpu.scala 243:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_24 = iss_stage__postBufOperator_1_1_T_17[63:61]; // @[Fpu.scala 34:25]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_25 = &iss_stage__lsuIssInfo_res_param_dat_op2_T_24; // @[Fpu.scala 34:56]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_26 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_1[31:0]; // @[Fpu.scala 243:81]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_27 = iss_stage__lsuIssInfo_res_param_dat_op2_T_25 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_1 : iss_stage__lsuIssInfo_res_param_dat_op2_T_26; // @[Fpu.scala 243:44]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_28 = {iss_stage__lsuIssInfo_res_param_dat_op2_T_23,
    iss_stage__lsuIssInfo_res_param_dat_op2_T_27}; // @[Cat.scala 33:92]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_29 = iss_stage__lsuIssInfo_res_param_dat_op2_T_15 ? {{1'd0},
    iss_stage__lsuIssInfo_res_param_dat_op2_T_28} : iss_stage__postBufOperator_1_1_T_17; // @[Issue.scala 859:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_60 = iss_stage_bufInfo_2_lsu_isa_sc_d |
    iss_stage_bufInfo_2_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_61 = iss_stage_bufInfo_2_lsu_isa_lr_d |
    iss_stage_bufInfo_2_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_62 = iss_stage__lsuIssInfo_res_param_dat_op1_T_60 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_61; // @[riscv_isa.scala 146:23]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_63 = iss_stage_bufInfo_2_lsu_isa_amoswap_w |
    iss_stage_bufInfo_2_lsu_isa_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_64 = iss_stage__lsuIssInfo_res_param_dat_op1_T_63 |
    iss_stage_bufInfo_2_lsu_isa_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_65 = iss_stage__lsuIssInfo_res_param_dat_op1_T_64 |
    iss_stage_bufInfo_2_lsu_isa_amoand_w; // @[riscv_isa.scala 148:37]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_66 = iss_stage__lsuIssInfo_res_param_dat_op1_T_65 |
    iss_stage_bufInfo_2_lsu_isa_amoor_w; // @[riscv_isa.scala 148:48]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_67 = iss_stage__lsuIssInfo_res_param_dat_op1_T_66 |
    iss_stage_bufInfo_2_lsu_isa_amomin_w; // @[riscv_isa.scala 148:58]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_68 = iss_stage__lsuIssInfo_res_param_dat_op1_T_67 |
    iss_stage_bufInfo_2_lsu_isa_amomax_w; // @[riscv_isa.scala 148:69]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_69 = iss_stage__lsuIssInfo_res_param_dat_op1_T_68 |
    iss_stage_bufInfo_2_lsu_isa_amominu_w; // @[riscv_isa.scala 148:80]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_70 = iss_stage__lsuIssInfo_res_param_dat_op1_T_69 |
    iss_stage_bufInfo_2_lsu_isa_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_71 = iss_stage__lsuIssInfo_res_param_dat_op1_T_70 |
    iss_stage_bufInfo_2_lsu_isa_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_72 = iss_stage__lsuIssInfo_res_param_dat_op1_T_71 |
    iss_stage_bufInfo_2_lsu_isa_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_73 = iss_stage__lsuIssInfo_res_param_dat_op1_T_72 |
    iss_stage_bufInfo_2_lsu_isa_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_74 = iss_stage__lsuIssInfo_res_param_dat_op1_T_73 |
    iss_stage_bufInfo_2_lsu_isa_amoand_d; // @[riscv_isa.scala 148:138]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_75 = iss_stage__lsuIssInfo_res_param_dat_op1_T_74 |
    iss_stage_bufInfo_2_lsu_isa_amoor_d; // @[riscv_isa.scala 148:149]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_76 = iss_stage__lsuIssInfo_res_param_dat_op1_T_75 |
    iss_stage_bufInfo_2_lsu_isa_amomin_d; // @[riscv_isa.scala 148:159]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_77 = iss_stage__lsuIssInfo_res_param_dat_op1_T_76 |
    iss_stage_bufInfo_2_lsu_isa_amomax_d; // @[riscv_isa.scala 148:170]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_78 = iss_stage__lsuIssInfo_res_param_dat_op1_T_77 |
    iss_stage_bufInfo_2_lsu_isa_amominu_d; // @[riscv_isa.scala 148:181]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_79 = iss_stage__lsuIssInfo_res_param_dat_op1_T_78 |
    iss_stage_bufInfo_2_lsu_isa_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_81 = iss_stage__lsuIssInfo_res_param_dat_op1_T_79 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_60; // @[riscv_isa.scala 148:205]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_82 = iss_stage__lsuIssInfo_res_param_dat_op1_T_62 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_81; // @[Issue.scala 857:42]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_83 = iss_stage__canIOpReq_2_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_2_0_T_16; // @[Issue.scala 857:125]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_84 = iss_stage_bufInfo_2_param_imm; // @[Issue.scala 857:163]
  wire [64:0] _GEN_323 = {{1{iss_stage__lsuIssInfo_res_param_dat_op1_T_84[63]}},
    iss_stage__lsuIssInfo_res_param_dat_op1_T_84}; // @[Issue.scala 857:132]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_88 = $signed(iss_stage__lsuIssInfo_res_param_dat_op1_T_83) +
    $signed(_GEN_323); // @[Issue.scala 857:173]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_89 = iss_stage__lsuIssInfo_res_param_dat_op1_T_82 ?
    iss_stage__postBufOperator_2_0_T_17 : iss_stage__lsuIssInfo_res_param_dat_op1_T_88; // @[Issue.scala 857:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_30 = iss_stage_bufInfo_2_lsu_isa_fsw | iss_stage_bufInfo_2_lsu_isa_fsd
    ; // @[riscv_isa.scala 164:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_6 = iss_stage__postBufOperator_2_1_T_17[31]; // @[Fpu.scala 143:14]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_7 = iss_stage__postBufOperator_2_1_T_17[52]; // @[Fpu.scala 144:14]
  wire [30:0] iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_8 = iss_stage__postBufOperator_2_1_T_17[30:0]; // @[Fpu.scala 145:14]
  wire [32:0] iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_2 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_6,iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_7,
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_8}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_sign_2 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_2[32]; // @[Fpu.scala 59:17]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_2 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_2[22:
    0]; // @[Fpu.scala 60:20]
  wire [8:0] iss_stage_lsuIssInfo_res_param_dat_op2_expIn_2 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_2[31:23]
    ; // @[Fpu.scala 61:18]
  wire [2:0] iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_2 = iss_stage_lsuIssInfo_res_param_dat_op2_expIn_2[8:
    6]; // @[Fpu.scala 64:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_12 = iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_2
     == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_2 = iss_stage__postBufOperator_2_1_T_17[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_2[11:9]; // @[rawFloatFromRecFN.scala 51:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_2 == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_2[11:10]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_2 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_4 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_2[9]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_5 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_2 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_4; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_7 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_4; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_8 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_2 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_7; // @[rawFloatFromRecFN.scala 56:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_2 = iss_stage__postBufOperator_2_1_T_17[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_2 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_2)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_6 = ~
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_2; // @[rawFloatFromRecFN.scala 60:39]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_7 = iss_stage__postBufOperator_2_1_T_17[
    51:0]; // @[rawFloatFromRecFN.scala 60:51]
  wire [53:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_8 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_6,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_7}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_2 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_2) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_2[5:0]; // @[fNFromRecFN.scala 51:51]
  wire [5:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_2 = 6'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_4; // @[fNFromRecFN.scala 51:39]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_8[53:1]; // @[fNFromRecFN.scala 52:38]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_5 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_4 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_2; // @[fNFromRecFN.scala 52:42]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_5[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_14 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_2[10:0]; // @[fNFromRecFN.scala 57:27]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_16 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_14 - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_17 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_2 ? 11'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_16; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_18 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_5 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_8; // @[fNFromRecFN.scala 59:44]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_20 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_18 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_17 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_20; // @[fNFromRecFN.scala 59:15]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_8[51:0]; // @[fNFromRecFN.scala 63:52]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_5 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_8 ? 52'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_4; // @[fNFromRecFN.scala 63:20]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_2 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_2 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_5; // @[fNFromRecFN.scala 61:16]
  wire [63:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_2 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_2,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_2,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_2}; // @[Cat.scala 33:92]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_2[8:7]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_2 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_4 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_2[6]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_5 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_2 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_4; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_7 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_4; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_8 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_2 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_7; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_2 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_2)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_6 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_12; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_8 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_6,
    iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_2}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_2 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_2) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_2[4:0]; // @[fNFromRecFN.scala 51:51]
  wire [4:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_2 = 5'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_4; // @[fNFromRecFN.scala 51:39]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_8[24:1]; // @[fNFromRecFN.scala 52:38]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_5 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_4 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_2; // @[fNFromRecFN.scala 52:42]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_5[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_14 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_2[7:0]; // @[fNFromRecFN.scala 57:27]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_16 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_14 - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_17 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_2 ? 8'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_16; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_18 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_5 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_8; // @[fNFromRecFN.scala 59:44]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_20 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_18 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_2 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_17 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_20; // @[fNFromRecFN.scala 59:15]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_4 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_8[22:0]; // @[fNFromRecFN.scala 63:52]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_5 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_8 ? 23'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_4; // @[fNFromRecFN.scala 63:20]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_2 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_2 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_2 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_5; // @[fNFromRecFN.scala 61:16]
  wire [31:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_2 = {iss_stage_lsuIssInfo_res_param_dat_op2_sign_2,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_2,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_2}; // @[Cat.scala 33:92]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_38 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_2[63:32]; // @[Fpu.scala 243:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_39 = iss_stage__postBufOperator_2_1_T_17[63:61]; // @[Fpu.scala 34:25]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_40 = &iss_stage__lsuIssInfo_res_param_dat_op2_T_39; // @[Fpu.scala 34:56]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_41 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_2[31:0]; // @[Fpu.scala 243:81]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_42 = iss_stage__lsuIssInfo_res_param_dat_op2_T_40 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_2 : iss_stage__lsuIssInfo_res_param_dat_op2_T_41; // @[Fpu.scala 243:44]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_43 = {iss_stage__lsuIssInfo_res_param_dat_op2_T_38,
    iss_stage__lsuIssInfo_res_param_dat_op2_T_42}; // @[Cat.scala 33:92]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_44 = iss_stage__lsuIssInfo_res_param_dat_op2_T_30 ? {{1'd0},
    iss_stage__lsuIssInfo_res_param_dat_op2_T_43} : iss_stage__postBufOperator_2_1_T_17; // @[Issue.scala 859:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_90 = iss_stage_bufInfo_3_lsu_isa_sc_d |
    iss_stage_bufInfo_3_lsu_isa_sc_w; // @[riscv_isa.scala 140:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_91 = iss_stage_bufInfo_3_lsu_isa_lr_d |
    iss_stage_bufInfo_3_lsu_isa_lr_w; // @[riscv_isa.scala 141:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_92 = iss_stage__lsuIssInfo_res_param_dat_op1_T_90 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_91; // @[riscv_isa.scala 146:23]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_93 = iss_stage_bufInfo_3_lsu_isa_amoswap_w |
    iss_stage_bufInfo_3_lsu_isa_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_94 = iss_stage__lsuIssInfo_res_param_dat_op1_T_93 |
    iss_stage_bufInfo_3_lsu_isa_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_95 = iss_stage__lsuIssInfo_res_param_dat_op1_T_94 |
    iss_stage_bufInfo_3_lsu_isa_amoand_w; // @[riscv_isa.scala 148:37]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_96 = iss_stage__lsuIssInfo_res_param_dat_op1_T_95 |
    iss_stage_bufInfo_3_lsu_isa_amoor_w; // @[riscv_isa.scala 148:48]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_97 = iss_stage__lsuIssInfo_res_param_dat_op1_T_96 |
    iss_stage_bufInfo_3_lsu_isa_amomin_w; // @[riscv_isa.scala 148:58]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_98 = iss_stage__lsuIssInfo_res_param_dat_op1_T_97 |
    iss_stage_bufInfo_3_lsu_isa_amomax_w; // @[riscv_isa.scala 148:69]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_99 = iss_stage__lsuIssInfo_res_param_dat_op1_T_98 |
    iss_stage_bufInfo_3_lsu_isa_amominu_w; // @[riscv_isa.scala 148:80]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_100 = iss_stage__lsuIssInfo_res_param_dat_op1_T_99 |
    iss_stage_bufInfo_3_lsu_isa_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_101 = iss_stage__lsuIssInfo_res_param_dat_op1_T_100 |
    iss_stage_bufInfo_3_lsu_isa_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_102 = iss_stage__lsuIssInfo_res_param_dat_op1_T_101 |
    iss_stage_bufInfo_3_lsu_isa_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_103 = iss_stage__lsuIssInfo_res_param_dat_op1_T_102 |
    iss_stage_bufInfo_3_lsu_isa_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_104 = iss_stage__lsuIssInfo_res_param_dat_op1_T_103 |
    iss_stage_bufInfo_3_lsu_isa_amoand_d; // @[riscv_isa.scala 148:138]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_105 = iss_stage__lsuIssInfo_res_param_dat_op1_T_104 |
    iss_stage_bufInfo_3_lsu_isa_amoor_d; // @[riscv_isa.scala 148:149]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_106 = iss_stage__lsuIssInfo_res_param_dat_op1_T_105 |
    iss_stage_bufInfo_3_lsu_isa_amomin_d; // @[riscv_isa.scala 148:159]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_107 = iss_stage__lsuIssInfo_res_param_dat_op1_T_106 |
    iss_stage_bufInfo_3_lsu_isa_amomax_d; // @[riscv_isa.scala 148:170]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_108 = iss_stage__lsuIssInfo_res_param_dat_op1_T_107 |
    iss_stage_bufInfo_3_lsu_isa_amominu_d; // @[riscv_isa.scala 148:181]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_109 = iss_stage__lsuIssInfo_res_param_dat_op1_T_108 |
    iss_stage_bufInfo_3_lsu_isa_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_111 = iss_stage__lsuIssInfo_res_param_dat_op1_T_109 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_90; // @[riscv_isa.scala 148:205]
  wire  iss_stage__lsuIssInfo_res_param_dat_op1_T_112 = iss_stage__lsuIssInfo_res_param_dat_op1_T_92 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_111; // @[Issue.scala 857:42]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_113 = iss_stage__canIOpReq_3_0_T_6 ? {{1'd0},
    iss_stage_io_irgRsp_0_bits_op} : iss_stage__postBufOperator_3_0_T_16; // @[Issue.scala 857:125]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_114 = iss_stage_bufInfo_3_param_imm; // @[Issue.scala 857:163]
  wire [64:0] _GEN_325 = {{1{iss_stage__lsuIssInfo_res_param_dat_op1_T_114[63]}},
    iss_stage__lsuIssInfo_res_param_dat_op1_T_114}; // @[Issue.scala 857:132]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_118 = $signed(iss_stage__lsuIssInfo_res_param_dat_op1_T_113) +
    $signed(_GEN_325); // @[Issue.scala 857:173]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op1_T_119 = iss_stage__lsuIssInfo_res_param_dat_op1_T_112 ?
    iss_stage__postBufOperator_3_0_T_17 : iss_stage__lsuIssInfo_res_param_dat_op1_T_118; // @[Issue.scala 857:10]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_45 = iss_stage_bufInfo_3_lsu_isa_fsw | iss_stage_bufInfo_3_lsu_isa_fsd
    ; // @[riscv_isa.scala 164:20]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_9 = iss_stage__postBufOperator_3_1_T_17[31]; // @[Fpu.scala 143:14]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_10 = iss_stage__postBufOperator_3_1_T_17[52]; // @[Fpu.scala 144:14]
  wire [30:0] iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_11 = iss_stage__postBufOperator_3_1_T_17[30:0]; // @[Fpu.scala 145:14]
  wire [32:0] iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_3 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_9,iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_10,
    iss_stage__lsuIssInfo_res_param_dat_op2_unswizzled_T_11}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_sign_3 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_3[32]; // @[Fpu.scala 59:17]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_3 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_3[22:
    0]; // @[Fpu.scala 60:20]
  wire [8:0] iss_stage_lsuIssInfo_res_param_dat_op2_expIn_3 = iss_stage_lsuIssInfo_res_param_dat_op2_unswizzled_3[31:23]
    ; // @[Fpu.scala 61:18]
  wire [2:0] iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_3 = iss_stage_lsuIssInfo_res_param_dat_op2_expIn_3[8:
    6]; // @[Fpu.scala 64:26]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_18 = iss_stage_lsuIssInfo_res_param_dat_op2_expOut_expCode_3
     == 3'h0; // @[Fpu.scala 66:19]
  wire [11:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_3 = iss_stage__postBufOperator_3_1_T_17[63:52]; // @[rawFloatFromRecFN.scala 50:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_3[11:9]; // @[rawFloatFromRecFN.scala 51:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_T_3 == 3'h0; // @[rawFloatFromRecFN.scala 51:54]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_3[11:10]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_T_3 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_6 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_3[9]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_7 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_3 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_6; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_10 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_6; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_11 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isSpecial_3 &
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_10; // @[rawFloatFromRecFN.scala 56:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_3 = iss_stage__postBufOperator_3_1_T_17[64]; // @[rawFloatFromRecFN.scala 58:25]
  wire [12:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_3 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_exp_3)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_9 = ~
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_isZero_3; // @[rawFloatFromRecFN.scala 60:39]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_10 = iss_stage__postBufOperator_3_1_T_17
    [51:0]; // @[rawFloatFromRecFN.scala 60:51]
  wire [53:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_11 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_9,
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_10}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_3 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_3) < 13'sh402; // @[fNFromRecFN.scala 50:39]
  wire [5:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_3[5:0]; // @[fNFromRecFN.scala 51:51]
  wire [5:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_3 = 6'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_T_6; // @[fNFromRecFN.scala 51:39]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_11[53:1]; // @[fNFromRecFN.scala 52:38]
  wire [52:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_6 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormShiftDist_3; // @[fNFromRecFN.scala 52:42]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_T_7[51:0]; // @[fNFromRecFN.scala 52:60]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_21 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sExp_T_3[10:0]; // @[fNFromRecFN.scala 57:27]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_23 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_21 - 11'h401; // @[fNFromRecFN.scala 57:45]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_24 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_3 ? 11'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_23; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_25 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isNaN_T_7 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_11; // @[fNFromRecFN.scala 59:44]
  wire [10:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_27 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_25 ? 11'h7ff : 11'h0; // @[Bitwise.scala 77:12]
  wire [10:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_24 |
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_expOut_T_27; // @[fNFromRecFN.scala 59:15]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sig_T_11[51:0]; // @[fNFromRecFN.scala 63:52]
  wire [51:0] iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_isInf_T_11 ? 52'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_6; // @[fNFromRecFN.scala 63:20]
  wire [51:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_isSubnormal_3 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_denormFract_3 :
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_T_7; // @[fNFromRecFN.scala 61:16]
  wire [63:0] iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_3 = {
    iss_stage__lsuIssInfo_res_param_dat_op2_unrecoded_rawIn_out_sign_T_3,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_expOut_3,
    iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_fractOut_3}; // @[Cat.scala 33:92]
  wire [1:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_3[8:7]; // @[rawFloatFromRecFN.scala 52:29]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_T_3 == 2'h3; // @[rawFloatFromRecFN.scala 52:54]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_6 =
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_3[6]; // @[rawFloatFromRecFN.scala 55:41]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_7 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_3 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_6; // @[rawFloatFromRecFN.scala 55:33]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_10 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_6; // @[rawFloatFromRecFN.scala 56:36]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_11 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_isSpecial_3 &
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_10; // @[rawFloatFromRecFN.scala 56:33]
  wire [9:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_3 = {1'b0,$signed(
    iss_stage_lsuIssInfo_res_param_dat_op2_expIn_3)}; // @[rawFloatFromRecFN.scala 59:27]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_9 = ~
    iss_stage__lsuIssInfo_res_param_dat_op2_expOut_T_18; // @[rawFloatFromRecFN.scala 60:39]
  wire [24:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_11 = {1'h0,
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_9,
    iss_stage_lsuIssInfo_res_param_dat_op2_fractIn_3}; // @[Cat.scala 33:92]
  wire  iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_3 = $signed(
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_3) < 10'sh82; // @[fNFromRecFN.scala 50:39]
  wire [4:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_3[4:0]; // @[fNFromRecFN.scala 51:51]
  wire [4:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_3 = 5'h1 -
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_T_6; // @[fNFromRecFN.scala 51:39]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_11[24:1]; // @[fNFromRecFN.scala 52:38]
  wire [23:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_6 >>
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormShiftDist_3; // @[fNFromRecFN.scala 52:42]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_T_7[22:0]; // @[fNFromRecFN.scala 52:60]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_21 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sExp_T_3[7:0]; // @[fNFromRecFN.scala 57:27]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_23 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_21 - 8'h81; // @[fNFromRecFN.scala 57:45]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_24 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_3 ? 8'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_23; // @[fNFromRecFN.scala 55:16]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_25 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isNaN_T_7 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_11; // @[fNFromRecFN.scala 59:44]
  wire [7:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_27 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_25 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_3 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_24 |
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_T_27; // @[fNFromRecFN.scala 59:15]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_6 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_sig_T_11[22:0]; // @[fNFromRecFN.scala 63:52]
  wire [22:0] iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_7 =
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_rawIn_out_isInf_T_11 ? 23'h0 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_6; // @[fNFromRecFN.scala 63:20]
  wire [22:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_3 =
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_isSubnormal_3 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_denormFract_3 :
    iss_stage__lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_T_7; // @[fNFromRecFN.scala 61:16]
  wire [31:0] iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_3 = {iss_stage_lsuIssInfo_res_param_dat_op2_sign_3,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_expOut_3,
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_fractOut_3}; // @[Cat.scala 33:92]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_53 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_3[63:32]; // @[Fpu.scala 243:21]
  wire [2:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_54 = iss_stage__postBufOperator_3_1_T_17[63:61]; // @[Fpu.scala 34:25]
  wire  iss_stage__lsuIssInfo_res_param_dat_op2_T_55 = &iss_stage__lsuIssInfo_res_param_dat_op2_T_54; // @[Fpu.scala 34:56]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_56 = iss_stage_lsuIssInfo_res_param_dat_op2_unrecoded_3[31:0]; // @[Fpu.scala 243:81]
  wire [31:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_57 = iss_stage__lsuIssInfo_res_param_dat_op2_T_55 ?
    iss_stage_lsuIssInfo_res_param_dat_op2_prevUnrecoded_3 : iss_stage__lsuIssInfo_res_param_dat_op2_T_56; // @[Fpu.scala 243:44]
  wire [63:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_58 = {iss_stage__lsuIssInfo_res_param_dat_op2_T_53,
    iss_stage__lsuIssInfo_res_param_dat_op2_T_57}; // @[Cat.scala 33:92]
  wire [64:0] iss_stage__lsuIssInfo_res_param_dat_op2_T_59 = iss_stage__lsuIssInfo_res_param_dat_op2_T_45 ? {{1'd0},
    iss_stage__lsuIssInfo_res_param_dat_op2_T_58} : iss_stage__postBufOperator_3_1_T_17; // @[Issue.scala 859:10]
  wire  iss_stage__maskCondLsuIss_0_T_1 = iss_stage_bufInfo_0_lsu_isa_lb | iss_stage_bufInfo_0_lsu_isa_lh; // @[riscv_isa.scala 145:19]
  wire  iss_stage__maskCondLsuIss_0_T_2 = iss_stage__maskCondLsuIss_0_T_1 | iss_stage_bufInfo_0_lsu_isa_lw; // @[riscv_isa.scala 145:24]
  wire  iss_stage__maskCondLsuIss_0_T_3 = iss_stage__maskCondLsuIss_0_T_2 | iss_stage_bufInfo_0_lsu_isa_ld; // @[riscv_isa.scala 145:29]
  wire  iss_stage__maskCondLsuIss_0_T_4 = iss_stage__maskCondLsuIss_0_T_3 | iss_stage_bufInfo_0_lsu_isa_lbu; // @[riscv_isa.scala 145:34]
  wire  iss_stage__maskCondLsuIss_0_T_5 = iss_stage__maskCondLsuIss_0_T_4 | iss_stage_bufInfo_0_lsu_isa_lhu; // @[riscv_isa.scala 145:40]
  wire  iss_stage__maskCondLsuIss_0_T_6 = iss_stage__maskCondLsuIss_0_T_5 | iss_stage_bufInfo_0_lsu_isa_lwu; // @[riscv_isa.scala 145:46]
  wire  iss_stage__maskCondLsuIss_0_T_7 = iss_stage__maskCondLsuIss_0_T_6 | iss_stage_bufInfo_0_lsu_isa_sb; // @[riscv_isa.scala 145:52]
  wire  iss_stage__maskCondLsuIss_0_T_8 = iss_stage__maskCondLsuIss_0_T_7 | iss_stage_bufInfo_0_lsu_isa_sh; // @[riscv_isa.scala 145:57]
  wire  iss_stage__maskCondLsuIss_0_T_9 = iss_stage__maskCondLsuIss_0_T_8 | iss_stage_bufInfo_0_lsu_isa_sw; // @[riscv_isa.scala 145:62]
  wire  iss_stage__maskCondLsuIss_0_T_10 = iss_stage__maskCondLsuIss_0_T_9 | iss_stage_bufInfo_0_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  iss_stage__maskCondLsuIss_0_T_14 = iss_stage__maskCondLsuIss_0_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_2; // @[riscv_isa.scala 151:23]
  wire  iss_stage__maskCondLsuIss_0_T_34 = iss_stage__maskCondLsuIss_0_T_14 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_21; // @[riscv_isa.scala 151:33]
  wire  iss_stage__maskCondLsuIss_0_T_35 = iss_stage_bufInfo_0_lsu_isa_flw | iss_stage_bufInfo_0_lsu_isa_fsw; // @[riscv_isa.scala 149:20]
  wire  iss_stage__maskCondLsuIss_0_T_36 = iss_stage__maskCondLsuIss_0_T_35 | iss_stage_bufInfo_0_lsu_isa_fld; // @[riscv_isa.scala 149:26]
  wire  iss_stage__maskCondLsuIss_0_T_37 = iss_stage__maskCondLsuIss_0_T_36 | iss_stage_bufInfo_0_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  iss_stage__maskCondLsuIss_0_T_38 = iss_stage__maskCondLsuIss_0_T_34 | iss_stage__maskCondLsuIss_0_T_37; // @[riscv_isa.scala 151:42]
  wire  iss_stage__maskCondLsuIss_0_T_39 = iss_stage_bufInfo_0_lsu_isa_fence | iss_stage_bufInfo_0_lsu_isa_fence_i; // @[riscv_isa.scala 150:24]
  wire  iss_stage__maskCondLsuIss_0_T_40 = iss_stage__maskCondLsuIss_0_T_39 | iss_stage_bufInfo_0_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  iss_stage__maskCondLsuIss_0_T_41 = iss_stage__maskCondLsuIss_0_T_38 | iss_stage__maskCondLsuIss_0_T_40; // @[riscv_isa.scala 151:51]
  wire  iss_stage__maskCondLsuIss_0_T_42 = ~iss_stage__maskCondLsuIss_0_T_41; // @[Issue.scala 881:7]
  wire  iss_stage__maskCondLsuIss_0_T_43 = iss_stage__entrySel_T | iss_stage__maskCondLsuIss_0_T_42; // @[Issue.scala 880:20]
  wire  iss_stage__maskCondLsuIss_1_T_1 = iss_stage_bufInfo_1_lsu_isa_lb | iss_stage_bufInfo_1_lsu_isa_lh; // @[riscv_isa.scala 145:19]
  wire  iss_stage__maskCondLsuIss_1_T_2 = iss_stage__maskCondLsuIss_1_T_1 | iss_stage_bufInfo_1_lsu_isa_lw; // @[riscv_isa.scala 145:24]
  wire  iss_stage__maskCondLsuIss_1_T_3 = iss_stage__maskCondLsuIss_1_T_2 | iss_stage_bufInfo_1_lsu_isa_ld; // @[riscv_isa.scala 145:29]
  wire  iss_stage__maskCondLsuIss_1_T_4 = iss_stage__maskCondLsuIss_1_T_3 | iss_stage_bufInfo_1_lsu_isa_lbu; // @[riscv_isa.scala 145:34]
  wire  iss_stage__maskCondLsuIss_1_T_5 = iss_stage__maskCondLsuIss_1_T_4 | iss_stage_bufInfo_1_lsu_isa_lhu; // @[riscv_isa.scala 145:40]
  wire  iss_stage__maskCondLsuIss_1_T_6 = iss_stage__maskCondLsuIss_1_T_5 | iss_stage_bufInfo_1_lsu_isa_lwu; // @[riscv_isa.scala 145:46]
  wire  iss_stage__maskCondLsuIss_1_T_7 = iss_stage__maskCondLsuIss_1_T_6 | iss_stage_bufInfo_1_lsu_isa_sb; // @[riscv_isa.scala 145:52]
  wire  iss_stage__maskCondLsuIss_1_T_8 = iss_stage__maskCondLsuIss_1_T_7 | iss_stage_bufInfo_1_lsu_isa_sh; // @[riscv_isa.scala 145:57]
  wire  iss_stage__maskCondLsuIss_1_T_9 = iss_stage__maskCondLsuIss_1_T_8 | iss_stage_bufInfo_1_lsu_isa_sw; // @[riscv_isa.scala 145:62]
  wire  iss_stage__maskCondLsuIss_1_T_10 = iss_stage__maskCondLsuIss_1_T_9 | iss_stage_bufInfo_1_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  iss_stage__maskCondLsuIss_1_T_14 = iss_stage__maskCondLsuIss_1_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_32; // @[riscv_isa.scala 151:23]
  wire  iss_stage__maskCondLsuIss_1_T_34 = iss_stage__maskCondLsuIss_1_T_14 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_51; // @[riscv_isa.scala 151:33]
  wire  iss_stage__maskCondLsuIss_1_T_35 = iss_stage_bufInfo_1_lsu_isa_flw | iss_stage_bufInfo_1_lsu_isa_fsw; // @[riscv_isa.scala 149:20]
  wire  iss_stage__maskCondLsuIss_1_T_36 = iss_stage__maskCondLsuIss_1_T_35 | iss_stage_bufInfo_1_lsu_isa_fld; // @[riscv_isa.scala 149:26]
  wire  iss_stage__maskCondLsuIss_1_T_37 = iss_stage__maskCondLsuIss_1_T_36 | iss_stage_bufInfo_1_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  iss_stage__maskCondLsuIss_1_T_38 = iss_stage__maskCondLsuIss_1_T_34 | iss_stage__maskCondLsuIss_1_T_37; // @[riscv_isa.scala 151:42]
  wire  iss_stage__maskCondLsuIss_1_T_39 = iss_stage_bufInfo_1_lsu_isa_fence | iss_stage_bufInfo_1_lsu_isa_fence_i; // @[riscv_isa.scala 150:24]
  wire  iss_stage__maskCondLsuIss_1_T_40 = iss_stage__maskCondLsuIss_1_T_39 | iss_stage_bufInfo_1_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  iss_stage__maskCondLsuIss_1_T_41 = iss_stage__maskCondLsuIss_1_T_38 | iss_stage__maskCondLsuIss_1_T_40; // @[riscv_isa.scala 151:51]
  wire  iss_stage__maskCondLsuIss_1_T_42 = ~iss_stage__maskCondLsuIss_1_T_41; // @[Issue.scala 881:7]
  wire  iss_stage__maskCondLsuIss_1_T_43 = iss_stage__entrySel_T_1 | iss_stage__maskCondLsuIss_1_T_42; // @[Issue.scala 880:20]
  wire  iss_stage__maskCondLsuIss_2_T_1 = iss_stage_bufInfo_2_lsu_isa_lb | iss_stage_bufInfo_2_lsu_isa_lh; // @[riscv_isa.scala 145:19]
  wire  iss_stage__maskCondLsuIss_2_T_2 = iss_stage__maskCondLsuIss_2_T_1 | iss_stage_bufInfo_2_lsu_isa_lw; // @[riscv_isa.scala 145:24]
  wire  iss_stage__maskCondLsuIss_2_T_3 = iss_stage__maskCondLsuIss_2_T_2 | iss_stage_bufInfo_2_lsu_isa_ld; // @[riscv_isa.scala 145:29]
  wire  iss_stage__maskCondLsuIss_2_T_4 = iss_stage__maskCondLsuIss_2_T_3 | iss_stage_bufInfo_2_lsu_isa_lbu; // @[riscv_isa.scala 145:34]
  wire  iss_stage__maskCondLsuIss_2_T_5 = iss_stage__maskCondLsuIss_2_T_4 | iss_stage_bufInfo_2_lsu_isa_lhu; // @[riscv_isa.scala 145:40]
  wire  iss_stage__maskCondLsuIss_2_T_6 = iss_stage__maskCondLsuIss_2_T_5 | iss_stage_bufInfo_2_lsu_isa_lwu; // @[riscv_isa.scala 145:46]
  wire  iss_stage__maskCondLsuIss_2_T_7 = iss_stage__maskCondLsuIss_2_T_6 | iss_stage_bufInfo_2_lsu_isa_sb; // @[riscv_isa.scala 145:52]
  wire  iss_stage__maskCondLsuIss_2_T_8 = iss_stage__maskCondLsuIss_2_T_7 | iss_stage_bufInfo_2_lsu_isa_sh; // @[riscv_isa.scala 145:57]
  wire  iss_stage__maskCondLsuIss_2_T_9 = iss_stage__maskCondLsuIss_2_T_8 | iss_stage_bufInfo_2_lsu_isa_sw; // @[riscv_isa.scala 145:62]
  wire  iss_stage__maskCondLsuIss_2_T_10 = iss_stage__maskCondLsuIss_2_T_9 | iss_stage_bufInfo_2_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  iss_stage__maskCondLsuIss_2_T_14 = iss_stage__maskCondLsuIss_2_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_62; // @[riscv_isa.scala 151:23]
  wire  iss_stage__maskCondLsuIss_2_T_34 = iss_stage__maskCondLsuIss_2_T_14 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_81; // @[riscv_isa.scala 151:33]
  wire  iss_stage__maskCondLsuIss_2_T_35 = iss_stage_bufInfo_2_lsu_isa_flw | iss_stage_bufInfo_2_lsu_isa_fsw; // @[riscv_isa.scala 149:20]
  wire  iss_stage__maskCondLsuIss_2_T_36 = iss_stage__maskCondLsuIss_2_T_35 | iss_stage_bufInfo_2_lsu_isa_fld; // @[riscv_isa.scala 149:26]
  wire  iss_stage__maskCondLsuIss_2_T_37 = iss_stage__maskCondLsuIss_2_T_36 | iss_stage_bufInfo_2_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  iss_stage__maskCondLsuIss_2_T_38 = iss_stage__maskCondLsuIss_2_T_34 | iss_stage__maskCondLsuIss_2_T_37; // @[riscv_isa.scala 151:42]
  wire  iss_stage__maskCondLsuIss_2_T_39 = iss_stage_bufInfo_2_lsu_isa_fence | iss_stage_bufInfo_2_lsu_isa_fence_i; // @[riscv_isa.scala 150:24]
  wire  iss_stage__maskCondLsuIss_2_T_40 = iss_stage__maskCondLsuIss_2_T_39 | iss_stage_bufInfo_2_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  iss_stage__maskCondLsuIss_2_T_41 = iss_stage__maskCondLsuIss_2_T_38 | iss_stage__maskCondLsuIss_2_T_40; // @[riscv_isa.scala 151:51]
  wire  iss_stage__maskCondLsuIss_2_T_42 = ~iss_stage__maskCondLsuIss_2_T_41; // @[Issue.scala 881:7]
  wire  iss_stage__maskCondLsuIss_2_T_43 = iss_stage__entrySel_T_2 | iss_stage__maskCondLsuIss_2_T_42; // @[Issue.scala 880:20]
  wire  iss_stage__maskCondLsuIss_3_T_1 = iss_stage_bufInfo_3_lsu_isa_lb | iss_stage_bufInfo_3_lsu_isa_lh; // @[riscv_isa.scala 145:19]
  wire  iss_stage__maskCondLsuIss_3_T_2 = iss_stage__maskCondLsuIss_3_T_1 | iss_stage_bufInfo_3_lsu_isa_lw; // @[riscv_isa.scala 145:24]
  wire  iss_stage__maskCondLsuIss_3_T_3 = iss_stage__maskCondLsuIss_3_T_2 | iss_stage_bufInfo_3_lsu_isa_ld; // @[riscv_isa.scala 145:29]
  wire  iss_stage__maskCondLsuIss_3_T_4 = iss_stage__maskCondLsuIss_3_T_3 | iss_stage_bufInfo_3_lsu_isa_lbu; // @[riscv_isa.scala 145:34]
  wire  iss_stage__maskCondLsuIss_3_T_5 = iss_stage__maskCondLsuIss_3_T_4 | iss_stage_bufInfo_3_lsu_isa_lhu; // @[riscv_isa.scala 145:40]
  wire  iss_stage__maskCondLsuIss_3_T_6 = iss_stage__maskCondLsuIss_3_T_5 | iss_stage_bufInfo_3_lsu_isa_lwu; // @[riscv_isa.scala 145:46]
  wire  iss_stage__maskCondLsuIss_3_T_7 = iss_stage__maskCondLsuIss_3_T_6 | iss_stage_bufInfo_3_lsu_isa_sb; // @[riscv_isa.scala 145:52]
  wire  iss_stage__maskCondLsuIss_3_T_8 = iss_stage__maskCondLsuIss_3_T_7 | iss_stage_bufInfo_3_lsu_isa_sh; // @[riscv_isa.scala 145:57]
  wire  iss_stage__maskCondLsuIss_3_T_9 = iss_stage__maskCondLsuIss_3_T_8 | iss_stage_bufInfo_3_lsu_isa_sw; // @[riscv_isa.scala 145:62]
  wire  iss_stage__maskCondLsuIss_3_T_10 = iss_stage__maskCondLsuIss_3_T_9 | iss_stage_bufInfo_3_lsu_isa_sd; // @[riscv_isa.scala 145:67]
  wire  iss_stage__maskCondLsuIss_3_T_14 = iss_stage__maskCondLsuIss_3_T_10 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_92; // @[riscv_isa.scala 151:23]
  wire  iss_stage__maskCondLsuIss_3_T_34 = iss_stage__maskCondLsuIss_3_T_14 |
    iss_stage__lsuIssInfo_res_param_dat_op1_T_111; // @[riscv_isa.scala 151:33]
  wire  iss_stage__maskCondLsuIss_3_T_35 = iss_stage_bufInfo_3_lsu_isa_flw | iss_stage_bufInfo_3_lsu_isa_fsw; // @[riscv_isa.scala 149:20]
  wire  iss_stage__maskCondLsuIss_3_T_36 = iss_stage__maskCondLsuIss_3_T_35 | iss_stage_bufInfo_3_lsu_isa_fld; // @[riscv_isa.scala 149:26]
  wire  iss_stage__maskCondLsuIss_3_T_37 = iss_stage__maskCondLsuIss_3_T_36 | iss_stage_bufInfo_3_lsu_isa_fsd; // @[riscv_isa.scala 149:32]
  wire  iss_stage__maskCondLsuIss_3_T_38 = iss_stage__maskCondLsuIss_3_T_34 | iss_stage__maskCondLsuIss_3_T_37; // @[riscv_isa.scala 151:42]
  wire  iss_stage__maskCondLsuIss_3_T_39 = iss_stage_bufInfo_3_lsu_isa_fence | iss_stage_bufInfo_3_lsu_isa_fence_i; // @[riscv_isa.scala 150:24]
  wire  iss_stage__maskCondLsuIss_3_T_40 = iss_stage__maskCondLsuIss_3_T_39 | iss_stage_bufInfo_3_lsu_isa_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  iss_stage__maskCondLsuIss_3_T_41 = iss_stage__maskCondLsuIss_3_T_38 | iss_stage__maskCondLsuIss_3_T_40; // @[riscv_isa.scala 151:51]
  wire  iss_stage__maskCondLsuIss_3_T_42 = ~iss_stage__maskCondLsuIss_3_T_41; // @[Issue.scala 881:7]
  wire  iss_stage__maskCondLsuIss_3_T_43 = iss_stage__io_dptReq_0_ready_T_3 | iss_stage__maskCondLsuIss_3_T_42; // @[Issue.scala 880:20]
  wire  iss_stage__matrixOut_0_0_T_42 = ~iss_stage__maskCondLsuIss_0_T_43; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_0_T_43 = iss_stage_ageMatrixW_0_0 & iss_stage__matrixOut_0_0_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_0_T_44 = iss_stage__matrixOut_0_0_T_43 | iss_stage__maskCondLsuIss_0_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_1_T_42 = ~iss_stage__maskCondLsuIss_1_T_43; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_1_T_43 = iss_stage_ageMatrixW_0_1 & iss_stage__matrixOut_0_1_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_1_T_44 = iss_stage__matrixOut_0_1_T_43 | iss_stage__maskCondLsuIss_0_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_2_T_42 = ~iss_stage__maskCondLsuIss_2_T_43; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_2_T_43 = iss_stage_ageMatrixW_0_2 & iss_stage__matrixOut_0_2_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_2_T_44 = iss_stage__matrixOut_0_2_T_43 | iss_stage__maskCondLsuIss_0_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_0_3_T_42 = ~iss_stage__maskCondLsuIss_3_T_43; // @[Issue.scala 200:46]
  wire  iss_stage__matrixOut_0_3_T_43 = iss_stage_ageMatrixW_0_3 & iss_stage__matrixOut_0_3_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_0_3_T_44 = iss_stage__matrixOut_0_3_T_43 | iss_stage__maskCondLsuIss_0_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_0_T_43 = iss_stage__ageMatrixR_1_0_T & iss_stage__matrixOut_0_0_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_0_T_44 = iss_stage__matrixOut_1_0_T_43 | iss_stage__maskCondLsuIss_1_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_1_T_43 = iss_stage_ageMatrixW_1_1 & iss_stage__matrixOut_0_1_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_1_T_44 = iss_stage__matrixOut_1_1_T_43 | iss_stage__maskCondLsuIss_1_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_2_T_43 = iss_stage_ageMatrixW_1_2 & iss_stage__matrixOut_0_2_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_2_T_44 = iss_stage__matrixOut_1_2_T_43 | iss_stage__maskCondLsuIss_1_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_1_3_T_43 = iss_stage_ageMatrixW_1_3 & iss_stage__matrixOut_0_3_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_1_3_T_44 = iss_stage__matrixOut_1_3_T_43 | iss_stage__maskCondLsuIss_1_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_0_T_43 = iss_stage__ageMatrixR_2_0_T & iss_stage__matrixOut_0_0_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_0_T_44 = iss_stage__matrixOut_2_0_T_43 | iss_stage__maskCondLsuIss_2_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_1_T_43 = iss_stage__ageMatrixR_2_1_T & iss_stage__matrixOut_0_1_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_1_T_44 = iss_stage__matrixOut_2_1_T_43 | iss_stage__maskCondLsuIss_2_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_2_T_43 = iss_stage_ageMatrixW_2_2 & iss_stage__matrixOut_0_2_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_2_T_44 = iss_stage__matrixOut_2_2_T_43 | iss_stage__maskCondLsuIss_2_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_2_3_T_43 = iss_stage_ageMatrixW_2_3 & iss_stage__matrixOut_0_3_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_2_3_T_44 = iss_stage__matrixOut_2_3_T_43 | iss_stage__maskCondLsuIss_2_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_0_T_43 = iss_stage__ageMatrixR_3_0_T & iss_stage__matrixOut_0_0_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_0_T_44 = iss_stage__matrixOut_3_0_T_43 | iss_stage__maskCondLsuIss_3_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_1_T_43 = iss_stage__ageMatrixR_3_1_T & iss_stage__matrixOut_0_1_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_1_T_44 = iss_stage__matrixOut_3_1_T_43 | iss_stage__maskCondLsuIss_3_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_2_T_43 = iss_stage__ageMatrixR_3_2_T & iss_stage__matrixOut_0_2_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_2_T_44 = iss_stage__matrixOut_3_2_T_43 | iss_stage__maskCondLsuIss_3_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__matrixOut_3_3_T_43 = iss_stage_ageMatrixW_3_3 & iss_stage__matrixOut_0_3_T_42; // @[Issue.scala 200:44]
  wire  iss_stage__matrixOut_3_3_T_44 = iss_stage__matrixOut_3_3_T_43 | iss_stage__maskCondLsuIss_3_T_43; // @[Issue.scala 200:60]
  wire  iss_stage__T_2108 = iss_stage__matrixOut_0_0_T_44 & iss_stage__matrixOut_0_1_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2109 = iss_stage__T_2108 & iss_stage__matrixOut_0_2_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2110 = iss_stage__T_2109 & iss_stage__matrixOut_0_3_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2116 = iss_stage__matrixOut_1_0_T_44 & iss_stage__matrixOut_1_1_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2117 = iss_stage__T_2116 & iss_stage__matrixOut_1_2_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2118 = iss_stage__T_2117 & iss_stage__matrixOut_1_3_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2124 = iss_stage__matrixOut_2_0_T_44 & iss_stage__matrixOut_2_1_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2125 = iss_stage__T_2124 & iss_stage__matrixOut_2_2_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2126 = iss_stage__T_2125 & iss_stage__matrixOut_2_3_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2132 = iss_stage__matrixOut_3_0_T_44 & iss_stage__matrixOut_3_1_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2133 = iss_stage__T_2132 & iss_stage__matrixOut_3_2_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2134 = iss_stage__T_2133 & iss_stage__matrixOut_3_3_T_44; // @[Issue.scala 887:52]
  wire  iss_stage__T_2136 = iss_stage__T_2110 & iss_stage__T_2118; // @[Issue.scala 887:24]
  wire  iss_stage__T_2137 = iss_stage__T_2136 & iss_stage__T_2126; // @[Issue.scala 887:24]
  wire  iss_stage__T_2138 = iss_stage__T_2137 & iss_stage__T_2134; // @[Issue.scala 887:24]
  wire  iss_stage__T_2139 = ~iss_stage__matrixOut_0_0_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2140 = ~iss_stage__matrixOut_0_1_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2141 = ~iss_stage__matrixOut_0_2_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2142 = ~iss_stage__matrixOut_0_3_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2144 = iss_stage__T_2139 & iss_stage__T_2140; // @[Issue.scala 888:58]
  wire  iss_stage__T_2145 = iss_stage__T_2144 & iss_stage__T_2141; // @[Issue.scala 888:58]
  wire  iss_stage__T_2146 = iss_stage__T_2145 & iss_stage__T_2142; // @[Issue.scala 888:58]
  wire  iss_stage__T_2147 = ~iss_stage__matrixOut_1_0_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2148 = ~iss_stage__matrixOut_1_1_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2149 = ~iss_stage__matrixOut_1_2_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2150 = ~iss_stage__matrixOut_1_3_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2152 = iss_stage__T_2147 & iss_stage__T_2148; // @[Issue.scala 888:58]
  wire  iss_stage__T_2153 = iss_stage__T_2152 & iss_stage__T_2149; // @[Issue.scala 888:58]
  wire  iss_stage__T_2154 = iss_stage__T_2153 & iss_stage__T_2150; // @[Issue.scala 888:58]
  wire  iss_stage__T_2155 = ~iss_stage__matrixOut_2_0_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2156 = ~iss_stage__matrixOut_2_1_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2157 = ~iss_stage__matrixOut_2_2_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2158 = ~iss_stage__matrixOut_2_3_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2160 = iss_stage__T_2155 & iss_stage__T_2156; // @[Issue.scala 888:58]
  wire  iss_stage__T_2161 = iss_stage__T_2160 & iss_stage__T_2157; // @[Issue.scala 888:58]
  wire  iss_stage__T_2162 = iss_stage__T_2161 & iss_stage__T_2158; // @[Issue.scala 888:58]
  wire  iss_stage__T_2163 = ~iss_stage__matrixOut_3_0_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2164 = ~iss_stage__matrixOut_3_1_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2165 = ~iss_stage__matrixOut_3_2_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2166 = ~iss_stage__matrixOut_3_3_T_44; // @[Issue.scala 888:75]
  wire  iss_stage__T_2168 = iss_stage__T_2163 & iss_stage__T_2164; // @[Issue.scala 888:58]
  wire  iss_stage__T_2169 = iss_stage__T_2168 & iss_stage__T_2165; // @[Issue.scala 888:58]
  wire  iss_stage__T_2170 = iss_stage__T_2169 & iss_stage__T_2166; // @[Issue.scala 888:58]
  wire [1:0] iss_stage__T_2171 = iss_stage__T_2146 + iss_stage__T_2154; // @[Bitwise.scala 51:90]
  wire [1:0] iss_stage__T_2173 = iss_stage__T_2162 + iss_stage__T_2170; // @[Bitwise.scala 51:90]
  wire [2:0] iss_stage__T_2175 = iss_stage__T_2171 + iss_stage__T_2173; // @[Bitwise.scala 51:90]
  wire  iss_stage__T_2177 = iss_stage__T_2175 == 3'h1; // @[Issue.scala 888:92]
  wire  iss_stage__T_2178 = iss_stage__T_2138 | iss_stage__T_2177; // @[Issue.scala 887:86]
  wire  iss_stage__T_2181 = ~iss_stage__T_2178; // @[Issue.scala 886:9]
  wire [1:0] iss_stage__lsuIssIdx_T_32 = iss_stage__T_2162 ? 2'h2 : 2'h3; // @[Issue.scala 891:39]
  wire [1:0] iss_stage__lsuIssIdx_T_33 = iss_stage__T_2154 ? 2'h1 : iss_stage__lsuIssIdx_T_32; // @[Issue.scala 891:39]
  wire [1:0] iss_stage__lsuIssIdx_T_34 = iss_stage__T_2146 ? 2'h0 : iss_stage__lsuIssIdx_T_33; // @[Issue.scala 891:39]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_8 = iss_stage__T_2146 & iss_stage__postIsOpReady_0_0_T_17; // @[Issue.scala 894:93]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_9 = iss_stage__lsuIssFifo_io_enq_valid_T_8 &
    iss_stage__postIsOpReady_0_1_T_17; // @[Issue.scala 894:115]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_18 = iss_stage__T_2154 & iss_stage__postIsOpReady_1_0_T_17; // @[Issue.scala 894:93]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_19 = iss_stage__lsuIssFifo_io_enq_valid_T_18 &
    iss_stage__postIsOpReady_1_1_T_17; // @[Issue.scala 894:115]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_28 = iss_stage__T_2162 & iss_stage__postIsOpReady_2_0_T_17; // @[Issue.scala 894:93]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_29 = iss_stage__lsuIssFifo_io_enq_valid_T_28 &
    iss_stage__postIsOpReady_2_1_T_17; // @[Issue.scala 894:115]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_38 = iss_stage__T_2170 & iss_stage__postIsOpReady_3_0_T_17; // @[Issue.scala 894:93]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_39 = iss_stage__lsuIssFifo_io_enq_valid_T_38 &
    iss_stage__postIsOpReady_3_1_T_17; // @[Issue.scala 894:115]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_40 = iss_stage__lsuIssFifo_io_enq_valid_T_9 |
    iss_stage__lsuIssFifo_io_enq_valid_T_19; // @[Issue.scala 894:149]
  wire  iss_stage__lsuIssFifo_io_enq_valid_T_41 = iss_stage__lsuIssFifo_io_enq_valid_T_40 |
    iss_stage__lsuIssFifo_io_enq_valid_T_29; // @[Issue.scala 894:149]
  wire [63:0] iss_stage_lsuIssInfo_0_param_dat_op2 = iss_stage__lsuIssInfo_res_param_dat_op2_T_14[63:0]; // @[Issue.scala 852:19 858:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_47 = iss_stage__lsuIssFifo_io_enq_valid_T_9 ?
    iss_stage_lsuIssInfo_0_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_1_param_dat_op2 = iss_stage__lsuIssInfo_res_param_dat_op2_T_29[63:0]; // @[Issue.scala 852:19 858:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_48 = iss_stage__lsuIssFifo_io_enq_valid_T_19 ?
    iss_stage_lsuIssInfo_1_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_2_param_dat_op2 = iss_stage__lsuIssInfo_res_param_dat_op2_T_44[63:0]; // @[Issue.scala 852:19 858:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_49 = iss_stage__lsuIssFifo_io_enq_valid_T_29 ?
    iss_stage_lsuIssInfo_2_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_3_param_dat_op2 = iss_stage__lsuIssInfo_res_param_dat_op2_T_59[63:0]; // @[Issue.scala 852:19 858:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_50 = iss_stage__lsuIssFifo_io_enq_valid_T_39 ?
    iss_stage_lsuIssInfo_3_param_dat_op2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_51 = iss_stage__lsuIssFifo_io_enq_bits_T_47 |
    iss_stage__lsuIssFifo_io_enq_bits_T_48; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_52 = iss_stage__lsuIssFifo_io_enq_bits_T_51 |
    iss_stage__lsuIssFifo_io_enq_bits_T_49; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_0_param_dat_op1 = iss_stage__lsuIssInfo_res_param_dat_op1_T_29[63:0]; // @[Issue.scala 852:19 856:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_54 = iss_stage__lsuIssFifo_io_enq_valid_T_9 ?
    iss_stage_lsuIssInfo_0_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_1_param_dat_op1 = iss_stage__lsuIssInfo_res_param_dat_op1_T_59[63:0]; // @[Issue.scala 852:19 856:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_55 = iss_stage__lsuIssFifo_io_enq_valid_T_19 ?
    iss_stage_lsuIssInfo_1_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_2_param_dat_op1 = iss_stage__lsuIssInfo_res_param_dat_op1_T_89[63:0]; // @[Issue.scala 852:19 856:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_56 = iss_stage__lsuIssFifo_io_enq_valid_T_29 ?
    iss_stage_lsuIssInfo_2_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage_lsuIssInfo_3_param_dat_op1 = iss_stage__lsuIssInfo_res_param_dat_op1_T_119[63:0]; // @[Issue.scala 852:19 856:23]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_57 = iss_stage__lsuIssFifo_io_enq_valid_T_39 ?
    iss_stage_lsuIssInfo_3_param_dat_op1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_58 = iss_stage__lsuIssFifo_io_enq_bits_T_54 |
    iss_stage__lsuIssFifo_io_enq_bits_T_55; // @[Mux.scala 27:73]
  wire [63:0] iss_stage__lsuIssFifo_io_enq_bits_T_59 = iss_stage__lsuIssFifo_io_enq_bits_T_58 |
    iss_stage__lsuIssFifo_io_enq_bits_T_56; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_61 = iss_stage__lsuIssFifo_io_enq_valid_T_9 ?
    iss_stage_bufInfo_0_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_62 = iss_stage__lsuIssFifo_io_enq_valid_T_19 ?
    iss_stage_bufInfo_1_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_63 = iss_stage__lsuIssFifo_io_enq_valid_T_29 ?
    iss_stage_bufInfo_2_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_64 = iss_stage__lsuIssFifo_io_enq_valid_T_39 ?
    iss_stage_bufInfo_3_phy_rd0 : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_65 = iss_stage__lsuIssFifo_io_enq_bits_T_61 |
    iss_stage__lsuIssFifo_io_enq_bits_T_62; // @[Mux.scala 27:73]
  wire [5:0] iss_stage__lsuIssFifo_io_enq_bits_T_66 = iss_stage__lsuIssFifo_io_enq_bits_T_65 |
    iss_stage__lsuIssFifo_io_enq_bits_T_63; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_68 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_fsd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_69 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_fsd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_70 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_fsd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_71 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_fsd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_72 = iss_stage__lsuIssFifo_io_enq_bits_T_68 |
    iss_stage__lsuIssFifo_io_enq_bits_T_69; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_73 = iss_stage__lsuIssFifo_io_enq_bits_T_72 |
    iss_stage__lsuIssFifo_io_enq_bits_T_70; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_75 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_fld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_76 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_fld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_77 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_fld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_78 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_fld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_79 = iss_stage__lsuIssFifo_io_enq_bits_T_75 |
    iss_stage__lsuIssFifo_io_enq_bits_T_76; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_80 = iss_stage__lsuIssFifo_io_enq_bits_T_79 |
    iss_stage__lsuIssFifo_io_enq_bits_T_77; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_82 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_fsw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_83 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_fsw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_84 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_fsw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_85 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_fsw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_86 = iss_stage__lsuIssFifo_io_enq_bits_T_82 |
    iss_stage__lsuIssFifo_io_enq_bits_T_83; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_87 = iss_stage__lsuIssFifo_io_enq_bits_T_86 |
    iss_stage__lsuIssFifo_io_enq_bits_T_84; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_89 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_flw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_90 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_flw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_91 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_flw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_92 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_flw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_93 = iss_stage__lsuIssFifo_io_enq_bits_T_89 |
    iss_stage__lsuIssFifo_io_enq_bits_T_90; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_94 = iss_stage__lsuIssFifo_io_enq_bits_T_93 |
    iss_stage__lsuIssFifo_io_enq_bits_T_91; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_96 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomaxu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_97 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomaxu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_98 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomaxu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_99 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomaxu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_100 = iss_stage__lsuIssFifo_io_enq_bits_T_96 |
    iss_stage__lsuIssFifo_io_enq_bits_T_97; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_101 = iss_stage__lsuIssFifo_io_enq_bits_T_100 |
    iss_stage__lsuIssFifo_io_enq_bits_T_98; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_103 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amominu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_104 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amominu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_105 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amominu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_106 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amominu_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_107 = iss_stage__lsuIssFifo_io_enq_bits_T_103 |
    iss_stage__lsuIssFifo_io_enq_bits_T_104; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_108 = iss_stage__lsuIssFifo_io_enq_bits_T_107 |
    iss_stage__lsuIssFifo_io_enq_bits_T_105; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_110 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomax_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_111 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomax_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_112 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomax_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_113 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomax_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_114 = iss_stage__lsuIssFifo_io_enq_bits_T_110 |
    iss_stage__lsuIssFifo_io_enq_bits_T_111; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_115 = iss_stage__lsuIssFifo_io_enq_bits_T_114 |
    iss_stage__lsuIssFifo_io_enq_bits_T_112; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_117 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomin_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_118 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomin_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_119 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomin_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_120 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomin_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_121 = iss_stage__lsuIssFifo_io_enq_bits_T_117 |
    iss_stage__lsuIssFifo_io_enq_bits_T_118; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_122 = iss_stage__lsuIssFifo_io_enq_bits_T_121 |
    iss_stage__lsuIssFifo_io_enq_bits_T_119; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_124 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_125 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_126 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_127 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_128 = iss_stage__lsuIssFifo_io_enq_bits_T_124 |
    iss_stage__lsuIssFifo_io_enq_bits_T_125; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_129 = iss_stage__lsuIssFifo_io_enq_bits_T_128 |
    iss_stage__lsuIssFifo_io_enq_bits_T_126; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_131 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoand_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_132 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoand_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_133 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoand_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_134 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoand_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_135 = iss_stage__lsuIssFifo_io_enq_bits_T_131 |
    iss_stage__lsuIssFifo_io_enq_bits_T_132; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_136 = iss_stage__lsuIssFifo_io_enq_bits_T_135 |
    iss_stage__lsuIssFifo_io_enq_bits_T_133; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_138 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoxor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_139 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoxor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_140 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoxor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_141 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoxor_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_142 = iss_stage__lsuIssFifo_io_enq_bits_T_138 |
    iss_stage__lsuIssFifo_io_enq_bits_T_139; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_143 = iss_stage__lsuIssFifo_io_enq_bits_T_142 |
    iss_stage__lsuIssFifo_io_enq_bits_T_140; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_145 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoadd_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_146 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoadd_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_147 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoadd_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_148 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoadd_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_149 = iss_stage__lsuIssFifo_io_enq_bits_T_145 |
    iss_stage__lsuIssFifo_io_enq_bits_T_146; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_150 = iss_stage__lsuIssFifo_io_enq_bits_T_149 |
    iss_stage__lsuIssFifo_io_enq_bits_T_147; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_152 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoswap_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_153 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoswap_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_154 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoswap_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_155 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoswap_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_156 = iss_stage__lsuIssFifo_io_enq_bits_T_152 |
    iss_stage__lsuIssFifo_io_enq_bits_T_153; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_157 = iss_stage__lsuIssFifo_io_enq_bits_T_156 |
    iss_stage__lsuIssFifo_io_enq_bits_T_154; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_159 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sc_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_160 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sc_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_161 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sc_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_162 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sc_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_163 = iss_stage__lsuIssFifo_io_enq_bits_T_159 |
    iss_stage__lsuIssFifo_io_enq_bits_T_160; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_164 = iss_stage__lsuIssFifo_io_enq_bits_T_163 |
    iss_stage__lsuIssFifo_io_enq_bits_T_161; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_166 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lr_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_167 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lr_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_168 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lr_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_169 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lr_d; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_170 = iss_stage__lsuIssFifo_io_enq_bits_T_166 |
    iss_stage__lsuIssFifo_io_enq_bits_T_167; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_171 = iss_stage__lsuIssFifo_io_enq_bits_T_170 |
    iss_stage__lsuIssFifo_io_enq_bits_T_168; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_173 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomaxu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_174 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomaxu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_175 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomaxu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_176 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomaxu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_177 = iss_stage__lsuIssFifo_io_enq_bits_T_173 |
    iss_stage__lsuIssFifo_io_enq_bits_T_174; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_178 = iss_stage__lsuIssFifo_io_enq_bits_T_177 |
    iss_stage__lsuIssFifo_io_enq_bits_T_175; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_180 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amominu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_181 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amominu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_182 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amominu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_183 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amominu_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_184 = iss_stage__lsuIssFifo_io_enq_bits_T_180 |
    iss_stage__lsuIssFifo_io_enq_bits_T_181; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_185 = iss_stage__lsuIssFifo_io_enq_bits_T_184 |
    iss_stage__lsuIssFifo_io_enq_bits_T_182; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_187 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomax_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_188 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomax_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_189 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomax_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_190 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomax_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_191 = iss_stage__lsuIssFifo_io_enq_bits_T_187 |
    iss_stage__lsuIssFifo_io_enq_bits_T_188; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_192 = iss_stage__lsuIssFifo_io_enq_bits_T_191 |
    iss_stage__lsuIssFifo_io_enq_bits_T_189; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_194 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amomin_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_195 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amomin_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_196 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amomin_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_197 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amomin_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_198 = iss_stage__lsuIssFifo_io_enq_bits_T_194 |
    iss_stage__lsuIssFifo_io_enq_bits_T_195; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_199 = iss_stage__lsuIssFifo_io_enq_bits_T_198 |
    iss_stage__lsuIssFifo_io_enq_bits_T_196; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_201 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_202 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_203 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_204 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_205 = iss_stage__lsuIssFifo_io_enq_bits_T_201 |
    iss_stage__lsuIssFifo_io_enq_bits_T_202; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_206 = iss_stage__lsuIssFifo_io_enq_bits_T_205 |
    iss_stage__lsuIssFifo_io_enq_bits_T_203; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_208 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoand_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_209 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoand_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_210 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoand_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_211 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoand_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_212 = iss_stage__lsuIssFifo_io_enq_bits_T_208 |
    iss_stage__lsuIssFifo_io_enq_bits_T_209; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_213 = iss_stage__lsuIssFifo_io_enq_bits_T_212 |
    iss_stage__lsuIssFifo_io_enq_bits_T_210; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_215 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoxor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_216 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoxor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_217 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoxor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_218 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoxor_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_219 = iss_stage__lsuIssFifo_io_enq_bits_T_215 |
    iss_stage__lsuIssFifo_io_enq_bits_T_216; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_220 = iss_stage__lsuIssFifo_io_enq_bits_T_219 |
    iss_stage__lsuIssFifo_io_enq_bits_T_217; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_222 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoadd_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_223 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoadd_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_224 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoadd_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_225 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoadd_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_226 = iss_stage__lsuIssFifo_io_enq_bits_T_222 |
    iss_stage__lsuIssFifo_io_enq_bits_T_223; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_227 = iss_stage__lsuIssFifo_io_enq_bits_T_226 |
    iss_stage__lsuIssFifo_io_enq_bits_T_224; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_229 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_amoswap_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_230 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_amoswap_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_231 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_amoswap_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_232 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_amoswap_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_233 = iss_stage__lsuIssFifo_io_enq_bits_T_229 |
    iss_stage__lsuIssFifo_io_enq_bits_T_230; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_234 = iss_stage__lsuIssFifo_io_enq_bits_T_233 |
    iss_stage__lsuIssFifo_io_enq_bits_T_231; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_236 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sc_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_237 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sc_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_238 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sc_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_239 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sc_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_240 = iss_stage__lsuIssFifo_io_enq_bits_T_236 |
    iss_stage__lsuIssFifo_io_enq_bits_T_237; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_241 = iss_stage__lsuIssFifo_io_enq_bits_T_240 |
    iss_stage__lsuIssFifo_io_enq_bits_T_238; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_243 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lr_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_244 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lr_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_245 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lr_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_246 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lr_w; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_247 = iss_stage__lsuIssFifo_io_enq_bits_T_243 |
    iss_stage__lsuIssFifo_io_enq_bits_T_244; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_248 = iss_stage__lsuIssFifo_io_enq_bits_T_247 |
    iss_stage__lsuIssFifo_io_enq_bits_T_245; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_250 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sfence_vma; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_251 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sfence_vma; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_252 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sfence_vma; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_253 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sfence_vma; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_254 = iss_stage__lsuIssFifo_io_enq_bits_T_250 |
    iss_stage__lsuIssFifo_io_enq_bits_T_251; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_255 = iss_stage__lsuIssFifo_io_enq_bits_T_254 |
    iss_stage__lsuIssFifo_io_enq_bits_T_252; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_257 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_fence_i; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_258 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_fence_i; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_259 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_fence_i; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_260 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_fence_i; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_261 = iss_stage__lsuIssFifo_io_enq_bits_T_257 |
    iss_stage__lsuIssFifo_io_enq_bits_T_258; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_262 = iss_stage__lsuIssFifo_io_enq_bits_T_261 |
    iss_stage__lsuIssFifo_io_enq_bits_T_259; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_264 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_fence; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_265 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_fence; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_266 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_fence; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_267 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_fence; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_268 = iss_stage__lsuIssFifo_io_enq_bits_T_264 |
    iss_stage__lsuIssFifo_io_enq_bits_T_265; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_269 = iss_stage__lsuIssFifo_io_enq_bits_T_268 |
    iss_stage__lsuIssFifo_io_enq_bits_T_266; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_271 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_272 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_273 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_274 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sd; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_275 = iss_stage__lsuIssFifo_io_enq_bits_T_271 |
    iss_stage__lsuIssFifo_io_enq_bits_T_272; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_276 = iss_stage__lsuIssFifo_io_enq_bits_T_275 |
    iss_stage__lsuIssFifo_io_enq_bits_T_273; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_278 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_279 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_280 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_281 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_282 = iss_stage__lsuIssFifo_io_enq_bits_T_278 |
    iss_stage__lsuIssFifo_io_enq_bits_T_279; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_283 = iss_stage__lsuIssFifo_io_enq_bits_T_282 |
    iss_stage__lsuIssFifo_io_enq_bits_T_280; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_285 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_286 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_287 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_288 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_289 = iss_stage__lsuIssFifo_io_enq_bits_T_285 |
    iss_stage__lsuIssFifo_io_enq_bits_T_286; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_290 = iss_stage__lsuIssFifo_io_enq_bits_T_289 |
    iss_stage__lsuIssFifo_io_enq_bits_T_287; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_292 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_sb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_293 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_sb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_294 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_sb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_295 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_sb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_296 = iss_stage__lsuIssFifo_io_enq_bits_T_292 |
    iss_stage__lsuIssFifo_io_enq_bits_T_293; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_297 = iss_stage__lsuIssFifo_io_enq_bits_T_296 |
    iss_stage__lsuIssFifo_io_enq_bits_T_294; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_299 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lwu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_300 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lwu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_301 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lwu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_302 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lwu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_303 = iss_stage__lsuIssFifo_io_enq_bits_T_299 |
    iss_stage__lsuIssFifo_io_enq_bits_T_300; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_304 = iss_stage__lsuIssFifo_io_enq_bits_T_303 |
    iss_stage__lsuIssFifo_io_enq_bits_T_301; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_306 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lhu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_307 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lhu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_308 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lhu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_309 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lhu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_310 = iss_stage__lsuIssFifo_io_enq_bits_T_306 |
    iss_stage__lsuIssFifo_io_enq_bits_T_307; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_311 = iss_stage__lsuIssFifo_io_enq_bits_T_310 |
    iss_stage__lsuIssFifo_io_enq_bits_T_308; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_313 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lbu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_314 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lbu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_315 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lbu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_316 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lbu; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_317 = iss_stage__lsuIssFifo_io_enq_bits_T_313 |
    iss_stage__lsuIssFifo_io_enq_bits_T_314; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_318 = iss_stage__lsuIssFifo_io_enq_bits_T_317 |
    iss_stage__lsuIssFifo_io_enq_bits_T_315; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_320 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_ld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_321 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_ld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_322 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_ld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_323 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_ld; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_324 = iss_stage__lsuIssFifo_io_enq_bits_T_320 |
    iss_stage__lsuIssFifo_io_enq_bits_T_321; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_325 = iss_stage__lsuIssFifo_io_enq_bits_T_324 |
    iss_stage__lsuIssFifo_io_enq_bits_T_322; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_327 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_328 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_329 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_330 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lw; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_331 = iss_stage__lsuIssFifo_io_enq_bits_T_327 |
    iss_stage__lsuIssFifo_io_enq_bits_T_328; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_332 = iss_stage__lsuIssFifo_io_enq_bits_T_331 |
    iss_stage__lsuIssFifo_io_enq_bits_T_329; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_334 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_335 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_336 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_337 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lh; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_338 = iss_stage__lsuIssFifo_io_enq_bits_T_334 |
    iss_stage__lsuIssFifo_io_enq_bits_T_335; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_339 = iss_stage__lsuIssFifo_io_enq_bits_T_338 |
    iss_stage__lsuIssFifo_io_enq_bits_T_336; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_341 = iss_stage__lsuIssFifo_io_enq_valid_T_9 &
    iss_stage_bufInfo_0_lsu_isa_lb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_342 = iss_stage__lsuIssFifo_io_enq_valid_T_19 &
    iss_stage_bufInfo_1_lsu_isa_lb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_343 = iss_stage__lsuIssFifo_io_enq_valid_T_29 &
    iss_stage_bufInfo_2_lsu_isa_lb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_344 = iss_stage__lsuIssFifo_io_enq_valid_T_39 &
    iss_stage_bufInfo_3_lsu_isa_lb; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_345 = iss_stage__lsuIssFifo_io_enq_bits_T_341 |
    iss_stage__lsuIssFifo_io_enq_bits_T_342; // @[Mux.scala 27:73]
  wire  iss_stage__lsuIssFifo_io_enq_bits_T_346 = iss_stage__lsuIssFifo_io_enq_bits_T_345 |
    iss_stage__lsuIssFifo_io_enq_bits_T_343; // @[Mux.scala 27:73]
  wire  iss_stage__T_2183 = iss_stage__lsuIssIdx_T_34 == 2'h0; // @[Issue.scala 900:46]
  wire  iss_stage__T_2184 = iss_stage_lsuIssFifo__do_enq_T & iss_stage__T_2183; // @[Issue.scala 900:34]
  wire  iss_stage__T_2237 = iss_stage__lsuIssIdx_T_34 == 2'h1; // @[Issue.scala 900:46]
  wire  iss_stage__T_2238 = iss_stage_lsuIssFifo__do_enq_T & iss_stage__T_2237; // @[Issue.scala 900:34]
  wire  iss_stage__T_2291 = iss_stage__lsuIssIdx_T_34 == 2'h2; // @[Issue.scala 900:46]
  wire  iss_stage__T_2292 = iss_stage_lsuIssFifo__do_enq_T & iss_stage__T_2291; // @[Issue.scala 900:34]
  wire  iss_stage__T_2345 = iss_stage__lsuIssIdx_T_34 == 2'h3; // @[Issue.scala 900:46]
  wire  iss_stage__T_2346 = iss_stage_lsuIssFifo__do_enq_T & iss_stage__T_2345; // @[Issue.scala 900:34]
  wire  _GEN_327 = iss_stage__T_1444 & iss_stage__T_123; // @[Issue.scala 642:15]
  wire  _GEN_330 = iss_stage__T_1487 & iss_stage__T_123; // @[Issue.scala 642:15]
  wire  _GEN_333 = iss_stage__T_1530 & iss_stage__T_123; // @[Issue.scala 642:15]
  wire  _GEN_336 = iss_stage__T_1573 & iss_stage__T_123; // @[Issue.scala 642:15]
  wire  _GEN_339 = iss_stage__T_1695 & iss_stage__T_123; // @[Issue.scala 707:17]
  wire  _GEN_342 = iss_stage__T_1720 & iss_stage__T_123; // @[Issue.scala 707:17]
  wire  _GEN_345 = iss_stage__T_1745 & iss_stage__T_123; // @[Issue.scala 707:17]
  wire  _GEN_348 = iss_stage__T_1770 & iss_stage__T_123; // @[Issue.scala 707:17]
  wire  _GEN_351 = iss_stage__T_1874 & iss_stage__T_123; // @[Issue.scala 773:13]
  wire  _GEN_354 = iss_stage__T_1894 & iss_stage__T_123; // @[Issue.scala 773:13]
  wire  _GEN_357 = iss_stage__T_1914 & iss_stage__T_123; // @[Issue.scala 773:13]
  wire  _GEN_360 = iss_stage__T_1934 & iss_stage__T_123; // @[Issue.scala 773:13]
  wire  _GEN_363 = iss_stage__T_2033 & iss_stage__T_123; // @[Issue.scala 839:13]
  wire  _GEN_366 = iss_stage__T_2051 & iss_stage__T_123; // @[Issue.scala 839:13]
  wire  _GEN_369 = iss_stage__T_2069 & iss_stage__T_123; // @[Issue.scala 839:13]
  wire  _GEN_372 = iss_stage__T_2087 & iss_stage__T_123; // @[Issue.scala 839:13]
  wire  _GEN_375 = iss_stage__T_2184 & iss_stage__T_123; // @[Issue.scala 902:13]
  wire  _GEN_378 = iss_stage__T_2238 & iss_stage__T_123; // @[Issue.scala 902:13]
  wire  _GEN_381 = iss_stage__T_2292 & iss_stage__T_123; // @[Issue.scala 902:13]
  wire  _GEN_384 = iss_stage__T_2346 & iss_stage__T_123; // @[Issue.scala 902:13]
  wire  exe_stage_clock;
  wire  exe_stage_reset;
  wire  exe_stage_io_alu_iss_exe_0_ready;
  wire  exe_stage_io_alu_iss_exe_0_valid;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_add;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_slt;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_xor;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_or;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_and;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_sll;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_srl;
  wire  exe_stage_io_alu_iss_exe_0_bits_fun_sra;
  wire [5:0] exe_stage_io_alu_iss_exe_0_bits_param_rd0;
  wire  exe_stage_io_alu_iss_exe_0_bits_param_is_32w;
  wire  exe_stage_io_alu_iss_exe_0_bits_param_is_usi;
  wire [63:0] exe_stage_io_alu_iss_exe_0_bits_param_dat_op1;
  wire [63:0] exe_stage_io_alu_iss_exe_0_bits_param_dat_op2;
  wire  exe_stage_io_alu_exe_iwb_0_ready;
  wire  exe_stage_io_alu_exe_iwb_0_valid;
  wire [5:0] exe_stage_io_alu_exe_iwb_0_bits_rd0;
  wire [63:0] exe_stage_io_alu_exe_iwb_0_bits_res;
  wire  exe_stage_io_bru_iss_exe_ready;
  wire  exe_stage_io_bru_iss_exe_valid;
  wire  exe_stage_io_bru_iss_exe_bits_fun_jalr;
  wire  exe_stage_io_bru_iss_exe_bits_fun_beq;
  wire  exe_stage_io_bru_iss_exe_bits_fun_bne;
  wire  exe_stage_io_bru_iss_exe_bits_fun_blt;
  wire  exe_stage_io_bru_iss_exe_bits_fun_bge;
  wire  exe_stage_io_bru_iss_exe_bits_fun_bltu;
  wire  exe_stage_io_bru_iss_exe_bits_fun_bgeu;
  wire [5:0] exe_stage_io_bru_iss_exe_bits_param_rd0;
  wire  exe_stage_io_bru_iss_exe_bits_param_is_rvc;
  wire [63:0] exe_stage_io_bru_iss_exe_bits_param_pc;
  wire [63:0] exe_stage_io_bru_iss_exe_bits_param_imm;
  wire [63:0] exe_stage_io_bru_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_io_bru_iss_exe_bits_param_dat_op2;
  wire  exe_stage_io_bru_exe_iwb_ready;
  wire  exe_stage_io_bru_exe_iwb_valid;
  wire [5:0] exe_stage_io_bru_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_io_bru_exe_iwb_bits_res;
  wire  exe_stage_io_csr_iss_exe_ready;
  wire  exe_stage_io_csr_iss_exe_valid;
  wire  exe_stage_io_csr_iss_exe_bits_fun_rw;
  wire  exe_stage_io_csr_iss_exe_bits_fun_rs;
  wire  exe_stage_io_csr_iss_exe_bits_fun_rc;
  wire [5:0] exe_stage_io_csr_iss_exe_bits_param_rd0;
  wire [63:0] exe_stage_io_csr_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_io_csr_iss_exe_bits_param_dat_op2;
  wire  exe_stage_io_csr_exe_iwb_ready;
  wire  exe_stage_io_csr_exe_iwb_valid;
  wire [5:0] exe_stage_io_csr_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_io_csr_exe_iwb_bits_res;
  wire  exe_stage_io_lsu_iss_exe_ready;
  wire  exe_stage_io_lsu_iss_exe_valid;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lb;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lh;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lw;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_ld;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lbu;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lhu;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lwu;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sb;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sh;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sw;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sd;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_fence;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_fence_i;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sfence_vma;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lr_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sc_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoswap_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoadd_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoxor_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoand_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoor_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomin_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomax_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amominu_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_w;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_lr_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_sc_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoswap_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoadd_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoxor_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoand_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amoor_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomin_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomax_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amominu_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_d;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_flw;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_fsw;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_fld;
  wire  exe_stage_io_lsu_iss_exe_bits_fun_fsd;
  wire [5:0] exe_stage_io_lsu_iss_exe_bits_param_rd0;
  wire [63:0] exe_stage_io_lsu_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_io_lsu_iss_exe_bits_param_dat_op2;
  wire  exe_stage_io_lsu_exe_iwb_ready;
  wire  exe_stage_io_lsu_exe_iwb_valid;
  wire [5:0] exe_stage_io_lsu_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_io_lsu_exe_iwb_bits_res;
  wire  exe_stage_io_lsu_exe_fwb_ready;
  wire  exe_stage_io_lsu_exe_fwb_valid;
  wire  exe_stage_io_mul_iss_exe_0_ready;
  wire  exe_stage_io_mul_iss_exe_0_valid;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_mul;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_mulh;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_mulhsu;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_mulhu;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_div;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_divu;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_rem;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_remu;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_mulw;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_divw;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_divuw;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_remw;
  wire  exe_stage_io_mul_iss_exe_0_bits_fun_remuw;
  wire [5:0] exe_stage_io_mul_iss_exe_0_bits_param_rd0;
  wire [63:0] exe_stage_io_mul_iss_exe_0_bits_param_dat_op1;
  wire [63:0] exe_stage_io_mul_iss_exe_0_bits_param_dat_op2;
  wire  exe_stage_io_mul_exe_iwb_0_ready;
  wire  exe_stage_io_mul_exe_iwb_0_valid;
  wire [5:0] exe_stage_io_mul_exe_iwb_0_bits_rd0;
  wire [63:0] exe_stage_io_mul_exe_iwb_0_bits_res;
  wire  exe_stage_io_fpu_iss_exe_0_valid;
  wire  exe_stage_io_fpu_exe_iwb_0_valid;
  wire [5:0] exe_stage_io_fpu_exe_iwb_0_bits_rd0;
  wire [63:0] exe_stage_io_fpu_exe_iwb_0_bits_res;
  wire  exe_stage_io_fpu_exe_fwb_0_valid;
  wire  exe_stage_io_fcsr_cmm_op_0_valid;
  wire [11:0] exe_stage_io_fcsr_cmm_op_0_bits_addr;
  wire [63:0] exe_stage_io_fcsr_cmm_op_0_bits_dat_i;
  wire  exe_stage_io_fcsr_cmm_op_0_bits_op_rw;
  wire  exe_stage_io_fcsr_cmm_op_0_bits_op_rs;
  wire  exe_stage_io_fcsr_cmm_op_0_bits_op_rc;
  wire  exe_stage_io_bftq_ready;
  wire  exe_stage_io_bftq_valid;
  wire [38:0] exe_stage_io_bftq_bits_pc;
  wire  exe_stage_io_bftq_bits_bimResp_bim_p;
  wire  exe_stage_io_bftq_bits_bimResp_bim_h;
  wire  exe_stage_io_bftq_bits_isPredictTaken;
  wire  exe_stage_io_jftq_ready;
  wire  exe_stage_io_jftq_valid;
  wire [38:0] exe_stage_io_jftq_bits_pc;
  wire [38:0] exe_stage_io_jftq_bits_btbResp_target;
  wire [38:0] exe_stage_io_jftq_bits_rasResp_target;
  wire  exe_stage_io_jftq_bits_isRas;
  wire  exe_stage_io_bctq_ready;
  wire  exe_stage_io_bctq_valid;
  wire  exe_stage_io_bctq_bits_isPredictTaken;
  wire  exe_stage_io_bctq_bits_isFinalTaken;
  wire [63:0] exe_stage_io_bctq_bits_finalTarget;
  wire  exe_stage_io_jctq_ready;
  wire  exe_stage_io_jctq_valid;
  wire [38:0] exe_stage_io_jctq_bits_btbResp_target;
  wire [38:0] exe_stage_io_jctq_bits_rasResp_target;
  wire  exe_stage_io_jctq_bits_isRas;
  wire [63:0] exe_stage_io_jctq_bits_finalTarget;
  wire  exe_stage_io_bcmm_update_valid;
  wire [38:0] exe_stage_io_bcmm_update_bits_pc;
  wire  exe_stage_io_bcmm_update_bits_bimResp_bim_p;
  wire  exe_stage_io_bcmm_update_bits_bimResp_bim_h;
  wire  exe_stage_io_bcmm_update_bits_isFinalTaken;
  wire  exe_stage_io_jcmm_update_valid;
  wire [38:0] exe_stage_io_jcmm_update_bits_pc;
  wire [63:0] exe_stage_io_jcmm_update_bits_finalTarget;
  wire  exe_stage_io_csr_addr_valid;
  wire [11:0] exe_stage_io_csr_addr_bits;
  wire  exe_stage_io_csr_data_valid;
  wire [63:0] exe_stage_io_csr_data_bits;
  wire  exe_stage_io_csr_cmm_op_ready;
  wire  exe_stage_io_csr_cmm_op_valid;
  wire [11:0] exe_stage_io_csr_cmm_op_bits_addr;
  wire [63:0] exe_stage_io_csr_cmm_op_bits_dat_i;
  wire  exe_stage_io_csr_cmm_op_bits_op_rw;
  wire  exe_stage_io_csr_cmm_op_bits_op_rs;
  wire  exe_stage_io_csr_cmm_op_bits_op_rc;
  wire  exe_stage_io_lsu_mmu_ready;
  wire  exe_stage_io_lsu_mmu_valid;
  wire  exe_stage_io_lsu_mmu_bits_is_X;
  wire  exe_stage_io_lsu_mmu_bits_is_W;
  wire  exe_stage_io_lsu_mmu_bits_is_R;
  wire [63:0] exe_stage_io_lsu_mmu_bits_vaddr;
  wire  exe_stage_io_mmu_lsu_ready;
  wire  exe_stage_io_mmu_lsu_valid;
  wire [63:0] exe_stage_io_mmu_lsu_bits_paddr;
  wire  exe_stage_io_mmu_lsu_bits_is_paging_fault;
  wire  exe_stage_io_mmu_lsu_bits_is_access_fault;
  wire  exe_stage_io_cmm_lsu_is_amo_pending;
  wire  exe_stage_io_cmm_lsu_is_store_commit_0;
  wire  exe_stage_io_lsu_cmm_is_access_fault;
  wire  exe_stage_io_lsu_cmm_is_paging_fault;
  wire  exe_stage_io_lsu_cmm_is_misAlign;
  wire [63:0] exe_stage_io_lsu_cmm_trap_addr;
  wire  exe_stage_io_missUnit_dcache_acquire_ready;
  wire  exe_stage_io_missUnit_dcache_acquire_valid;
  wire [2:0] exe_stage_io_missUnit_dcache_acquire_bits_opcode;
  wire [2:0] exe_stage_io_missUnit_dcache_acquire_bits_param;
  wire [2:0] exe_stage_io_missUnit_dcache_acquire_bits_size;
  wire  exe_stage_io_missUnit_dcache_acquire_bits_source;
  wire [31:0] exe_stage_io_missUnit_dcache_acquire_bits_address;
  wire [7:0] exe_stage_io_missUnit_dcache_acquire_bits_mask;
  wire [63:0] exe_stage_io_missUnit_dcache_acquire_bits_data;
  wire  exe_stage_io_missUnit_dcache_acquire_bits_corrupt;
  wire  exe_stage_io_missUnit_dcache_grant_ready;
  wire  exe_stage_io_missUnit_dcache_grant_valid;
  wire [2:0] exe_stage_io_missUnit_dcache_grant_bits_opcode;
  wire [2:0] exe_stage_io_missUnit_dcache_grant_bits_size;
  wire  exe_stage_io_missUnit_dcache_grant_bits_source;
  wire [4:0] exe_stage_io_missUnit_dcache_grant_bits_sink;
  wire [63:0] exe_stage_io_missUnit_dcache_grant_bits_data;
  wire  exe_stage_io_missUnit_dcache_grantAck_ready;
  wire  exe_stage_io_missUnit_dcache_grantAck_valid;
  wire [4:0] exe_stage_io_missUnit_dcache_grantAck_bits_sink;
  wire  exe_stage_io_probeUnit_dcache_probe_ready;
  wire  exe_stage_io_probeUnit_dcache_probe_valid;
  wire [31:0] exe_stage_io_probeUnit_dcache_probe_bits_address;
  wire  exe_stage_io_writeBackUnit_dcache_release_ready;
  wire  exe_stage_io_writeBackUnit_dcache_release_valid;
  wire [2:0] exe_stage_io_writeBackUnit_dcache_release_bits_opcode;
  wire [2:0] exe_stage_io_writeBackUnit_dcache_release_bits_param;
  wire [2:0] exe_stage_io_writeBackUnit_dcache_release_bits_size;
  wire  exe_stage_io_writeBackUnit_dcache_release_bits_source;
  wire [31:0] exe_stage_io_writeBackUnit_dcache_release_bits_address;
  wire [63:0] exe_stage_io_writeBackUnit_dcache_release_bits_data;
  wire  exe_stage_io_writeBackUnit_dcache_release_bits_corrupt;
  wire  exe_stage_io_writeBackUnit_dcache_grant_ready;
  wire  exe_stage_io_writeBackUnit_dcache_grant_valid;
  wire  exe_stage_io_writeBackUnit_dcache_grant_bits_source;
  wire  exe_stage_io_system_getPut_ready;
  wire  exe_stage_io_system_getPut_valid;
  wire [2:0] exe_stage_io_system_getPut_bits_opcode;
  wire [2:0] exe_stage_io_system_getPut_bits_param;
  wire [1:0] exe_stage_io_system_getPut_bits_size;
  wire  exe_stage_io_system_getPut_bits_source;
  wire [31:0] exe_stage_io_system_getPut_bits_address;
  wire [7:0] exe_stage_io_system_getPut_bits_mask;
  wire [63:0] exe_stage_io_system_getPut_bits_data;
  wire  exe_stage_io_system_getPut_bits_corrupt;
  wire  exe_stage_io_system_access_ready;
  wire  exe_stage_io_system_access_valid;
  wire [2:0] exe_stage_io_system_access_bits_opcode;
  wire [63:0] exe_stage_io_system_access_bits_data;
  wire  exe_stage_io_periph_getPut_ready;
  wire  exe_stage_io_periph_getPut_valid;
  wire [2:0] exe_stage_io_periph_getPut_bits_opcode;
  wire [2:0] exe_stage_io_periph_getPut_bits_param;
  wire [1:0] exe_stage_io_periph_getPut_bits_size;
  wire  exe_stage_io_periph_getPut_bits_source;
  wire [31:0] exe_stage_io_periph_getPut_bits_address;
  wire [7:0] exe_stage_io_periph_getPut_bits_mask;
  wire [63:0] exe_stage_io_periph_getPut_bits_data;
  wire  exe_stage_io_periph_getPut_bits_corrupt;
  wire  exe_stage_io_periph_access_ready;
  wire  exe_stage_io_periph_access_valid;
  wire [2:0] exe_stage_io_periph_access_bits_opcode;
  wire [63:0] exe_stage_io_periph_access_bits_data;
  wire  exe_stage_io_flush;
  wire  exe_stage_alu_0_clock;
  wire  exe_stage_alu_0_reset;
  wire  exe_stage_alu_0_io_alu_iss_exe_ready;
  wire  exe_stage_alu_0_io_alu_iss_exe_valid;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_add;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_slt;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_xor;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_or;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_and;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_sll;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_srl;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_fun_sra;
  wire [5:0] exe_stage_alu_0_io_alu_iss_exe_bits_param_rd0;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w;
  wire  exe_stage_alu_0_io_alu_iss_exe_bits_param_is_usi;
  wire [63:0] exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2;
  wire  exe_stage_alu_0_io_alu_exe_iwb_ready;
  wire  exe_stage_alu_0_io_alu_exe_iwb_valid;
  wire [5:0] exe_stage_alu_0_io_alu_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_alu_0_io_alu_exe_iwb_bits_res;
  wire  exe_stage_alu_0_io_flush;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_clock;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_reset;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid;
  wire [5:0] exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_rd0;
  wire [63:0] exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_res;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_ready;
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_valid;
  wire [5:0] exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_clock;
  reg  exe_stage_alu_0_alu_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo__empty_T = ~exe_stage_alu_0_alu_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo__do_enq_T = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready &
    exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo__do_deq_T = exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_ready &
    exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_alu_0_alu_exe_iwb_fifo__T = exe_stage_alu_0_alu_exe_iwb_fifo__do_enq_T !=
    exe_stage_alu_0_alu_exe_iwb_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire [63:0] exe_stage_alu_0_adder_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 +
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2; // @[Alu.scala 52:23]
  wire  exe_stage_alu_0__adder_res_32w_T = exe_stage_alu_0_adder_res[31]; // @[Alu.scala 49:43]
  wire [31:0] exe_stage_alu_0__adder_res_32w_T_2 = exe_stage_alu_0__adder_res_32w_T ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_alu_0__adder_res_32w_T_3 = exe_stage_alu_0_adder_res[31:0]; // @[Alu.scala 49:53]
  wire [63:0] exe_stage_alu_0_adder_res_32w = {exe_stage_alu_0__adder_res_32w_T_2,exe_stage_alu_0__adder_res_32w_T_3}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_alu_0_alu_add_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ?
    exe_stage_alu_0_adder_res_32w : exe_stage_alu_0_adder_res; // @[Alu.scala 54:24]
  wire  exe_stage_alu_0__slt_sign_res_T_2 = $signed(exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1) < $signed(
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2); // @[Alu.scala 56:38]
  wire  exe_stage_alu_0__slt_unsi_res_T = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 <
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2; // @[Alu.scala 57:31]
  wire  exe_stage_alu_0_alu_slt_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_usi ? exe_stage_alu_0__slt_unsi_res_T
     : exe_stage_alu_0__slt_sign_res_T_2; // @[Alu.scala 59:24]
  wire [63:0] exe_stage_alu_0_alu_xor_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 ^
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2; // @[Alu.scala 61:25]
  wire [63:0] exe_stage_alu_0_alu_or_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 |
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2; // @[Alu.scala 62:25]
  wire [63:0] exe_stage_alu_0_alu_and_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 &
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2; // @[Alu.scala 63:25]
  wire [4:0] exe_stage_alu_0__shift_op2_T = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2[4:0]; // @[Alu.scala 67:34]
  wire [5:0] exe_stage_alu_0__shift_op2_T_1 = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2[5:0]; // @[Alu.scala 67:44]
  wire [5:0] exe_stage_alu_0_shift_op2 = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ? {{1'd0},
    exe_stage_alu_0__shift_op2_T} : exe_stage_alu_0__shift_op2_T_1; // @[Alu.scala 67:22]
  wire [126:0] _GEN_995 = {{63'd0}, exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1}; // @[Alu.scala 69:48]
  wire [126:0] exe_stage_alu_0__alu_sll_res_T = _GEN_995 << exe_stage_alu_0_shift_op2; // @[Alu.scala 69:48]
  wire  exe_stage_alu_0__alu_sll_res_T_1 = exe_stage_alu_0__alu_sll_res_T[31]; // @[Alu.scala 49:43]
  wire [31:0] exe_stage_alu_0__alu_sll_res_T_3 = exe_stage_alu_0__alu_sll_res_T_1 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_alu_0__alu_sll_res_T_4 = exe_stage_alu_0__alu_sll_res_T[31:0]; // @[Alu.scala 49:53]
  wire [63:0] exe_stage_alu_0__alu_sll_res_T_5 = {exe_stage_alu_0__alu_sll_res_T_3,exe_stage_alu_0__alu_sll_res_T_4}; // @[Cat.scala 33:92]
  wire [126:0] exe_stage_alu_0_alu_sll_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ? {{63'd0},
    exe_stage_alu_0__alu_sll_res_T_5} : exe_stage_alu_0__alu_sll_res_T; // @[Alu.scala 69:25]
  wire [31:0] exe_stage_alu_0__alu_srl_res_T = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1[31:0]; // @[Alu.scala 71:46]
  wire [31:0] exe_stage_alu_0__alu_srl_res_T_1 = exe_stage_alu_0__alu_srl_res_T >> exe_stage_alu_0_shift_op2; // @[Alu.scala 71:53]
  wire  exe_stage_alu_0__alu_srl_res_T_2 = exe_stage_alu_0__alu_srl_res_T_1[31]; // @[Alu.scala 49:43]
  wire [31:0] exe_stage_alu_0__alu_srl_res_T_4 = exe_stage_alu_0__alu_srl_res_T_2 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_alu_0__alu_srl_res_T_6 = {exe_stage_alu_0__alu_srl_res_T_4,exe_stage_alu_0__alu_srl_res_T_1}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_alu_0__alu_srl_res_T_7 = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 >>
    exe_stage_alu_0_shift_op2; // @[Alu.scala 71:72]
  wire [63:0] exe_stage_alu_0_alu_srl_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ?
    exe_stage_alu_0__alu_srl_res_T_6 : exe_stage_alu_0__alu_srl_res_T_7; // @[Alu.scala 71:25]
  wire  exe_stage_alu_0__sra_op1_128w_T = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1[31]; // @[Alu.scala 73:52]
  wire [95:0] exe_stage_alu_0__sra_op1_128w_T_2 = exe_stage_alu_0__sra_op1_128w_T ? 96'hffffffffffffffffffffffff : 96'h0
    ; // @[Bitwise.scala 77:12]
  wire [127:0] exe_stage_alu_0__sra_op1_128w_T_4 = {exe_stage_alu_0__sra_op1_128w_T_2,exe_stage_alu_0__alu_srl_res_T}; // @[Cat.scala 33:92]
  wire  exe_stage_alu_0__sra_op1_128w_T_5 = exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1[63]; // @[Alu.scala 73:89]
  wire [63:0] exe_stage_alu_0__sra_op1_128w_T_7 = exe_stage_alu_0__sra_op1_128w_T_5 ? 64'hffffffffffffffff : 64'h0; // @[Bitwise.scala 77:12]
  wire [127:0] exe_stage_alu_0__sra_op1_128w_T_9 = {exe_stage_alu_0__sra_op1_128w_T_7,
    exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_alu_0_sra_op1_128w = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ?
    exe_stage_alu_0__sra_op1_128w_T_4 : exe_stage_alu_0__sra_op1_128w_T_9; // @[Alu.scala 73:25]
  wire [127:0] exe_stage_alu_0__alu_sra_res_T = exe_stage_alu_0_sra_op1_128w >> exe_stage_alu_0_shift_op2; // @[Alu.scala 74:56]
  wire  exe_stage_alu_0__alu_sra_res_T_1 = exe_stage_alu_0__alu_sra_res_T[31]; // @[Alu.scala 49:43]
  wire [31:0] exe_stage_alu_0__alu_sra_res_T_3 = exe_stage_alu_0__alu_sra_res_T_1 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_alu_0__alu_sra_res_T_4 = exe_stage_alu_0__alu_sra_res_T[31:0]; // @[Alu.scala 49:53]
  wire [63:0] exe_stage_alu_0__alu_sra_res_T_5 = {exe_stage_alu_0__alu_sra_res_T_3,exe_stage_alu_0__alu_sra_res_T_4}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_alu_0_alu_sra_res = exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w ? {{64'd0},
    exe_stage_alu_0__alu_sra_res_T_5} : exe_stage_alu_0__alu_sra_res_T; // @[Alu.scala 74:25]
  wire [127:0] exe_stage_alu_0__res_T = exe_stage_alu_0_io_alu_iss_exe_bits_fun_sra ? exe_stage_alu_0_alu_sra_res : 128'h0
    ; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_1 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_srl ? {{64'd0},
    exe_stage_alu_0_alu_srl_res} : exe_stage_alu_0__res_T; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_2 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_sll ? {{1'd0},
    exe_stage_alu_0_alu_sll_res} : exe_stage_alu_0__res_T_1; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_3 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_and ? {{64'd0},
    exe_stage_alu_0_alu_and_res} : exe_stage_alu_0__res_T_2; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_4 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_or ? {{64'd0},
    exe_stage_alu_0_alu_or_res} : exe_stage_alu_0__res_T_3; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_5 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_xor ? {{64'd0},
    exe_stage_alu_0_alu_xor_res} : exe_stage_alu_0__res_T_4; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0__res_T_6 = exe_stage_alu_0_io_alu_iss_exe_bits_fun_slt ? {{127'd0},
    exe_stage_alu_0_alu_slt_res} : exe_stage_alu_0__res_T_5; // @[Mux.scala 101:16]
  wire [127:0] exe_stage_alu_0_res = exe_stage_alu_0_io_alu_iss_exe_bits_fun_add ? {{64'd0}, exe_stage_alu_0_alu_add_res
    } : exe_stage_alu_0__res_T_6; // @[Mux.scala 101:16]
  wire  exe_stage_bru_clock;
  wire  exe_stage_bru_reset;
  wire  exe_stage_bru_io_bru_iss_exe_ready;
  wire  exe_stage_bru_io_bru_iss_exe_valid;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_jalr;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_beq;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_bne;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_blt;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_bge;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_bltu;
  wire  exe_stage_bru_io_bru_iss_exe_bits_fun_bgeu;
  wire [5:0] exe_stage_bru_io_bru_iss_exe_bits_param_rd0;
  wire  exe_stage_bru_io_bru_iss_exe_bits_param_is_rvc;
  wire [63:0] exe_stage_bru_io_bru_iss_exe_bits_param_pc;
  wire [63:0] exe_stage_bru_io_bru_iss_exe_bits_param_imm;
  wire [63:0] exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2;
  wire  exe_stage_bru_io_bru_exe_iwb_ready;
  wire  exe_stage_bru_io_bru_exe_iwb_valid;
  wire [5:0] exe_stage_bru_io_bru_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_bru_io_bru_exe_iwb_bits_res;
  wire  exe_stage_bru_io_bftq_ready;
  wire  exe_stage_bru_io_bftq_valid;
  wire [38:0] exe_stage_bru_io_bftq_bits_pc;
  wire  exe_stage_bru_io_bftq_bits_bimResp_bim_p;
  wire  exe_stage_bru_io_bftq_bits_bimResp_bim_h;
  wire  exe_stage_bru_io_bftq_bits_isPredictTaken;
  wire  exe_stage_bru_io_jftq_ready;
  wire  exe_stage_bru_io_jftq_valid;
  wire [38:0] exe_stage_bru_io_jftq_bits_pc;
  wire [38:0] exe_stage_bru_io_jftq_bits_btbResp_target;
  wire [38:0] exe_stage_bru_io_jftq_bits_rasResp_target;
  wire  exe_stage_bru_io_jftq_bits_isRas;
  wire  exe_stage_bru_io_bctq_ready;
  wire  exe_stage_bru_io_bctq_valid;
  wire [38:0] exe_stage_bru_io_bctq_bits_pc;
  wire  exe_stage_bru_io_bctq_bits_bimResp_bim_p;
  wire  exe_stage_bru_io_bctq_bits_bimResp_bim_h;
  wire  exe_stage_bru_io_bctq_bits_isPredictTaken;
  wire  exe_stage_bru_io_bctq_bits_isFinalTaken;
  wire [63:0] exe_stage_bru_io_bctq_bits_finalTarget;
  wire  exe_stage_bru_io_jctq_ready;
  wire  exe_stage_bru_io_jctq_valid;
  wire [38:0] exe_stage_bru_io_jctq_bits_pc;
  wire [38:0] exe_stage_bru_io_jctq_bits_btbResp_target;
  wire [38:0] exe_stage_bru_io_jctq_bits_rasResp_target;
  wire  exe_stage_bru_io_jctq_bits_isRas;
  wire [63:0] exe_stage_bru_io_jctq_bits_finalTarget;
  wire  exe_stage_bru_io_bcmm_update_valid;
  wire [38:0] exe_stage_bru_io_bcmm_update_bits_pc;
  wire  exe_stage_bru_io_bcmm_update_bits_bimResp_bim_p;
  wire  exe_stage_bru_io_bcmm_update_bits_bimResp_bim_h;
  wire  exe_stage_bru_io_bcmm_update_bits_isFinalTaken;
  wire  exe_stage_bru_io_jcmm_update_valid;
  wire [38:0] exe_stage_bru_io_jcmm_update_bits_pc;
  wire [63:0] exe_stage_bru_io_jcmm_update_bits_finalTarget;
  wire  exe_stage_bru_io_flush;
  wire  exe_stage_bru_bru_exe_iwb_fifo_clock;
  wire  exe_stage_bru_bru_exe_iwb_fifo_reset;
  wire  exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready;
  wire  exe_stage_bru_bru_exe_iwb_fifo_io_enq_valid;
  wire [5:0] exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_rd0;
  wire [63:0] exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_res;
  wire  exe_stage_bru_bru_exe_iwb_fifo_io_deq_ready;
  wire  exe_stage_bru_bru_exe_iwb_fifo_io_deq_valid;
  wire [5:0] exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_bru_bru_exe_iwb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_bru_bru_exe_iwb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bru_exe_iwb_fifo_ram_res_clock;
  reg  exe_stage_bru_bru_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_bru_bru_exe_iwb_fifo__empty_T = ~exe_stage_bru_bru_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_bru_bru_exe_iwb_fifo__do_enq_T = exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready &
    exe_stage_bru_bru_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_bru_exe_iwb_fifo__do_deq_T = exe_stage_bru_bru_exe_iwb_fifo_io_deq_ready &
    exe_stage_bru_bru_exe_iwb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_bru_exe_iwb_fifo__T = exe_stage_bru_bru_exe_iwb_fifo__do_enq_T !=
    exe_stage_bru_bru_exe_iwb_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_bru_bctq_clock;
  wire  exe_stage_bru_bctq_reset;
  wire  exe_stage_bru_bctq_io_enq_ready;
  wire  exe_stage_bru_bctq_io_enq_valid;
  wire [38:0] exe_stage_bru_bctq_io_enq_bits_pc;
  wire  exe_stage_bru_bctq_io_enq_bits_bimResp_bim_p;
  wire  exe_stage_bru_bctq_io_enq_bits_bimResp_bim_h;
  wire  exe_stage_bru_bctq_io_enq_bits_isPredictTaken;
  wire  exe_stage_bru_bctq_io_enq_bits_isFinalTaken;
  wire [63:0] exe_stage_bru_bctq_io_enq_bits_finalTarget;
  wire  exe_stage_bru_bctq_io_deq_ready;
  wire  exe_stage_bru_bctq_io_deq_valid;
  wire [38:0] exe_stage_bru_bctq_io_deq_bits_pc;
  wire  exe_stage_bru_bctq_io_deq_bits_bimResp_bim_p;
  wire  exe_stage_bru_bctq_io_deq_bits_bimResp_bim_h;
  wire  exe_stage_bru_bctq_io_deq_bits_isPredictTaken;
  wire  exe_stage_bru_bctq_io_deq_bits_isFinalTaken;
  wire [63:0] exe_stage_bru_bctq_io_deq_bits_finalTarget;
  reg [38:0] exe_stage_bru_bctq_ram_pc [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_bctq_ram_pc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_pc_clock;
  reg  exe_stage_bru_bctq_ram_bimResp_bim_p [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_p_clock;
  reg  exe_stage_bru_bctq_ram_bimResp_bim_h [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_bimResp_bim_h_clock;
  reg  exe_stage_bru_bctq_ram_isPredictTaken [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isPredictTaken_clock;
  reg  exe_stage_bru_bctq_ram_isFinalTaken [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_isFinalTaken_clock;
  reg [63:0] exe_stage_bru_bctq_ram_finalTarget [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_bctq_ram_finalTarget_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_bctq_ram_finalTarget_clock;
  reg  exe_stage_bru_bctq_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_bru_bctq__empty_T = ~exe_stage_bru_bctq_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_bru_bctq__do_enq_T = exe_stage_bru_bctq_io_enq_ready & exe_stage_bru_bctq_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_bctq__do_deq_T = exe_stage_bru_bctq_io_deq_ready & exe_stage_bru_bctq_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_bctq__T = exe_stage_bru_bctq__do_enq_T != exe_stage_bru_bctq__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_bru_jctq_clock;
  wire  exe_stage_bru_jctq_reset;
  wire  exe_stage_bru_jctq_io_enq_ready;
  wire  exe_stage_bru_jctq_io_enq_valid;
  wire [38:0] exe_stage_bru_jctq_io_enq_bits_pc;
  wire [38:0] exe_stage_bru_jctq_io_enq_bits_btbResp_target;
  wire [38:0] exe_stage_bru_jctq_io_enq_bits_rasResp_target;
  wire  exe_stage_bru_jctq_io_enq_bits_isRas;
  wire [63:0] exe_stage_bru_jctq_io_enq_bits_finalTarget;
  wire  exe_stage_bru_jctq_io_deq_ready;
  wire  exe_stage_bru_jctq_io_deq_valid;
  wire [38:0] exe_stage_bru_jctq_io_deq_bits_pc;
  wire [38:0] exe_stage_bru_jctq_io_deq_bits_btbResp_target;
  wire [38:0] exe_stage_bru_jctq_io_deq_bits_rasResp_target;
  wire  exe_stage_bru_jctq_io_deq_bits_isRas;
  wire [63:0] exe_stage_bru_jctq_io_deq_bits_finalTarget;
  reg [38:0] exe_stage_bru_jctq_ram_pc [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_pc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_pc_clock;
  reg [38:0] exe_stage_bru_jctq_ram_btbResp_target [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_btbResp_target_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_btbResp_target_clock;
  reg [38:0] exe_stage_bru_jctq_ram_rasResp_target [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [38:0] exe_stage_bru_jctq_ram_rasResp_target_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_rasResp_target_clock;
  reg  exe_stage_bru_jctq_ram_isRas [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_isRas_clock;
  reg [63:0] exe_stage_bru_jctq_ram_finalTarget [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_bru_jctq_ram_finalTarget_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_bru_jctq_ram_finalTarget_clock;
  reg  exe_stage_bru_jctq_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_bru_jctq__empty_T = ~exe_stage_bru_jctq_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_bru_jctq__do_enq_T = exe_stage_bru_jctq_io_enq_ready & exe_stage_bru_jctq_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_jctq__do_deq_T = exe_stage_bru_jctq_io_deq_ready & exe_stage_bru_jctq_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru_jctq__T = exe_stage_bru_jctq__do_enq_T != exe_stage_bru_jctq__do_deq_T; // @[Decoupled.scala 295:15]
  reg  exe_stage_bru_misPredict_locker; // @[Bru.scala 50:34]
  wire  exe_stage_bru__is_branchTaken_T = exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 ==
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 62:42]
  wire  exe_stage_bru__is_branchTaken_T_1 = exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 !=
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 63:42]
  wire  exe_stage_bru__is_branchTaken_T_4 = $signed(exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1) < $signed(
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2); // @[Bru.scala 64:49]
  wire  exe_stage_bru__is_branchTaken_T_7 = $signed(exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1) >= $signed(
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2); // @[Bru.scala 65:49]
  wire  exe_stage_bru__is_branchTaken_T_8 = exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 <
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 66:42]
  wire  exe_stage_bru__is_branchTaken_T_9 = exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 >=
    exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2; // @[Bru.scala 67:42]
  wire  exe_stage_bru__is_branchTaken_T_10 = exe_stage_bru_io_bru_iss_exe_bits_fun_beq & exe_stage_bru__is_branchTaken_T
    ; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_11 = exe_stage_bru_io_bru_iss_exe_bits_fun_bne &
    exe_stage_bru__is_branchTaken_T_1; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_12 = exe_stage_bru_io_bru_iss_exe_bits_fun_blt &
    exe_stage_bru__is_branchTaken_T_4; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_13 = exe_stage_bru_io_bru_iss_exe_bits_fun_bge &
    exe_stage_bru__is_branchTaken_T_7; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_14 = exe_stage_bru_io_bru_iss_exe_bits_fun_bltu &
    exe_stage_bru__is_branchTaken_T_8; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_15 = exe_stage_bru_io_bru_iss_exe_bits_fun_bgeu &
    exe_stage_bru__is_branchTaken_T_9; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_16 = exe_stage_bru__is_branchTaken_T_10 | exe_stage_bru__is_branchTaken_T_11; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_17 = exe_stage_bru__is_branchTaken_T_16 | exe_stage_bru__is_branchTaken_T_12; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_18 = exe_stage_bru__is_branchTaken_T_17 | exe_stage_bru__is_branchTaken_T_13; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_19 = exe_stage_bru__is_branchTaken_T_18 | exe_stage_bru__is_branchTaken_T_14; // @[Mux.scala 27:73]
  wire  exe_stage_bru__is_branchTaken_T_20 = exe_stage_bru__is_branchTaken_T_19 | exe_stage_bru__is_branchTaken_T_15; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_bru__bctq_io_enq_bits_finalTarget_T_1 = exe_stage_bru_io_bru_iss_exe_bits_param_pc +
    exe_stage_bru_io_bru_iss_exe_bits_param_imm; // @[Bru.scala 72:61]
  wire [2:0] exe_stage_bru__bctq_io_enq_bits_finalTarget_T_2 = exe_stage_bru_io_bru_iss_exe_bits_param_is_rvc ? 3'h2 : 3'h4
    ; // @[Bru.scala 72:78]
  wire [63:0] _GEN_387 = {{61'd0}, exe_stage_bru__bctq_io_enq_bits_finalTarget_T_2}; // @[Bru.scala 72:73]
  wire [63:0] exe_stage_bru__bctq_io_enq_bits_finalTarget_T_4 = exe_stage_bru_io_bru_iss_exe_bits_param_pc + _GEN_387; // @[Bru.scala 72:73]
  wire [63:0] exe_stage_bru__jctq_io_enq_bits_finalTarget_T_1 = exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 +
    exe_stage_bru_io_bru_iss_exe_bits_param_imm; // @[Bru.scala 79:40]
  wire [62:0] exe_stage_bru__jctq_io_enq_bits_finalTarget_T_2 = exe_stage_bru__jctq_io_enq_bits_finalTarget_T_1[63:1]; // @[Bru.scala 79:47]
  wire  exe_stage_bru__io_bcmm_update_bits_T = exe_stage_bru_io_bctq_ready & exe_stage_bru_io_bctq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru__io_jcmm_update_bits_T = exe_stage_bru_io_jctq_ready & exe_stage_bru_io_jctq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru__T_1 = exe_stage_bru_bctq_io_enq_bits_isPredictTaken !=
    exe_stage_bru_bctq_io_enq_bits_isFinalTaken; // @[frontend.scala 245:37]
  wire  exe_stage_bru__T_2 = exe_stage_bru_bctq__do_enq_T & exe_stage_bru__T_1; // @[Bru.scala 97:34]
  wire [63:0] _GEN_388 = {{25'd0}, exe_stage_bru_jctq_io_enq_bits_rasResp_target}; // @[frontend.scala 250:48]
  wire  exe_stage_bru__T_4 = _GEN_388 != exe_stage_bru_jctq_io_enq_bits_finalTarget; // @[frontend.scala 250:48]
  wire [63:0] _GEN_389 = {{25'd0}, exe_stage_bru_jctq_io_enq_bits_btbResp_target}; // @[frontend.scala 250:80]
  wire  exe_stage_bru__T_5 = _GEN_389 != exe_stage_bru_jctq_io_enq_bits_finalTarget; // @[frontend.scala 250:80]
  wire  exe_stage_bru__T_6 = exe_stage_bru_jctq_io_enq_bits_isRas ? exe_stage_bru__T_4 : exe_stage_bru__T_5; // @[frontend.scala 250:25]
  wire  exe_stage_bru__T_7 = exe_stage_bru_jctq__do_enq_T & exe_stage_bru__T_6; // @[Bru.scala 97:87]
  wire  exe_stage_bru__T_8 = exe_stage_bru__T_2 | exe_stage_bru__T_7; // @[Bru.scala 97:67]
  wire  exe_stage_bru__GEN_0 = exe_stage_bru__T_8 | exe_stage_bru_misPredict_locker; // @[Bru.scala 97:122 98:23 50:34]
  wire  exe_stage_bru__io_bru_iss_exe_ready_T = exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready &
    exe_stage_bru_bctq_io_enq_ready; // @[Bru.scala 110:57]
  wire  exe_stage_bru__io_bru_iss_exe_ready_T_1 = exe_stage_bru__io_bru_iss_exe_ready_T &
    exe_stage_bru_jctq_io_enq_ready; // @[Bru.scala 110:77]
  wire  exe_stage_bru__io_bru_iss_exe_ready_T_2 = ~exe_stage_bru_misPredict_locker; // @[Bru.scala 110:99]
  wire  exe_stage_bru__io_bftq_ready_T = exe_stage_bru_io_bru_iss_exe_ready & exe_stage_bru_io_bru_iss_exe_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru__io_bftq_ready_T_1 = exe_stage_bru_io_bru_iss_exe_bits_fun_beq |
    exe_stage_bru_io_bru_iss_exe_bits_fun_bne; // @[riscv_isa.scala 93:23]
  wire  exe_stage_bru__io_bftq_ready_T_2 = exe_stage_bru__io_bftq_ready_T_1 | exe_stage_bru_io_bru_iss_exe_bits_fun_blt; // @[riscv_isa.scala 93:29]
  wire  exe_stage_bru__io_bftq_ready_T_3 = exe_stage_bru__io_bftq_ready_T_2 | exe_stage_bru_io_bru_iss_exe_bits_fun_bge; // @[riscv_isa.scala 93:35]
  wire  exe_stage_bru__io_bftq_ready_T_4 = exe_stage_bru__io_bftq_ready_T_3 | exe_stage_bru_io_bru_iss_exe_bits_fun_bltu
    ; // @[riscv_isa.scala 93:41]
  wire  exe_stage_bru__io_bftq_ready_T_5 = exe_stage_bru__io_bftq_ready_T_4 | exe_stage_bru_io_bru_iss_exe_bits_fun_bgeu
    ; // @[riscv_isa.scala 93:48]
  wire  exe_stage_bru__io_bftq_ready_T_6 = exe_stage_bru__io_bftq_ready_T & exe_stage_bru__io_bftq_ready_T_5; // @[Bru.scala 112:40]
  wire  exe_stage_bru__io_jftq_ready_T_1 = exe_stage_bru__io_bftq_ready_T & exe_stage_bru_io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 113:40]
  wire  exe_stage_bru__T_12 = exe_stage_bru_jctq__do_enq_T == exe_stage_bru__io_jftq_ready_T_1; // @[Bru.scala 124:28]
  wire  exe_stage_bru__T_14 = ~exe_stage_bru_reset; // @[Bru.scala 124:9]
  wire  exe_stage_bru__T_15 = ~exe_stage_bru__T_12; // @[Bru.scala 124:9]
  wire  exe_stage_bru__T_16 = exe_stage_bru_io_jftq_ready & exe_stage_bru_io_jftq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru__T_18 = exe_stage_bru__T_16 == exe_stage_bru_jctq__do_enq_T; // @[Bru.scala 125:24]
  wire  exe_stage_bru__T_21 = ~exe_stage_bru__T_18; // @[Bru.scala 125:9]
  wire  exe_stage_bru__T_30 = exe_stage_bru_bctq__do_enq_T == exe_stage_bru__io_bftq_ready_T_6; // @[Bru.scala 126:28]
  wire  exe_stage_bru__T_33 = ~exe_stage_bru__T_30; // @[Bru.scala 126:9]
  wire  exe_stage_bru__T_34 = exe_stage_bru_io_bftq_ready & exe_stage_bru_io_bftq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_bru__T_36 = exe_stage_bru__T_34 == exe_stage_bru_bctq__do_enq_T; // @[Bru.scala 127:24]
  wire  exe_stage_bru__T_39 = ~exe_stage_bru__T_36; // @[Bru.scala 127:9]
  wire  exe_stage_bru__T_42 = exe_stage_bru__io_bftq_ready_T == exe_stage_bru_bru_exe_iwb_fifo__do_enq_T; // @[Bru.scala 128:31]
  wire  exe_stage_bru__T_45 = ~exe_stage_bru__T_42; // @[Bru.scala 128:9]
  wire  exe_stage_lsu_clock;
  wire  exe_stage_lsu_reset;
  wire  exe_stage_lsu_io_lsu_iss_exe_ready;
  wire  exe_stage_lsu_io_lsu_iss_exe_valid;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence_i;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sfence_vma;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld;
  wire  exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0;
  wire [63:0] exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2;
  wire  exe_stage_lsu_io_lsu_exe_iwb_ready;
  wire  exe_stage_lsu_io_lsu_exe_iwb_valid;
  wire [5:0] exe_stage_lsu_io_lsu_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_lsu_io_lsu_exe_iwb_bits_res;
  wire  exe_stage_lsu_io_lsu_exe_fwb_ready;
  wire  exe_stage_lsu_io_lsu_exe_fwb_valid;
  wire  exe_stage_lsu_io_cmm_lsu_is_amo_pending;
  wire  exe_stage_lsu_io_cmm_lsu_is_store_commit_0;
  wire  exe_stage_lsu_io_lsu_cmm_is_access_fault;
  wire  exe_stage_lsu_io_lsu_cmm_is_paging_fault;
  wire  exe_stage_lsu_io_lsu_cmm_is_misAlign;
  wire [63:0] exe_stage_lsu_io_lsu_cmm_trap_addr;
  wire  exe_stage_lsu_io_lsu_mmu_ready;
  wire  exe_stage_lsu_io_lsu_mmu_valid;
  wire  exe_stage_lsu_io_lsu_mmu_bits_is_X;
  wire  exe_stage_lsu_io_lsu_mmu_bits_is_W;
  wire  exe_stage_lsu_io_lsu_mmu_bits_is_R;
  wire [63:0] exe_stage_lsu_io_lsu_mmu_bits_vaddr;
  wire  exe_stage_lsu_io_mmu_lsu_ready;
  wire  exe_stage_lsu_io_mmu_lsu_valid;
  wire [63:0] exe_stage_lsu_io_mmu_lsu_bits_paddr;
  wire  exe_stage_lsu_io_mmu_lsu_bits_is_paging_fault;
  wire  exe_stage_lsu_io_mmu_lsu_bits_is_access_fault;
  wire  exe_stage_lsu_io_missUnit_dcache_acquire_ready;
  wire  exe_stage_lsu_io_missUnit_dcache_acquire_valid;
  wire [2:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_opcode;
  wire [2:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_param;
  wire [2:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_size;
  wire  exe_stage_lsu_io_missUnit_dcache_acquire_bits_source;
  wire [31:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_address;
  wire [7:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_mask;
  wire [63:0] exe_stage_lsu_io_missUnit_dcache_acquire_bits_data;
  wire  exe_stage_lsu_io_missUnit_dcache_acquire_bits_corrupt;
  wire  exe_stage_lsu_io_missUnit_dcache_grant_ready;
  wire  exe_stage_lsu_io_missUnit_dcache_grant_valid;
  wire [2:0] exe_stage_lsu_io_missUnit_dcache_grant_bits_opcode;
  wire [2:0] exe_stage_lsu_io_missUnit_dcache_grant_bits_size;
  wire  exe_stage_lsu_io_missUnit_dcache_grant_bits_source;
  wire [4:0] exe_stage_lsu_io_missUnit_dcache_grant_bits_sink;
  wire [63:0] exe_stage_lsu_io_missUnit_dcache_grant_bits_data;
  wire  exe_stage_lsu_io_missUnit_dcache_grantAck_ready;
  wire  exe_stage_lsu_io_missUnit_dcache_grantAck_valid;
  wire [4:0] exe_stage_lsu_io_missUnit_dcache_grantAck_bits_sink;
  wire  exe_stage_lsu_io_probeUnit_dcache_probe_ready;
  wire  exe_stage_lsu_io_probeUnit_dcache_probe_valid;
  wire [31:0] exe_stage_lsu_io_probeUnit_dcache_probe_bits_address;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_release_ready;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_release_valid;
  wire [2:0] exe_stage_lsu_io_writeBackUnit_dcache_release_bits_opcode;
  wire [2:0] exe_stage_lsu_io_writeBackUnit_dcache_release_bits_param;
  wire [2:0] exe_stage_lsu_io_writeBackUnit_dcache_release_bits_size;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_release_bits_source;
  wire [31:0] exe_stage_lsu_io_writeBackUnit_dcache_release_bits_address;
  wire [63:0] exe_stage_lsu_io_writeBackUnit_dcache_release_bits_data;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_release_bits_corrupt;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_grant_ready;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_grant_valid;
  wire  exe_stage_lsu_io_writeBackUnit_dcache_grant_bits_source;
  wire  exe_stage_lsu_io_system_getPut_ready;
  wire  exe_stage_lsu_io_system_getPut_valid;
  wire [2:0] exe_stage_lsu_io_system_getPut_bits_opcode;
  wire [2:0] exe_stage_lsu_io_system_getPut_bits_param;
  wire [1:0] exe_stage_lsu_io_system_getPut_bits_size;
  wire  exe_stage_lsu_io_system_getPut_bits_source;
  wire [31:0] exe_stage_lsu_io_system_getPut_bits_address;
  wire [7:0] exe_stage_lsu_io_system_getPut_bits_mask;
  wire [63:0] exe_stage_lsu_io_system_getPut_bits_data;
  wire  exe_stage_lsu_io_system_getPut_bits_corrupt;
  wire  exe_stage_lsu_io_system_access_ready;
  wire  exe_stage_lsu_io_system_access_valid;
  wire [2:0] exe_stage_lsu_io_system_access_bits_opcode;
  wire [63:0] exe_stage_lsu_io_system_access_bits_data;
  wire  exe_stage_lsu_io_periph_getPut_ready;
  wire  exe_stage_lsu_io_periph_getPut_valid;
  wire [2:0] exe_stage_lsu_io_periph_getPut_bits_opcode;
  wire [2:0] exe_stage_lsu_io_periph_getPut_bits_param;
  wire [1:0] exe_stage_lsu_io_periph_getPut_bits_size;
  wire  exe_stage_lsu_io_periph_getPut_bits_source;
  wire [31:0] exe_stage_lsu_io_periph_getPut_bits_address;
  wire [7:0] exe_stage_lsu_io_periph_getPut_bits_mask;
  wire [63:0] exe_stage_lsu_io_periph_getPut_bits_data;
  wire  exe_stage_lsu_io_periph_getPut_bits_corrupt;
  wire  exe_stage_lsu_io_periph_access_ready;
  wire  exe_stage_lsu_io_periph_access_valid;
  wire [2:0] exe_stage_lsu_io_periph_access_bits_opcode;
  wire [63:0] exe_stage_lsu_io_periph_access_bits_data;
  wire  exe_stage_lsu_io_flush;
  wire  exe_stage_lsu_stQueue_clock;
  wire  exe_stage_lsu_stQueue_reset;
  wire  exe_stage_lsu_stQueue_io_enq_ready;
  wire  exe_stage_lsu_stQueue_io_enq_valid;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_stQueue_io_enq_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_stQueue_io_enq_bits_param_rd0;
  wire [63:0] exe_stage_lsu_stQueue_io_enq_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_stQueue_io_enq_bits_param_dat_op2;
  wire  exe_stage_lsu_stQueue_io_deq_ready;
  wire  exe_stage_lsu_stQueue_io_deq_valid;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lb;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lh;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lw;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_ld;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lbu;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lhu;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lwu;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sb;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sh;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sw;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sd;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lr_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sc_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_lr_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_sc_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_flw;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_fsw;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_fld;
  wire  exe_stage_lsu_stQueue_io_deq_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_stQueue_io_deq_bits_param_rd0;
  wire [63:0] exe_stage_lsu_stQueue_io_deq_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_stQueue_io_deq_bits_param_dat_op2;
  wire  exe_stage_lsu_stQueue_io_cmm_lsu_is_amo_pending;
  wire  exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0;
  wire  exe_stage_lsu_stQueue_io_is_empty;
  wire  exe_stage_lsu_stQueue_io_overlapReq_valid;
  wire [31:0] exe_stage_lsu_stQueue_io_overlapReq_bits_paddr;
  wire  exe_stage_lsu_stQueue_io_overlapResp_valid;
  wire [63:0] exe_stage_lsu_stQueue_io_overlapResp_bits_wdata;
  wire [7:0] exe_stage_lsu_stQueue_io_overlapResp_bits_wstrb;
  wire  exe_stage_lsu_stQueue_io_flush;
  reg  exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 54:21]
  reg [5:0] exe_stage_lsu_stQueue_buff_0_param_rd0; // @[Store_queue.scala 54:21]
  reg [63:0] exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 54:21]
  reg [63:0] exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lb; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lh; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_ld; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lbu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lhu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lwu; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sb; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sh; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sd; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lr_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sc_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoswap_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoadd_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoxor_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoand_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoor_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomin_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomax_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amominu_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_lr_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_sc_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoswap_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoadd_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoxor_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoand_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amoor_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomin_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomax_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amominu_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_flw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_fsw; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_fld; // @[Store_queue.scala 54:21]
  reg  exe_stage_lsu_stQueue_buff_1_fun_fsd; // @[Store_queue.scala 54:21]
  reg [5:0] exe_stage_lsu_stQueue_buff_1_param_rd0; // @[Store_queue.scala 54:21]
  reg [63:0] exe_stage_lsu_stQueue_buff_1_param_dat_op1; // @[Store_queue.scala 54:21]
  reg [63:0] exe_stage_lsu_stQueue_buff_1_param_dat_op2; // @[Store_queue.scala 54:21]
  reg [1:0] exe_stage_lsu_stQueue_cm_ptr_reg; // @[Store_queue.scala 56:27]
  reg [1:0] exe_stage_lsu_stQueue_wr_ptr_reg; // @[Store_queue.scala 57:27]
  reg [1:0] exe_stage_lsu_stQueue_rd_ptr_reg; // @[Store_queue.scala 58:27]
  wire  exe_stage_lsu_stQueue_wr_ptr = exe_stage_lsu_stQueue_wr_ptr_reg[0]; // @[Store_queue.scala 61:26]
  wire  exe_stage_lsu_stQueue_rd_ptr = exe_stage_lsu_stQueue_rd_ptr_reg[0]; // @[Store_queue.scala 62:26]
  wire  exe_stage_lsu_stQueue__full_T = exe_stage_lsu_stQueue_wr_ptr_reg[1]; // @[Store_queue.scala 64:25]
  wire  exe_stage_lsu_stQueue__full_T_1 = exe_stage_lsu_stQueue_rd_ptr_reg[1]; // @[Store_queue.scala 64:46]
  wire  exe_stage_lsu_stQueue__full_T_2 = exe_stage_lsu_stQueue__full_T != exe_stage_lsu_stQueue__full_T_1; // @[Store_queue.scala 64:32]
  wire  exe_stage_lsu_stQueue__full_T_5 = exe_stage_lsu_stQueue_wr_ptr == exe_stage_lsu_stQueue_rd_ptr; // @[Store_queue.scala 64:78]
  wire  exe_stage_lsu_stQueue_full = exe_stage_lsu_stQueue__full_T_2 & exe_stage_lsu_stQueue__full_T_5; // @[Store_queue.scala 64:54]
  wire  exe_stage_lsu_stQueue_emty = exe_stage_lsu_stQueue_cm_ptr_reg == exe_stage_lsu_stQueue_rd_ptr_reg; // @[Store_queue.scala 65:25]
  reg  exe_stage_lsu_stQueue_is_amo; // @[Store_queue.scala 69:23]
  reg  exe_stage_lsu_stQueue_is_amo_pre; // @[Store_queue.scala 76:29]
  wire  exe_stage_lsu_stQueue__is_amo_pos_T = ~exe_stage_lsu_stQueue_is_amo_pre; // @[Store_queue.scala 77:50]
  wire  exe_stage_lsu_stQueue_is_amo_pos = exe_stage_lsu_stQueue_io_cmm_lsu_is_amo_pending &
    exe_stage_lsu_stQueue__is_amo_pos_T; // @[Store_queue.scala 77:48]
  wire  exe_stage_lsu_stQueue__T = ~exe_stage_lsu_stQueue_io_is_empty; // @[Store_queue.scala 82:26]
  wire  exe_stage_lsu_stQueue__T_1 = exe_stage_lsu_stQueue_is_amo & exe_stage_lsu_stQueue__T; // @[Store_queue.scala 82:24]
  wire  exe_stage_lsu_stQueue__GEN_0 = exe_stage_lsu_stQueue__T_1 ? 1'h0 : exe_stage_lsu_stQueue_is_amo; // @[Store_queue.scala 82:40 83:14 69:23]
  wire  exe_stage_lsu_stQueue__GEN_1 = exe_stage_lsu_stQueue_is_amo_pos | exe_stage_lsu_stQueue__GEN_0; // @[Store_queue.scala 80:31 81:14]
  wire  exe_stage_lsu_stQueue__GEN_47 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lb :
    exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_48 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lh :
    exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_49 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lw :
    exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_50 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_ld :
    exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_51 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lbu :
    exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_52 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lhu :
    exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_53 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lwu :
    exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_54 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sb :
    exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_55 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sh :
    exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_56 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sw :
    exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_57 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sd :
    exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_61 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lr_w :
    exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_62 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sc_w :
    exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_63 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_64 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_65 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_66 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoand_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_67 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_68 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomin_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_69 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomax_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_70 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amominu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_71 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_72 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lr_d :
    exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_73 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sc_d :
    exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_74 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_75 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_76 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_77 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoand_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_78 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_79 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomin_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_80 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomax_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_81 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amominu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_82 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_83 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_flw :
    exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_84 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fsw :
    exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_85 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fld :
    exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__GEN_86 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fsd :
    exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 92:{21,21}]
  wire [5:0] exe_stage_lsu_stQueue__GEN_87 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_param_rd0 :
    exe_stage_lsu_stQueue_buff_0_param_rd0; // @[Store_queue.scala 92:{21,21}]
  wire [63:0] exe_stage_lsu_stQueue__GEN_88 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_param_dat_op1
     : exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 92:{21,21}]
  wire [63:0] exe_stage_lsu_stQueue__GEN_89 = exe_stage_lsu_stQueue_rd_ptr ? exe_stage_lsu_stQueue_buff_1_param_dat_op2
     : exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 92:{21,21}]
  wire  exe_stage_lsu_stQueue__T_4 = exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 | exe_stage_lsu_stQueue__T_1; // @[Store_queue.scala 100:31]
  wire [1:0] exe_stage_lsu_stQueue__wr_ptr_reg_T_1 = exe_stage_lsu_stQueue_cm_ptr_reg + 2'h1; // @[Store_queue.scala 100:86]
  wire  exe_stage_lsu_stQueue__T_5 = exe_stage_lsu_stQueue_io_enq_ready & exe_stage_lsu_stQueue_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_stQueue__GEN_92 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lb :
    exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_93 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lb :
    exe_stage_lsu_stQueue_buff_1_fun_lb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_94 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lh :
    exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_95 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lh :
    exe_stage_lsu_stQueue_buff_1_fun_lh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_96 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lw :
    exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_97 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lw :
    exe_stage_lsu_stQueue_buff_1_fun_lw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_98 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_ld :
    exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_99 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_ld :
    exe_stage_lsu_stQueue_buff_1_fun_ld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_100 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lbu :
    exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_101 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lbu :
    exe_stage_lsu_stQueue_buff_1_fun_lbu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_102 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lhu :
    exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_103 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lhu :
    exe_stage_lsu_stQueue_buff_1_fun_lhu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_104 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lwu :
    exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_105 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lwu :
    exe_stage_lsu_stQueue_buff_1_fun_lwu; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_106 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sb :
    exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_107 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sb :
    exe_stage_lsu_stQueue_buff_1_fun_sb; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_108 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sh :
    exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_109 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sh :
    exe_stage_lsu_stQueue_buff_1_fun_sh; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_110 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sw :
    exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_111 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sw :
    exe_stage_lsu_stQueue_buff_1_fun_sw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_112 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sd :
    exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_113 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sd :
    exe_stage_lsu_stQueue_buff_1_fun_sd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_120 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lr_w :
    exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_121 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lr_w :
    exe_stage_lsu_stQueue_buff_1_fun_lr_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_122 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sc_w :
    exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_123 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sc_w :
    exe_stage_lsu_stQueue_buff_1_fun_sc_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_124 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_w
     : exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_125 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_w
     : exe_stage_lsu_stQueue_buff_1_fun_amoswap_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_126 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_w
     : exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_127 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_w
     : exe_stage_lsu_stQueue_buff_1_fun_amoadd_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_128 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_w
     : exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_129 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_w
     : exe_stage_lsu_stQueue_buff_1_fun_amoxor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_130 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_w
     : exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_131 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_w
     : exe_stage_lsu_stQueue_buff_1_fun_amoand_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_132 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_w
     : exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_133 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_w :
    exe_stage_lsu_stQueue_buff_1_fun_amoor_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_134 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_w
     : exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_135 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_w
     : exe_stage_lsu_stQueue_buff_1_fun_amomin_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_136 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_w
     : exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_137 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_w
     : exe_stage_lsu_stQueue_buff_1_fun_amomax_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_138 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_w
     : exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_139 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_w
     : exe_stage_lsu_stQueue_buff_1_fun_amominu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_140 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_w
     : exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_141 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_w
     : exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_142 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lr_d :
    exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_143 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_lr_d :
    exe_stage_lsu_stQueue_buff_1_fun_lr_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_144 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sc_d :
    exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_145 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_sc_d :
    exe_stage_lsu_stQueue_buff_1_fun_sc_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_146 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_d
     : exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_147 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_d
     : exe_stage_lsu_stQueue_buff_1_fun_amoswap_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_148 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_d
     : exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_149 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_d
     : exe_stage_lsu_stQueue_buff_1_fun_amoadd_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_150 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_d
     : exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_151 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_d
     : exe_stage_lsu_stQueue_buff_1_fun_amoxor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_152 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_d
     : exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_153 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_d
     : exe_stage_lsu_stQueue_buff_1_fun_amoand_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_154 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_d
     : exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_155 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_d :
    exe_stage_lsu_stQueue_buff_1_fun_amoor_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_156 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_d
     : exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_157 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_d
     : exe_stage_lsu_stQueue_buff_1_fun_amomin_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_158 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_d
     : exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_159 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_d
     : exe_stage_lsu_stQueue_buff_1_fun_amomax_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_160 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_d
     : exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_161 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_d
     : exe_stage_lsu_stQueue_buff_1_fun_amominu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_162 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_d
     : exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_163 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_d
     : exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_164 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_flw :
    exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_165 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_flw :
    exe_stage_lsu_stQueue_buff_1_fun_flw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_166 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fsw :
    exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_167 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fsw :
    exe_stage_lsu_stQueue_buff_1_fun_fsw; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_168 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fld :
    exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_169 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fld :
    exe_stage_lsu_stQueue_buff_1_fun_fld; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_170 = ~exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fsd :
    exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire  exe_stage_lsu_stQueue__GEN_171 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_fun_fsd :
    exe_stage_lsu_stQueue_buff_1_fun_fsd; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_172 = ~exe_stage_lsu_stQueue_wr_ptr ?
    exe_stage_lsu_stQueue_io_enq_bits_param_rd0 : exe_stage_lsu_stQueue_buff_0_param_rd0; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_173 = exe_stage_lsu_stQueue_wr_ptr ? exe_stage_lsu_stQueue_io_enq_bits_param_rd0
     : exe_stage_lsu_stQueue_buff_1_param_rd0; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_174 = ~exe_stage_lsu_stQueue_wr_ptr ?
    exe_stage_lsu_stQueue_io_enq_bits_param_dat_op1 : exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_175 = exe_stage_lsu_stQueue_wr_ptr ?
    exe_stage_lsu_stQueue_io_enq_bits_param_dat_op1 : exe_stage_lsu_stQueue_buff_1_param_dat_op1; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_176 = ~exe_stage_lsu_stQueue_wr_ptr ?
    exe_stage_lsu_stQueue_io_enq_bits_param_dat_op2 : exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_177 = exe_stage_lsu_stQueue_wr_ptr ?
    exe_stage_lsu_stQueue_io_enq_bits_param_dat_op2 : exe_stage_lsu_stQueue_buff_1_param_dat_op2; // @[Store_queue.scala 107:{18,18} 54:21]
  wire [1:0] exe_stage_lsu_stQueue__wr_ptr_reg_T_3 = exe_stage_lsu_stQueue_wr_ptr_reg + 2'h1; // @[Store_queue.scala 108:30]
  wire  exe_stage_lsu_stQueue__GEN_180 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_92 :
    exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_181 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_93 :
    exe_stage_lsu_stQueue_buff_1_fun_lb; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_182 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_94 :
    exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_183 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_95 :
    exe_stage_lsu_stQueue_buff_1_fun_lh; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_184 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_96 :
    exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_185 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_97 :
    exe_stage_lsu_stQueue_buff_1_fun_lw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_186 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_98 :
    exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_187 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_99 :
    exe_stage_lsu_stQueue_buff_1_fun_ld; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_188 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_100 :
    exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_189 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_101 :
    exe_stage_lsu_stQueue_buff_1_fun_lbu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_190 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_102 :
    exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_191 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_103 :
    exe_stage_lsu_stQueue_buff_1_fun_lhu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_192 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_104 :
    exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_193 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_105 :
    exe_stage_lsu_stQueue_buff_1_fun_lwu; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_194 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_106 :
    exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_195 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_107 :
    exe_stage_lsu_stQueue_buff_1_fun_sb; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_196 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_108 :
    exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_197 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_109 :
    exe_stage_lsu_stQueue_buff_1_fun_sh; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_198 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_110 :
    exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_199 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_111 :
    exe_stage_lsu_stQueue_buff_1_fun_sw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_200 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_112 :
    exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_201 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_113 :
    exe_stage_lsu_stQueue_buff_1_fun_sd; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_208 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_120 :
    exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_209 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_121 :
    exe_stage_lsu_stQueue_buff_1_fun_lr_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_210 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_122 :
    exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_211 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_123 :
    exe_stage_lsu_stQueue_buff_1_fun_sc_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_212 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_124 :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_213 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_125 :
    exe_stage_lsu_stQueue_buff_1_fun_amoswap_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_214 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_126 :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_215 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_127 :
    exe_stage_lsu_stQueue_buff_1_fun_amoadd_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_216 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_128 :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_217 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_129 :
    exe_stage_lsu_stQueue_buff_1_fun_amoxor_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_218 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_130 :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_219 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_131 :
    exe_stage_lsu_stQueue_buff_1_fun_amoand_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_220 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_132 :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_221 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_133 :
    exe_stage_lsu_stQueue_buff_1_fun_amoor_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_222 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_134 :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_223 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_135 :
    exe_stage_lsu_stQueue_buff_1_fun_amomin_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_224 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_136 :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_225 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_137 :
    exe_stage_lsu_stQueue_buff_1_fun_amomax_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_226 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_138 :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_227 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_139 :
    exe_stage_lsu_stQueue_buff_1_fun_amominu_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_228 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_140 :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_229 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_141 :
    exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_230 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_142 :
    exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_231 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_143 :
    exe_stage_lsu_stQueue_buff_1_fun_lr_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_232 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_144 :
    exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_233 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_145 :
    exe_stage_lsu_stQueue_buff_1_fun_sc_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_234 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_146 :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_235 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_147 :
    exe_stage_lsu_stQueue_buff_1_fun_amoswap_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_236 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_148 :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_237 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_149 :
    exe_stage_lsu_stQueue_buff_1_fun_amoadd_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_238 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_150 :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_239 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_151 :
    exe_stage_lsu_stQueue_buff_1_fun_amoxor_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_240 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_152 :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_241 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_153 :
    exe_stage_lsu_stQueue_buff_1_fun_amoand_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_242 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_154 :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_243 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_155 :
    exe_stage_lsu_stQueue_buff_1_fun_amoor_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_244 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_156 :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_245 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_157 :
    exe_stage_lsu_stQueue_buff_1_fun_amomin_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_246 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_158 :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_247 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_159 :
    exe_stage_lsu_stQueue_buff_1_fun_amomax_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_248 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_160 :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_249 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_161 :
    exe_stage_lsu_stQueue_buff_1_fun_amominu_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_250 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_162 :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_251 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_163 :
    exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_252 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_164 :
    exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_253 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_165 :
    exe_stage_lsu_stQueue_buff_1_fun_flw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_254 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_166 :
    exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_255 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_167 :
    exe_stage_lsu_stQueue_buff_1_fun_fsw; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_256 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_168 :
    exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_257 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_169 :
    exe_stage_lsu_stQueue_buff_1_fun_fld; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_258 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_170 :
    exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_259 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_171 :
    exe_stage_lsu_stQueue_buff_1_fun_fsd; // @[Store_queue.scala 106:30 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_260 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_172 :
    exe_stage_lsu_stQueue_buff_0_param_rd0; // @[Store_queue.scala 106:30 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_261 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_173 :
    exe_stage_lsu_stQueue_buff_1_param_rd0; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_262 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_174 :
    exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_263 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_175 :
    exe_stage_lsu_stQueue_buff_1_param_dat_op1; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_264 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_176 :
    exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 106:30 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_265 = exe_stage_lsu_stQueue__T_5 ? exe_stage_lsu_stQueue__GEN_177 :
    exe_stage_lsu_stQueue_buff_1_param_dat_op2; // @[Store_queue.scala 106:30 54:21]
  wire  exe_stage_lsu_stQueue__GEN_270 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lb :
    exe_stage_lsu_stQueue__GEN_180; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_271 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lb :
    exe_stage_lsu_stQueue__GEN_181; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_272 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lh :
    exe_stage_lsu_stQueue__GEN_182; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_273 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lh :
    exe_stage_lsu_stQueue__GEN_183; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_274 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lw :
    exe_stage_lsu_stQueue__GEN_184; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_275 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lw :
    exe_stage_lsu_stQueue__GEN_185; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_276 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_ld :
    exe_stage_lsu_stQueue__GEN_186; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_277 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_ld :
    exe_stage_lsu_stQueue__GEN_187; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_278 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lbu :
    exe_stage_lsu_stQueue__GEN_188; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_279 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lbu :
    exe_stage_lsu_stQueue__GEN_189; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_280 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lhu :
    exe_stage_lsu_stQueue__GEN_190; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_281 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lhu :
    exe_stage_lsu_stQueue__GEN_191; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_282 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lwu :
    exe_stage_lsu_stQueue__GEN_192; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_283 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lwu :
    exe_stage_lsu_stQueue__GEN_193; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_284 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sb :
    exe_stage_lsu_stQueue__GEN_194; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_285 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sb :
    exe_stage_lsu_stQueue__GEN_195; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_286 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sh :
    exe_stage_lsu_stQueue__GEN_196; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_287 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sh :
    exe_stage_lsu_stQueue__GEN_197; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_288 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sw :
    exe_stage_lsu_stQueue__GEN_198; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_289 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sw :
    exe_stage_lsu_stQueue__GEN_199; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_290 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sd :
    exe_stage_lsu_stQueue__GEN_200; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_291 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sd :
    exe_stage_lsu_stQueue__GEN_201; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_298 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lr_w :
    exe_stage_lsu_stQueue__GEN_208; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_299 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lr_w :
    exe_stage_lsu_stQueue__GEN_209; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_300 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sc_w :
    exe_stage_lsu_stQueue__GEN_210; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_301 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sc_w :
    exe_stage_lsu_stQueue__GEN_211; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_302 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoswap_w :
    exe_stage_lsu_stQueue__GEN_212; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_303 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_w :
    exe_stage_lsu_stQueue__GEN_213; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_304 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoadd_w :
    exe_stage_lsu_stQueue__GEN_214; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_305 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_w :
    exe_stage_lsu_stQueue__GEN_215; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_306 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoxor_w :
    exe_stage_lsu_stQueue__GEN_216; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_307 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_w :
    exe_stage_lsu_stQueue__GEN_217; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_308 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoand_w :
    exe_stage_lsu_stQueue__GEN_218; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_309 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoand_w :
    exe_stage_lsu_stQueue__GEN_219; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_310 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoor_w :
    exe_stage_lsu_stQueue__GEN_220; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_311 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoor_w :
    exe_stage_lsu_stQueue__GEN_221; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_312 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomin_w :
    exe_stage_lsu_stQueue__GEN_222; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_313 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomin_w :
    exe_stage_lsu_stQueue__GEN_223; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_314 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomax_w :
    exe_stage_lsu_stQueue__GEN_224; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_315 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomax_w :
    exe_stage_lsu_stQueue__GEN_225; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_316 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amominu_w :
    exe_stage_lsu_stQueue__GEN_226; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_317 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amominu_w :
    exe_stage_lsu_stQueue__GEN_227; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_318 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w :
    exe_stage_lsu_stQueue__GEN_228; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_319 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w :
    exe_stage_lsu_stQueue__GEN_229; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_320 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_lr_d :
    exe_stage_lsu_stQueue__GEN_230; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_321 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_lr_d :
    exe_stage_lsu_stQueue__GEN_231; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_322 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_sc_d :
    exe_stage_lsu_stQueue__GEN_232; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_323 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_sc_d :
    exe_stage_lsu_stQueue__GEN_233; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_324 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoswap_d :
    exe_stage_lsu_stQueue__GEN_234; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_325 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_d :
    exe_stage_lsu_stQueue__GEN_235; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_326 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoadd_d :
    exe_stage_lsu_stQueue__GEN_236; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_327 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_d :
    exe_stage_lsu_stQueue__GEN_237; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_328 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoxor_d :
    exe_stage_lsu_stQueue__GEN_238; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_329 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_d :
    exe_stage_lsu_stQueue__GEN_239; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_330 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoand_d :
    exe_stage_lsu_stQueue__GEN_240; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_331 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoand_d :
    exe_stage_lsu_stQueue__GEN_241; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_332 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amoor_d :
    exe_stage_lsu_stQueue__GEN_242; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_333 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amoor_d :
    exe_stage_lsu_stQueue__GEN_243; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_334 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomin_d :
    exe_stage_lsu_stQueue__GEN_244; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_335 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomin_d :
    exe_stage_lsu_stQueue__GEN_245; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_336 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomax_d :
    exe_stage_lsu_stQueue__GEN_246; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_337 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomax_d :
    exe_stage_lsu_stQueue__GEN_247; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_338 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amominu_d :
    exe_stage_lsu_stQueue__GEN_248; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_339 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amominu_d :
    exe_stage_lsu_stQueue__GEN_249; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_340 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d :
    exe_stage_lsu_stQueue__GEN_250; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_341 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d :
    exe_stage_lsu_stQueue__GEN_251; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_342 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_flw :
    exe_stage_lsu_stQueue__GEN_252; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_343 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_flw :
    exe_stage_lsu_stQueue__GEN_253; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_344 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_fsw :
    exe_stage_lsu_stQueue__GEN_254; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_345 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_fsw :
    exe_stage_lsu_stQueue__GEN_255; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_346 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_fld :
    exe_stage_lsu_stQueue__GEN_256; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_347 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_fld :
    exe_stage_lsu_stQueue__GEN_257; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_348 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_fun_fsd :
    exe_stage_lsu_stQueue__GEN_258; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__GEN_349 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_fun_fsd :
    exe_stage_lsu_stQueue__GEN_259; // @[Store_queue.scala 94:20 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_350 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_0_param_rd0 :
    exe_stage_lsu_stQueue__GEN_260; // @[Store_queue.scala 94:20 54:21]
  wire [5:0] exe_stage_lsu_stQueue__GEN_351 = exe_stage_lsu_stQueue_io_flush ? exe_stage_lsu_stQueue_buff_1_param_rd0 :
    exe_stage_lsu_stQueue__GEN_261; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_352 = exe_stage_lsu_stQueue_io_flush ?
    exe_stage_lsu_stQueue_buff_0_param_dat_op1 : exe_stage_lsu_stQueue__GEN_262; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_353 = exe_stage_lsu_stQueue_io_flush ?
    exe_stage_lsu_stQueue_buff_1_param_dat_op1 : exe_stage_lsu_stQueue__GEN_263; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_354 = exe_stage_lsu_stQueue_io_flush ?
    exe_stage_lsu_stQueue_buff_0_param_dat_op2 : exe_stage_lsu_stQueue__GEN_264; // @[Store_queue.scala 94:20 54:21]
  wire [63:0] exe_stage_lsu_stQueue__GEN_355 = exe_stage_lsu_stQueue_io_flush ?
    exe_stage_lsu_stQueue_buff_1_param_dat_op2 : exe_stage_lsu_stQueue__GEN_265; // @[Store_queue.scala 94:20 54:21]
  wire  exe_stage_lsu_stQueue__T_6 = exe_stage_lsu_stQueue_io_deq_ready & exe_stage_lsu_stQueue_io_deq_valid; // @[Decoupled.scala 52:35]
  wire [1:0] exe_stage_lsu_stQueue__rd_ptr_reg_T_1 = exe_stage_lsu_stQueue_rd_ptr_reg + 2'h1; // @[Store_queue.scala 112:30]
  wire  exe_stage_lsu_stQueue__T_7 = ~exe_stage_lsu_stQueue_is_amo; // @[Store_queue.scala 129:15]
  wire  exe_stage_lsu_stQueue__T_9 = ~exe_stage_lsu_stQueue_reset; // @[Store_queue.scala 129:13]
  wire  exe_stage_lsu_stQueue__T_10 = ~exe_stage_lsu_stQueue__T_7; // @[Store_queue.scala 129:13]
  wire  exe_stage_lsu_stQueue__T_11 = exe_stage_lsu_stQueue_cm_ptr_reg != exe_stage_lsu_stQueue_wr_ptr_reg; // @[Store_queue.scala 130:26]
  wire  exe_stage_lsu_stQueue__T_14 = ~exe_stage_lsu_stQueue__T_11; // @[Store_queue.scala 130:13]
  wire  exe_stage_lsu_stQueue__T_19 = exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_1; // @[Store_queue.scala 133:37]
  wire  exe_stage_lsu_stQueue__T_20 = ~exe_stage_lsu_stQueue__T_19; // @[Store_queue.scala 133:15]
  wire  exe_stage_lsu_stQueue__T_23 = ~exe_stage_lsu_stQueue__T_20; // @[Store_queue.scala 133:13]
  wire  exe_stage_lsu_stQueue__io_is_empty_T = exe_stage_lsu_stQueue_cm_ptr_reg == exe_stage_lsu_stQueue_wr_ptr_reg; // @[Store_queue.scala 141:32]
  wire  exe_stage_lsu_stQueue__T_30 = exe_stage_lsu_stQueue__full_T_1 != exe_stage_lsu_stQueue__full_T; // @[Store_queue.scala 148:28]
  wire  exe_stage_lsu_stQueue__T_31 = exe_stage_lsu_stQueue_rd_ptr >= exe_stage_lsu_stQueue_wr_ptr; // @[Store_queue.scala 149:22]
  wire  exe_stage_lsu_stQueue__T_34 = ~exe_stage_lsu_stQueue__T_31; // @[Store_queue.scala 149:13]
  wire [2:0] exe_stage_lsu_stQueue__ro_ptr_T = {{1'd0}, exe_stage_lsu_stQueue_rd_ptr_reg}; // @[Store_queue.scala 151:34]
  wire [1:0] exe_stage_lsu_stQueue__ro_ptr_T_1 = exe_stage_lsu_stQueue__ro_ptr_T[1:0]; // @[Store_queue.scala 151:34]
  wire  exe_stage_lsu_stQueue_ro_ptr = exe_stage_lsu_stQueue__ro_ptr_T_1[0]; // @[Store_queue.scala 151:40]
  wire  exe_stage_lsu_stQueue__T_35 = exe_stage_lsu_stQueue_ro_ptr >= exe_stage_lsu_stQueue_rd_ptr; // @[Store_queue.scala 152:23]
  wire  exe_stage_lsu_stQueue__T_36 = exe_stage_lsu_stQueue_ro_ptr < exe_stage_lsu_stQueue_wr_ptr; // @[Store_queue.scala 152:43]
  wire  exe_stage_lsu_stQueue__T_37 = exe_stage_lsu_stQueue__T_35 | exe_stage_lsu_stQueue__T_36; // @[Store_queue.scala 152:33]
  wire [63:0] exe_stage_lsu_stQueue__GEN_538 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_param_dat_op1
     : exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 152:{83,83}]
  wire [28:0] exe_stage_lsu_stQueue__T_38 = exe_stage_lsu_stQueue__GEN_538[31:3]; // @[Store_queue.scala 152:83]
  wire [28:0] exe_stage_lsu_stQueue__T_39 = exe_stage_lsu_stQueue_io_overlapReq_bits_paddr[31:3]; // @[Store_queue.scala 152:122]
  wire  exe_stage_lsu_stQueue__T_40 = exe_stage_lsu_stQueue__T_38 == exe_stage_lsu_stQueue__T_39; // @[Store_queue.scala 152:94]
  wire  exe_stage_lsu_stQueue__T_41 = exe_stage_lsu_stQueue__T_37 & exe_stage_lsu_stQueue__T_40; // @[Store_queue.scala 152:53]
  wire  exe_stage_lsu_stQueue__GEN_540 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lb :
    exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_542 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lh :
    exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_544 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lw :
    exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_546 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_ld :
    exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_548 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lbu :
    exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_550 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lhu :
    exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_552 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lwu :
    exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_554 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sb :
    exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_556 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sh :
    exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_558 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sw :
    exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_560 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sd :
    exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_568 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lr_w :
    exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_570 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sc_w :
    exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_572 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_574 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_576 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_578 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoand_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_580 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_582 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomin_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_584 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomax_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_586 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amominu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_588 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_590 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_lr_d :
    exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_592 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_sc_d :
    exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_594 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_596 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_598 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_600 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoand_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_602 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amoor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_604 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomin_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_606 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomax_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_608 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amominu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_610 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_612 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_flw :
    exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_614 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fsw :
    exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_616 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fld :
    exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_618 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_fun_fsd :
    exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 153:{27,27}]
  wire [63:0] exe_stage_lsu_stQueue__GEN_622 = exe_stage_lsu_stQueue_ro_ptr ? exe_stage_lsu_stQueue_buff_1_param_dat_op2
     : exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__T_42 = exe_stage_lsu_stQueue__GEN_572 | exe_stage_lsu_stQueue__GEN_574; // @[riscv_isa.scala 148:15]
  wire  exe_stage_lsu_stQueue__T_43 = exe_stage_lsu_stQueue__T_42 | exe_stage_lsu_stQueue__GEN_576; // @[riscv_isa.scala 148:26]
  wire  exe_stage_lsu_stQueue__T_44 = exe_stage_lsu_stQueue__T_43 | exe_stage_lsu_stQueue__GEN_578; // @[riscv_isa.scala 148:37]
  wire  exe_stage_lsu_stQueue__T_45 = exe_stage_lsu_stQueue__T_44 | exe_stage_lsu_stQueue__GEN_580; // @[riscv_isa.scala 148:48]
  wire  exe_stage_lsu_stQueue__T_46 = exe_stage_lsu_stQueue__T_45 | exe_stage_lsu_stQueue__GEN_582; // @[riscv_isa.scala 148:58]
  wire  exe_stage_lsu_stQueue__T_47 = exe_stage_lsu_stQueue__T_46 | exe_stage_lsu_stQueue__GEN_584; // @[riscv_isa.scala 148:69]
  wire  exe_stage_lsu_stQueue__T_48 = exe_stage_lsu_stQueue__T_47 | exe_stage_lsu_stQueue__GEN_586; // @[riscv_isa.scala 148:80]
  wire  exe_stage_lsu_stQueue__T_49 = exe_stage_lsu_stQueue__T_48 | exe_stage_lsu_stQueue__GEN_588; // @[riscv_isa.scala 148:92]
  wire  exe_stage_lsu_stQueue__T_50 = exe_stage_lsu_stQueue__T_49 | exe_stage_lsu_stQueue__GEN_594; // @[riscv_isa.scala 148:104]
  wire  exe_stage_lsu_stQueue__T_51 = exe_stage_lsu_stQueue__T_50 | exe_stage_lsu_stQueue__GEN_596; // @[riscv_isa.scala 148:116]
  wire  exe_stage_lsu_stQueue__T_52 = exe_stage_lsu_stQueue__T_51 | exe_stage_lsu_stQueue__GEN_598; // @[riscv_isa.scala 148:127]
  wire  exe_stage_lsu_stQueue__T_53 = exe_stage_lsu_stQueue__T_52 | exe_stage_lsu_stQueue__GEN_600; // @[riscv_isa.scala 148:138]
  wire  exe_stage_lsu_stQueue__T_54 = exe_stage_lsu_stQueue__T_53 | exe_stage_lsu_stQueue__GEN_602; // @[riscv_isa.scala 148:149]
  wire  exe_stage_lsu_stQueue__T_55 = exe_stage_lsu_stQueue__T_54 | exe_stage_lsu_stQueue__GEN_604; // @[riscv_isa.scala 148:159]
  wire  exe_stage_lsu_stQueue__T_56 = exe_stage_lsu_stQueue__T_55 | exe_stage_lsu_stQueue__GEN_606; // @[riscv_isa.scala 148:170]
  wire  exe_stage_lsu_stQueue__T_57 = exe_stage_lsu_stQueue__T_56 | exe_stage_lsu_stQueue__GEN_608; // @[riscv_isa.scala 148:181]
  wire  exe_stage_lsu_stQueue__T_58 = exe_stage_lsu_stQueue__T_57 | exe_stage_lsu_stQueue__GEN_610; // @[riscv_isa.scala 148:193]
  wire  exe_stage_lsu_stQueue__T_59 = exe_stage_lsu_stQueue__GEN_592 | exe_stage_lsu_stQueue__GEN_570; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu_stQueue__T_60 = exe_stage_lsu_stQueue__T_58 | exe_stage_lsu_stQueue__T_59; // @[riscv_isa.scala 148:205]
  wire  exe_stage_lsu_stQueue__GEN_625 = exe_stage_lsu_stQueue__T_60 ? 1'h0 : exe_stage_lsu_stQueue_io_overlapReq_valid; // @[Store_queue.scala 146:26 155:{43,66}]
  wire  exe_stage_lsu_stQueue__GEN_626 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_540; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_627 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_542; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_628 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_544; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_629 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_546; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_630 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_548; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_631 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_550; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_632 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_552; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_633 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_554; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_634 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_556; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_635 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_558; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_636 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_560; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_640 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_568; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_641 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_570; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_642 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_572; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_643 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_574; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_644 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_576; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_645 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_578; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_646 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_580; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_647 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_582; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_648 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_584; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_649 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_586; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_650 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_588; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_651 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_590; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_652 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_592; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_653 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_594; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_654 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_596; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_655 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_598; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_656 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_600; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_657 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_602; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_658 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_604; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_659 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_606; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_660 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_608; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_661 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_610; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_662 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_612; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_663 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_614; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_664 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_616; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_665 = exe_stage_lsu_stQueue__T_41 & exe_stage_lsu_stQueue__GEN_618; // @[Store_queue.scala 152:136 153:27 158:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_667 = exe_stage_lsu_stQueue__T_41 ? exe_stage_lsu_stQueue__GEN_538 : 64'h0; // @[Store_queue.scala 152:136 153:27 158:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_668 = exe_stage_lsu_stQueue__T_41 ? exe_stage_lsu_stQueue__GEN_622 : 64'h0; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_670 = exe_stage_lsu_stQueue__T_41 ? exe_stage_lsu_stQueue__GEN_625 :
    exe_stage_lsu_stQueue_io_overlapReq_valid; // @[Store_queue.scala 152:136 146:26]
  wire  exe_stage_lsu_stQueue_ro_ptr_1 = exe_stage_lsu_stQueue__rd_ptr_reg_T_1[0]; // @[Store_queue.scala 151:40]
  wire  exe_stage_lsu_stQueue__T_61 = exe_stage_lsu_stQueue_ro_ptr_1 >= exe_stage_lsu_stQueue_rd_ptr; // @[Store_queue.scala 152:23]
  wire  exe_stage_lsu_stQueue__T_62 = exe_stage_lsu_stQueue_ro_ptr_1 < exe_stage_lsu_stQueue_wr_ptr; // @[Store_queue.scala 152:43]
  wire  exe_stage_lsu_stQueue__T_63 = exe_stage_lsu_stQueue__T_61 | exe_stage_lsu_stQueue__T_62; // @[Store_queue.scala 152:33]
  wire [63:0] exe_stage_lsu_stQueue__GEN_672 = exe_stage_lsu_stQueue_ro_ptr_1 ?
    exe_stage_lsu_stQueue_buff_1_param_dat_op1 : exe_stage_lsu_stQueue_buff_0_param_dat_op1; // @[Store_queue.scala 152:{83,83}]
  wire [28:0] exe_stage_lsu_stQueue__T_64 = exe_stage_lsu_stQueue__GEN_672[31:3]; // @[Store_queue.scala 152:83]
  wire  exe_stage_lsu_stQueue__T_66 = exe_stage_lsu_stQueue__T_64 == exe_stage_lsu_stQueue__T_39; // @[Store_queue.scala 152:94]
  wire  exe_stage_lsu_stQueue__T_67 = exe_stage_lsu_stQueue__T_63 & exe_stage_lsu_stQueue__T_66; // @[Store_queue.scala 152:53]
  wire  exe_stage_lsu_stQueue__GEN_674 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lb :
    exe_stage_lsu_stQueue_buff_0_fun_lb; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_676 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lh :
    exe_stage_lsu_stQueue_buff_0_fun_lh; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_678 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lw :
    exe_stage_lsu_stQueue_buff_0_fun_lw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_680 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_ld :
    exe_stage_lsu_stQueue_buff_0_fun_ld; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_682 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lbu :
    exe_stage_lsu_stQueue_buff_0_fun_lbu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_684 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lhu :
    exe_stage_lsu_stQueue_buff_0_fun_lhu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_686 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lwu :
    exe_stage_lsu_stQueue_buff_0_fun_lwu; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_688 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sb :
    exe_stage_lsu_stQueue_buff_0_fun_sb; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_690 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sh :
    exe_stage_lsu_stQueue_buff_0_fun_sh; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_692 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sw :
    exe_stage_lsu_stQueue_buff_0_fun_sw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_694 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sd :
    exe_stage_lsu_stQueue_buff_0_fun_sd; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_702 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lr_w :
    exe_stage_lsu_stQueue_buff_0_fun_lr_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_704 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sc_w :
    exe_stage_lsu_stQueue_buff_0_fun_sc_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_706 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_708 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_710 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_712 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoand_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_714 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoor_w :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_716 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomin_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_718 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomax_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_720 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amominu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_722 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_724 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_lr_d :
    exe_stage_lsu_stQueue_buff_0_fun_lr_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_726 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_sc_d :
    exe_stage_lsu_stQueue_buff_0_fun_sc_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_728 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoswap_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoswap_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_730 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoadd_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoadd_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_732 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoxor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoxor_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_734 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoand_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoand_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_736 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amoor_d :
    exe_stage_lsu_stQueue_buff_0_fun_amoor_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_738 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomin_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomin_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_740 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomax_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomax_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_742 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amominu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amominu_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_744 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d :
    exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_746 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_flw :
    exe_stage_lsu_stQueue_buff_0_fun_flw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_748 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_fsw :
    exe_stage_lsu_stQueue_buff_0_fun_fsw; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_750 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_fld :
    exe_stage_lsu_stQueue_buff_0_fun_fld; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__GEN_752 = exe_stage_lsu_stQueue_ro_ptr_1 ? exe_stage_lsu_stQueue_buff_1_fun_fsd :
    exe_stage_lsu_stQueue_buff_0_fun_fsd; // @[Store_queue.scala 153:{27,27}]
  wire [63:0] exe_stage_lsu_stQueue__GEN_756 = exe_stage_lsu_stQueue_ro_ptr_1 ?
    exe_stage_lsu_stQueue_buff_1_param_dat_op2 : exe_stage_lsu_stQueue_buff_0_param_dat_op2; // @[Store_queue.scala 153:{27,27}]
  wire  exe_stage_lsu_stQueue__T_68 = exe_stage_lsu_stQueue__GEN_706 | exe_stage_lsu_stQueue__GEN_708; // @[riscv_isa.scala 148:15]
  wire  exe_stage_lsu_stQueue__T_69 = exe_stage_lsu_stQueue__T_68 | exe_stage_lsu_stQueue__GEN_710; // @[riscv_isa.scala 148:26]
  wire  exe_stage_lsu_stQueue__T_70 = exe_stage_lsu_stQueue__T_69 | exe_stage_lsu_stQueue__GEN_712; // @[riscv_isa.scala 148:37]
  wire  exe_stage_lsu_stQueue__T_71 = exe_stage_lsu_stQueue__T_70 | exe_stage_lsu_stQueue__GEN_714; // @[riscv_isa.scala 148:48]
  wire  exe_stage_lsu_stQueue__T_72 = exe_stage_lsu_stQueue__T_71 | exe_stage_lsu_stQueue__GEN_716; // @[riscv_isa.scala 148:58]
  wire  exe_stage_lsu_stQueue__T_73 = exe_stage_lsu_stQueue__T_72 | exe_stage_lsu_stQueue__GEN_718; // @[riscv_isa.scala 148:69]
  wire  exe_stage_lsu_stQueue__T_74 = exe_stage_lsu_stQueue__T_73 | exe_stage_lsu_stQueue__GEN_720; // @[riscv_isa.scala 148:80]
  wire  exe_stage_lsu_stQueue__T_75 = exe_stage_lsu_stQueue__T_74 | exe_stage_lsu_stQueue__GEN_722; // @[riscv_isa.scala 148:92]
  wire  exe_stage_lsu_stQueue__T_76 = exe_stage_lsu_stQueue__T_75 | exe_stage_lsu_stQueue__GEN_728; // @[riscv_isa.scala 148:104]
  wire  exe_stage_lsu_stQueue__T_77 = exe_stage_lsu_stQueue__T_76 | exe_stage_lsu_stQueue__GEN_730; // @[riscv_isa.scala 148:116]
  wire  exe_stage_lsu_stQueue__T_78 = exe_stage_lsu_stQueue__T_77 | exe_stage_lsu_stQueue__GEN_732; // @[riscv_isa.scala 148:127]
  wire  exe_stage_lsu_stQueue__T_79 = exe_stage_lsu_stQueue__T_78 | exe_stage_lsu_stQueue__GEN_734; // @[riscv_isa.scala 148:138]
  wire  exe_stage_lsu_stQueue__T_80 = exe_stage_lsu_stQueue__T_79 | exe_stage_lsu_stQueue__GEN_736; // @[riscv_isa.scala 148:149]
  wire  exe_stage_lsu_stQueue__T_81 = exe_stage_lsu_stQueue__T_80 | exe_stage_lsu_stQueue__GEN_738; // @[riscv_isa.scala 148:159]
  wire  exe_stage_lsu_stQueue__T_82 = exe_stage_lsu_stQueue__T_81 | exe_stage_lsu_stQueue__GEN_740; // @[riscv_isa.scala 148:170]
  wire  exe_stage_lsu_stQueue__T_83 = exe_stage_lsu_stQueue__T_82 | exe_stage_lsu_stQueue__GEN_742; // @[riscv_isa.scala 148:181]
  wire  exe_stage_lsu_stQueue__T_84 = exe_stage_lsu_stQueue__T_83 | exe_stage_lsu_stQueue__GEN_744; // @[riscv_isa.scala 148:193]
  wire  exe_stage_lsu_stQueue__T_85 = exe_stage_lsu_stQueue__GEN_726 | exe_stage_lsu_stQueue__GEN_704; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu_stQueue__T_86 = exe_stage_lsu_stQueue__T_84 | exe_stage_lsu_stQueue__T_85; // @[riscv_isa.scala 148:205]
  wire  exe_stage_lsu_stQueue__GEN_759 = exe_stage_lsu_stQueue__T_86 ? 1'h0 : exe_stage_lsu_stQueue__GEN_670; // @[Store_queue.scala 155:{43,66}]
  wire  exe_stage_lsu_stQueue__GEN_760 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_674; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_761 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_676; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_762 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_678; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_763 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_680; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_764 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_682; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_765 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_684; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_766 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_686; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_767 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_688; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_768 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_690; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_769 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_692; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_770 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_694; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_774 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_702; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_775 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_704; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_776 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_706; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_777 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_708; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_778 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_710; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_779 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_712; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_780 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_714; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_781 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_716; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_782 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_718; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_783 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_720; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_784 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_722; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_785 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_724; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_786 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_726; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_787 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_728; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_788 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_730; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_789 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_732; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_790 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_734; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_791 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_736; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_792 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_738; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_793 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_740; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_794 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_742; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_795 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_744; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_796 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_746; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_797 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_748; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_798 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_750; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_799 = exe_stage_lsu_stQueue__T_67 & exe_stage_lsu_stQueue__GEN_752; // @[Store_queue.scala 152:136 153:27 158:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_801 = exe_stage_lsu_stQueue__T_67 ? exe_stage_lsu_stQueue__GEN_672 : 64'h0; // @[Store_queue.scala 152:136 153:27 158:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_802 = exe_stage_lsu_stQueue__T_67 ? exe_stage_lsu_stQueue__GEN_756 : 64'h0; // @[Store_queue.scala 152:136 153:27 158:27]
  wire  exe_stage_lsu_stQueue__GEN_804 = exe_stage_lsu_stQueue__T_67 ? exe_stage_lsu_stQueue__GEN_759 :
    exe_stage_lsu_stQueue__GEN_670; // @[Store_queue.scala 152:136]
  wire  exe_stage_lsu_stQueue__T_87 = exe_stage_lsu_stQueue_rd_ptr <= exe_stage_lsu_stQueue_wr_ptr; // @[Store_queue.scala 162:22]
  wire  exe_stage_lsu_stQueue__T_90 = ~exe_stage_lsu_stQueue__T_87; // @[Store_queue.scala 162:13]
  wire  exe_stage_lsu_stQueue__T_93 = exe_stage_lsu_stQueue__T_35 & exe_stage_lsu_stQueue__T_36; // @[Store_queue.scala 165:32]
  wire  exe_stage_lsu_stQueue__T_97 = exe_stage_lsu_stQueue__T_93 & exe_stage_lsu_stQueue__T_40; // @[Store_queue.scala 165:51]
  wire  exe_stage_lsu_stQueue__GEN_894 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_540; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_895 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_542; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_896 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_544; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_897 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_546; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_898 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_548; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_899 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_550; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_900 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_552; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_901 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_554; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_902 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_556; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_903 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_558; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_904 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_560; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_908 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_568; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_909 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_570; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_910 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_572; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_911 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_574; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_912 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_576; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_913 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_578; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_914 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_580; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_915 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_582; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_916 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_584; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_917 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_586; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_918 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_588; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_919 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_590; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_920 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_592; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_921 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_594; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_922 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_596; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_923 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_598; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_924 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_600; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_925 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_602; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_926 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_604; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_927 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_606; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_928 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_608; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_929 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_610; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_930 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_612; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_931 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_614; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_932 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_616; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_933 = exe_stage_lsu_stQueue__T_97 & exe_stage_lsu_stQueue__GEN_618; // @[Store_queue.scala 165:134 166:27 171:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_935 = exe_stage_lsu_stQueue__T_97 ? exe_stage_lsu_stQueue__GEN_538 : 64'h0; // @[Store_queue.scala 165:134 166:27 171:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_936 = exe_stage_lsu_stQueue__T_97 ? exe_stage_lsu_stQueue__GEN_622 : 64'h0; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_938 = exe_stage_lsu_stQueue__T_97 ? exe_stage_lsu_stQueue__GEN_625 :
    exe_stage_lsu_stQueue_io_overlapReq_valid; // @[Store_queue.scala 165:134 146:26]
  wire  exe_stage_lsu_stQueue__T_119 = exe_stage_lsu_stQueue__T_61 & exe_stage_lsu_stQueue__T_62; // @[Store_queue.scala 165:32]
  wire  exe_stage_lsu_stQueue__T_123 = exe_stage_lsu_stQueue__T_119 & exe_stage_lsu_stQueue__T_66; // @[Store_queue.scala 165:51]
  wire  exe_stage_lsu_stQueue__GEN_1027 = exe_stage_lsu_stQueue__T_86 ? 1'h0 : exe_stage_lsu_stQueue__GEN_938; // @[Store_queue.scala 168:{43,66}]
  wire  exe_stage_lsu_stQueue__GEN_1028 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_674; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1029 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_676; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1030 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_678; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1031 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_680; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1032 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_682; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1033 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_684; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1034 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_686; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1035 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_688; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1036 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_690; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1037 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_692; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1038 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_694; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1042 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_702; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1043 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_704; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1044 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_706; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1045 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_708; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1046 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_710; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1047 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_712; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1048 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_714; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1049 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_716; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1050 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_718; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1051 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_720; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1052 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_722; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1053 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_724; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1054 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_726; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1055 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_728; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1056 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_730; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1057 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_732; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1058 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_734; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1059 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_736; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1060 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_738; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1061 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_740; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1062 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_742; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1063 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_744; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1064 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_746; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1065 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_748; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1066 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_750; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1067 = exe_stage_lsu_stQueue__T_123 & exe_stage_lsu_stQueue__GEN_752; // @[Store_queue.scala 165:134 166:27 171:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1069 = exe_stage_lsu_stQueue__T_123 ? exe_stage_lsu_stQueue__GEN_672 : 64'h0; // @[Store_queue.scala 165:134 166:27 171:27]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1070 = exe_stage_lsu_stQueue__T_123 ? exe_stage_lsu_stQueue__GEN_756 : 64'h0; // @[Store_queue.scala 165:134 166:27 171:27]
  wire  exe_stage_lsu_stQueue__GEN_1072 = exe_stage_lsu_stQueue__T_123 ? exe_stage_lsu_stQueue__GEN_1027 :
    exe_stage_lsu_stQueue__GEN_938; // @[Store_queue.scala 165:134]
  wire  exe_stage_lsu_stQueue__GEN_1073 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_626 :
    exe_stage_lsu_stQueue__GEN_894; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1074 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_627 :
    exe_stage_lsu_stQueue__GEN_895; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1075 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_628 :
    exe_stage_lsu_stQueue__GEN_896; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1076 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_629 :
    exe_stage_lsu_stQueue__GEN_897; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1077 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_630 :
    exe_stage_lsu_stQueue__GEN_898; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1078 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_631 :
    exe_stage_lsu_stQueue__GEN_899; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1079 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_632 :
    exe_stage_lsu_stQueue__GEN_900; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1080 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_633 :
    exe_stage_lsu_stQueue__GEN_901; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1081 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_634 :
    exe_stage_lsu_stQueue__GEN_902; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1082 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_635 :
    exe_stage_lsu_stQueue__GEN_903; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1083 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_636 :
    exe_stage_lsu_stQueue__GEN_904; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1087 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_640 :
    exe_stage_lsu_stQueue__GEN_908; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1088 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_641 :
    exe_stage_lsu_stQueue__GEN_909; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1089 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_642 :
    exe_stage_lsu_stQueue__GEN_910; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1090 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_643 :
    exe_stage_lsu_stQueue__GEN_911; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1091 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_644 :
    exe_stage_lsu_stQueue__GEN_912; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1092 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_645 :
    exe_stage_lsu_stQueue__GEN_913; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1093 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_646 :
    exe_stage_lsu_stQueue__GEN_914; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1094 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_647 :
    exe_stage_lsu_stQueue__GEN_915; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1095 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_648 :
    exe_stage_lsu_stQueue__GEN_916; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1096 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_649 :
    exe_stage_lsu_stQueue__GEN_917; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1097 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_650 :
    exe_stage_lsu_stQueue__GEN_918; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1098 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_651 :
    exe_stage_lsu_stQueue__GEN_919; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1099 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_652 :
    exe_stage_lsu_stQueue__GEN_920; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1100 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_653 :
    exe_stage_lsu_stQueue__GEN_921; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1101 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_654 :
    exe_stage_lsu_stQueue__GEN_922; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1102 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_655 :
    exe_stage_lsu_stQueue__GEN_923; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1103 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_656 :
    exe_stage_lsu_stQueue__GEN_924; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1104 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_657 :
    exe_stage_lsu_stQueue__GEN_925; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1105 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_658 :
    exe_stage_lsu_stQueue__GEN_926; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1106 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_659 :
    exe_stage_lsu_stQueue__GEN_927; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1107 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_660 :
    exe_stage_lsu_stQueue__GEN_928; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1108 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_661 :
    exe_stage_lsu_stQueue__GEN_929; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1109 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_662 :
    exe_stage_lsu_stQueue__GEN_930; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1110 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_663 :
    exe_stage_lsu_stQueue__GEN_931; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1111 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_664 :
    exe_stage_lsu_stQueue__GEN_932; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1112 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_665 :
    exe_stage_lsu_stQueue__GEN_933; // @[Store_queue.scala 148:51]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1114 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_667 :
    exe_stage_lsu_stQueue__GEN_935; // @[Store_queue.scala 148:51]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1115 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_668 :
    exe_stage_lsu_stQueue__GEN_936; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1118 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_760 :
    exe_stage_lsu_stQueue__GEN_1028; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1119 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_761 :
    exe_stage_lsu_stQueue__GEN_1029; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1120 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_762 :
    exe_stage_lsu_stQueue__GEN_1030; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1121 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_763 :
    exe_stage_lsu_stQueue__GEN_1031; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1122 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_764 :
    exe_stage_lsu_stQueue__GEN_1032; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1123 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_765 :
    exe_stage_lsu_stQueue__GEN_1033; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1124 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_766 :
    exe_stage_lsu_stQueue__GEN_1034; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1125 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_767 :
    exe_stage_lsu_stQueue__GEN_1035; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1126 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_768 :
    exe_stage_lsu_stQueue__GEN_1036; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1127 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_769 :
    exe_stage_lsu_stQueue__GEN_1037; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1128 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_770 :
    exe_stage_lsu_stQueue__GEN_1038; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1132 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_774 :
    exe_stage_lsu_stQueue__GEN_1042; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1133 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_775 :
    exe_stage_lsu_stQueue__GEN_1043; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1134 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_776 :
    exe_stage_lsu_stQueue__GEN_1044; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1135 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_777 :
    exe_stage_lsu_stQueue__GEN_1045; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1136 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_778 :
    exe_stage_lsu_stQueue__GEN_1046; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1137 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_779 :
    exe_stage_lsu_stQueue__GEN_1047; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1138 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_780 :
    exe_stage_lsu_stQueue__GEN_1048; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1139 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_781 :
    exe_stage_lsu_stQueue__GEN_1049; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1140 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_782 :
    exe_stage_lsu_stQueue__GEN_1050; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1141 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_783 :
    exe_stage_lsu_stQueue__GEN_1051; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1142 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_784 :
    exe_stage_lsu_stQueue__GEN_1052; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1143 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_785 :
    exe_stage_lsu_stQueue__GEN_1053; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1144 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_786 :
    exe_stage_lsu_stQueue__GEN_1054; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1145 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_787 :
    exe_stage_lsu_stQueue__GEN_1055; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1146 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_788 :
    exe_stage_lsu_stQueue__GEN_1056; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1147 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_789 :
    exe_stage_lsu_stQueue__GEN_1057; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1148 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_790 :
    exe_stage_lsu_stQueue__GEN_1058; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1149 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_791 :
    exe_stage_lsu_stQueue__GEN_1059; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1150 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_792 :
    exe_stage_lsu_stQueue__GEN_1060; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1151 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_793 :
    exe_stage_lsu_stQueue__GEN_1061; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1152 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_794 :
    exe_stage_lsu_stQueue__GEN_1062; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1153 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_795 :
    exe_stage_lsu_stQueue__GEN_1063; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1154 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_796 :
    exe_stage_lsu_stQueue__GEN_1064; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1155 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_797 :
    exe_stage_lsu_stQueue__GEN_1065; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1156 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_798 :
    exe_stage_lsu_stQueue__GEN_1066; // @[Store_queue.scala 148:51]
  wire  exe_stage_lsu_stQueue__GEN_1157 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_799 :
    exe_stage_lsu_stQueue__GEN_1067; // @[Store_queue.scala 148:51]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1159 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_801 :
    exe_stage_lsu_stQueue__GEN_1069; // @[Store_queue.scala 148:51]
  wire [63:0] exe_stage_lsu_stQueue__GEN_1160 = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_802 :
    exe_stage_lsu_stQueue__GEN_1070; // @[Store_queue.scala 148:51]
  wire [2:0] exe_stage_lsu_stQueue__res_T = exe_stage_lsu_stQueue__GEN_1114[2:0]; // @[riscv_isa.scala 907:38]
  wire [5:0] exe_stage_lsu_stQueue__res_T_1 = {exe_stage_lsu_stQueue__res_T, 3'h0}; // @[riscv_isa.scala 907:61]
  wire [126:0] _GEN_1002 = {{63'd0}, exe_stage_lsu_stQueue__GEN_1115}; // @[riscv_isa.scala 907:28]
  wire [126:0] exe_stage_lsu_stQueue__res_T_2 = _GEN_1002 << exe_stage_lsu_stQueue__res_T_1; // @[riscv_isa.scala 907:28]
  wire  exe_stage_lsu_stQueue__wstrb_T = exe_stage_lsu_stQueue__GEN_1073 | exe_stage_lsu_stQueue__GEN_1077; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_1 = exe_stage_lsu_stQueue__wstrb_T | exe_stage_lsu_stQueue__GEN_1080; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_2 = exe_stage_lsu_stQueue__GEN_1074 | exe_stage_lsu_stQueue__GEN_1078; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_3 = exe_stage_lsu_stQueue__wstrb_T_2 | exe_stage_lsu_stQueue__GEN_1081; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_4 = exe_stage_lsu_stQueue__GEN_1075 | exe_stage_lsu_stQueue__GEN_1079; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_5 = exe_stage_lsu_stQueue__wstrb_T_4 | exe_stage_lsu_stQueue__GEN_1082; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_6 = exe_stage_lsu_stQueue__wstrb_T_5 | exe_stage_lsu_stQueue__GEN_1089; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu_stQueue__wstrb_T_7 = exe_stage_lsu_stQueue__wstrb_T_6 | exe_stage_lsu_stQueue__GEN_1090; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu_stQueue__wstrb_T_8 = exe_stage_lsu_stQueue__wstrb_T_7 | exe_stage_lsu_stQueue__GEN_1091; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu_stQueue__wstrb_T_9 = exe_stage_lsu_stQueue__wstrb_T_8 | exe_stage_lsu_stQueue__GEN_1092; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu_stQueue__wstrb_T_10 = exe_stage_lsu_stQueue__wstrb_T_9 | exe_stage_lsu_stQueue__GEN_1093; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu_stQueue__wstrb_T_11 = exe_stage_lsu_stQueue__wstrb_T_10 | exe_stage_lsu_stQueue__GEN_1094; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu_stQueue__wstrb_T_12 = exe_stage_lsu_stQueue__wstrb_T_11 | exe_stage_lsu_stQueue__GEN_1095; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu_stQueue__wstrb_T_13 = exe_stage_lsu_stQueue__wstrb_T_12 | exe_stage_lsu_stQueue__GEN_1096; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu_stQueue__wstrb_T_14 = exe_stage_lsu_stQueue__wstrb_T_13 | exe_stage_lsu_stQueue__GEN_1097; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu_stQueue__wstrb_T_15 = exe_stage_lsu_stQueue__wstrb_T_14 | exe_stage_lsu_stQueue__GEN_1109; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu_stQueue__wstrb_T_16 = exe_stage_lsu_stQueue__wstrb_T_15 | exe_stage_lsu_stQueue__GEN_1110; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu_stQueue__wstrb_T_17 = exe_stage_lsu_stQueue__wstrb_T_16 | exe_stage_lsu_stQueue__GEN_1087; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu_stQueue__wstrb_T_18 = exe_stage_lsu_stQueue__wstrb_T_17 | exe_stage_lsu_stQueue__GEN_1088; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu_stQueue__wstrb_T_19 = exe_stage_lsu_stQueue__GEN_1076 | exe_stage_lsu_stQueue__GEN_1098; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_20 = exe_stage_lsu_stQueue__wstrb_T_19 | exe_stage_lsu_stQueue__GEN_1111; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu_stQueue__wstrb_T_21 = exe_stage_lsu_stQueue__wstrb_T_20 | exe_stage_lsu_stQueue__GEN_1083; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu_stQueue__wstrb_T_22 = exe_stage_lsu_stQueue__wstrb_T_21 | exe_stage_lsu_stQueue__GEN_1099; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu_stQueue__wstrb_T_23 = exe_stage_lsu_stQueue__wstrb_T_22 | exe_stage_lsu_stQueue__GEN_1112; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu_stQueue__wstrb_T_24 = exe_stage_lsu_stQueue__wstrb_T_23 | exe_stage_lsu_stQueue__GEN_1100; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu_stQueue__wstrb_T_25 = exe_stage_lsu_stQueue__wstrb_T_24 | exe_stage_lsu_stQueue__GEN_1101; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu_stQueue__wstrb_T_26 = exe_stage_lsu_stQueue__wstrb_T_25 | exe_stage_lsu_stQueue__GEN_1102; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu_stQueue__wstrb_T_27 = exe_stage_lsu_stQueue__wstrb_T_26 | exe_stage_lsu_stQueue__GEN_1103; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu_stQueue__wstrb_T_28 = exe_stage_lsu_stQueue__wstrb_T_27 | exe_stage_lsu_stQueue__GEN_1104; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu_stQueue__wstrb_T_29 = exe_stage_lsu_stQueue__wstrb_T_28 | exe_stage_lsu_stQueue__GEN_1105; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu_stQueue__wstrb_T_30 = exe_stage_lsu_stQueue__wstrb_T_29 | exe_stage_lsu_stQueue__GEN_1106; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu_stQueue__wstrb_T_31 = exe_stage_lsu_stQueue__wstrb_T_30 | exe_stage_lsu_stQueue__GEN_1107; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu_stQueue__wstrb_T_32 = exe_stage_lsu_stQueue__wstrb_T_31 | exe_stage_lsu_stQueue__GEN_1108; // @[riscv_isa.scala 156:140]
  wire [1:0] exe_stage_lsu_stQueue__wstrb_T_34 = exe_stage_lsu_stQueue__wstrb_T_3 ? 2'h3 : 2'h0; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_stQueue__wstrb_T_35 = exe_stage_lsu_stQueue__wstrb_T_18 ? 4'hf : 4'h0; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_stQueue__wstrb_T_36 = exe_stage_lsu_stQueue__wstrb_T_32 ? 8'hff : 8'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_391 = {{1'd0}, exe_stage_lsu_stQueue__wstrb_T_1}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_stQueue__wstrb_T_37 = _GEN_391 | exe_stage_lsu_stQueue__wstrb_T_34; // @[Mux.scala 27:73]
  wire [3:0] _GEN_392 = {{2'd0}, exe_stage_lsu_stQueue__wstrb_T_37}; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_stQueue__wstrb_T_38 = _GEN_392 | exe_stage_lsu_stQueue__wstrb_T_35; // @[Mux.scala 27:73]
  wire [7:0] _GEN_393 = {{4'd0}, exe_stage_lsu_stQueue__wstrb_T_38}; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_stQueue__wstrb_T_39 = _GEN_393 | exe_stage_lsu_stQueue__wstrb_T_36; // @[Mux.scala 27:73]
  wire [14:0] _GEN_1003 = {{7'd0}, exe_stage_lsu_stQueue__wstrb_T_39}; // @[riscv_isa.scala 916:10]
  wire [14:0] exe_stage_lsu_stQueue__wstrb_T_41 = _GEN_1003 << exe_stage_lsu_stQueue__res_T; // @[riscv_isa.scala 916:10]
  wire [7:0] exe_stage_lsu_stQueue_wstrb = exe_stage_lsu_stQueue__wstrb_T_41[7:0]; // @[riscv_isa.scala 912:21 913:11]
  wire  exe_stage_lsu_stQueue__wmask_T = exe_stage_lsu_stQueue_wstrb[0]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_1 = exe_stage_lsu_stQueue_wstrb[1]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_2 = exe_stage_lsu_stQueue_wstrb[2]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_3 = exe_stage_lsu_stQueue_wstrb[3]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_4 = exe_stage_lsu_stQueue_wstrb[4]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_5 = exe_stage_lsu_stQueue_wstrb[5]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_6 = exe_stage_lsu_stQueue_wstrb[6]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_7 = exe_stage_lsu_stQueue_wstrb[7]; // @[Util.scala 41:14]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_9 = exe_stage_lsu_stQueue__wmask_T ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_11 = exe_stage_lsu_stQueue__wmask_T_1 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_13 = exe_stage_lsu_stQueue__wmask_T_2 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_15 = exe_stage_lsu_stQueue__wmask_T_3 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_17 = exe_stage_lsu_stQueue__wmask_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_19 = exe_stage_lsu_stQueue__wmask_T_5 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_21 = exe_stage_lsu_stQueue__wmask_T_6 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_23 = exe_stage_lsu_stQueue__wmask_T_7 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_lsu_stQueue_wmask = {exe_stage_lsu_stQueue__wmask_T_23,exe_stage_lsu_stQueue__wmask_T_21,
    exe_stage_lsu_stQueue__wmask_T_19,exe_stage_lsu_stQueue__wmask_T_17,exe_stage_lsu_stQueue__wmask_T_15,
    exe_stage_lsu_stQueue__wmask_T_13,exe_stage_lsu_stQueue__wmask_T_11,exe_stage_lsu_stQueue__wmask_T_9}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_lsu_stQueue_res = exe_stage_lsu_stQueue__res_T_2[63:0]; // @[riscv_isa.scala 906:21 907:11]
  wire [63:0] exe_stage_lsu_stQueue__new_data_T_2 = exe_stage_lsu_stQueue_res & exe_stage_lsu_stQueue_wmask; // @[Util.scala 108:44]
  wire [2:0] exe_stage_lsu_stQueue__res_T_3 = exe_stage_lsu_stQueue__GEN_1159[2:0]; // @[riscv_isa.scala 907:38]
  wire [5:0] exe_stage_lsu_stQueue__res_T_4 = {exe_stage_lsu_stQueue__res_T_3, 3'h0}; // @[riscv_isa.scala 907:61]
  wire [126:0] _GEN_1004 = {{63'd0}, exe_stage_lsu_stQueue__GEN_1160}; // @[riscv_isa.scala 907:28]
  wire [126:0] exe_stage_lsu_stQueue__res_T_5 = _GEN_1004 << exe_stage_lsu_stQueue__res_T_4; // @[riscv_isa.scala 907:28]
  wire  exe_stage_lsu_stQueue__wstrb_T_42 = exe_stage_lsu_stQueue__GEN_1118 | exe_stage_lsu_stQueue__GEN_1122; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_43 = exe_stage_lsu_stQueue__wstrb_T_42 | exe_stage_lsu_stQueue__GEN_1125; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_44 = exe_stage_lsu_stQueue__GEN_1119 | exe_stage_lsu_stQueue__GEN_1123; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_45 = exe_stage_lsu_stQueue__wstrb_T_44 | exe_stage_lsu_stQueue__GEN_1126; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_46 = exe_stage_lsu_stQueue__GEN_1120 | exe_stage_lsu_stQueue__GEN_1124; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_47 = exe_stage_lsu_stQueue__wstrb_T_46 | exe_stage_lsu_stQueue__GEN_1127; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu_stQueue__wstrb_T_48 = exe_stage_lsu_stQueue__wstrb_T_47 | exe_stage_lsu_stQueue__GEN_1134; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu_stQueue__wstrb_T_49 = exe_stage_lsu_stQueue__wstrb_T_48 | exe_stage_lsu_stQueue__GEN_1135; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu_stQueue__wstrb_T_50 = exe_stage_lsu_stQueue__wstrb_T_49 | exe_stage_lsu_stQueue__GEN_1136; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu_stQueue__wstrb_T_51 = exe_stage_lsu_stQueue__wstrb_T_50 | exe_stage_lsu_stQueue__GEN_1137; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu_stQueue__wstrb_T_52 = exe_stage_lsu_stQueue__wstrb_T_51 | exe_stage_lsu_stQueue__GEN_1138; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu_stQueue__wstrb_T_53 = exe_stage_lsu_stQueue__wstrb_T_52 | exe_stage_lsu_stQueue__GEN_1139; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu_stQueue__wstrb_T_54 = exe_stage_lsu_stQueue__wstrb_T_53 | exe_stage_lsu_stQueue__GEN_1140; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu_stQueue__wstrb_T_55 = exe_stage_lsu_stQueue__wstrb_T_54 | exe_stage_lsu_stQueue__GEN_1141; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu_stQueue__wstrb_T_56 = exe_stage_lsu_stQueue__wstrb_T_55 | exe_stage_lsu_stQueue__GEN_1142; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu_stQueue__wstrb_T_57 = exe_stage_lsu_stQueue__wstrb_T_56 | exe_stage_lsu_stQueue__GEN_1154; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu_stQueue__wstrb_T_58 = exe_stage_lsu_stQueue__wstrb_T_57 | exe_stage_lsu_stQueue__GEN_1155; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu_stQueue__wstrb_T_59 = exe_stage_lsu_stQueue__wstrb_T_58 | exe_stage_lsu_stQueue__GEN_1132; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu_stQueue__wstrb_T_60 = exe_stage_lsu_stQueue__wstrb_T_59 | exe_stage_lsu_stQueue__GEN_1133; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu_stQueue__wstrb_T_61 = exe_stage_lsu_stQueue__GEN_1121 | exe_stage_lsu_stQueue__GEN_1143; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu_stQueue__wstrb_T_62 = exe_stage_lsu_stQueue__wstrb_T_61 | exe_stage_lsu_stQueue__GEN_1156; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu_stQueue__wstrb_T_63 = exe_stage_lsu_stQueue__wstrb_T_62 | exe_stage_lsu_stQueue__GEN_1128; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu_stQueue__wstrb_T_64 = exe_stage_lsu_stQueue__wstrb_T_63 | exe_stage_lsu_stQueue__GEN_1144; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu_stQueue__wstrb_T_65 = exe_stage_lsu_stQueue__wstrb_T_64 | exe_stage_lsu_stQueue__GEN_1157; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu_stQueue__wstrb_T_66 = exe_stage_lsu_stQueue__wstrb_T_65 | exe_stage_lsu_stQueue__GEN_1145; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu_stQueue__wstrb_T_67 = exe_stage_lsu_stQueue__wstrb_T_66 | exe_stage_lsu_stQueue__GEN_1146; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu_stQueue__wstrb_T_68 = exe_stage_lsu_stQueue__wstrb_T_67 | exe_stage_lsu_stQueue__GEN_1147; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu_stQueue__wstrb_T_69 = exe_stage_lsu_stQueue__wstrb_T_68 | exe_stage_lsu_stQueue__GEN_1148; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu_stQueue__wstrb_T_70 = exe_stage_lsu_stQueue__wstrb_T_69 | exe_stage_lsu_stQueue__GEN_1149; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu_stQueue__wstrb_T_71 = exe_stage_lsu_stQueue__wstrb_T_70 | exe_stage_lsu_stQueue__GEN_1150; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu_stQueue__wstrb_T_72 = exe_stage_lsu_stQueue__wstrb_T_71 | exe_stage_lsu_stQueue__GEN_1151; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu_stQueue__wstrb_T_73 = exe_stage_lsu_stQueue__wstrb_T_72 | exe_stage_lsu_stQueue__GEN_1152; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu_stQueue__wstrb_T_74 = exe_stage_lsu_stQueue__wstrb_T_73 | exe_stage_lsu_stQueue__GEN_1153; // @[riscv_isa.scala 156:140]
  wire [1:0] exe_stage_lsu_stQueue__wstrb_T_76 = exe_stage_lsu_stQueue__wstrb_T_45 ? 2'h3 : 2'h0; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_stQueue__wstrb_T_77 = exe_stage_lsu_stQueue__wstrb_T_60 ? 4'hf : 4'h0; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_stQueue__wstrb_T_78 = exe_stage_lsu_stQueue__wstrb_T_74 ? 8'hff : 8'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_394 = {{1'd0}, exe_stage_lsu_stQueue__wstrb_T_43}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_stQueue__wstrb_T_79 = _GEN_394 | exe_stage_lsu_stQueue__wstrb_T_76; // @[Mux.scala 27:73]
  wire [3:0] _GEN_395 = {{2'd0}, exe_stage_lsu_stQueue__wstrb_T_79}; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_stQueue__wstrb_T_80 = _GEN_395 | exe_stage_lsu_stQueue__wstrb_T_77; // @[Mux.scala 27:73]
  wire [7:0] _GEN_396 = {{4'd0}, exe_stage_lsu_stQueue__wstrb_T_80}; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_stQueue__wstrb_T_81 = _GEN_396 | exe_stage_lsu_stQueue__wstrb_T_78; // @[Mux.scala 27:73]
  wire [14:0] _GEN_1005 = {{7'd0}, exe_stage_lsu_stQueue__wstrb_T_81}; // @[riscv_isa.scala 916:10]
  wire [14:0] exe_stage_lsu_stQueue__wstrb_T_83 = _GEN_1005 << exe_stage_lsu_stQueue__res_T_3; // @[riscv_isa.scala 916:10]
  wire [7:0] exe_stage_lsu_stQueue_wstrb_2 = exe_stage_lsu_stQueue__wstrb_T_83[7:0]; // @[riscv_isa.scala 912:21 913:11]
  wire  exe_stage_lsu_stQueue__wmask_T_24 = exe_stage_lsu_stQueue_wstrb_2[0]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_25 = exe_stage_lsu_stQueue_wstrb_2[1]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_26 = exe_stage_lsu_stQueue_wstrb_2[2]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_27 = exe_stage_lsu_stQueue_wstrb_2[3]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_28 = exe_stage_lsu_stQueue_wstrb_2[4]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_29 = exe_stage_lsu_stQueue_wstrb_2[5]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_30 = exe_stage_lsu_stQueue_wstrb_2[6]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_stQueue__wmask_T_31 = exe_stage_lsu_stQueue_wstrb_2[7]; // @[Util.scala 41:14]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_33 = exe_stage_lsu_stQueue__wmask_T_24 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_35 = exe_stage_lsu_stQueue__wmask_T_25 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_37 = exe_stage_lsu_stQueue__wmask_T_26 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_39 = exe_stage_lsu_stQueue__wmask_T_27 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_41 = exe_stage_lsu_stQueue__wmask_T_28 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_43 = exe_stage_lsu_stQueue__wmask_T_29 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_45 = exe_stage_lsu_stQueue__wmask_T_30 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_stQueue__wmask_T_47 = exe_stage_lsu_stQueue__wmask_T_31 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_lsu_stQueue_wmask_1 = {exe_stage_lsu_stQueue__wmask_T_47,exe_stage_lsu_stQueue__wmask_T_45,
    exe_stage_lsu_stQueue__wmask_T_43,exe_stage_lsu_stQueue__wmask_T_41,exe_stage_lsu_stQueue__wmask_T_39,
    exe_stage_lsu_stQueue__wmask_T_37,exe_stage_lsu_stQueue__wmask_T_35,exe_stage_lsu_stQueue__wmask_T_33}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_lsu_stQueue__new_data_T_3 = ~exe_stage_lsu_stQueue_wmask_1; // @[Util.scala 108:27]
  wire [63:0] exe_stage_lsu_stQueue__new_data_T_4 = exe_stage_lsu_stQueue__new_data_T_2 &
    exe_stage_lsu_stQueue__new_data_T_3; // @[Util.scala 108:25]
  wire [63:0] exe_stage_lsu_stQueue_res_1 = exe_stage_lsu_stQueue__res_T_5[63:0]; // @[riscv_isa.scala 906:21 907:11]
  wire [63:0] exe_stage_lsu_stQueue__new_data_T_5 = exe_stage_lsu_stQueue_res_1 & exe_stage_lsu_stQueue_wmask_1; // @[Util.scala 108:44]
  wire  _GEN_397 = exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_9; // @[Store_queue.scala 129:13]
  wire  _GEN_400 = ~exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_1; // @[Store_queue.scala 133:13]
  wire  _GEN_401 = ~exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_1 &
    exe_stage_lsu_stQueue__T_9; // @[Store_queue.scala 133:13]
  wire  exe_stage_lsu_ls_arb_io_in_0_ready;
  wire  exe_stage_lsu_ls_arb_io_in_0_valid;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lb;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lh;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lw;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_ld;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lbu;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lhu;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lwu;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sb;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sh;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sw;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sd;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_flw;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsw;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_fld;
  wire  exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_ls_arb_io_in_0_bits_param_rd0;
  wire [63:0] exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op2;
  wire  exe_stage_lsu_ls_arb_io_in_1_ready;
  wire  exe_stage_lsu_ls_arb_io_in_1_valid;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lb;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lh;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lw;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_ld;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lbu;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lhu;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lwu;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sb;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sh;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sw;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sd;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_flw;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsw;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_fld;
  wire  exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_ls_arb_io_in_1_bits_param_rd0;
  wire [63:0] exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op2;
  wire  exe_stage_lsu_ls_arb_io_out_ready;
  wire  exe_stage_lsu_ls_arb_io_out_valid;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lb;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lh;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lw;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_ld;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lbu;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lhu;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lwu;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sb;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sh;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sw;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sd;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_flw;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_fsw;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_fld;
  wire  exe_stage_lsu_ls_arb_io_out_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_ls_arb_io_out_bits_param_rd0;
  wire [63:0] exe_stage_lsu_ls_arb_io_out_bits_param_dat_op1;
  wire [63:0] exe_stage_lsu_ls_arb_io_out_bits_param_dat_op2;
  wire  exe_stage_lsu_ls_arb_grant_1 = ~exe_stage_lsu_ls_arb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_ls_arb__io_out_valid_T = ~exe_stage_lsu_ls_arb_grant_1; // @[Arbiter.scala 147:19]
  wire  exe_stage_lsu_system_clock;
  wire  exe_stage_lsu_system_reset;
  wire  exe_stage_lsu_system_io_enq_ready;
  wire  exe_stage_lsu_system_io_enq_valid;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_system_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_system_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_system_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_system_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_system_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_system_io_enq_bits_fun_fsd;
  wire  exe_stage_lsu_system_io_deq_ready;
  wire  exe_stage_lsu_system_io_deq_valid;
  wire [5:0] exe_stage_lsu_system_io_deq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_system_io_deq_bits_wb_res;
  wire  exe_stage_lsu_system_io_deq_bits_is_load_amo;
  wire  exe_stage_lsu_system_io_deq_bits_is_flw;
  wire  exe_stage_lsu_system_io_deq_bits_is_fld;
  wire  exe_stage_lsu_system_io_is_empty;
  wire  exe_stage_lsu_system_io_getPut_ready;
  wire  exe_stage_lsu_system_io_getPut_valid;
  wire [2:0] exe_stage_lsu_system_io_getPut_bits_opcode;
  wire [2:0] exe_stage_lsu_system_io_getPut_bits_param;
  wire [1:0] exe_stage_lsu_system_io_getPut_bits_size;
  wire  exe_stage_lsu_system_io_getPut_bits_source;
  wire [31:0] exe_stage_lsu_system_io_getPut_bits_address;
  wire [7:0] exe_stage_lsu_system_io_getPut_bits_mask;
  wire [63:0] exe_stage_lsu_system_io_getPut_bits_data;
  wire  exe_stage_lsu_system_io_getPut_bits_corrupt;
  wire  exe_stage_lsu_system_io_access_ready;
  wire  exe_stage_lsu_system_io_access_valid;
  wire [2:0] exe_stage_lsu_system_io_access_bits_opcode;
  wire [63:0] exe_stage_lsu_system_io_access_bits_data;
  reg  exe_stage_lsu_system_is_busy; // @[IO_Lsu.scala 45:27]
  reg  exe_stage_lsu_system_isTransing; // @[IO_Lsu.scala 46:27]
  reg  exe_stage_lsu_system_pending_fun_lb; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lh; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_ld; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lbu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lhu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lwu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sb; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sh; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sd; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lr_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sc_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoswap_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoadd_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoxor_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoand_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoor_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomin_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomax_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amominu_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomaxu_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_lr_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_sc_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoswap_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoadd_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoxor_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoand_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amoor_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomin_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomax_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amominu_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_amomaxu_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_flw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_fsw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_fld; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_system_pending_fun_fsd; // @[IO_Lsu.scala 47:20]
  reg [5:0] exe_stage_lsu_system_pending_param_rd0; // @[IO_Lsu.scala 47:20]
  reg [63:0] exe_stage_lsu_system_pending_param_dat_op1; // @[IO_Lsu.scala 47:20]
  reg [63:0] exe_stage_lsu_system_pending_param_dat_op2; // @[IO_Lsu.scala 47:20]
  wire  exe_stage_lsu_system__io_is_empty_T = ~exe_stage_lsu_system_is_busy; // @[IO_Lsu.scala 49:18]
  wire  exe_stage_lsu_system__io_getPut_valid_T = ~exe_stage_lsu_system_isTransing; // @[IO_Lsu.scala 51:32]
  wire  exe_stage_lsu_system__T = exe_stage_lsu_system_pending_fun_lb | exe_stage_lsu_system_pending_fun_lh; // @[riscv_isa.scala 143:19]
  wire  exe_stage_lsu_system__T_1 = exe_stage_lsu_system__T | exe_stage_lsu_system_pending_fun_lw; // @[riscv_isa.scala 143:24]
  wire  exe_stage_lsu_system__T_2 = exe_stage_lsu_system__T_1 | exe_stage_lsu_system_pending_fun_ld; // @[riscv_isa.scala 143:29]
  wire  exe_stage_lsu_system__T_3 = exe_stage_lsu_system__T_2 | exe_stage_lsu_system_pending_fun_lbu; // @[riscv_isa.scala 143:34]
  wire  exe_stage_lsu_system__T_4 = exe_stage_lsu_system__T_3 | exe_stage_lsu_system_pending_fun_lhu; // @[riscv_isa.scala 143:40]
  wire  exe_stage_lsu_system__T_5 = exe_stage_lsu_system__T_4 | exe_stage_lsu_system_pending_fun_lwu; // @[riscv_isa.scala 143:46]
  wire  exe_stage_lsu_system__T_6 = exe_stage_lsu_system__T_5 | exe_stage_lsu_system_pending_fun_flw; // @[riscv_isa.scala 143:52]
  wire  exe_stage_lsu_system__T_7 = exe_stage_lsu_system__T_6 | exe_stage_lsu_system_pending_fun_fld; // @[riscv_isa.scala 143:59]
  wire  exe_stage_lsu_system__T_8 = exe_stage_lsu_system_pending_fun_lr_d | exe_stage_lsu_system_pending_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  exe_stage_lsu_system__T_9 = exe_stage_lsu_system__T_7 | exe_stage_lsu_system__T_8; // @[riscv_isa.scala 143:65]
  wire  exe_stage_lsu_system__T_11 = ~exe_stage_lsu_system__T_8; // @[IO_Lsu.scala 55:31]
  wire  exe_stage_lsu_system__T_12 = exe_stage_lsu_system__T_9 & exe_stage_lsu_system__T_11; // @[IO_Lsu.scala 55:29]
  wire [63:0] exe_stage_lsu_system__io_getPut_bits_T = {{3'd0}, exe_stage_lsu_system_pending_param_dat_op1[63:3]}; // @[IO_Lsu.scala 59:39]
  wire [66:0] exe_stage_lsu_system__io_getPut_bits_T_1 = {exe_stage_lsu_system__io_getPut_bits_T, 3'h0}; // @[IO_Lsu.scala 59:59]
  wire  exe_stage_lsu_system__T_13 = exe_stage_lsu_system_pending_fun_sb | exe_stage_lsu_system_pending_fun_sh; // @[riscv_isa.scala 144:19]
  wire  exe_stage_lsu_system__T_14 = exe_stage_lsu_system__T_13 | exe_stage_lsu_system_pending_fun_sw; // @[riscv_isa.scala 144:24]
  wire  exe_stage_lsu_system__T_15 = exe_stage_lsu_system__T_14 | exe_stage_lsu_system_pending_fun_sd; // @[riscv_isa.scala 144:29]
  wire  exe_stage_lsu_system__T_16 = exe_stage_lsu_system__T_15 | exe_stage_lsu_system_pending_fun_fsw; // @[riscv_isa.scala 144:34]
  wire  exe_stage_lsu_system__T_17 = exe_stage_lsu_system__T_16 | exe_stage_lsu_system_pending_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  exe_stage_lsu_system__T_18 = exe_stage_lsu_system_pending_fun_sc_d | exe_stage_lsu_system_pending_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu_system__T_19 = ~exe_stage_lsu_system__T_18; // @[IO_Lsu.scala 62:40]
  wire  exe_stage_lsu_system__T_20 = exe_stage_lsu_system__T_17 & exe_stage_lsu_system__T_19; // @[IO_Lsu.scala 62:38]
  wire [2:0] exe_stage_lsu_system__io_getPut_bits_res_T = exe_stage_lsu_system_pending_param_dat_op1[2:0]; // @[riscv_isa.scala 907:38]
  wire [5:0] exe_stage_lsu_system__io_getPut_bits_res_T_1 = {exe_stage_lsu_system__io_getPut_bits_res_T, 3'h0}; // @[riscv_isa.scala 907:61]
  wire [126:0] _GEN_1018 = {{63'd0}, exe_stage_lsu_system_pending_param_dat_op2}; // @[riscv_isa.scala 907:28]
  wire [126:0] exe_stage_lsu_system__io_getPut_bits_res_T_2 = _GEN_1018 << exe_stage_lsu_system__io_getPut_bits_res_T_1; // @[riscv_isa.scala 907:28]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T = exe_stage_lsu_system_pending_fun_lb |
    exe_stage_lsu_system_pending_fun_lbu; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_1 = exe_stage_lsu_system__io_getPut_bits_wstrb_T |
    exe_stage_lsu_system_pending_fun_sb; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_2 = exe_stage_lsu_system_pending_fun_lh |
    exe_stage_lsu_system_pending_fun_lhu; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_3 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_2 |
    exe_stage_lsu_system_pending_fun_sh; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_4 = exe_stage_lsu_system_pending_fun_lw |
    exe_stage_lsu_system_pending_fun_lwu; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_5 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_4 |
    exe_stage_lsu_system_pending_fun_sw; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_6 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_5 |
    exe_stage_lsu_system_pending_fun_amoswap_w; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_7 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_6 |
    exe_stage_lsu_system_pending_fun_amoadd_w; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_8 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_7 |
    exe_stage_lsu_system_pending_fun_amoxor_w; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_9 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_8 |
    exe_stage_lsu_system_pending_fun_amoand_w; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_10 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_9 |
    exe_stage_lsu_system_pending_fun_amoor_w; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_11 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_10 |
    exe_stage_lsu_system_pending_fun_amomin_w; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_12 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_11 |
    exe_stage_lsu_system_pending_fun_amomax_w; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_13 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_12 |
    exe_stage_lsu_system_pending_fun_amominu_w; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_14 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_13 |
    exe_stage_lsu_system_pending_fun_amomaxu_w; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_15 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_14 |
    exe_stage_lsu_system_pending_fun_flw; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_16 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_15 |
    exe_stage_lsu_system_pending_fun_fsw; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_17 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_16 |
    exe_stage_lsu_system_pending_fun_lr_w; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_18 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_17 |
    exe_stage_lsu_system_pending_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_19 = exe_stage_lsu_system_pending_fun_ld |
    exe_stage_lsu_system_pending_fun_lr_d; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_20 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_19 |
    exe_stage_lsu_system_pending_fun_fld; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_21 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_20 |
    exe_stage_lsu_system_pending_fun_sd; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_22 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_21 |
    exe_stage_lsu_system_pending_fun_sc_d; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_23 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_22 |
    exe_stage_lsu_system_pending_fun_fsd; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_24 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_23 |
    exe_stage_lsu_system_pending_fun_amoswap_d; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_25 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_24 |
    exe_stage_lsu_system_pending_fun_amoadd_d; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_26 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_25 |
    exe_stage_lsu_system_pending_fun_amoxor_d; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_27 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_26 |
    exe_stage_lsu_system_pending_fun_amoand_d; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_28 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_27 |
    exe_stage_lsu_system_pending_fun_amoor_d; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_29 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_28 |
    exe_stage_lsu_system_pending_fun_amomin_d; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_30 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_29 |
    exe_stage_lsu_system_pending_fun_amomax_d; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_31 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_30 |
    exe_stage_lsu_system_pending_fun_amominu_d; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu_system__io_getPut_bits_wstrb_T_32 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_31 |
    exe_stage_lsu_system_pending_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire [1:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_34 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_3 ? 2'h3 : 2'h0
    ; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_35 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_18 ? 4'hf : 4'h0
    ; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_36 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_32 ? 8'hff
     : 8'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_415 = {{1'd0}, exe_stage_lsu_system__io_getPut_bits_wstrb_T_1}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_37 = _GEN_415 |
    exe_stage_lsu_system__io_getPut_bits_wstrb_T_34; // @[Mux.scala 27:73]
  wire [3:0] _GEN_416 = {{2'd0}, exe_stage_lsu_system__io_getPut_bits_wstrb_T_37}; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_38 = _GEN_416 |
    exe_stage_lsu_system__io_getPut_bits_wstrb_T_35; // @[Mux.scala 27:73]
  wire [7:0] _GEN_417 = {{4'd0}, exe_stage_lsu_system__io_getPut_bits_wstrb_T_38}; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_39 = _GEN_417 |
    exe_stage_lsu_system__io_getPut_bits_wstrb_T_36; // @[Mux.scala 27:73]
  wire [14:0] _GEN_1019 = {{7'd0}, exe_stage_lsu_system__io_getPut_bits_wstrb_T_39}; // @[riscv_isa.scala 916:10]
  wire [14:0] exe_stage_lsu_system__io_getPut_bits_wstrb_T_41 = _GEN_1019 << exe_stage_lsu_system__io_getPut_bits_res_T; // @[riscv_isa.scala 916:10]
  wire  exe_stage_lsu_system__T_22 = ~exe_stage_lsu_system_reset; // @[IO_Lsu.scala 73:15]
  wire [31:0] exe_stage_lsu_system_io_getPut_bits_a_1_address = exe_stage_lsu_system__io_getPut_bits_T_1[31:0]; // @[Edges.scala 483:17 488:15]
  wire [7:0] exe_stage_lsu_system_io_getPut_bits_wstrb = exe_stage_lsu_system__io_getPut_bits_wstrb_T_41[7:0]; // @[riscv_isa.scala 912:21 913:11]
  wire [63:0] exe_stage_lsu_system_io_getPut_bits_res = exe_stage_lsu_system__io_getPut_bits_res_T_2[63:0]; // @[riscv_isa.scala 906:21 907:11]
  wire  exe_stage_lsu_system__T_24 = exe_stage_lsu_system_io_enq_ready & exe_stage_lsu_system_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_system__T_28 = ~exe_stage_lsu_system__io_is_empty_T; // @[IO_Lsu.scala 85:11]
  wire  exe_stage_lsu_system__T_32 = ~exe_stage_lsu_system__io_getPut_valid_T; // @[IO_Lsu.scala 86:11]
  wire  exe_stage_lsu_system__T_33 = exe_stage_lsu_system_io_getPut_ready & exe_stage_lsu_system_io_getPut_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_system__T_34 = exe_stage_lsu_system_io_access_ready & exe_stage_lsu_system_io_access_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_system__T_35 = exe_stage_lsu_system__T_33 & exe_stage_lsu_system__T_34; // @[IO_Lsu.scala 89:31]
  wire  exe_stage_lsu_system__GEN_24 = exe_stage_lsu_system__T_34 ? 1'h0 : exe_stage_lsu_system_is_busy; // @[IO_Lsu.scala 96:32 98:13 45:27]
  wire  exe_stage_lsu_system__GEN_25 = exe_stage_lsu_system__T_34 ? 1'h0 : exe_stage_lsu_system_isTransing; // @[IO_Lsu.scala 96:32 99:16 46:27]
  wire  exe_stage_lsu_system__GEN_26 = exe_stage_lsu_system__T_33 | exe_stage_lsu_system__GEN_25; // @[IO_Lsu.scala 93:33 95:16]
  wire  exe_stage_lsu_system__GEN_27 = exe_stage_lsu_system__T_33 ? exe_stage_lsu_system_is_busy :
    exe_stage_lsu_system__GEN_24; // @[IO_Lsu.scala 45:27 93:33]
  wire  exe_stage_lsu_system__GEN_28 = exe_stage_lsu_system__T_35 ? 1'h0 : exe_stage_lsu_system__GEN_27; // @[IO_Lsu.scala 89:50 90:13]
  wire  exe_stage_lsu_system__GEN_74 = exe_stage_lsu_system__T_24 | exe_stage_lsu_system__GEN_28; // @[IO_Lsu.scala 84:23 88:13]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4 =
    exe_stage_lsu_system_io_access_bits_data >> exe_stage_lsu_system__io_getPut_bits_res_T_1; // @[Util.scala 147:26]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_2 = exe_stage_lsu_system_pending_fun_lbu |
    exe_stage_lsu_system_pending_fun_lhu; // @[riscv_isa.scala 158:20]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_3 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_2 | exe_stage_lsu_system_pending_fun_lwu; // @[riscv_isa.scala 158:26]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_4 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[7]; // @[Util.scala 120:90]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_5 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_4; // @[Util.scala 120:71]
  wire [55:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_7 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_5 ? 56'hffffffffffffff : 56'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_8 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[7:0]; // @[Util.scala 120:104]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_9 = {
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_7,exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_8}; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_14 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[15]; // @[Util.scala 121:90]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_15 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_14; // @[Util.scala 121:71]
  wire [47:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_17 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_15 ? 48'hffffffffffff : 48'h0; // @[Bitwise.scala 77:12]
  wire [15:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_18 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[15:0]; // @[Util.scala 121:104]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_19 = {
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_17,exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_18}
    ; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_37 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[31]; // @[Util.scala 122:90]
  wire  exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_38 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_37; // @[Util.scala 122:71]
  wire [31:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_40 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_38 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_41 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4[31:0]; // @[Util.scala 122:104]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_42 = {
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_40,exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_41}
    ; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_57 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_1
     ? exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_9 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_58 = exe_stage_lsu_system__io_getPut_bits_wstrb_T_3
     ? exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_19 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_59 =
    exe_stage_lsu_system__io_getPut_bits_wstrb_T_18 ? exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_42 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_60 =
    exe_stage_lsu_system__io_getPut_bits_wstrb_T_32 ?
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_align_align_data_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_61 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_57 |
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_58; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_62 =
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_61 |
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_59; // @[Mux.scala 27:73]
  wire  _GEN_426 = exe_stage_lsu_system__T_24 & exe_stage_lsu_system__T_22; // @[IO_Lsu.scala 85:11]
  wire  _GEN_428 = ~exe_stage_lsu_system__T_24; // @[IO_Lsu.scala 92:11]
  wire  _GEN_432 = _GEN_428 & ~exe_stage_lsu_system__T_35; // @[IO_Lsu.scala 94:11]
  wire  exe_stage_lsu_periph_clock;
  wire  exe_stage_lsu_periph_reset;
  wire  exe_stage_lsu_periph_io_enq_ready;
  wire  exe_stage_lsu_periph_io_enq_valid;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_periph_io_enq_bits_fun_fsd;
  wire  exe_stage_lsu_periph_io_deq_ready;
  wire  exe_stage_lsu_periph_io_deq_valid;
  wire [5:0] exe_stage_lsu_periph_io_deq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_periph_io_deq_bits_wb_res;
  wire  exe_stage_lsu_periph_io_deq_bits_is_load_amo;
  wire  exe_stage_lsu_periph_io_deq_bits_is_flw;
  wire  exe_stage_lsu_periph_io_deq_bits_is_fld;
  wire  exe_stage_lsu_periph_io_is_empty;
  wire  exe_stage_lsu_periph_io_getPut_ready;
  wire  exe_stage_lsu_periph_io_getPut_valid;
  wire [2:0] exe_stage_lsu_periph_io_getPut_bits_opcode;
  wire [2:0] exe_stage_lsu_periph_io_getPut_bits_param;
  wire [1:0] exe_stage_lsu_periph_io_getPut_bits_size;
  wire  exe_stage_lsu_periph_io_getPut_bits_source;
  wire [31:0] exe_stage_lsu_periph_io_getPut_bits_address;
  wire [7:0] exe_stage_lsu_periph_io_getPut_bits_mask;
  wire [63:0] exe_stage_lsu_periph_io_getPut_bits_data;
  wire  exe_stage_lsu_periph_io_getPut_bits_corrupt;
  wire  exe_stage_lsu_periph_io_access_ready;
  wire  exe_stage_lsu_periph_io_access_valid;
  wire [2:0] exe_stage_lsu_periph_io_access_bits_opcode;
  wire [63:0] exe_stage_lsu_periph_io_access_bits_data;
  reg  exe_stage_lsu_periph_is_busy; // @[IO_Lsu.scala 45:27]
  reg  exe_stage_lsu_periph_isTransing; // @[IO_Lsu.scala 46:27]
  reg  exe_stage_lsu_periph_pending_fun_lb; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lh; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_ld; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lbu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lhu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lwu; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sb; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sh; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sd; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lr_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sc_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoswap_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoadd_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoxor_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoand_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoor_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomin_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomax_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amominu_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomaxu_w; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_lr_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_sc_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoswap_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoadd_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoxor_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoand_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amoor_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomin_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomax_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amominu_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_amomaxu_d; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_flw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_fsw; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_fld; // @[IO_Lsu.scala 47:20]
  reg  exe_stage_lsu_periph_pending_fun_fsd; // @[IO_Lsu.scala 47:20]
  reg [5:0] exe_stage_lsu_periph_pending_param_rd0; // @[IO_Lsu.scala 47:20]
  reg [63:0] exe_stage_lsu_periph_pending_param_dat_op1; // @[IO_Lsu.scala 47:20]
  reg [63:0] exe_stage_lsu_periph_pending_param_dat_op2; // @[IO_Lsu.scala 47:20]
  wire  exe_stage_lsu_periph__io_is_empty_T = ~exe_stage_lsu_periph_is_busy; // @[IO_Lsu.scala 49:18]
  wire  exe_stage_lsu_periph__io_getPut_valid_T = ~exe_stage_lsu_periph_isTransing; // @[IO_Lsu.scala 51:32]
  wire  exe_stage_lsu_periph__T = exe_stage_lsu_periph_pending_fun_lb | exe_stage_lsu_periph_pending_fun_lh; // @[riscv_isa.scala 143:19]
  wire  exe_stage_lsu_periph__T_1 = exe_stage_lsu_periph__T | exe_stage_lsu_periph_pending_fun_lw; // @[riscv_isa.scala 143:24]
  wire  exe_stage_lsu_periph__T_2 = exe_stage_lsu_periph__T_1 | exe_stage_lsu_periph_pending_fun_ld; // @[riscv_isa.scala 143:29]
  wire  exe_stage_lsu_periph__T_3 = exe_stage_lsu_periph__T_2 | exe_stage_lsu_periph_pending_fun_lbu; // @[riscv_isa.scala 143:34]
  wire  exe_stage_lsu_periph__T_4 = exe_stage_lsu_periph__T_3 | exe_stage_lsu_periph_pending_fun_lhu; // @[riscv_isa.scala 143:40]
  wire  exe_stage_lsu_periph__T_5 = exe_stage_lsu_periph__T_4 | exe_stage_lsu_periph_pending_fun_lwu; // @[riscv_isa.scala 143:46]
  wire  exe_stage_lsu_periph__T_6 = exe_stage_lsu_periph__T_5 | exe_stage_lsu_periph_pending_fun_flw; // @[riscv_isa.scala 143:52]
  wire  exe_stage_lsu_periph__T_7 = exe_stage_lsu_periph__T_6 | exe_stage_lsu_periph_pending_fun_fld; // @[riscv_isa.scala 143:59]
  wire  exe_stage_lsu_periph__T_8 = exe_stage_lsu_periph_pending_fun_lr_d | exe_stage_lsu_periph_pending_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  exe_stage_lsu_periph__T_9 = exe_stage_lsu_periph__T_7 | exe_stage_lsu_periph__T_8; // @[riscv_isa.scala 143:65]
  wire  exe_stage_lsu_periph__T_11 = ~exe_stage_lsu_periph__T_8; // @[IO_Lsu.scala 55:31]
  wire  exe_stage_lsu_periph__T_12 = exe_stage_lsu_periph__T_9 & exe_stage_lsu_periph__T_11; // @[IO_Lsu.scala 55:29]
  wire [63:0] exe_stage_lsu_periph__io_getPut_bits_T = {{3'd0}, exe_stage_lsu_periph_pending_param_dat_op1[63:3]}; // @[IO_Lsu.scala 59:39]
  wire [66:0] exe_stage_lsu_periph__io_getPut_bits_T_1 = {exe_stage_lsu_periph__io_getPut_bits_T, 3'h0}; // @[IO_Lsu.scala 59:59]
  wire  exe_stage_lsu_periph__T_13 = exe_stage_lsu_periph_pending_fun_sb | exe_stage_lsu_periph_pending_fun_sh; // @[riscv_isa.scala 144:19]
  wire  exe_stage_lsu_periph__T_14 = exe_stage_lsu_periph__T_13 | exe_stage_lsu_periph_pending_fun_sw; // @[riscv_isa.scala 144:24]
  wire  exe_stage_lsu_periph__T_15 = exe_stage_lsu_periph__T_14 | exe_stage_lsu_periph_pending_fun_sd; // @[riscv_isa.scala 144:29]
  wire  exe_stage_lsu_periph__T_16 = exe_stage_lsu_periph__T_15 | exe_stage_lsu_periph_pending_fun_fsw; // @[riscv_isa.scala 144:34]
  wire  exe_stage_lsu_periph__T_17 = exe_stage_lsu_periph__T_16 | exe_stage_lsu_periph_pending_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  exe_stage_lsu_periph__T_18 = exe_stage_lsu_periph_pending_fun_sc_d | exe_stage_lsu_periph_pending_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu_periph__T_19 = ~exe_stage_lsu_periph__T_18; // @[IO_Lsu.scala 62:40]
  wire  exe_stage_lsu_periph__T_20 = exe_stage_lsu_periph__T_17 & exe_stage_lsu_periph__T_19; // @[IO_Lsu.scala 62:38]
  wire [2:0] exe_stage_lsu_periph__io_getPut_bits_res_T = exe_stage_lsu_periph_pending_param_dat_op1[2:0]; // @[riscv_isa.scala 907:38]
  wire [5:0] exe_stage_lsu_periph__io_getPut_bits_res_T_1 = {exe_stage_lsu_periph__io_getPut_bits_res_T, 3'h0}; // @[riscv_isa.scala 907:61]
  wire [126:0] _GEN_1030 = {{63'd0}, exe_stage_lsu_periph_pending_param_dat_op2}; // @[riscv_isa.scala 907:28]
  wire [126:0] exe_stage_lsu_periph__io_getPut_bits_res_T_2 = _GEN_1030 << exe_stage_lsu_periph__io_getPut_bits_res_T_1; // @[riscv_isa.scala 907:28]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T = exe_stage_lsu_periph_pending_fun_lb |
    exe_stage_lsu_periph_pending_fun_lbu; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_1 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T |
    exe_stage_lsu_periph_pending_fun_sb; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_2 = exe_stage_lsu_periph_pending_fun_lh |
    exe_stage_lsu_periph_pending_fun_lhu; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_3 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_2 |
    exe_stage_lsu_periph_pending_fun_sh; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_4 = exe_stage_lsu_periph_pending_fun_lw |
    exe_stage_lsu_periph_pending_fun_lwu; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_5 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_4 |
    exe_stage_lsu_periph_pending_fun_sw; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_6 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_5 |
    exe_stage_lsu_periph_pending_fun_amoswap_w; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_7 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_6 |
    exe_stage_lsu_periph_pending_fun_amoadd_w; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_8 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_7 |
    exe_stage_lsu_periph_pending_fun_amoxor_w; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_9 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_8 |
    exe_stage_lsu_periph_pending_fun_amoand_w; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_10 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_9 |
    exe_stage_lsu_periph_pending_fun_amoor_w; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_11 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_10 |
    exe_stage_lsu_periph_pending_fun_amomin_w; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_12 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_11 |
    exe_stage_lsu_periph_pending_fun_amomax_w; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_13 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_12 |
    exe_stage_lsu_periph_pending_fun_amominu_w; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_14 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_13 |
    exe_stage_lsu_periph_pending_fun_amomaxu_w; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_15 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_14 |
    exe_stage_lsu_periph_pending_fun_flw; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_16 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_15 |
    exe_stage_lsu_periph_pending_fun_fsw; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_17 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_16 |
    exe_stage_lsu_periph_pending_fun_lr_w; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_18 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_17 |
    exe_stage_lsu_periph_pending_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_19 = exe_stage_lsu_periph_pending_fun_ld |
    exe_stage_lsu_periph_pending_fun_lr_d; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_20 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_19 |
    exe_stage_lsu_periph_pending_fun_fld; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_21 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_20 |
    exe_stage_lsu_periph_pending_fun_sd; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_22 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_21 |
    exe_stage_lsu_periph_pending_fun_sc_d; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_23 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_22 |
    exe_stage_lsu_periph_pending_fun_fsd; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_24 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_23 |
    exe_stage_lsu_periph_pending_fun_amoswap_d; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_25 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_24 |
    exe_stage_lsu_periph_pending_fun_amoadd_d; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_26 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_25 |
    exe_stage_lsu_periph_pending_fun_amoxor_d; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_27 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_26 |
    exe_stage_lsu_periph_pending_fun_amoand_d; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_28 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_27 |
    exe_stage_lsu_periph_pending_fun_amoor_d; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_29 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_28 |
    exe_stage_lsu_periph_pending_fun_amomin_d; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_30 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_29 |
    exe_stage_lsu_periph_pending_fun_amomax_d; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_31 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_30 |
    exe_stage_lsu_periph_pending_fun_amominu_d; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu_periph__io_getPut_bits_wstrb_T_32 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_31 |
    exe_stage_lsu_periph_pending_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire [1:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_34 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_3 ? 2'h3 : 2'h0
    ; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_35 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_18 ? 4'hf : 4'h0
    ; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_36 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_32 ? 8'hff
     : 8'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_454 = {{1'd0}, exe_stage_lsu_periph__io_getPut_bits_wstrb_T_1}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_37 = _GEN_454 |
    exe_stage_lsu_periph__io_getPut_bits_wstrb_T_34; // @[Mux.scala 27:73]
  wire [3:0] _GEN_455 = {{2'd0}, exe_stage_lsu_periph__io_getPut_bits_wstrb_T_37}; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_38 = _GEN_455 |
    exe_stage_lsu_periph__io_getPut_bits_wstrb_T_35; // @[Mux.scala 27:73]
  wire [7:0] _GEN_456 = {{4'd0}, exe_stage_lsu_periph__io_getPut_bits_wstrb_T_38}; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_39 = _GEN_456 |
    exe_stage_lsu_periph__io_getPut_bits_wstrb_T_36; // @[Mux.scala 27:73]
  wire [14:0] _GEN_1031 = {{7'd0}, exe_stage_lsu_periph__io_getPut_bits_wstrb_T_39}; // @[riscv_isa.scala 916:10]
  wire [14:0] exe_stage_lsu_periph__io_getPut_bits_wstrb_T_41 = _GEN_1031 << exe_stage_lsu_periph__io_getPut_bits_res_T; // @[riscv_isa.scala 916:10]
  wire  exe_stage_lsu_periph__T_22 = ~exe_stage_lsu_periph_reset; // @[IO_Lsu.scala 73:15]
  wire [31:0] exe_stage_lsu_periph_io_getPut_bits_a_1_address = exe_stage_lsu_periph__io_getPut_bits_T_1[31:0]; // @[Edges.scala 483:17 488:15]
  wire [7:0] exe_stage_lsu_periph_io_getPut_bits_wstrb = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_41[7:0]; // @[riscv_isa.scala 912:21 913:11]
  wire [63:0] exe_stage_lsu_periph_io_getPut_bits_res = exe_stage_lsu_periph__io_getPut_bits_res_T_2[63:0]; // @[riscv_isa.scala 906:21 907:11]
  wire  exe_stage_lsu_periph__T_24 = exe_stage_lsu_periph_io_enq_ready & exe_stage_lsu_periph_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_periph__T_28 = ~exe_stage_lsu_periph__io_is_empty_T; // @[IO_Lsu.scala 85:11]
  wire  exe_stage_lsu_periph__T_32 = ~exe_stage_lsu_periph__io_getPut_valid_T; // @[IO_Lsu.scala 86:11]
  wire  exe_stage_lsu_periph__T_33 = exe_stage_lsu_periph_io_getPut_ready & exe_stage_lsu_periph_io_getPut_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_periph__T_34 = exe_stage_lsu_periph_io_access_ready & exe_stage_lsu_periph_io_access_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_periph__T_35 = exe_stage_lsu_periph__T_33 & exe_stage_lsu_periph__T_34; // @[IO_Lsu.scala 89:31]
  wire  exe_stage_lsu_periph__GEN_24 = exe_stage_lsu_periph__T_34 ? 1'h0 : exe_stage_lsu_periph_is_busy; // @[IO_Lsu.scala 96:32 98:13 45:27]
  wire  exe_stage_lsu_periph__GEN_25 = exe_stage_lsu_periph__T_34 ? 1'h0 : exe_stage_lsu_periph_isTransing; // @[IO_Lsu.scala 96:32 99:16 46:27]
  wire  exe_stage_lsu_periph__GEN_26 = exe_stage_lsu_periph__T_33 | exe_stage_lsu_periph__GEN_25; // @[IO_Lsu.scala 93:33 95:16]
  wire  exe_stage_lsu_periph__GEN_27 = exe_stage_lsu_periph__T_33 ? exe_stage_lsu_periph_is_busy :
    exe_stage_lsu_periph__GEN_24; // @[IO_Lsu.scala 45:27 93:33]
  wire  exe_stage_lsu_periph__GEN_28 = exe_stage_lsu_periph__T_35 ? 1'h0 : exe_stage_lsu_periph__GEN_27; // @[IO_Lsu.scala 89:50 90:13]
  wire  exe_stage_lsu_periph__GEN_74 = exe_stage_lsu_periph__T_24 | exe_stage_lsu_periph__GEN_28; // @[IO_Lsu.scala 84:23 88:13]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4 =
    exe_stage_lsu_periph_io_access_bits_data >> exe_stage_lsu_periph__io_getPut_bits_res_T_1; // @[Util.scala 147:26]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_2 = exe_stage_lsu_periph_pending_fun_lbu |
    exe_stage_lsu_periph_pending_fun_lhu; // @[riscv_isa.scala 158:20]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_3 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_2 | exe_stage_lsu_periph_pending_fun_lwu; // @[riscv_isa.scala 158:26]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_4 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[7]; // @[Util.scala 120:90]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_5 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_4; // @[Util.scala 120:71]
  wire [55:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_7 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_5 ? 56'hffffffffffffff : 56'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_8 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[7:0]; // @[Util.scala 120:104]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_9 = {
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_7,exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_8}; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_14 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[15]; // @[Util.scala 121:90]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_15 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_14; // @[Util.scala 121:71]
  wire [47:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_17 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_15 ? 48'hffffffffffff : 48'h0; // @[Bitwise.scala 77:12]
  wire [15:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_18 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[15:0]; // @[Util.scala 121:104]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_19 = {
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_17,exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_18}
    ; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_37 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[31]; // @[Util.scala 122:90]
  wire  exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_38 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_37; // @[Util.scala 122:71]
  wire [31:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_40 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_38 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_41 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4[31:0]; // @[Util.scala 122:104]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_42 = {
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_40,exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_41}
    ; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_57 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_1
     ? exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_9 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_58 = exe_stage_lsu_periph__io_getPut_bits_wstrb_T_3
     ? exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_19 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_59 =
    exe_stage_lsu_periph__io_getPut_bits_wstrb_T_18 ? exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_42 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_60 =
    exe_stage_lsu_periph__io_getPut_bits_wstrb_T_32 ?
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_align_align_data_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_61 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_57 |
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_58; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_62 =
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_61 |
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_59; // @[Mux.scala 27:73]
  wire  _GEN_465 = exe_stage_lsu_periph__T_24 & exe_stage_lsu_periph__T_22; // @[IO_Lsu.scala 85:11]
  wire  _GEN_467 = ~exe_stage_lsu_periph__T_24; // @[IO_Lsu.scala 92:11]
  wire  _GEN_471 = _GEN_467 & ~exe_stage_lsu_periph__T_35; // @[IO_Lsu.scala 94:11]
  wire  exe_stage_lsu_cache_0_clock;
  wire  exe_stage_lsu_cache_0_reset;
  wire  exe_stage_lsu_cache_0_io_enq_ready;
  wire  exe_stage_lsu_cache_0_io_enq_valid;
  wire [31:0] exe_stage_lsu_cache_0_io_enq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_io_enq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_io_enq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_io_enq_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_cache_0_io_enq_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_io_deq_ready;
  wire  exe_stage_lsu_cache_0_io_deq_valid;
  wire  exe_stage_lsu_cache_0_io_deq_bits_chkIdx;
  wire [5:0] exe_stage_lsu_cache_0_io_deq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_cache_0_io_deq_bits_wb_res;
  wire  exe_stage_lsu_cache_0_io_deq_bits_is_load_amo;
  wire  exe_stage_lsu_cache_0_io_deq_bits_is_flw;
  wire  exe_stage_lsu_cache_0_io_deq_bits_is_fld;
  wire  exe_stage_lsu_cache_0_io_is_empty;
  wire  exe_stage_lsu_cache_0_io_flush;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_ready;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_valid;
  wire [2:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_param;
  wire [2:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_size;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_source;
  wire [31:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_address;
  wire [7:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_mask;
  wire [63:0] exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_data;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_corrupt;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_grant_ready;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_grant_valid;
  wire [2:0] exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_size;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_source;
  wire [4:0] exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_sink;
  wire [63:0] exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_data;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_ready;
  wire  exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_valid;
  wire [4:0] exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_bits_sink;
  wire  exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_ready;
  wire  exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_valid;
  wire [31:0] exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_bits_address;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_ready;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_valid;
  wire [2:0] exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_param;
  wire [2:0] exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_size;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_source;
  wire [31:0] exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_address;
  wire [63:0] exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_data;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_corrupt;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_ready;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_valid;
  wire  exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_bits_source;
  wire  exe_stage_lsu_cache_0_missUnit_clock;
  wire  exe_stage_lsu_cache_0_missUnit_reset;
  wire  exe_stage_lsu_cache_0_missUnit_io_req_valid;
  wire [31:0] exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr;
  wire  exe_stage_lsu_cache_0_missUnit_io_rsp_ready;
  wire  exe_stage_lsu_cache_0_missUnit_io_rsp_valid;
  wire [31:0] exe_stage_lsu_cache_0_missUnit_io_rsp_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_missUnit_io_rsp_bits_wdata;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_acquire_ready;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_acquire_valid;
  wire [2:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_param;
  wire [2:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_size;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_source;
  wire [31:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_address;
  wire [7:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_mask;
  wire [63:0] exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_data;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_corrupt;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_grant_ready;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_grant_valid;
  wire [2:0] exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_size;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_source;
  wire [4:0] exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_sink;
  wire [63:0] exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_data;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_ready;
  wire  exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_valid;
  wire [4:0] exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_bits_sink;
  wire  exe_stage_lsu_cache_0_missUnit_io_miss_ban;
  wire  exe_stage_lsu_cache_0_missUnit_io_release_ban;
  reg [31:0] exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr; // @[MissUnit.scala 56:27]
  reg [31:0] exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr; // @[MissUnit.scala 56:27]
  reg  exe_stage_lsu_cache_0_missUnit_miss_valid_0; // @[MissUnit.scala 59:27]
  reg  exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 59:27]
  reg [63:0] exe_stage_lsu_cache_0_missUnit_miss_rsp_0; // @[MissUnit.scala 62:25]
  reg [63:0] exe_stage_lsu_cache_0_missUnit_miss_rsp_1; // @[MissUnit.scala 62:25]
  reg [2:0] exe_stage_lsu_cache_0_missUnit_mshr_state_qout; // @[MissUnit.scala 65:32]
  wire  exe_stage_lsu_cache_0_missUnit__T = exe_stage_lsu_cache_0_missUnit_io_cache_grant_ready &
    exe_stage_lsu_cache_0_missUnit_io_cache_grant_valid; // @[Decoupled.scala 52:35]
  wire [10:0] exe_stage_lsu_cache_0_missUnit__beats1_decode_T_1 = 11'hf <<
    exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_size; // @[package.scala 234:77]
  wire [3:0] exe_stage_lsu_cache_0_missUnit__beats1_decode_T_2 = exe_stage_lsu_cache_0_missUnit__beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] exe_stage_lsu_cache_0_missUnit__beats1_decode_T_3 = ~exe_stage_lsu_cache_0_missUnit__beats1_decode_T_2; // @[package.scala 234:46]
  wire  exe_stage_lsu_cache_0_missUnit_beats1_decode = exe_stage_lsu_cache_0_missUnit__beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  exe_stage_lsu_cache_0_missUnit_beats1_opdata = exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  exe_stage_lsu_cache_0_missUnit_beats1 = exe_stage_lsu_cache_0_missUnit_beats1_opdata &
    exe_stage_lsu_cache_0_missUnit_beats1_decode; // @[Edges.scala 220:14]
  reg  exe_stage_lsu_cache_0_missUnit_counter; // @[Edges.scala 228:27]
  wire  exe_stage_lsu_cache_0_missUnit_counter1 = exe_stage_lsu_cache_0_missUnit_counter - 1'h1; // @[Edges.scala 229:28]
  wire  exe_stage_lsu_cache_0_missUnit_first = ~exe_stage_lsu_cache_0_missUnit_counter; // @[Edges.scala 230:25]
  wire  exe_stage_lsu_cache_0_missUnit__last_T_1 = ~exe_stage_lsu_cache_0_missUnit_beats1; // @[Edges.scala 231:47]
  wire  exe_stage_lsu_cache_0_missUnit_last = exe_stage_lsu_cache_0_missUnit_counter |
    exe_stage_lsu_cache_0_missUnit__last_T_1; // @[Edges.scala 231:37]
  wire  exe_stage_lsu_cache_0_missUnit_is_trans_done = exe_stage_lsu_cache_0_missUnit_last &
    exe_stage_lsu_cache_0_missUnit__T; // @[Edges.scala 232:22]
  wire  exe_stage_lsu_cache_0_missUnit__count_T = ~exe_stage_lsu_cache_0_missUnit_counter1; // @[Edges.scala 233:27]
  wire  exe_stage_lsu_cache_0_missUnit_transCnt = exe_stage_lsu_cache_0_missUnit_beats1 &
    exe_stage_lsu_cache_0_missUnit__count_T; // @[Edges.scala 233:25]
  wire  exe_stage_lsu_cache_0_missUnit_acquire_sel_sel = exe_stage_lsu_cache_0_missUnit_miss_valid_0 ? 1'h0 : 1'h1; // @[MissUnit.scala 75:36]
  wire  exe_stage_lsu_cache_0_missUnit__acquire_sel_T = exe_stage_lsu_cache_0_missUnit_mshr_state_qout == 3'h0; // @[MissUnit.scala 76:26]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_4 = exe_stage_lsu_cache_0_missUnit_miss_valid_0 |
    exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 103:59]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_5 = ~exe_stage_lsu_cache_0_missUnit_io_miss_ban; // @[MissUnit.scala 103:70]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_6 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_4 &
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_5; // @[MissUnit.scala 103:68]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_16 = exe_stage_lsu_cache_0_missUnit__acquire_sel_T &
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_6; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_8 = exe_stage_lsu_cache_0_missUnit_mshr_state_qout == 3'h1; // @[MissUnit.scala 104:24]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_9 = exe_stage_lsu_cache_0_missUnit_io_cache_acquire_ready &
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_valid; // @[Decoupled.scala 52:35]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_10 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_9
     ? 2'h2 : 2'h1; // @[MissUnit.scala 104:39]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_17 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_8
     ? exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_10 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_491 = {{1'd0}, exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_16}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_20 = _GEN_491 |
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_17; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11 = exe_stage_lsu_cache_0_missUnit_mshr_state_qout == 3'h2; // @[MissUnit.scala 105:24]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_12 = exe_stage_lsu_cache_0_missUnit_is_trans_done ? 2'h3
     : 2'h2; // @[MissUnit.scala 105:39]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_18 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11
     ? exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_12 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_21 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_20
     | exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_18; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_13 = exe_stage_lsu_cache_0_missUnit_mshr_state_qout == 3'h3; // @[MissUnit.scala 106:24]
  wire  exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 = exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_ready &
    exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_valid; // @[Decoupled.scala 52:35]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_15 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14
     ? 2'h0 : 2'h3; // @[MissUnit.scala 106:39]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_19 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_13
     ? exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_15 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_22 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_21
     | exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_19; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_missUnit_mshr_state_dnxt = {{1'd0},
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_22}; // @[MissUnit.scala 101:19 64:29]
  wire  exe_stage_lsu_cache_0_missUnit__acquire_sel_T_2 = exe_stage_lsu_cache_0_missUnit_mshr_state_dnxt == 3'h1; // @[MissUnit.scala 76:97]
  wire  exe_stage_lsu_cache_0_missUnit__acquire_sel_T_3 = exe_stage_lsu_cache_0_missUnit__acquire_sel_T &
    exe_stage_lsu_cache_0_missUnit__acquire_sel_T_2; // @[MissUnit.scala 76:79]
  reg  exe_stage_lsu_cache_0_missUnit_acquire_sel_r; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_missUnit_acquire_sel = exe_stage_lsu_cache_0_missUnit__acquire_sel_T ?
    exe_stage_lsu_cache_0_missUnit_acquire_sel_sel : exe_stage_lsu_cache_0_missUnit_acquire_sel_r; // @[MissUnit.scala 76:8]
  reg  exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild; // @[MissUnit.scala 81:37]
  reg  exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid; // @[MissUnit.scala 87:37]
  reg  exe_stage_lsu_cache_0_missUnit_rsp_valid; // @[MissUnit.scala 90:26]
  reg [4:0] exe_stage_lsu_cache_0_missUnit_cache_grant_reg_sink; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_missUnit__T_3 = exe_stage_lsu_cache_0_missUnit__T &
    exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_source; // @[MissUnit.scala 93:33]
  wire  exe_stage_lsu_cache_0_missUnit__T_4 = ~exe_stage_lsu_cache_0_missUnit__T_3; // @[MissUnit.scala 93:11]
  wire  exe_stage_lsu_cache_0_missUnit__T_6 = ~exe_stage_lsu_cache_0_missUnit_reset; // @[MissUnit.scala 93:9]
  wire  exe_stage_lsu_cache_0_missUnit__T_7 = ~exe_stage_lsu_cache_0_missUnit__T_4; // @[MissUnit.scala 93:9]
  wire  exe_stage_lsu_cache_0_missUnit__T_15 = ~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_8; // @[MissUnit.scala 113:11]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_10 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_9 ? 1'h0 :
    exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild; // @[MissUnit.scala 111:40 112:25 81:37]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_11 = exe_stage_lsu_cache_0_missUnit__acquire_sel_T_3 |
    exe_stage_lsu_cache_0_missUnit__GEN_10; // @[MissUnit.scala 109:61 110:25]
  wire [31:0] exe_stage_lsu_cache_0_missUnit__GEN_13 = exe_stage_lsu_cache_0_missUnit_acquire_sel ?
    exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr : exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr; // @[MissUnit.scala 130:{49,49}]
  wire [38:0] _GEN_492 = {{7'd0}, exe_stage_lsu_cache_0_missUnit__GEN_13}; // @[MissUnit.scala 130:49]
  wire [38:0] exe_stage_lsu_cache_0_missUnit__io_cache_acquire_bits_T_1 = _GEN_492 & 39'hffffffff0; // @[MissUnit.scala 130:49]
  wire  exe_stage_lsu_cache_0_missUnit__T_20 = ~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11; // @[MissUnit.scala 142:11]
  wire  exe_stage_lsu_cache_0_missUnit__T_21 = exe_stage_lsu_cache_0_missUnit_mshr_state_dnxt == 3'h3; // @[MissUnit.scala 145:25]
  wire  exe_stage_lsu_cache_0_missUnit__T_23 = exe_stage_lsu_cache_0_missUnit__T_21 &
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11; // @[MissUnit.scala 145:33]
  wire  exe_stage_lsu_cache_0_missUnit__T_24 = exe_stage_lsu_cache_0_missUnit_io_rsp_ready &
    exe_stage_lsu_cache_0_missUnit_io_rsp_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_missUnit__T_28 = ~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_13; // @[MissUnit.scala 150:11]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_18 = ~exe_stage_lsu_cache_0_missUnit_acquire_sel ? 1'h0 :
    exe_stage_lsu_cache_0_missUnit_miss_valid_0; // @[MissUnit.scala 153:{31,31} 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_19 = exe_stage_lsu_cache_0_missUnit_acquire_sel ? 1'h0 :
    exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 153:{31,31} 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_20 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 ? 1'h0 :
    exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid; // @[MissUnit.scala 151:41 152:26 87:37]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_21 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 ?
    exe_stage_lsu_cache_0_missUnit__GEN_18 : exe_stage_lsu_cache_0_missUnit_miss_valid_0; // @[MissUnit.scala 151:41 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_22 = exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 ?
    exe_stage_lsu_cache_0_missUnit__GEN_19 : exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 151:41 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_23 = exe_stage_lsu_cache_0_missUnit__T_24 ? 1'h0 :
    exe_stage_lsu_cache_0_missUnit_rsp_valid; // @[MissUnit.scala 147:28 148:15 90:26]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_24 = exe_stage_lsu_cache_0_missUnit__T_24 |
    exe_stage_lsu_cache_0_missUnit__GEN_20; // @[MissUnit.scala 147:28 149:26]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_25 = exe_stage_lsu_cache_0_missUnit__T_24 ?
    exe_stage_lsu_cache_0_missUnit_miss_valid_0 : exe_stage_lsu_cache_0_missUnit__GEN_21; // @[MissUnit.scala 147:28 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_26 = exe_stage_lsu_cache_0_missUnit__T_24 ?
    exe_stage_lsu_cache_0_missUnit_miss_valid_1 : exe_stage_lsu_cache_0_missUnit__GEN_22; // @[MissUnit.scala 147:28 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_27 = exe_stage_lsu_cache_0_missUnit__T_23 |
    exe_stage_lsu_cache_0_missUnit__GEN_23; // @[MissUnit.scala 145:61 146:15]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_29 = exe_stage_lsu_cache_0_missUnit__T_23 ?
    exe_stage_lsu_cache_0_missUnit_miss_valid_0 : exe_stage_lsu_cache_0_missUnit__GEN_25; // @[MissUnit.scala 145:61 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_30 = exe_stage_lsu_cache_0_missUnit__T_23 ?
    exe_stage_lsu_cache_0_missUnit_miss_valid_1 : exe_stage_lsu_cache_0_missUnit__GEN_26; // @[MissUnit.scala 145:61 59:27]
  wire  exe_stage_lsu_cache_0_missUnit__io_release_ban_T = exe_stage_lsu_cache_0_missUnit_mshr_state_dnxt == 3'h2; // @[MissUnit.scala 161:37]
  wire  exe_stage_lsu_cache_0_missUnit_is_missQueue_full = exe_stage_lsu_cache_0_missUnit_miss_valid_0 &
    exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 167:44]
  wire  exe_stage_lsu_cache_0_missUnit__load_sel_T = ~exe_stage_lsu_cache_0_missUnit_miss_valid_0; // @[MissUnit.scala 170:56]
  wire  exe_stage_lsu_cache_0_missUnit_load_sel = exe_stage_lsu_cache_0_missUnit__load_sel_T ? 1'h0 : 1'h1; // @[MissUnit.scala 170:39]
  wire  exe_stage_lsu_cache_0_missUnit__is_merge_T = exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr ==
    exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr; // @[MissUnit.scala 178:28]
  wire  exe_stage_lsu_cache_0_missUnit__is_merge_T_2 = exe_stage_lsu_cache_0_missUnit__is_merge_T &
    exe_stage_lsu_cache_0_missUnit_miss_valid_0; // @[MissUnit.scala 178:51]
  wire  exe_stage_lsu_cache_0_missUnit__is_merge_T_3 = exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr ==
    exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr; // @[MissUnit.scala 178:28]
  wire  exe_stage_lsu_cache_0_missUnit__is_merge_T_5 = exe_stage_lsu_cache_0_missUnit__is_merge_T_3 &
    exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 178:51]
  wire  exe_stage_lsu_cache_0_missUnit_is_merge = exe_stage_lsu_cache_0_missUnit__is_merge_T_2 |
    exe_stage_lsu_cache_0_missUnit__is_merge_T_5; // @[MissUnit.scala 180:13]
  wire  exe_stage_lsu_cache_0_missUnit__T_34 = ~exe_stage_lsu_cache_0_missUnit_is_merge; // @[MissUnit.scala 184:11]
  wire  exe_stage_lsu_cache_0_missUnit__T_35 = ~exe_stage_lsu_cache_0_missUnit_is_missQueue_full; // @[MissUnit.scala 184:23]
  wire  exe_stage_lsu_cache_0_missUnit__T_36 = exe_stage_lsu_cache_0_missUnit__T_34 &
    exe_stage_lsu_cache_0_missUnit__T_35; // @[MissUnit.scala 184:21]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_33 = ~exe_stage_lsu_cache_0_missUnit_load_sel |
    exe_stage_lsu_cache_0_missUnit__GEN_29; // @[MissUnit.scala 186:{28,28}]
  wire  exe_stage_lsu_cache_0_missUnit__GEN_34 = exe_stage_lsu_cache_0_missUnit_load_sel |
    exe_stage_lsu_cache_0_missUnit__GEN_30; // @[MissUnit.scala 186:{28,28}]
  wire  exe_stage_lsu_cache_0_missUnit__T_38 = ~exe_stage_lsu_cache_0_missUnit_miss_valid_1; // @[MissUnit.scala 194:40]
  wire  exe_stage_lsu_cache_0_missUnit__T_40 = exe_stage_lsu_cache_0_missUnit__load_sel_T |
    exe_stage_lsu_cache_0_missUnit__T_38; // @[MissUnit.scala 194:24]
  wire  exe_stage_lsu_cache_0_missUnit__T_48 = exe_stage_lsu_cache_0_missUnit__T_40 |
    exe_stage_lsu_cache_0_missUnit_is_merge; // @[MissUnit.scala 194:54]
  wire  exe_stage_lsu_cache_0_missUnit__T_51 = ~exe_stage_lsu_cache_0_missUnit__T_48; // @[MissUnit.scala 193:11]
  wire  _GEN_500 = ~exe_stage_lsu_cache_0_missUnit__T_23; // @[MissUnit.scala 150:11]
  wire  exe_stage_lsu_cache_0_probeUnit_clock;
  wire  exe_stage_lsu_cache_0_probeUnit_reset;
  wire  exe_stage_lsu_cache_0_probeUnit_io_cache_probe_ready;
  wire  exe_stage_lsu_cache_0_probeUnit_io_cache_probe_valid;
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_io_cache_probe_bits_address;
  wire  exe_stage_lsu_cache_0_probeUnit_io_req_ready;
  wire  exe_stage_lsu_cache_0_probeUnit_io_req_valid;
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_io_req_bits_paddr;
  wire  exe_stage_lsu_cache_0_probeUnit_io_probeBan;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_clock;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_reset;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_ready;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_valid;
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_bits;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_ready;
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_valid;
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_bits;
  reg [31:0] exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_clock;
  reg  exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo__empty_T = ~exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo__do_enq_T = exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo__do_deq_T = exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_ready
     & exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_probeUnit_probe_fifo__T = exe_stage_lsu_cache_0_probeUnit_probe_fifo__do_enq_T !=
    exe_stage_lsu_cache_0_probeUnit_probe_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_cache_0_probeUnit__io_req_valid_T = ~exe_stage_lsu_cache_0_probeUnit_io_probeBan; // @[ProbeUnit.scala 54:45]
  wire  exe_stage_lsu_cache_0_writeBackUnit_clock;
  wire  exe_stage_lsu_cache_0_writeBackUnit_reset;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_valid;
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_data;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_releaseData;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_release;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probe;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probeData;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_ready;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_valid;
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_opcode;
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_param;
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_size;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_source;
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_address;
  wire [63:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_data;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_corrupt;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_valid;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_bits_source;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_release_ban;
  wire  exe_stage_lsu_cache_0_writeBackUnit_io_miss_ban;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_reset;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_ready;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_valid;
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_data;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_releaseData;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_release;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probe;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probeData;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_ready;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_valid;
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_data;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe;
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData;
  reg [31:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_clock;
  reg [127:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_clock;
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_clock;
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_clock;
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_clock;
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_clock;
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ptr_match =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value ==
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__empty_T = ~exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ptr_match &
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__empty_T; // @[Decoupled.scala 280:25]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_full = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ptr_match &
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full; // @[Decoupled.scala 281:24]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_deq_T = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_ready
     & exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__value_T_1 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_ready
     ? 1'h0 : exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_25 = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ?
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 : exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__value_T_3 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_24 = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? 1'h0
     : exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__T = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_25 !=
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_24; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__io_deq_valid_T = ~exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty
    ; // @[Decoupled.scala 304:19]
  reg [1:0] exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout; // @[wrtieBackUnit.scala 70:30]
  wire  exe_stage_lsu_cache_0_writeBackUnit__is_release_done_T =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_ready &
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_valid; // @[Decoupled.scala 52:35]
  wire [10:0] exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_1 = 11'hf <<
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_size; // @[package.scala 234:77]
  wire [3:0] exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_2 =
    exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_3 = ~
    exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_2; // @[package.scala 234:46]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1_decode =
    exe_stage_lsu_cache_0_writeBackUnit__is_release_done_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1_opdata =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1 =
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1_opdata &
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1_decode; // @[Edges.scala 220:14]
  reg  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter; // @[Edges.scala 228:27]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter1 =
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter - 1'h1; // @[Edges.scala 229:28]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_first = ~
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter; // @[Edges.scala 230:25]
  wire  exe_stage_lsu_cache_0_writeBackUnit__is_release_done_last_T_1 = ~
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1; // @[Edges.scala 231:47]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_last =
    exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter |
    exe_stage_lsu_cache_0_writeBackUnit__is_release_done_last_T_1; // @[Edges.scala 231:37]
  wire  exe_stage_lsu_cache_0_writeBackUnit_is_release_done = exe_stage_lsu_cache_0_writeBackUnit_is_release_done_last
     & exe_stage_lsu_cache_0_writeBackUnit__is_release_done_T; // @[Edges.scala 232:22]
  reg  exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid; // @[wrtieBackUnit.scala 76:36]
  reg  exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready; // @[wrtieBackUnit.scala 79:36]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T = exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout == 2'h0
    ; // @[wrtieBackUnit.scala 87:22]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_1 = ~exe_stage_lsu_cache_0_writeBackUnit_io_release_ban; // @[wrtieBackUnit.scala 89:12]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_2 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release |
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData; // @[wrtieBackUnit.scala 89:63]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_3 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_1
     & exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_2; // @[wrtieBackUnit.scala 89:28]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_4 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe |
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData; // @[wrtieBackUnit.scala 90:42]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_5 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_3
     | exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_4; // @[wrtieBackUnit.scala 89:103]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_6 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_valid & exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_5; // @[wrtieBackUnit.scala 88:30]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_8 = exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout == 2'h1
    ; // @[wrtieBackUnit.scala 93:22]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_9 = ~exe_stage_lsu_cache_0_writeBackUnit_is_release_done; // @[wrtieBackUnit.scala 94:13]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_10 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData |
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe; // @[wrtieBackUnit.scala 95:49]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_11 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_10 ? 2'h0 : 2'h2; // @[wrtieBackUnit.scala 95:14]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_12 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_9 ? 2'h1 :
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_11; // @[wrtieBackUnit.scala 94:12]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13 = exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout == 2'h2
    ; // @[wrtieBackUnit.scala 96:22]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_14 =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready & exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_valid; // @[Decoupled.scala 52:35]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_15 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_14 ? 2'h0 : 2'h2; // @[wrtieBackUnit.scala 96:37]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_16 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T
     & exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_6; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_17 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_8 ? exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_12 : 2'h0
    ; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_18 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13 ? exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_15 : 2'h0
    ; // @[Mux.scala 27:73]
  wire [1:0] _GEN_515 = {{1'd0}, exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_16}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_19 = _GEN_515 |
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_17; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_20 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_19 | exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_18; // @[Mux.scala 27:73]
  reg  exe_stage_lsu_cache_0_writeBackUnit_beatCnt; // @[wrtieBackUnit.scala 100:24]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_1 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_20 == 2'h1; // @[wrtieBackUnit.scala 101:47]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_2 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T &
    exe_stage_lsu_cache_0_writeBackUnit__T_1; // @[wrtieBackUnit.scala 101:31]
  wire  exe_stage_lsu_cache_0_writeBackUnit__beatCnt_T_1 = exe_stage_lsu_cache_0_writeBackUnit_beatCnt + 1'h1; // @[wrtieBackUnit.scala 102:59]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_6 = ~exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_valid; // @[wrtieBackUnit.scala 106:16]
  wire  exe_stage_lsu_cache_0_writeBackUnit__GEN_3 = exe_stage_lsu_cache_0_writeBackUnit__T_6 |
    exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid; // @[wrtieBackUnit.scala 106:{42,64} 76:36]
  wire [38:0] _GEN_516 = {{7'd0}, exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_paddr}; // @[wrtieBackUnit.scala 123:45]
  wire [38:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probe_T_1 = _GEN_516 & 39'hffffffff0; // @[wrtieBackUnit.scala 123:45]
  wire [6:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probeData_T_2 = {
    exe_stage_lsu_cache_0_writeBackUnit_beatCnt, 6'h0}; // @[wrtieBackUnit.scala 133:51]
  wire [127:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probeData_T_3 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_data >>
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probeData_T_2; // @[wrtieBackUnit.scala 133:39]
  wire [63:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probeData_data =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probeData_T_3[63:0]; // @[Edges.scala 422:17 428:15]
  wire [63:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_8 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probeData_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_10 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probeData_data : 64'h0; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probe_address =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_info_probe_T_1[31:0]; // @[Edges.scala 407:17 412:15]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_14 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probe_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_15 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probe_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_16 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probe_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_17 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData ?
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_info_probe_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_18 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_14 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_15; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_19 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_18 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_16; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_28 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_29 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_30 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_31 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_32 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_28 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_29; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_33 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_32 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_30; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_35 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_36 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_37 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_38 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_39 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_35 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_36; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_40 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_39 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_37; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_43 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData ? 3'h5 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_44 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release ? 3'h6 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_45 =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData ? 3'h7 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_46 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_28 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_43; // @[Mux.scala 27:73]
  wire [2:0] exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_47 =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_46 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_44; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_7 = ~exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready; // @[wrtieBackUnit.scala 160:32]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_8 = exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_valid &
    exe_stage_lsu_cache_0_writeBackUnit__T_7; // @[wrtieBackUnit.scala 160:30]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_11 = ~exe_stage_lsu_cache_0_writeBackUnit_reset; // @[wrtieBackUnit.scala 162:11]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_12 = ~exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13; // @[wrtieBackUnit.scala 162:11]
  wire  exe_stage_lsu_cache_0_writeBackUnit__GEN_6 = exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready ? 1'h0 :
    exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready; // @[wrtieBackUnit.scala 163:39 164:23 79:36]
  wire  exe_stage_lsu_cache_0_writeBackUnit__GEN_7 = exe_stage_lsu_cache_0_writeBackUnit__T_8 |
    exe_stage_lsu_cache_0_writeBackUnit__GEN_6; // @[wrtieBackUnit.scala 160:56 161:23]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_19 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_14 &
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_bits_source; // @[wrtieBackUnit.scala 167:33]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_20 = ~exe_stage_lsu_cache_0_writeBackUnit__T_19; // @[wrtieBackUnit.scala 167:11]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_23 = ~exe_stage_lsu_cache_0_writeBackUnit__T_20; // @[wrtieBackUnit.scala 167:9]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_fifo_io_deq_ready_T = exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout
     != 2'h0; // @[wrtieBackUnit.scala 169:19]
  wire  exe_stage_lsu_cache_0_writeBackUnit__wb_fifo_io_deq_ready_T_1 =
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_20 == 2'h0; // @[wrtieBackUnit.scala 169:43]
  wire  exe_stage_lsu_cache_0_writeBackUnit__io_miss_ban_T_2 = exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_8 |
    exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13; // @[wrtieBackUnit.scala 171:40]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_24 = ~exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_ready; // @[wrtieBackUnit.scala 175:9]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_25 = ~exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_valid; // @[wrtieBackUnit.scala 176:12]
  wire  exe_stage_lsu_cache_0_writeBackUnit__T_28 = ~exe_stage_lsu_cache_0_writeBackUnit__T_25; // @[wrtieBackUnit.scala 176:11]
  wire  exe_stage_lsu_cache_0_lsEntry_clock;
  wire  exe_stage_lsu_cache_0_lsEntry_reset;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_ready;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_valid;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_lsEntry_io_enq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_lsEntry_io_enq_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_ready;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_valid;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_lsEntry_io_deq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_lsEntry_io_deq_bits_rd_rd0;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_clock;
  reg [31:0] exe_stage_lsu_cache_0_lsEntry_ram_paddr [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_paddr_clock;
  reg [127:0] exe_stage_lsu_cache_0_lsEntry_ram_wdata [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wdata_clock;
  reg [15:0] exe_stage_lsu_cache_0_lsEntry_ram_wstrb [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [15:0] exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [15:0] exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_wstrb_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_clock;
  reg [5:0] exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0 [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_clock;
  reg  exe_stage_lsu_cache_0_lsEntry_enq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_lsEntry_deq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_lsEntry_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_cache_0_lsEntry_ptr_match = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value ==
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  exe_stage_lsu_cache_0_lsEntry__empty_T = ~exe_stage_lsu_cache_0_lsEntry_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_cache_0_lsEntry_empty = exe_stage_lsu_cache_0_lsEntry_ptr_match &
    exe_stage_lsu_cache_0_lsEntry__empty_T; // @[Decoupled.scala 280:25]
  wire  exe_stage_lsu_cache_0_lsEntry_full = exe_stage_lsu_cache_0_lsEntry_ptr_match &
    exe_stage_lsu_cache_0_lsEntry_maybe_full; // @[Decoupled.scala 281:24]
  wire  exe_stage_lsu_cache_0_lsEntry__do_enq_T = exe_stage_lsu_cache_0_lsEntry_io_enq_ready &
    exe_stage_lsu_cache_0_lsEntry_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_lsEntry__do_deq_T = exe_stage_lsu_cache_0_lsEntry_io_deq_ready &
    exe_stage_lsu_cache_0_lsEntry_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_lsEntry__value_T_1 = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_lsEntry__GEN_59 = exe_stage_lsu_cache_0_lsEntry_io_deq_ready ? 1'h0 :
    exe_stage_lsu_cache_0_lsEntry__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_cache_0_lsEntry__GEN_109 = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_cache_0_lsEntry__value_T_3 = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_lsEntry__GEN_108 = exe_stage_lsu_cache_0_lsEntry_empty ? 1'h0 :
    exe_stage_lsu_cache_0_lsEntry__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_cache_0_lsEntry__T = exe_stage_lsu_cache_0_lsEntry__GEN_109 !=
    exe_stage_lsu_cache_0_lsEntry__GEN_108; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_cache_0_lsEntry__io_deq_valid_T = ~exe_stage_lsu_cache_0_lsEntry_empty; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_cache_0_rtn_fifo_clock;
  wire  exe_stage_lsu_cache_0_rtn_fifo_reset;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_ready;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_chkIdx;
  wire [5:0] exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_res;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_load_amo;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_flw;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_fld;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_ready;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_valid;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_chkIdx;
  wire [5:0] exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_res;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_load_amo;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_flw;
  wire  exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_fld;
  reg  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_clock;
  reg [5:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0 [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_clock;
  reg [63:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_clock;
  reg  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_clock;
  reg  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_clock;
  reg  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld [0:1]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_clock;
  reg  exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value; // @[Counter.scala 61:40]
  reg  exe_stage_lsu_cache_0_rtn_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_cache_0_rtn_fifo_ptr_match = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value ==
    exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  exe_stage_lsu_cache_0_rtn_fifo__empty_T = ~exe_stage_lsu_cache_0_rtn_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_cache_0_rtn_fifo_empty = exe_stage_lsu_cache_0_rtn_fifo_ptr_match &
    exe_stage_lsu_cache_0_rtn_fifo__empty_T; // @[Decoupled.scala 280:25]
  wire  exe_stage_lsu_cache_0_rtn_fifo_full = exe_stage_lsu_cache_0_rtn_fifo_ptr_match &
    exe_stage_lsu_cache_0_rtn_fifo_maybe_full; // @[Decoupled.scala 281:24]
  wire  exe_stage_lsu_cache_0_rtn_fifo__do_enq_T = exe_stage_lsu_cache_0_rtn_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_rtn_fifo__do_deq_T = exe_stage_lsu_cache_0_rtn_fifo_io_deq_ready &
    exe_stage_lsu_cache_0_rtn_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_rtn_fifo__value_T_1 = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_rtn_fifo__GEN_17 = exe_stage_lsu_cache_0_rtn_fifo_io_deq_ready ? 1'h0 :
    exe_stage_lsu_cache_0_rtn_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_cache_0_rtn_fifo__GEN_25 = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_cache_0_rtn_fifo__value_T_3 = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value + 1'h1; // @[Counter.scala 77:24]
  wire  exe_stage_lsu_cache_0_rtn_fifo__GEN_24 = exe_stage_lsu_cache_0_rtn_fifo_empty ? 1'h0 :
    exe_stage_lsu_cache_0_rtn_fifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_cache_0_rtn_fifo__T = exe_stage_lsu_cache_0_rtn_fifo__GEN_25 !=
    exe_stage_lsu_cache_0_rtn_fifo__GEN_24; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_cache_0_rtn_fifo__io_deq_valid_T = ~exe_stage_lsu_cache_0_rtn_fifo_empty; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_ready;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_valid;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_op_arb_io_in_0_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wstrb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_op_arb_io_in_0_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_ready;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_valid;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_op_arb_io_in_1_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wstrb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsd;
  wire [5:0] exe_stage_lsu_cache_0_op_arb_io_in_1_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_ready;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_valid;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_op_arb_io_out_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_op_arb_io_out_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_op_arb_io_out_bits_wstrb;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_op_arb_io_out_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_op_arb_grant_1 = ~exe_stage_lsu_cache_0_op_arb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_cache_0_op_arb__io_out_valid_T = ~exe_stage_lsu_cache_0_op_arb_grant_1; // @[Arbiter.scala 147:19]
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_0_ready;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_0_valid;
  wire [31:0] exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_wdata;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_1_ready;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_1_valid;
  wire [31:0] exe_stage_lsu_cache_0_rd_arb_io_in_1_bits_paddr;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_ready;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_valid;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wstrb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_ready;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_valid;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_rd_arb_io_out_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_rd_arb_io_out_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_rd_arb_io_out_bits_wstrb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_rd_arb_io_out_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_1 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_chkIdx; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [31:0] exe_stage_lsu_cache_0_rd_arb__GEN_2 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ?
    exe_stage_lsu_cache_0_rd_arb_io_in_1_bits_paddr : exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_paddr; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [127:0] exe_stage_lsu_cache_0_rd_arb__GEN_3 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 128'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wdata; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [15:0] exe_stage_lsu_cache_0_rd_arb__GEN_4 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 16'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wstrb; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_5 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_6 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_7 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_8 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_9 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_10 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_11 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_12 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_13 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_14 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_15 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_19 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_20 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_21 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_22 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_23 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_24 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_25 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_26 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_27 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_28 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_29 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_30 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_31 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_32 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_33 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_34 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_35 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_36 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_37 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_38 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_39 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_40 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_41 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_42 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_43 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_44 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_45 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid |
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_probe; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_46 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_grant; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__GEN_47 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_preft; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [5:0] exe_stage_lsu_cache_0_rd_arb__GEN_48 = exe_stage_lsu_cache_0_rd_arb_io_in_1_valid ? 6'h0 :
    exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_rd_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_cache_0_rd_arb__grant_T = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid |
    exe_stage_lsu_cache_0_rd_arb_io_in_1_valid; // @[Arbiter.scala 45:68]
  wire  exe_stage_lsu_cache_0_rd_arb_grant_1 = ~exe_stage_lsu_cache_0_rd_arb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_cache_0_rd_arb_grant_2 = ~exe_stage_lsu_cache_0_rd_arb__grant_T; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_cache_0_rd_arb__io_out_valid_T = ~exe_stage_lsu_cache_0_rd_arb_grant_2; // @[Arbiter.scala 147:19]
  wire  exe_stage_lsu_cache_0_reload_fifo_clock;
  wire  exe_stage_lsu_cache_0_reload_fifo_reset;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_ready;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_ready;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_valid;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_rd_rd0;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_clock;
  reg [31:0] exe_stage_lsu_cache_0_reload_fifo_ram_paddr [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_paddr_clock;
  reg [127:0] exe_stage_lsu_cache_0_reload_fifo_ram_wdata [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [127:0] exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wdata_clock;
  reg [15:0] exe_stage_lsu_cache_0_reload_fifo_ram_wstrb [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [15:0] exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [15:0] exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_clock;
  reg [5:0] exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_clock;
  reg  exe_stage_lsu_cache_0_reload_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_cache_0_reload_fifo__empty_T = ~exe_stage_lsu_cache_0_reload_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_cache_0_reload_fifo__do_enq_T = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_reload_fifo__do_deq_T = exe_stage_lsu_cache_0_reload_fifo_io_deq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_reload_fifo__T = exe_stage_lsu_cache_0_reload_fifo__do_enq_T !=
    exe_stage_lsu_cache_0_reload_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_cache_0_stage_clock;
  wire  exe_stage_lsu_cache_0_stage_reset;
  wire  exe_stage_lsu_cache_0_stage_io_enq_ready;
  wire  exe_stage_lsu_cache_0_stage_io_enq_valid;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_stage_io_enq_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_stage_io_enq_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_stage_io_enq_bits_wstrb;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_stage_io_enq_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_stage_io_enq_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_stage_io_reload_valid;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_chkIdx;
  wire [31:0] exe_stage_lsu_cache_0_stage_io_reload_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_stage_io_reload_bits_wdata;
  wire [15:0] exe_stage_lsu_cache_0_stage_io_reload_bits_wstrb;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lb;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lh;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lw;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_ld;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lbu;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lhu;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lwu;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sb;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sh;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sw;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sd;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_w;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_d;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_flw;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsw;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fld;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsd;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_probe;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_grant;
  wire  exe_stage_lsu_cache_0_stage_io_reload_bits_fun_preft;
  wire [5:0] exe_stage_lsu_cache_0_stage_io_reload_bits_rd_rd0;
  wire  exe_stage_lsu_cache_0_stage_io_deq_valid;
  wire  exe_stage_lsu_cache_0_stage_io_deq_bits_chkIdx;
  wire [5:0] exe_stage_lsu_cache_0_stage_io_deq_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_cache_0_stage_io_deq_bits_wb_res;
  wire  exe_stage_lsu_cache_0_stage_io_deq_bits_is_load_amo;
  wire  exe_stage_lsu_cache_0_stage_io_deq_bits_is_flw;
  wire  exe_stage_lsu_cache_0_stage_io_deq_bits_is_fld;
  wire  exe_stage_lsu_cache_0_stage_io_missUnit_req_valid;
  wire [31:0] exe_stage_lsu_cache_0_stage_io_missUnit_req_bits_paddr;
  wire  exe_stage_lsu_cache_0_stage_io_wb_req_valid;
  wire [31:0] exe_stage_lsu_cache_0_stage_io_wb_req_bits_paddr;
  wire [127:0] exe_stage_lsu_cache_0_stage_io_wb_req_bits_data;
  wire  exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_releaseData;
  wire  exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_release;
  wire  exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probe;
  wire  exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probeData;
  wire  exe_stage_lsu_cache_0_stage_io_isCacheEmpty;
  wire  exe_stage_lsu_cache_0_stage_io_flush;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_0;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_1;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_2;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_3;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_4;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_5;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_6;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_7;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_8;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_9;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_10;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_11;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_12;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_13;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_14;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_15;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_0;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_1;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_2;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_3;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_4;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_5;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_6;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_7;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_8;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_9;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_10;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_11;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_12;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_13;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_14;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_15;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_0;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_1;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_2;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_3;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_4;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_5;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_6;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_7;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_8;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_9;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_10;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_11;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_12;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_13;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_14;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_15;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr_pipe_0;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_0;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_1;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_2;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_3;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_4;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_5;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_6;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_7;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_8;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_9;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_10;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_11;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_12;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_13;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_14;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_15;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_0;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_1;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_2;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_3;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_4;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_5;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_6;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_7;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_8;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_9;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_10;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_11;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_12;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_13;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_14;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_15;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_0;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_1;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_2;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_3;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_4;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_5;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_6;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_7;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_8;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_9;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_10;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_11;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_12;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_13;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_14;
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_15;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr_pipe_0;
  reg [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15 [0:3]; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_data; // @[CacheRAM.scala 46:27]
  wire [7:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_addr; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_mask; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_en; // @[CacheRAM.scala 46:27]
  wire  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_clock;
  reg  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr_pipe_0;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_clock;
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrr;
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrw;
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_0_io_dataw;
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_0_io_datar;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_io_enw;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_io_enr;
  reg [25:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem [0:3]; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en; // @[CacheRAM.scala 152:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_mask; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_en; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_clock;
  reg  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_clock;
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrr;
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrw;
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_1_io_dataw;
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_1_io_datar;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_io_enw;
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_io_enr;
  reg [25:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem [0:3]; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en; // @[CacheRAM.scala 152:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [25:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
  wire [1:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_addr; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_mask; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_en; // @[CacheRAM.scala 152:27]
  wire  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_clock;
  reg  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0;
  reg [1:0] exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_clock;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_0;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_1;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_2;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_3;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_4;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_5;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_6;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_7;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_8;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_9;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_10;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_11;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_12;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_13;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_14;
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_15;
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_0; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14; // @[PRNG.scala 55:49]
  reg  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15; // @[PRNG.scala 55:49]
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15 ^
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13; // @[LFSR.scala 15:41]
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T_1 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T ^
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12; // @[LFSR.scala 15:41]
  wire  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T_2 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T_1 ^
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10; // @[LFSR.scala 15:41]
  wire  exe_stage_lsu_cache_0_stage__pipeStage1Valid_T = exe_stage_lsu_cache_0_stage_io_enq_ready &
    exe_stage_lsu_cache_0_stage_io_enq_valid; // @[Decoupled.scala 52:35]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Valid; // @[DcacheStage.scala 71:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_chkIdx; // @[DcacheStage.scala 72:32]
  reg [31:0] exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr; // @[DcacheStage.scala 72:32]
  reg [127:0] exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata; // @[DcacheStage.scala 72:32]
  reg [15:0] exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft; // @[DcacheStage.scala 72:32]
  reg [5:0] exe_stage_lsu_cache_0_stage_pipeStage1Bits_rd_rd0; // @[DcacheStage.scala 72:32]
  reg  exe_stage_lsu_cache_0_stage_isTagBypass_1; // @[Reg.scala 19:16]
  reg [25:0] exe_stage_lsu_cache_0_stage_tagBypassData_1; // @[Reg.scala 19:16]
  wire [25:0] exe_stage_lsu_cache_0_stage__tagInfoR_1_T = exe_stage_lsu_cache_0_stage_isTagBypass_1 ?
    exe_stage_lsu_cache_0_stage_tagBypassData_1 : exe_stage_lsu_cache_0_stage_tagRAM_1_io_datar; // @[DcacheStage.scala 127:31]
  wire [25:0] exe_stage_lsu_cache_0_stage__tagInfoW_T = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  wire  exe_stage_lsu_cache_0_stage__res_T_1 = exe_stage_lsu_cache_0_stage__tagInfoR_1_T ==
    exe_stage_lsu_cache_0_stage__tagInfoW_T; // @[DcacheStage.scala 241:59]
  wire [1:0] exe_stage_lsu_cache_0_stage__addrSelW_T = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_3_1; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_2_1; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_1_1; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_0_1; // @[DcacheStage.scala 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_203 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_1_1 : exe_stage_lsu_cache_0_stage_isCBValid_0_1; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage__GEN_204 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_2_1 : exe_stage_lsu_cache_0_stage__GEN_203; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage__GEN_205 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_3_1 : exe_stage_lsu_cache_0_stage__GEN_204; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage_res_1 = exe_stage_lsu_cache_0_stage__res_T_1 & exe_stage_lsu_cache_0_stage__GEN_205; // @[DcacheStage.scala 241:73]
  reg  exe_stage_lsu_cache_0_stage_isTagBypass; // @[Reg.scala 19:16]
  reg [25:0] exe_stage_lsu_cache_0_stage_tagBypassData; // @[Reg.scala 19:16]
  wire [25:0] exe_stage_lsu_cache_0_stage__tagInfoR_0_T = exe_stage_lsu_cache_0_stage_isTagBypass ?
    exe_stage_lsu_cache_0_stage_tagBypassData : exe_stage_lsu_cache_0_stage_tagRAM_0_io_datar; // @[DcacheStage.scala 127:31]
  wire  exe_stage_lsu_cache_0_stage__res_T = exe_stage_lsu_cache_0_stage__tagInfoR_0_T ==
    exe_stage_lsu_cache_0_stage__tagInfoW_T; // @[DcacheStage.scala 241:59]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_3_0; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_2_0; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_1_0; // @[DcacheStage.scala 84:26]
  reg  exe_stage_lsu_cache_0_stage_isCBValid_0_0; // @[DcacheStage.scala 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_199 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_1_0 : exe_stage_lsu_cache_0_stage_isCBValid_0_0; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage__GEN_200 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_2_0 : exe_stage_lsu_cache_0_stage__GEN_199; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage__GEN_201 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T ?
    exe_stage_lsu_cache_0_stage_isCBValid_3_0 : exe_stage_lsu_cache_0_stage__GEN_200; // @[DcacheStage.scala 241:{73,73}]
  wire  exe_stage_lsu_cache_0_stage_res_0 = exe_stage_lsu_cache_0_stage__res_T & exe_stage_lsu_cache_0_stage__GEN_201; // @[DcacheStage.scala 241:73]
  wire [1:0] exe_stage_lsu_cache_0_stage__isHit_T = {exe_stage_lsu_cache_0_stage_res_1,exe_stage_lsu_cache_0_stage_res_0
    }; // @[DcacheStage.scala 77:23]
  wire  exe_stage_lsu_cache_0_stage_isHit = |exe_stage_lsu_cache_0_stage__isHit_T; // @[DcacheStage.scala 77:30]
  wire  exe_stage_lsu_cache_0_stage__hitSel_T_1 = exe_stage_lsu_cache_0_stage__isHit_T[1]; // @[CircuitMath.scala 28:8]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_0_0; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_0_1; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_1_0; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_1_1; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_2_0; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_2_1; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_3_0; // @[DcacheStage.scala 86:26]
  reg  exe_stage_lsu_cache_0_stage_isCBDirty_3_1; // @[DcacheStage.scala 86:26]
  wire [1:0] exe_stage_lsu_cache_0_stage__addrSelR_T = exe_stage_lsu_cache_0_stage_io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_1 = exe_stage_lsu_cache_0_stage__cbSel_T |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_2 = exe_stage_lsu_cache_0_stage__cbSel_T_1 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w; // @[riscv_isa.scala 148:37]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_3 = exe_stage_lsu_cache_0_stage__cbSel_T_2 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w; // @[riscv_isa.scala 148:48]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_4 = exe_stage_lsu_cache_0_stage__cbSel_T_3 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w; // @[riscv_isa.scala 148:58]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_5 = exe_stage_lsu_cache_0_stage__cbSel_T_4 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w; // @[riscv_isa.scala 148:69]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_6 = exe_stage_lsu_cache_0_stage__cbSel_T_5 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w; // @[riscv_isa.scala 148:80]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_7 = exe_stage_lsu_cache_0_stage__cbSel_T_6 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_8 = exe_stage_lsu_cache_0_stage__cbSel_T_7 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_9 = exe_stage_lsu_cache_0_stage__cbSel_T_8 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_10 = exe_stage_lsu_cache_0_stage__cbSel_T_9 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_11 = exe_stage_lsu_cache_0_stage__cbSel_T_10 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d; // @[riscv_isa.scala 148:138]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_12 = exe_stage_lsu_cache_0_stage__cbSel_T_11 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d; // @[riscv_isa.scala 148:149]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_13 = exe_stage_lsu_cache_0_stage__cbSel_T_12 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d; // @[riscv_isa.scala 148:159]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_14 = exe_stage_lsu_cache_0_stage__cbSel_T_13 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d; // @[riscv_isa.scala 148:170]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_15 = exe_stage_lsu_cache_0_stage__cbSel_T_14 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d; // @[riscv_isa.scala 148:181]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_16 = exe_stage_lsu_cache_0_stage__cbSel_T_15 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_17 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_18 = exe_stage_lsu_cache_0_stage__cbSel_T_16 |
    exe_stage_lsu_cache_0_stage__cbSel_T_17; // @[riscv_isa.scala 148:205]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_19 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh; // @[riscv_isa.scala 143:19]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_20 = exe_stage_lsu_cache_0_stage__cbSel_T_19 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw; // @[riscv_isa.scala 143:24]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_21 = exe_stage_lsu_cache_0_stage__cbSel_T_20 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld; // @[riscv_isa.scala 143:29]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_22 = exe_stage_lsu_cache_0_stage__cbSel_T_21 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu; // @[riscv_isa.scala 143:34]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_23 = exe_stage_lsu_cache_0_stage__cbSel_T_22 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu; // @[riscv_isa.scala 143:40]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_24 = exe_stage_lsu_cache_0_stage__cbSel_T_23 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu; // @[riscv_isa.scala 143:46]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_25 = exe_stage_lsu_cache_0_stage__cbSel_T_24 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw; // @[riscv_isa.scala 143:52]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_26 = exe_stage_lsu_cache_0_stage__cbSel_T_25 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld; // @[riscv_isa.scala 143:59]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_27 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_28 = exe_stage_lsu_cache_0_stage__cbSel_T_26 |
    exe_stage_lsu_cache_0_stage__cbSel_T_27; // @[riscv_isa.scala 143:65]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_29 = exe_stage_lsu_cache_0_stage__cbSel_T_18 |
    exe_stage_lsu_cache_0_stage__cbSel_T_28; // @[Dcache.scala 50:27]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_30 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh; // @[riscv_isa.scala 144:19]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_31 = exe_stage_lsu_cache_0_stage__cbSel_T_30 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw; // @[riscv_isa.scala 144:24]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_32 = exe_stage_lsu_cache_0_stage__cbSel_T_31 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd; // @[riscv_isa.scala 144:29]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_33 = exe_stage_lsu_cache_0_stage__cbSel_T_32 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw; // @[riscv_isa.scala 144:34]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_34 = exe_stage_lsu_cache_0_stage__cbSel_T_33 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_35 = exe_stage_lsu_cache_0_stage__cbSel_T_29 |
    exe_stage_lsu_cache_0_stage__cbSel_T_34; // @[Dcache.scala 50:35]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_37 = exe_stage_lsu_cache_0_stage__cbSel_T_35 |
    exe_stage_lsu_cache_0_stage__cbSel_T_27; // @[Dcache.scala 50:43]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_39 = exe_stage_lsu_cache_0_stage__cbSel_T_37 |
    exe_stage_lsu_cache_0_stage__cbSel_T_17; // @[Dcache.scala 50:51]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_40 = exe_stage_lsu_cache_0_stage__cbSel_T_39 &
    exe_stage_lsu_cache_0_stage__hitSel_T_1; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_41 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft &
    exe_stage_lsu_cache_0_stage__hitSel_T_1; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_44 = exe_stage_lsu_cache_0_stage__cbSel_T_40 |
    exe_stage_lsu_cache_0_stage__cbSel_T_41; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_42 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe &
    exe_stage_lsu_cache_0_stage__hitSel_T_1; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_45 = exe_stage_lsu_cache_0_stage__cbSel_T_44 |
    exe_stage_lsu_cache_0_stage__cbSel_T_42; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__rplSel_is_emptyBlock_exist_T = ~exe_stage_lsu_cache_0_stage__GEN_201; // @[DcacheStage.scala 263:61]
  wire  exe_stage_lsu_cache_0_stage__rplSel_is_emptyBlock_exist_T_1 = ~exe_stage_lsu_cache_0_stage__GEN_205; // @[DcacheStage.scala 263:61]
  wire  exe_stage_lsu_cache_0_stage_rplSel_is_emptyBlock_exist =
    exe_stage_lsu_cache_0_stage__rplSel_is_emptyBlock_exist_T |
    exe_stage_lsu_cache_0_stage__rplSel_is_emptyBlock_exist_T_1; // @[DcacheStage.scala 263:61]
  wire  exe_stage_lsu_cache_0_stage_rplSel_emptyBlock_sel = exe_stage_lsu_cache_0_stage__rplSel_is_emptyBlock_exist_T ? 1'h0
     : 1'h1; // @[DcacheStage.scala 264:58]
  wire [7:0] exe_stage_lsu_cache_0_stage_rplSel_rpl_lo = {exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_7,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_6,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_5,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_4,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_3,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_2,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_1,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire [15:0] exe_stage_lsu_cache_0_stage_rplSel_rpl = {exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_15,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_14,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_13,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_12,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_11,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_10,exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_9,
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_8,exe_stage_lsu_cache_0_stage_rplSel_rpl_lo}; // @[PRNG.scala 95:17]
  wire [15:0] exe_stage_lsu_cache_0_stage__rplSel_T = exe_stage_lsu_cache_0_stage_rplSel_is_emptyBlock_exist ? {{15
    'd0}, exe_stage_lsu_cache_0_stage_rplSel_emptyBlock_sel} : exe_stage_lsu_cache_0_stage_rplSel_rpl; // @[DcacheStage.scala 275:10]
  wire  exe_stage_lsu_cache_0_stage_rplSel = exe_stage_lsu_cache_0_stage__rplSel_T[0]; // @[DcacheStage.scala 261:10 79:20]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_43 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant &
    exe_stage_lsu_cache_0_stage_rplSel; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__cbSel_T_46 = exe_stage_lsu_cache_0_stage__cbSel_T_45 |
    exe_stage_lsu_cache_0_stage__cbSel_T_43; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T = ~exe_stage_lsu_cache_0_stage__cbSel_T_46; // @[DcacheStage.scala 100:12]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_1 = exe_stage_lsu_cache_0_stage__datEnW_0_T &
    exe_stage_lsu_cache_0_stage_pipeStage1Valid; // @[DcacheStage.scala 100:23]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_26 = exe_stage_lsu_cache_0_stage__cbSel_T_18 |
    exe_stage_lsu_cache_0_stage__cbSel_T_34; // @[Dcache.scala 54:26]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_28 = exe_stage_lsu_cache_0_stage__datEnW_0_T_26 |
    exe_stage_lsu_cache_0_stage__cbSel_T_17; // @[Dcache.scala 54:34]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_29 = exe_stage_lsu_cache_0_stage__datEnW_0_T_28 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[Dcache.scala 54:42]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_30 = exe_stage_lsu_cache_0_stage__datEnW_0_T_1 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_29; // @[DcacheStage.scala 100:41]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_71 = exe_stage_lsu_cache_0_stage__cbSel_T_39 &
    exe_stage_lsu_cache_0_stage_isHit; // @[DcacheStage.scala 103:40]
  reg  exe_stage_lsu_cache_0_stage_is_pending_lr; // @[DcacheStage.scala 147:30]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T = ~exe_stage_lsu_cache_0_stage_is_pending_lr; // @[DcacheStage.scala 151:5]
  reg  exe_stage_lsu_cache_0_stage_is_lr_64_32n; // @[DcacheStage.scala 148:29]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_1 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_2 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_1 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_3 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_2 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_4 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_3 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_5 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_4 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_6 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_5 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_7 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_6 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_8 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_7 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_9 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_8 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_10 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_9 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_11 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_10 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_12 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_11 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_13 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_12 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_14 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_13 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_15 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_14 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_16 = exe_stage_lsu_cache_0_stage_is_lr_64_32n &
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_15; // @[DcacheStage.scala 152:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_17 = exe_stage_lsu_cache_0_stage__is_sc_fail_T |
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_16; // @[DcacheStage.scala 151:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_18 = ~exe_stage_lsu_cache_0_stage_is_lr_64_32n; // @[DcacheStage.scala 153:6]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_19 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_20 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_19 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_21 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_20 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_22 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_21 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_23 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_22 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_24 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_23 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_25 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_24 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_26 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_25 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_27 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_26 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_28 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_27 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_29 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_28 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_30 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_29 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_31 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_30 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_32 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_31 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_33 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_18 &
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_32; // @[DcacheStage.scala 153:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_34 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_17 |
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_33; // @[DcacheStage.scala 152:50]
  reg [31:0] exe_stage_lsu_cache_0_stage_lr_addr; // @[DcacheStage.scala 149:20]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_35 = exe_stage_lsu_cache_0_stage_lr_addr !=
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr; // @[DcacheStage.scala 154:13]
  wire  exe_stage_lsu_cache_0_stage__is_sc_fail_T_36 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_34 |
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_35; // @[DcacheStage.scala 153:50]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_73 = ~exe_stage_lsu_cache_0_stage__is_sc_fail_T_36; // @[DcacheStage.scala 103:81]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_74 = exe_stage_lsu_cache_0_stage__cbSel_T_17 ?
    exe_stage_lsu_cache_0_stage__datEnW_0_T_73 : 1'h1; // @[DcacheStage.scala 103:53]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_75 = exe_stage_lsu_cache_0_stage__datEnW_0_T_71 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_74; // @[DcacheStage.scala 103:48]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_76 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant |
    exe_stage_lsu_cache_0_stage__datEnW_0_T_75; // @[DcacheStage.scala 102:38]
  wire  exe_stage_lsu_cache_0_stage__datEnW_0_T_77 = exe_stage_lsu_cache_0_stage__datEnW_0_T_30 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_76; // @[DcacheStage.scala 101:35]
  wire  exe_stage_lsu_cache_0_stage__tagEnW_0_T_2 = exe_stage_lsu_cache_0_stage__datEnW_0_T_1 &
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  wire  exe_stage_lsu_cache_0_stage__datEnW_1_T_1 = exe_stage_lsu_cache_0_stage__cbSel_T_46 &
    exe_stage_lsu_cache_0_stage_pipeStage1Valid; // @[DcacheStage.scala 100:23]
  wire  exe_stage_lsu_cache_0_stage__datEnW_1_T_30 = exe_stage_lsu_cache_0_stage__datEnW_1_T_1 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_29; // @[DcacheStage.scala 100:41]
  wire  exe_stage_lsu_cache_0_stage__datEnW_1_T_77 = exe_stage_lsu_cache_0_stage__datEnW_1_T_30 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_76; // @[DcacheStage.scala 101:35]
  wire  exe_stage_lsu_cache_0_stage__tagEnW_1_T_2 = exe_stage_lsu_cache_0_stage__datEnW_1_T_1 &
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  wire [15:0] exe_stage_lsu_cache_0_stage__T_41 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ? 16'hffff : 16'h0
    ; // @[Mux.scala 27:73]
  wire [15:0] exe_stage_lsu_cache_0_stage__T_42 = exe_stage_lsu_cache_0_stage__cbSel_T_39 ?
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb : 16'h0; // @[Mux.scala 27:73]
  wire [15:0] exe_stage_lsu_cache_0_stage__T_43 = exe_stage_lsu_cache_0_stage__T_41 | exe_stage_lsu_cache_0_stage__T_42; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__T_44 = exe_stage_lsu_cache_0_stage__T_43[0]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_45 = exe_stage_lsu_cache_0_stage__T_43[1]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_46 = exe_stage_lsu_cache_0_stage__T_43[2]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_47 = exe_stage_lsu_cache_0_stage__T_43[3]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_48 = exe_stage_lsu_cache_0_stage__T_43[4]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_49 = exe_stage_lsu_cache_0_stage__T_43[5]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_50 = exe_stage_lsu_cache_0_stage__T_43[6]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_51 = exe_stage_lsu_cache_0_stage__T_43[7]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_52 = exe_stage_lsu_cache_0_stage__T_43[8]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_53 = exe_stage_lsu_cache_0_stage__T_43[9]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_54 = exe_stage_lsu_cache_0_stage__T_43[10]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_55 = exe_stage_lsu_cache_0_stage__T_43[11]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_56 = exe_stage_lsu_cache_0_stage__T_43[12]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_57 = exe_stage_lsu_cache_0_stage__T_43[13]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_58 = exe_stage_lsu_cache_0_stage__T_43[14]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__T_59 = exe_stage_lsu_cache_0_stage__T_43[15]; // @[DcacheStage.scala 113:8]
  wire  exe_stage_lsu_cache_0_stage__isTagBypass_T = exe_stage_lsu_cache_0_stage__addrSelR_T ==
    exe_stage_lsu_cache_0_stage__addrSelW_T; // @[DcacheStage.scala 117:58]
  wire  exe_stage_lsu_cache_0_stage__isTagBypass_T_1 = exe_stage_lsu_cache_0_stage__tagEnW_0_T_2 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 117:46]
  wire  exe_stage_lsu_cache_0_stage__tagBypassData_T_1 = exe_stage_lsu_cache_0_stage__pipeStage1Valid_T &
    exe_stage_lsu_cache_0_stage__tagEnW_0_T_2; // @[DcacheStage.scala 118:58]
  wire  exe_stage_lsu_cache_0_stage__tagBypassData_T_3 = exe_stage_lsu_cache_0_stage__tagBypassData_T_1 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 118:70]
  wire  exe_stage_lsu_cache_0_stage__isDatBypass_T_1 = exe_stage_lsu_cache_0_stage__datEnW_0_T_77 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 119:46]
  reg  exe_stage_lsu_cache_0_stage_isDatBypass; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__datBypassData_T_1 = exe_stage_lsu_cache_0_stage__pipeStage1Valid_T &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_77; // @[DcacheStage.scala 120:58]
  wire  exe_stage_lsu_cache_0_stage__datBypassData_T_3 = exe_stage_lsu_cache_0_stage__datBypassData_T_1 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 120:70]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__0; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__1; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__2; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__3; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__4; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__5; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__6; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__7; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__8; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__9; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__10; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__11; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__12; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__13; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__14; // @[Reg.scala 19:16]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData__15; // @[Reg.scala 19:16]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_44 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_45 = exe_stage_lsu_cache_0_stage__cbSel_T_34 ?
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_61 = exe_stage_lsu_cache_0_stage__dataW_T_44 |
    exe_stage_lsu_cache_0_stage__dataW_T_45; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_46 = exe_stage_lsu_cache_0_stage__cbSel_T_17 ?
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_62 = exe_stage_lsu_cache_0_stage__dataW_T_61 |
    exe_stage_lsu_cache_0_stage__dataW_T_46; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_6 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d; // @[DcacheStage.scala 202:37]
  wire [3:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[3:0]; // @[Util.scala 147:35]
  wire  exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_1 =
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T[3]; // @[Util.scala 147:52]
  wire [3:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_2 = {
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_1, 3'h0}; // @[Util.scala 147:62]
  wire [6:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3 = {
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_2, 3'h0}; // @[Util.scala 147:72]
  wire [127:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_4 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata >> exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 147:26]
  wire [63:0] exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data =
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_4[63:0]; // @[Util.scala 145:26 147:18]
  wire [190:0] _GEN_1060 = {{127'd0}, exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_4 = _GEN_1060 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data = exe_stage_lsu_cache_0_stage__dataW_align_data_T_4[127:0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_47 = exe_stage_lsu_cache_0_stage__dataW_T_6 ?
    exe_stage_lsu_cache_0_stage_dataW_align_data : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_63 = exe_stage_lsu_cache_0_stage__dataW_T_62 |
    exe_stage_lsu_cache_0_stage__dataW_T_47; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__high_sel_T = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[2]; // @[DcacheStage.scala 186:39]
  wire [31:0] exe_stage_lsu_cache_0_stage__dataW_T_7 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data[63:32]; // @[DcacheStage.scala 203:139]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_8 = {exe_stage_lsu_cache_0_stage__dataW_T_7, 32'h0}; // @[DcacheStage.scala 203:145]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_9 = exe_stage_lsu_cache_0_stage__high_sel_T ?
    exe_stage_lsu_cache_0_stage__dataW_T_8 : exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data; // @[DcacheStage.scala 203:111]
  reg  exe_stage_lsu_cache_0_stage_isDatBypass_1; // @[Reg.scala 19:16]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_15; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_122 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_15; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_15; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_123 = exe_stage_lsu_cache_0_stage__T_122 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_15 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_15; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__15; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_90 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__15; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_91 = exe_stage_lsu_cache_0_stage__T_90 ?
    exe_stage_lsu_cache_0_stage_datBypassData__15 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_15; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_115 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_123 : exe_stage_lsu_cache_0_stage__T_91; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_14; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_120 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_14; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_14; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_121 = exe_stage_lsu_cache_0_stage__T_120 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_14 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_14; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__14; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_88 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__14; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_89 = exe_stage_lsu_cache_0_stage__T_88 ?
    exe_stage_lsu_cache_0_stage_datBypassData__14 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_14; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_117 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_121 : exe_stage_lsu_cache_0_stage__T_89; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_13; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_118 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_13; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_13; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_119 = exe_stage_lsu_cache_0_stage__T_118 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_13 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_13; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__13; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_86 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__13; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_87 = exe_stage_lsu_cache_0_stage__T_86 ?
    exe_stage_lsu_cache_0_stage_datBypassData__13 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_13; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_111 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_119 : exe_stage_lsu_cache_0_stage__T_87; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_12; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_116 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_12; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_12; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_117 = exe_stage_lsu_cache_0_stage__T_116 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_12 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_12; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__12; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_84 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__12; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_85 = exe_stage_lsu_cache_0_stage__T_84 ?
    exe_stage_lsu_cache_0_stage_datBypassData__12 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_12; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_113 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_117 : exe_stage_lsu_cache_0_stage__T_85; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_11; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_114 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_11; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_11; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_115 = exe_stage_lsu_cache_0_stage__T_114 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_11 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_11; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__11; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_82 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__11; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_83 = exe_stage_lsu_cache_0_stage__T_82 ?
    exe_stage_lsu_cache_0_stage_datBypassData__11 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_11; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_107 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_115 : exe_stage_lsu_cache_0_stage__T_83; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_10; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_112 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_10; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_10; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_113 = exe_stage_lsu_cache_0_stage__T_112 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_10 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_10; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__10; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_80 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__10; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_81 = exe_stage_lsu_cache_0_stage__T_80 ?
    exe_stage_lsu_cache_0_stage_datBypassData__10 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_10; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_109 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_113 : exe_stage_lsu_cache_0_stage__T_81; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_9; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_110 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_9; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_9; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_111 = exe_stage_lsu_cache_0_stage__T_110 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_9 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_9; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__9; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_78 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__9; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_79 = exe_stage_lsu_cache_0_stage__T_78 ?
    exe_stage_lsu_cache_0_stage_datBypassData__9 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_9; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_103 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_111 : exe_stage_lsu_cache_0_stage__T_79; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_8; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_108 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_8; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_8; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_109 = exe_stage_lsu_cache_0_stage__T_108 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_8 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_8; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__8; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_76 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__8; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_77 = exe_stage_lsu_cache_0_stage__T_76 ?
    exe_stage_lsu_cache_0_stage_datBypassData__8 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_8; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_105 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_109 : exe_stage_lsu_cache_0_stage__T_77; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_7; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_106 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_7; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_7; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_107 = exe_stage_lsu_cache_0_stage__T_106 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_7 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_7; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__7; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_74 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__7; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_75 = exe_stage_lsu_cache_0_stage__T_74 ?
    exe_stage_lsu_cache_0_stage_datBypassData__7 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_7; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_99 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_107 : exe_stage_lsu_cache_0_stage__T_75; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_6; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_104 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_6; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_6; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_105 = exe_stage_lsu_cache_0_stage__T_104 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_6 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_6; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__6; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_72 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__6; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_73 = exe_stage_lsu_cache_0_stage__T_72 ?
    exe_stage_lsu_cache_0_stage_datBypassData__6 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_6; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_101 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_105 : exe_stage_lsu_cache_0_stage__T_73; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_5; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_102 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_5; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_5; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_103 = exe_stage_lsu_cache_0_stage__T_102 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_5 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_5; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__5; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_70 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__5; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_71 = exe_stage_lsu_cache_0_stage__T_70 ?
    exe_stage_lsu_cache_0_stage_datBypassData__5 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_5; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_95 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_103 : exe_stage_lsu_cache_0_stage__T_71; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_4; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_100 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_4; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_4; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_101 = exe_stage_lsu_cache_0_stage__T_100 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_4 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_4; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__4; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_68 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__4; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_69 = exe_stage_lsu_cache_0_stage__T_68 ?
    exe_stage_lsu_cache_0_stage_datBypassData__4 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_4; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_97 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_101 : exe_stage_lsu_cache_0_stage__T_69; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_3; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_98 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_3; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_3; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_99 = exe_stage_lsu_cache_0_stage__T_98 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_3 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_3; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__3; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_66 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__3; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_67 = exe_stage_lsu_cache_0_stage__T_66 ?
    exe_stage_lsu_cache_0_stage_datBypassData__3 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_3; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_91 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_99 : exe_stage_lsu_cache_0_stage__T_67; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_2; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_96 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_2; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_2; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_97 = exe_stage_lsu_cache_0_stage__T_96 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_2 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_2; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__2; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_64 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__2; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_65 = exe_stage_lsu_cache_0_stage__T_64 ?
    exe_stage_lsu_cache_0_stage_datBypassData__2 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_2; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_93 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_97 : exe_stage_lsu_cache_0_stage__T_65; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_1; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_94 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_1; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_1; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_95 = exe_stage_lsu_cache_0_stage__T_94 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_1 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_1; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__1; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_62 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__1; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_63 = exe_stage_lsu_cache_0_stage__T_62 ?
    exe_stage_lsu_cache_0_stage_datBypassData__1 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_1; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_87 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_95 : exe_stage_lsu_cache_0_stage__T_63; // @[Cat.scala 33:{92,92}]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM_1_0; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_92 = exe_stage_lsu_cache_0_stage_isDatBypass_1 &
    exe_stage_lsu_cache_0_stage_datBypassWM_1_0; // @[DcacheStage.scala 136:78]
  reg [7:0] exe_stage_lsu_cache_0_stage_datBypassData_1_0; // @[Reg.scala 19:16]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_93 = exe_stage_lsu_cache_0_stage__T_92 ?
    exe_stage_lsu_cache_0_stage_datBypassData_1_0 : exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_0; // @[DcacheStage.scala 136:65]
  reg  exe_stage_lsu_cache_0_stage_datBypassWM__0; // @[Reg.scala 19:16]
  wire  exe_stage_lsu_cache_0_stage__T_60 = exe_stage_lsu_cache_0_stage_isDatBypass &
    exe_stage_lsu_cache_0_stage_datBypassWM__0; // @[DcacheStage.scala 136:78]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_61 = exe_stage_lsu_cache_0_stage__T_60 ?
    exe_stage_lsu_cache_0_stage_datBypassData__0 : exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_0; // @[DcacheStage.scala 136:65]
  wire [7:0] exe_stage_lsu_cache_0_stage__GEN_89 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__T_93 : exe_stage_lsu_cache_0_stage__T_61; // @[Cat.scala 33:{92,92}]
  wire [63:0] exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_lo = {exe_stage_lsu_cache_0_stage__GEN_99,
    exe_stage_lsu_cache_0_stage__GEN_101,exe_stage_lsu_cache_0_stage__GEN_95,exe_stage_lsu_cache_0_stage__GEN_97,
    exe_stage_lsu_cache_0_stage__GEN_91,exe_stage_lsu_cache_0_stage__GEN_93,exe_stage_lsu_cache_0_stage__GEN_87,
    exe_stage_lsu_cache_0_stage__GEN_89}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T = {exe_stage_lsu_cache_0_stage__GEN_115,
    exe_stage_lsu_cache_0_stage__GEN_117,exe_stage_lsu_cache_0_stage__GEN_111,exe_stage_lsu_cache_0_stage__GEN_113,
    exe_stage_lsu_cache_0_stage__GEN_107,exe_stage_lsu_cache_0_stage__GEN_109,exe_stage_lsu_cache_0_stage__GEN_103,
    exe_stage_lsu_cache_0_stage__GEN_105,exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_lo}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_align_data_T_4 =
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T >> exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 147:26]
  wire [63:0] exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data =
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_align_data_T_4[63:0]; // @[Util.scala 145:26 147:18]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_11 = exe_stage_lsu_cache_0_stage__dataW_T_9 +
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 203:170]
  wire [190:0] _GEN_1061 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_11}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_9 = _GEN_1061 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_1 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_9[127:0]
    ; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_48 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_1 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_64 = exe_stage_lsu_cache_0_stage__dataW_T_63 |
    exe_stage_lsu_cache_0_stage__dataW_T_48; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_13 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data +
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 204:124]
  wire [190:0] _GEN_1062 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_13}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_14 = _GEN_1062 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_2 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_14[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_49 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_2 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_65 = exe_stage_lsu_cache_0_stage__dataW_T_64 |
    exe_stage_lsu_cache_0_stage__dataW_T_49; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_14 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d; // @[DcacheStage.scala 205:37]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_15 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data ^
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 205:124]
  wire [190:0] _GEN_1063 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_15}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_19 = _GEN_1063 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_3 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_19[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_50 = exe_stage_lsu_cache_0_stage__dataW_T_14 ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_3 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_66 = exe_stage_lsu_cache_0_stage__dataW_T_65 |
    exe_stage_lsu_cache_0_stage__dataW_T_50; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_16 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d; // @[DcacheStage.scala 206:37]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_17 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data &
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 206:124]
  wire [190:0] _GEN_1064 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_17}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_24 = _GEN_1064 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_4 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_24[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_51 = exe_stage_lsu_cache_0_stage__dataW_T_16 ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_4 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_67 = exe_stage_lsu_cache_0_stage__dataW_T_66 |
    exe_stage_lsu_cache_0_stage__dataW_T_51; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_18 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d; // @[DcacheStage.scala 207:37]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_19 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data |
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 207:124]
  wire [190:0] _GEN_1065 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_19}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_29 = _GEN_1065 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_5 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_29[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_52 = exe_stage_lsu_cache_0_stage__dataW_T_18 ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_5 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_68 = exe_stage_lsu_cache_0_stage__dataW_T_67 |
    exe_stage_lsu_cache_0_stage__dataW_T_52; // @[Mux.scala 27:73]
  wire [31:0] exe_stage_lsu_cache_0_stage__cmp_a_sel_T = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data[63:32]; // @[DcacheStage.scala 193:49]
  wire [31:0] exe_stage_lsu_cache_0_stage__cmp_a_sel_T_1 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data[31:0]
    ; // @[DcacheStage.scala 193:74]
  wire [31:0] exe_stage_lsu_cache_0_stage_cmp_a_sel = exe_stage_lsu_cache_0_stage__high_sel_T ?
    exe_stage_lsu_cache_0_stage__cmp_a_sel_T : exe_stage_lsu_cache_0_stage__cmp_a_sel_T_1; // @[DcacheStage.scala 193:22]
  wire [31:0] exe_stage_lsu_cache_0_stage__dataW_T_20 = exe_stage_lsu_cache_0_stage__high_sel_T ?
    exe_stage_lsu_cache_0_stage__cmp_a_sel_T : exe_stage_lsu_cache_0_stage__cmp_a_sel_T_1; // @[DcacheStage.scala 210:89]
  wire [31:0] exe_stage_lsu_cache_0_stage__cmp_b_sel_T = exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data[63:32]; // @[DcacheStage.scala 194:49]
  wire [31:0] exe_stage_lsu_cache_0_stage__cmp_b_sel_T_1 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data[31:0]
    ; // @[DcacheStage.scala 194:74]
  wire [31:0] exe_stage_lsu_cache_0_stage_cmp_b_sel = exe_stage_lsu_cache_0_stage__high_sel_T ?
    exe_stage_lsu_cache_0_stage__cmp_b_sel_T : exe_stage_lsu_cache_0_stage__cmp_b_sel_T_1; // @[DcacheStage.scala 194:22]
  wire [31:0] exe_stage_lsu_cache_0_stage__dataW_T_21 = exe_stage_lsu_cache_0_stage__high_sel_T ?
    exe_stage_lsu_cache_0_stage__cmp_b_sel_T : exe_stage_lsu_cache_0_stage__cmp_b_sel_T_1; // @[DcacheStage.scala 210:115]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_22 = $signed(exe_stage_lsu_cache_0_stage__dataW_T_20) < $signed(
    exe_stage_lsu_cache_0_stage__dataW_T_21); // @[DcacheStage.scala 210:103]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_23 = exe_stage_lsu_cache_0_stage__dataW_T_22 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 210:78]
  wire [190:0] _GEN_1066 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_23}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_34 = _GEN_1066 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_6 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_34[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_53 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_6 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_69 = exe_stage_lsu_cache_0_stage__dataW_T_68 |
    exe_stage_lsu_cache_0_stage__dataW_T_53; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_24 = exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_4[63:
    0]; // @[DcacheStage.scala 211:96]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_25 = exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_align_data_T_4[63:
    0]; // @[DcacheStage.scala 211:122]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_26 = $signed(exe_stage_lsu_cache_0_stage__dataW_T_24) < $signed(
    exe_stage_lsu_cache_0_stage__dataW_T_25); // @[DcacheStage.scala 211:103]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_27 = exe_stage_lsu_cache_0_stage__dataW_T_26 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 211:78]
  wire [190:0] _GEN_1067 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_27}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_39 = _GEN_1067 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_7 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_39[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_54 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_7 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_70 = exe_stage_lsu_cache_0_stage__dataW_T_69 |
    exe_stage_lsu_cache_0_stage__dataW_T_54; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_31 = exe_stage_lsu_cache_0_stage__dataW_T_22 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data; // @[DcacheStage.scala 212:78]
  wire [190:0] _GEN_1068 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_31}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_44 = _GEN_1068 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_8 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_44[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_55 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_8 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_71 = exe_stage_lsu_cache_0_stage__dataW_T_70 |
    exe_stage_lsu_cache_0_stage__dataW_T_55; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_35 = exe_stage_lsu_cache_0_stage__dataW_T_26 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data; // @[DcacheStage.scala 213:78]
  wire [190:0] _GEN_1069 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_35}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_49 = _GEN_1069 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_9 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_49[127:0
    ]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_56 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_9 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_72 = exe_stage_lsu_cache_0_stage__dataW_T_71 |
    exe_stage_lsu_cache_0_stage__dataW_T_56; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_36 = exe_stage_lsu_cache_0_stage_cmp_a_sel <
    exe_stage_lsu_cache_0_stage_cmp_b_sel; // @[DcacheStage.scala 214:103]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_37 = exe_stage_lsu_cache_0_stage__dataW_T_36 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 214:78]
  wire [190:0] _GEN_1070 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_37}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_54 = _GEN_1070 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_10 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_54[127:
    0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_57 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_10 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_73 = exe_stage_lsu_cache_0_stage__dataW_T_72 |
    exe_stage_lsu_cache_0_stage__dataW_T_57; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__dataW_T_38 = exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data <
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 215:103]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_39 = exe_stage_lsu_cache_0_stage__dataW_T_38 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data; // @[DcacheStage.scala 215:78]
  wire [190:0] _GEN_1071 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_39}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_59 = _GEN_1071 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_11 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_59[127:
    0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_58 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_11 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_74 = exe_stage_lsu_cache_0_stage__dataW_T_73 |
    exe_stage_lsu_cache_0_stage__dataW_T_58; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_41 = exe_stage_lsu_cache_0_stage__dataW_T_36 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data; // @[DcacheStage.scala 216:78]
  wire [190:0] _GEN_1072 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_41}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_64 = _GEN_1072 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_12 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_64[127:
    0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_59 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_12 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_75 = exe_stage_lsu_cache_0_stage__dataW_T_74 |
    exe_stage_lsu_cache_0_stage__dataW_T_59; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__dataW_T_43 = exe_stage_lsu_cache_0_stage__dataW_T_38 ?
    exe_stage_lsu_cache_0_stage_amo_reAlign_64_b_align_data : exe_stage_lsu_cache_0_stage_amo_reAlign_64_a_align_data; // @[DcacheStage.scala 217:78]
  wire [190:0] _GEN_1073 = {{127'd0}, exe_stage_lsu_cache_0_stage__dataW_T_43}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu_cache_0_stage__dataW_align_data_T_69 = _GEN_1073 <<
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 149:26]
  wire [127:0] exe_stage_lsu_cache_0_stage_dataW_align_data_13 = exe_stage_lsu_cache_0_stage__dataW_align_data_T_69[127:
    0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_60 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d ?
    exe_stage_lsu_cache_0_stage_dataW_align_data_13 : 128'h0; // @[Mux.scala 27:73]
  wire [127:0] exe_stage_lsu_cache_0_stage__dataW_T_76 = exe_stage_lsu_cache_0_stage__dataW_T_75 |
    exe_stage_lsu_cache_0_stage__dataW_T_60; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_237 = exe_stage_lsu_cache_0_stage__dataW_T_76[7:0]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_238 = exe_stage_lsu_cache_0_stage__dataW_T_76[15:8]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_239 = exe_stage_lsu_cache_0_stage__dataW_T_76[23:16]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_240 = exe_stage_lsu_cache_0_stage__dataW_T_76[31:24]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_241 = exe_stage_lsu_cache_0_stage__dataW_T_76[39:32]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_242 = exe_stage_lsu_cache_0_stage__dataW_T_76[47:40]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_243 = exe_stage_lsu_cache_0_stage__dataW_T_76[55:48]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_244 = exe_stage_lsu_cache_0_stage__dataW_T_76[63:56]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_245 = exe_stage_lsu_cache_0_stage__dataW_T_76[71:64]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_246 = exe_stage_lsu_cache_0_stage__dataW_T_76[79:72]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_247 = exe_stage_lsu_cache_0_stage__dataW_T_76[87:80]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_248 = exe_stage_lsu_cache_0_stage__dataW_T_76[95:88]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_249 = exe_stage_lsu_cache_0_stage__dataW_T_76[103:96]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_250 = exe_stage_lsu_cache_0_stage__dataW_T_76[111:104]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_251 = exe_stage_lsu_cache_0_stage__dataW_T_76[119:112]; // @[DcacheStage.scala 222:60]
  wire [7:0] exe_stage_lsu_cache_0_stage__T_252 = exe_stage_lsu_cache_0_stage__dataW_T_76[127:120]; // @[DcacheStage.scala 222:60]
  wire  exe_stage_lsu_cache_0_stage__isTagBypass_T_4 = exe_stage_lsu_cache_0_stage__tagEnW_1_T_2 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 117:46]
  wire  exe_stage_lsu_cache_0_stage__tagBypassData_T_5 = exe_stage_lsu_cache_0_stage__pipeStage1Valid_T &
    exe_stage_lsu_cache_0_stage__tagEnW_1_T_2; // @[DcacheStage.scala 118:58]
  wire  exe_stage_lsu_cache_0_stage__tagBypassData_T_7 = exe_stage_lsu_cache_0_stage__tagBypassData_T_5 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 118:70]
  wire  exe_stage_lsu_cache_0_stage__isDatBypass_T_4 = exe_stage_lsu_cache_0_stage__datEnW_1_T_77 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 119:46]
  wire  exe_stage_lsu_cache_0_stage__datBypassData_T_5 = exe_stage_lsu_cache_0_stage__pipeStage1Valid_T &
    exe_stage_lsu_cache_0_stage__datEnW_1_T_77; // @[DcacheStage.scala 120:58]
  wire  exe_stage_lsu_cache_0_stage__datBypassData_T_7 = exe_stage_lsu_cache_0_stage__datBypassData_T_5 &
    exe_stage_lsu_cache_0_stage__isTagBypass_T; // @[DcacheStage.scala 120:70]
  reg  exe_stage_lsu_cache_0_stage_killTrans; // @[DcacheStage.scala 146:26]
  wire  exe_stage_lsu_cache_0_stage__T_124 = exe_stage_lsu_cache_0_stage_io_flush |
    exe_stage_lsu_cache_0_stage_killTrans; // @[DcacheStage.scala 157:18]
  wire  exe_stage_lsu_cache_0_stage__T_165 = exe_stage_lsu_cache_0_stage_pipeStage1Valid &
    exe_stage_lsu_cache_0_stage__cbSel_T_39; // @[DcacheStage.scala 159:32]
  wire  exe_stage_lsu_cache_0_stage__T_166 = exe_stage_lsu_cache_0_stage__T_165 & exe_stage_lsu_cache_0_stage_isHit; // @[DcacheStage.scala 159:63]
  wire  exe_stage_lsu_cache_0_stage__T_197 = exe_stage_lsu_cache_0_stage__is_sc_fail_T_32 |
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_15; // @[DcacheStage.scala 164:42]
  wire  exe_stage_lsu_cache_0_stage__T_199 = ~exe_stage_lsu_cache_0_stage_reset; // @[DcacheStage.scala 164:13]
  wire  exe_stage_lsu_cache_0_stage__T_200 = ~exe_stage_lsu_cache_0_stage__T_197; // @[DcacheStage.scala 164:13]
  wire  exe_stage_lsu_cache_0_stage__T_228 = exe_stage_lsu_cache_0_stage__cbSel_T_17 |
    exe_stage_lsu_cache_0_stage__cbSel_T_27; // @[riscv_isa.scala 146:23]
  wire  exe_stage_lsu_cache_0_stage__T_229 = ~exe_stage_lsu_cache_0_stage__T_228; // @[DcacheStage.scala 167:75]
  wire  exe_stage_lsu_cache_0_stage__T_230 = exe_stage_lsu_cache_0_stage__cbSel_T_18 &
    exe_stage_lsu_cache_0_stage__T_229; // @[DcacheStage.scala 167:73]
  wire  exe_stage_lsu_cache_0_stage__T_231 = exe_stage_lsu_cache_0_stage__cbSel_T_34 |
    exe_stage_lsu_cache_0_stage__T_230; // @[DcacheStage.scala 167:44]
  wire [25:0] exe_stage_lsu_cache_0_stage__T_232 = exe_stage_lsu_cache_0_stage_lr_addr[31:6]; // @[DcacheStage.scala 168:33]
  wire  exe_stage_lsu_cache_0_stage__T_233 = exe_stage_lsu_cache_0_stage__tagInfoW_T ==
    exe_stage_lsu_cache_0_stage__T_232; // @[DcacheStage.scala 168:22]
  wire  exe_stage_lsu_cache_0_stage__GEN_70 = exe_stage_lsu_cache_0_stage__T_233 ? 1'h0 :
    exe_stage_lsu_cache_0_stage_is_pending_lr; // @[DcacheStage.scala 168:55 169:23 147:30]
  wire  exe_stage_lsu_cache_0_stage__GEN_71 = exe_stage_lsu_cache_0_stage__T_231 ? exe_stage_lsu_cache_0_stage__GEN_70
     : exe_stage_lsu_cache_0_stage_is_pending_lr; // @[DcacheStage.scala 167:107 147:30]
  wire  exe_stage_lsu_cache_0_stage__GEN_72 = exe_stage_lsu_cache_0_stage__cbSel_T_17 ? 1'h0 :
    exe_stage_lsu_cache_0_stage__GEN_71; // @[DcacheStage.scala 165:45 166:21]
  wire  exe_stage_lsu_cache_0_stage__GEN_73 = exe_stage_lsu_cache_0_stage__cbSel_T_27 |
    exe_stage_lsu_cache_0_stage__GEN_72; // @[DcacheStage.scala 160:38 161:21]
  wire  exe_stage_lsu_cache_0_stage__T_234 = exe_stage_lsu_cache_0_stage_pipeStage1Valid &
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe; // @[DcacheStage.scala 172:32]
  wire  exe_stage_lsu_cache_0_stage__GEN_84 = exe_stage_lsu_cache_0_stage_io_isCacheEmpty ? 1'h0 :
    exe_stage_lsu_cache_0_stage_killTrans; // @[DcacheStage.scala 180:34 181:15 146:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_85 = exe_stage_lsu_cache_0_stage_io_flush | exe_stage_lsu_cache_0_stage__GEN_84
    ; // @[DcacheStage.scala 178:20 179:15]
  wire  _GEN_527 = 2'h0 == exe_stage_lsu_cache_0_stage__addrSelW_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_529 = 2'h0 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__datEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_118 = 2'h0 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__datEnW_0_T | exe_stage_lsu_cache_0_stage_isCBValid_0_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_531 = 2'h0 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__cbSel_T_46; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_119 = 2'h0 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__cbSel_T_46 | exe_stage_lsu_cache_0_stage_isCBValid_0_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_532 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_534 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__datEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_120 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__datEnW_0_T | exe_stage_lsu_cache_0_stage_isCBValid_1_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_536 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__cbSel_T_46; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_121 = 2'h1 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__cbSel_T_46 | exe_stage_lsu_cache_0_stage_isCBValid_1_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_537 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_539 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__datEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_122 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__datEnW_0_T | exe_stage_lsu_cache_0_stage_isCBValid_2_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_541 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__cbSel_T_46; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_123 = 2'h2 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__cbSel_T_46 | exe_stage_lsu_cache_0_stage_isCBValid_2_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_542 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_544 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__datEnW_0_T; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_124 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__datEnW_0_T | exe_stage_lsu_cache_0_stage_isCBValid_3_0; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  _GEN_546 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T & exe_stage_lsu_cache_0_stage__cbSel_T_46; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_125 = 2'h3 == exe_stage_lsu_cache_0_stage__addrSelW_T &
    exe_stage_lsu_cache_0_stage__cbSel_T_46 | exe_stage_lsu_cache_0_stage_isCBValid_3_1; // @[DcacheStage.scala 228:{34,34} 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_126 = _GEN_527 & exe_stage_lsu_cache_0_stage__datEnW_0_T ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_0_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_127 = _GEN_527 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_0_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_128 = _GEN_532 & exe_stage_lsu_cache_0_stage__datEnW_0_T ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_1_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_129 = _GEN_532 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_1_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_130 = _GEN_537 & exe_stage_lsu_cache_0_stage__datEnW_0_T ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_2_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_131 = _GEN_537 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_2_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_132 = _GEN_542 & exe_stage_lsu_cache_0_stage__datEnW_0_T ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_3_0; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_133 = _GEN_542 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ? 1'h0 :
    exe_stage_lsu_cache_0_stage_isCBDirty_3_1; // @[DcacheStage.scala 229:{34,34} 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_134 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_118 : exe_stage_lsu_cache_0_stage_isCBValid_0_0; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_135 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_119 : exe_stage_lsu_cache_0_stage_isCBValid_0_1; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_136 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_120 : exe_stage_lsu_cache_0_stage_isCBValid_1_0; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_137 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_121 : exe_stage_lsu_cache_0_stage_isCBValid_1_1; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_138 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_122 : exe_stage_lsu_cache_0_stage_isCBValid_2_0; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_139 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_123 : exe_stage_lsu_cache_0_stage_isCBValid_2_1; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_140 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_124 : exe_stage_lsu_cache_0_stage_isCBValid_3_0; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_141 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_125 : exe_stage_lsu_cache_0_stage_isCBValid_3_1; // @[DcacheStage.scala 227:38 84:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_142 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_126 : exe_stage_lsu_cache_0_stage_isCBDirty_0_0; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_143 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_127 : exe_stage_lsu_cache_0_stage_isCBDirty_0_1; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_144 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_128 : exe_stage_lsu_cache_0_stage_isCBDirty_1_0; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_145 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_129 : exe_stage_lsu_cache_0_stage_isCBDirty_1_1; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_146 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_130 : exe_stage_lsu_cache_0_stage_isCBDirty_2_0; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_147 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_131 : exe_stage_lsu_cache_0_stage_isCBDirty_2_1; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_148 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_132 : exe_stage_lsu_cache_0_stage_isCBDirty_3_0; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_149 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant ?
    exe_stage_lsu_cache_0_stage__GEN_133 : exe_stage_lsu_cache_0_stage_isCBDirty_3_1; // @[DcacheStage.scala 227:38 86:26]
  wire  exe_stage_lsu_cache_0_stage__GEN_150 = _GEN_529 | exe_stage_lsu_cache_0_stage__GEN_142; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_151 = _GEN_531 | exe_stage_lsu_cache_0_stage__GEN_143; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_152 = _GEN_534 | exe_stage_lsu_cache_0_stage__GEN_144; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_153 = _GEN_536 | exe_stage_lsu_cache_0_stage__GEN_145; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_154 = _GEN_539 | exe_stage_lsu_cache_0_stage__GEN_146; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_155 = _GEN_541 | exe_stage_lsu_cache_0_stage__GEN_147; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_156 = _GEN_544 | exe_stage_lsu_cache_0_stage__GEN_148; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__GEN_157 = _GEN_546 | exe_stage_lsu_cache_0_stage__GEN_149; // @[DcacheStage.scala 232:{34,34}]
  wire  exe_stage_lsu_cache_0_stage__T_280 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe &
    exe_stage_lsu_cache_0_stage_isHit; // @[DcacheStage.scala 235:36]
  wire [1:0] exe_stage_lsu_cache_0_stage__T_281 = exe_stage_lsu_cache_0_stage_res_0 + exe_stage_lsu_cache_0_stage_res_1; // @[Bitwise.scala 51:90]
  wire  exe_stage_lsu_cache_0_stage__T_283 = exe_stage_lsu_cache_0_stage__T_281 <= 2'h1; // @[DcacheStage.scala 242:51]
  wire  exe_stage_lsu_cache_0_stage__T_286 = ~exe_stage_lsu_cache_0_stage__T_283; // @[DcacheStage.scala 242:36]
  wire  exe_stage_lsu_cache_0_stage__T_287 = ~exe_stage_lsu_cache_0_stage_isHit; // @[DcacheStage.scala 283:46]
  reg  exe_stage_lsu_cache_0_stage_missUnitReqValid; // @[DcacheStage.scala 291:33]
  reg [31:0] exe_stage_lsu_cache_0_stage_missUnitReqPaddr; // @[DcacheStage.scala 292:29]
  wire  exe_stage_lsu_cache_0_stage__T_330 = exe_stage_lsu_cache_0_stage__cbSel_T_39 |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft; // @[DcacheStage.scala 297:58]
  wire  exe_stage_lsu_cache_0_stage__T_331 = exe_stage_lsu_cache_0_stage_pipeStage1Valid &
    exe_stage_lsu_cache_0_stage__T_330; // @[DcacheStage.scala 297:25]
  wire  exe_stage_lsu_cache_0_stage__T_333 = exe_stage_lsu_cache_0_stage__T_331 & exe_stage_lsu_cache_0_stage__T_287; // @[DcacheStage.scala 297:87]
  wire [31:0] exe_stage_lsu_cache_0_stage__missUnitReqPaddr_T = {{4'd0},
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[31:4]}; // @[DcacheStage.scala 299:46]
  wire [35:0] _GEN_592 = {exe_stage_lsu_cache_0_stage__missUnitReqPaddr_T, 4'h0}; // @[DcacheStage.scala 299:60]
  wire [38:0] exe_stage_lsu_cache_0_stage__missUnitReqPaddr_T_1 = {{3'd0}, _GEN_592}; // @[DcacheStage.scala 299:60]
  wire [38:0] exe_stage_lsu_cache_0_stage__GEN_207 = exe_stage_lsu_cache_0_stage__T_333 ?
    exe_stage_lsu_cache_0_stage__missUnitReqPaddr_T_1 : {{7'd0}, exe_stage_lsu_cache_0_stage_missUnitReqPaddr}; // @[DcacheStage.scala 297:102 299:22 292:29]
  reg  exe_stage_lsu_cache_0_stage_wbReqValid; // @[DcacheStage.scala 307:27]
  reg [31:0] exe_stage_lsu_cache_0_stage_wbReqPaddr; // @[DcacheStage.scala 308:23]
  reg [127:0] exe_stage_lsu_cache_0_stage_wbReqData; // @[DcacheStage.scala 309:23]
  reg  exe_stage_lsu_cache_0_stage_wbReqisData; // @[DcacheStage.scala 310:24]
  reg  exe_stage_lsu_cache_0_stage_isPb; // @[DcacheStage.scala 311:24]
  wire  exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_releaseData_T = ~exe_stage_lsu_cache_0_stage_isPb; // @[DcacheStage.scala 317:51]
  wire  exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_release_T = ~exe_stage_lsu_cache_0_stage_wbReqisData; // @[DcacheStage.scala 318:36]
  wire  exe_stage_lsu_cache_0_stage__T_338 = ~exe_stage_lsu_cache_0_stage_rplSel_is_emptyBlock_exist; // @[DcacheStage.scala 322:56]
  wire  exe_stage_lsu_cache_0_stage__T_339 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant &
    exe_stage_lsu_cache_0_stage__T_338; // @[DcacheStage.scala 322:54]
  wire  exe_stage_lsu_cache_0_stage__T_340 = exe_stage_lsu_cache_0_stage_pipeStage1Valid &
    exe_stage_lsu_cache_0_stage__T_339; // @[DcacheStage.scala 322:25]
  wire [25:0] exe_stage_lsu_cache_0_stage__GEN_209 = exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage__tagInfoR_1_T : exe_stage_lsu_cache_0_stage__tagInfoR_0_T; // @[Cat.scala 33:{92,92}]
  wire [31:0] exe_stage_lsu_cache_0_stage__wbReqPaddr_T = {exe_stage_lsu_cache_0_stage__GEN_209,
    exe_stage_lsu_cache_0_stage__addrSelW_T,4'h0}; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_cache_0_stage__GEN_211 = _GEN_527 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage_isCBDirty_0_1 : exe_stage_lsu_cache_0_stage_isCBDirty_0_0; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_212 = _GEN_532 & exe_stage_lsu_cache_0_stage__datEnW_0_T ?
    exe_stage_lsu_cache_0_stage_isCBDirty_1_0 : exe_stage_lsu_cache_0_stage__GEN_211; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_213 = _GEN_532 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage_isCBDirty_1_1 : exe_stage_lsu_cache_0_stage__GEN_212; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_214 = _GEN_537 & exe_stage_lsu_cache_0_stage__datEnW_0_T ?
    exe_stage_lsu_cache_0_stage_isCBDirty_2_0 : exe_stage_lsu_cache_0_stage__GEN_213; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_215 = _GEN_537 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage_isCBDirty_2_1 : exe_stage_lsu_cache_0_stage__GEN_214; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_216 = _GEN_542 & exe_stage_lsu_cache_0_stage__datEnW_0_T ?
    exe_stage_lsu_cache_0_stage_isCBDirty_3_0 : exe_stage_lsu_cache_0_stage__GEN_215; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__GEN_217 = _GEN_542 & exe_stage_lsu_cache_0_stage__cbSel_T_46 ?
    exe_stage_lsu_cache_0_stage_isCBDirty_3_1 : exe_stage_lsu_cache_0_stage__GEN_216; // @[DcacheStage.scala 326:{17,17}]
  wire  exe_stage_lsu_cache_0_stage__wbReqisData_T = exe_stage_lsu_cache_0_stage__GEN_217 &
    exe_stage_lsu_cache_0_stage_isHit; // @[DcacheStage.scala 332:47]
  wire [38:0] exe_stage_lsu_cache_0_stage__GEN_219 = exe_stage_lsu_cache_0_stage__T_234 ?
    exe_stage_lsu_cache_0_stage__missUnitReqPaddr_T_1 : {{7'd0}, exe_stage_lsu_cache_0_stage_wbReqPaddr}; // @[DcacheStage.scala 328:60 330:17 308:23]
  wire  exe_stage_lsu_cache_0_stage__GEN_222 = exe_stage_lsu_cache_0_stage__T_234 | exe_stage_lsu_cache_0_stage_isPb; // @[DcacheStage.scala 328:60 333:17 311:24]
  wire  exe_stage_lsu_cache_0_stage__GEN_223 = exe_stage_lsu_cache_0_stage__T_340 | exe_stage_lsu_cache_0_stage__T_234; // @[DcacheStage.scala 322:99 323:17]
  wire [38:0] exe_stage_lsu_cache_0_stage__GEN_224 = exe_stage_lsu_cache_0_stage__T_340 ? {{7'd0},
    exe_stage_lsu_cache_0_stage__wbReqPaddr_T} : exe_stage_lsu_cache_0_stage__GEN_219; // @[DcacheStage.scala 322:99 324:17]
  reg  exe_stage_lsu_cache_0_stage_reloadValid; // @[DcacheStage.scala 347:28]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_chkIdx; // @[DcacheStage.scala 348:24]
  reg [31:0] exe_stage_lsu_cache_0_stage_reloadBits_paddr; // @[DcacheStage.scala 348:24]
  reg [127:0] exe_stage_lsu_cache_0_stage_reloadBits_wdata; // @[DcacheStage.scala 348:24]
  reg [15:0] exe_stage_lsu_cache_0_stage_reloadBits_wstrb; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lb; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lh; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lw; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_ld; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lbu; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lhu; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lwu; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sb; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sh; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sw; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sd; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_w; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_d; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_flw; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_fsw; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_fld; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_fsd; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_probe; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_grant; // @[DcacheStage.scala 348:24]
  reg  exe_stage_lsu_cache_0_stage_reloadBits_fun_preft; // @[DcacheStage.scala 348:24]
  reg [5:0] exe_stage_lsu_cache_0_stage_reloadBits_rd_rd0; // @[DcacheStage.scala 348:24]
  wire  exe_stage_lsu_cache_0_stage__T_384 = exe_stage_lsu_cache_0_stage__T_165 & exe_stage_lsu_cache_0_stage__T_287; // @[DcacheStage.scala 350:56]
  reg  exe_stage_lsu_cache_0_stage_deqValid; // @[DcacheStage.scala 362:25]
  reg  exe_stage_lsu_cache_0_stage_deqBits_chkIdx; // @[DcacheStage.scala 363:21]
  reg [5:0] exe_stage_lsu_cache_0_stage_deqBits_wb_rd0; // @[DcacheStage.scala 363:21]
  reg [63:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res; // @[DcacheStage.scala 363:21]
  reg  exe_stage_lsu_cache_0_stage_deqBits_is_load_amo; // @[DcacheStage.scala 363:21]
  reg  exe_stage_lsu_cache_0_stage_deqBits_is_flw; // @[DcacheStage.scala 363:21]
  reg  exe_stage_lsu_cache_0_stage_deqBits_is_fld; // @[DcacheStage.scala 363:21]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[0]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_1 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[1]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_2 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[2]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_3 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[3]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_4 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[4]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_5 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[5]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_6 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[6]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_7 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[7]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_8 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[8]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_9 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[9]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_10 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[10]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_11 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[11]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_12 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[12]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_13 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[13]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_14 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[14]; // @[Util.scala 41:14]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_15 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb[15]; // @[Util.scala 41:14]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_17 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_19 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_1 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_21 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_2 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_23 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_3 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_25 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_4 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_27 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_5 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_29 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_6 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_31 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_7 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_33 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_8 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_35 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_9 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_37 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_10 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_39 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_11 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_41 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_12 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_43 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_13 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_45 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_14 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_47 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_15 ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_wmask_lo = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_31,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_29,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_27,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_25,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_23,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_21,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_19,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_17}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_wmask = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_47,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_45,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_43,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_41,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_39,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_37,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_35,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_wmask_T_33,
    exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_wmask_lo}; // @[Cat.scala 33:92]
  wire [127:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T = ~
    exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_wmask; // @[Util.scala 108:27]
  wire [127:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T_1 =
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T & exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T
    ; // @[Util.scala 108:25]
  wire [127:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T_2 =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata & exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_wmask; // @[Util.scala 108:44]
  wire [127:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_new_data =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T_1 |
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_new_data_T_2; // @[Util.scala 108:35]
  wire [127:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_overlap_data =
    exe_stage_lsu_cache_0_stage__cbSel_T_28 ? exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_new_data :
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T; // @[DcacheStage.scala 380:31]
  wire [127:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_res_align_data_T_4 =
    exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_overlap_data >>
    exe_stage_lsu_cache_0_stage__amo_reAlign_64_a_align_data_T_3; // @[Util.scala 147:26]
  wire [2:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T =
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[2:0]; // @[Util.scala 147:35]
  wire [5:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_3 = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T, 3'h0}; // @[Util.scala 147:72]
  wire [63:0] exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_res_align_data =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_pre_res_align_data_T_4[63:0]; // @[Util.scala 145:26 147:18]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4 =
    exe_stage_lsu_cache_0_stage_deqBits_wb_res_res_pre_pre_res_align_data >>
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_3; // @[Util.scala 147:26]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb |
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_1 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T | exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_2 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu
     | exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu; // @[riscv_isa.scala 158:20]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_3 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_2 | exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu; // @[riscv_isa.scala 158:26]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_4 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[7]; // @[Util.scala 120:90]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_5 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_4; // @[Util.scala 120:71]
  wire [55:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_7 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_5 ? 56'hffffffffffffff : 56'h0; // @[Bitwise.scala 77:12]
  wire [7:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_8 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[7:0]; // @[Util.scala 120:104]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_9 = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_7,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_8}; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_10 = exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh
     | exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_11 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_10 | exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_14 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[15]; // @[Util.scala 121:90]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_15 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_14; // @[Util.scala 121:71]
  wire [47:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_17 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_15 ? 48'hffffffffffff : 48'h0; // @[Bitwise.scala 77:12]
  wire [15:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_18 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[15:0]; // @[Util.scala 121:104]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_19 = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_17,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_18}; // @[Cat.scala 33:92]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_37 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[31]; // @[Util.scala 122:90]
  wire  exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_38 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_3 ? 1'h0 :
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_37; // @[Util.scala 122:71]
  wire [31:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_40 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_38 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_41 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4[31:0]; // @[Util.scala 122:104]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_42 = {
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_40,
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_41}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_57 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_1 ?
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_9 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_58 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_11 ?
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_19 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_59 =
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_15 ? exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_42 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_60 =
    exe_stage_lsu_cache_0_stage__is_sc_fail_T_32 ?
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_align_align_data_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_61 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_57 |
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_58; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_62 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_61 |
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_59; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_63 =
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_62 |
    exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_60; // @[Mux.scala 27:73]
  wire  exe_stage_lsu_cache_0_stage__deqBits_is_load_amo_T_31 = exe_stage_lsu_cache_0_stage__cbSel_T_29 |
    exe_stage_lsu_cache_0_stage__cbSel_T_27; // @[Dcache.scala 56:31]
  reg [31:0] exe_stage_lsu_cache_0_sbBuff_0_paddr; // @[Dcache.scala 138:23]
  reg [31:0] exe_stage_lsu_cache_0_sbBuff_1_paddr; // @[Dcache.scala 138:23]
  reg  exe_stage_lsu_cache_0_sbValid_0; // @[Dcache.scala 139:24]
  reg  exe_stage_lsu_cache_0_sbValid_1; // @[Dcache.scala 139:24]
  wire [28:0] exe_stage_lsu_cache_0__isHazard_T = exe_stage_lsu_cache_0_sbBuff_0_paddr[31:3]; // @[Dcache.scala 142:51]
  wire [28:0] exe_stage_lsu_cache_0__isHazard_T_1 = exe_stage_lsu_cache_0_io_enq_bits_paddr[31:3]; // @[Dcache.scala 142:83]
  wire  exe_stage_lsu_cache_0__isHazard_T_2 = exe_stage_lsu_cache_0__isHazard_T == exe_stage_lsu_cache_0__isHazard_T_1; // @[Dcache.scala 142:62]
  wire [28:0] exe_stage_lsu_cache_0__isHazard_T_3 = exe_stage_lsu_cache_0_sbBuff_1_paddr[31:3]; // @[Dcache.scala 142:51]
  wire  exe_stage_lsu_cache_0__isHazard_T_5 = exe_stage_lsu_cache_0__isHazard_T_3 == exe_stage_lsu_cache_0__isHazard_T_1
    ; // @[Dcache.scala 142:62]
  wire  exe_stage_lsu_cache_0_isHazard = exe_stage_lsu_cache_0__isHazard_T_2 | exe_stage_lsu_cache_0__isHazard_T_5; // @[Dcache.scala 142:106]
  wire  exe_stage_lsu_cache_0__sbIdx_T = ~exe_stage_lsu_cache_0_sbValid_0; // @[Dcache.scala 143:50]
  wire  exe_stage_lsu_cache_0_sbIdx = exe_stage_lsu_cache_0__sbIdx_T ? 1'h0 : 1'h1; // @[Dcache.scala 143:33]
  wire  exe_stage_lsu_cache_0__sbEnqReady_T_1 = ~exe_stage_lsu_cache_0_sbValid_1; // @[Dcache.scala 147:36]
  wire  exe_stage_lsu_cache_0__sbEnqReady_T_3 = exe_stage_lsu_cache_0__sbIdx_T | exe_stage_lsu_cache_0__sbEnqReady_T_1; // @[Dcache.scala 147:19]
  wire  exe_stage_lsu_cache_0__sbEnqReady_T_4 = ~exe_stage_lsu_cache_0_isHazard; // @[Dcache.scala 148:5]
  wire  exe_stage_lsu_cache_0_sbEnqReady = exe_stage_lsu_cache_0__sbEnqReady_T_3 & exe_stage_lsu_cache_0__sbEnqReady_T_4
    ; // @[Dcache.scala 147:51]
  wire  exe_stage_lsu_cache_0__T = exe_stage_lsu_cache_0_io_enq_ready & exe_stage_lsu_cache_0_io_enq_valid; // @[Decoupled.scala 52:35]
  wire [31:0] exe_stage_lsu_cache_0__GEN_2 = ~exe_stage_lsu_cache_0_sbIdx ? exe_stage_lsu_cache_0_io_enq_bits_paddr :
    exe_stage_lsu_cache_0_sbBuff_0_paddr; // @[Dcache.scala 151:{20,20} 138:23]
  wire [31:0] exe_stage_lsu_cache_0__GEN_3 = exe_stage_lsu_cache_0_sbIdx ? exe_stage_lsu_cache_0_io_enq_bits_paddr :
    exe_stage_lsu_cache_0_sbBuff_1_paddr; // @[Dcache.scala 151:{20,20} 138:23]
  wire  exe_stage_lsu_cache_0__GEN_96 = ~exe_stage_lsu_cache_0_sbIdx | exe_stage_lsu_cache_0_sbValid_0; // @[Dcache.scala 152:{20,20} 139:24]
  wire  exe_stage_lsu_cache_0__GEN_97 = exe_stage_lsu_cache_0_sbIdx | exe_stage_lsu_cache_0_sbValid_1; // @[Dcache.scala 152:{20,20} 139:24]
  wire [31:0] exe_stage_lsu_cache_0__GEN_100 = exe_stage_lsu_cache_0__T ? exe_stage_lsu_cache_0__GEN_2 :
    exe_stage_lsu_cache_0_sbBuff_0_paddr; // @[Dcache.scala 138:23 150:23]
  wire [31:0] exe_stage_lsu_cache_0__GEN_101 = exe_stage_lsu_cache_0__T ? exe_stage_lsu_cache_0__GEN_3 :
    exe_stage_lsu_cache_0_sbBuff_1_paddr; // @[Dcache.scala 138:23 150:23]
  wire  exe_stage_lsu_cache_0__GEN_194 = exe_stage_lsu_cache_0__T ? exe_stage_lsu_cache_0__GEN_96 :
    exe_stage_lsu_cache_0_sbValid_0; // @[Dcache.scala 150:23 139:24]
  wire  exe_stage_lsu_cache_0__GEN_195 = exe_stage_lsu_cache_0__T ? exe_stage_lsu_cache_0__GEN_97 :
    exe_stage_lsu_cache_0_sbValid_1; // @[Dcache.scala 150:23 139:24]
  wire  exe_stage_lsu_cache_0__T_1 = exe_stage_lsu_cache_0_io_deq_ready & exe_stage_lsu_cache_0_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_cache_0_isSBEmpty = exe_stage_lsu_cache_0__sbIdx_T & exe_stage_lsu_cache_0__sbEnqReady_T_1; // @[Dcache.scala 160:33]
  wire  exe_stage_lsu_cache_0__T_3 = ~exe_stage_lsu_cache_0_isSBEmpty; // @[Dcache.scala 161:32]
  wire  exe_stage_lsu_cache_0__T_5 = ~exe_stage_lsu_cache_0_reset; // @[Dcache.scala 161:31]
  wire  exe_stage_lsu_cache_0__T_6 = ~exe_stage_lsu_cache_0__T_3; // @[Dcache.scala 161:31]
  wire  exe_stage_lsu_cache_0__T_9 = exe_stage_lsu_cache_0_sbBuff_1_paddr == exe_stage_lsu_cache_0_sbBuff_0_paddr; // @[Dcache.scala 168:64]
  wire [1:0] exe_stage_lsu_cache_0__T_10 = 1'h1 + exe_stage_lsu_cache_0__T_9; // @[Dcache.scala 168:27]
  wire  exe_stage_lsu_cache_0__T_12 = exe_stage_lsu_cache_0__T_10 == 2'h1; // @[Dcache.scala 168:87]
  wire  exe_stage_lsu_cache_0__T_15 = ~exe_stage_lsu_cache_0__T_12; // @[Dcache.scala 168:13]
  wire  exe_stage_lsu_cache_0__T_17 = exe_stage_lsu_cache_0_sbBuff_0_paddr == exe_stage_lsu_cache_0_sbBuff_1_paddr; // @[Dcache.scala 168:64]
  wire [1:0] exe_stage_lsu_cache_0__T_19 = exe_stage_lsu_cache_0__T_17 + 1'h1; // @[Dcache.scala 168:27]
  wire  exe_stage_lsu_cache_0__T_21 = exe_stage_lsu_cache_0__T_19 == 2'h1; // @[Dcache.scala 168:87]
  wire  exe_stage_lsu_cache_0__T_24 = ~exe_stage_lsu_cache_0__T_21; // @[Dcache.scala 168:13]
  wire  exe_stage_lsu_cache_0__T_27 = ~exe_stage_lsu_cache_0_reload_fifo_io_enq_ready; // @[Dcache.scala 281:41]
  wire  exe_stage_lsu_cache_0__T_30 = ~exe_stage_lsu_cache_0_rtn_fifo_io_enq_ready; // @[Dcache.scala 282:38]
  wire  exe_stage_lsu_lu_wb_arb_io_in_0_ready;
  wire  exe_stage_lsu_lu_wb_arb_io_in_0_valid;
  wire [5:0] exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_res;
  wire  exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_flw;
  wire  exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_fld;
  wire  exe_stage_lsu_lu_wb_arb_io_in_1_ready;
  wire  exe_stage_lsu_lu_wb_arb_io_in_1_valid;
  wire [5:0] exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_res;
  wire  exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_flw;
  wire  exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_fld;
  wire  exe_stage_lsu_lu_wb_arb_io_in_2_ready;
  wire  exe_stage_lsu_lu_wb_arb_io_in_2_valid;
  wire [5:0] exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_res;
  wire  exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_flw;
  wire  exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_fld;
  wire  exe_stage_lsu_lu_wb_arb_io_out_ready;
  wire  exe_stage_lsu_lu_wb_arb_io_out_valid;
  wire [5:0] exe_stage_lsu_lu_wb_arb_io_out_bits_wb_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_arb_io_out_bits_wb_res;
  wire  exe_stage_lsu_lu_wb_arb_io_out_bits_is_flw;
  wire  exe_stage_lsu_lu_wb_arb_io_out_bits_is_fld;
  wire [5:0] exe_stage_lsu_lu_wb_arb__GEN_2 = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_rd0 : exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [63:0] exe_stage_lsu_lu_wb_arb__GEN_3 = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_res : exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_res; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_lu_wb_arb__GEN_5 = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_flw : exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_lu_wb_arb__GEN_6 = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_fld : exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_lu_wb_arb__grant_T = exe_stage_lsu_lu_wb_arb_io_in_0_valid | exe_stage_lsu_lu_wb_arb_io_in_1_valid
    ; // @[Arbiter.scala 45:68]
  wire  exe_stage_lsu_lu_wb_arb_grant_1 = ~exe_stage_lsu_lu_wb_arb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_lu_wb_arb_grant_2 = ~exe_stage_lsu_lu_wb_arb__grant_T; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_lu_wb_arb__io_out_valid_T = ~exe_stage_lsu_lu_wb_arb_grant_2; // @[Arbiter.scala 147:19]
  wire  exe_stage_lsu_lu_wb_fifo_clock;
  wire  exe_stage_lsu_lu_wb_fifo_reset;
  wire  exe_stage_lsu_lu_wb_fifo_io_enq_ready;
  wire  exe_stage_lsu_lu_wb_fifo_io_enq_valid;
  wire [5:0] exe_stage_lsu_lu_wb_fifo_io_enq_bits_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_fifo_io_enq_bits_res;
  wire  exe_stage_lsu_lu_wb_fifo_io_deq_ready;
  wire  exe_stage_lsu_lu_wb_fifo_io_deq_valid;
  wire [5:0] exe_stage_lsu_lu_wb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_lsu_lu_wb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_lsu_lu_wb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_lsu_lu_wb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_lu_wb_fifo_ram_res_clock;
  reg  exe_stage_lsu_lu_wb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_lu_wb_fifo__empty_T = ~exe_stage_lsu_lu_wb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_lu_wb_fifo__do_enq_T = exe_stage_lsu_lu_wb_fifo_io_enq_ready &
    exe_stage_lsu_lu_wb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_lu_wb_fifo__do_deq_T = exe_stage_lsu_lu_wb_fifo_io_deq_ready &
    exe_stage_lsu_lu_wb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_lu_wb_fifo__GEN_10 = exe_stage_lsu_lu_wb_fifo_io_deq_ready ? 1'h0 :
    exe_stage_lsu_lu_wb_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_lu_wb_fifo__GEN_14 = exe_stage_lsu_lu_wb_fifo__empty_T ? exe_stage_lsu_lu_wb_fifo__GEN_10 :
    exe_stage_lsu_lu_wb_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_lu_wb_fifo__GEN_13 = exe_stage_lsu_lu_wb_fifo__empty_T ? 1'h0 : exe_stage_lsu_lu_wb_fifo__do_deq_T
    ; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_lu_wb_fifo__T = exe_stage_lsu_lu_wb_fifo__GEN_14 != exe_stage_lsu_lu_wb_fifo__GEN_13; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_lu_wb_fifo__io_deq_valid_T = ~exe_stage_lsu_lu_wb_fifo__empty_T; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_flu_wb_fifo_clock;
  wire  exe_stage_lsu_flu_wb_fifo_reset;
  wire  exe_stage_lsu_flu_wb_fifo_io_enq_ready;
  wire  exe_stage_lsu_flu_wb_fifo_io_enq_valid;
  wire  exe_stage_lsu_flu_wb_fifo_io_deq_ready;
  wire  exe_stage_lsu_flu_wb_fifo_io_deq_valid;
  reg  exe_stage_lsu_flu_wb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_flu_wb_fifo__empty_T = ~exe_stage_lsu_flu_wb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_flu_wb_fifo__do_enq_T = exe_stage_lsu_flu_wb_fifo_io_enq_ready &
    exe_stage_lsu_flu_wb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_flu_wb_fifo__do_deq_T = exe_stage_lsu_flu_wb_fifo_io_deq_ready &
    exe_stage_lsu_flu_wb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_flu_wb_fifo__GEN_10 = exe_stage_lsu_flu_wb_fifo_io_deq_ready ? 1'h0 :
    exe_stage_lsu_flu_wb_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_flu_wb_fifo__GEN_14 = exe_stage_lsu_flu_wb_fifo__empty_T ? exe_stage_lsu_flu_wb_fifo__GEN_10 :
    exe_stage_lsu_flu_wb_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_flu_wb_fifo__GEN_13 = exe_stage_lsu_flu_wb_fifo__empty_T ? 1'h0 :
    exe_stage_lsu_flu_wb_fifo__do_deq_T; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_flu_wb_fifo__T = exe_stage_lsu_flu_wb_fifo__GEN_14 != exe_stage_lsu_flu_wb_fifo__GEN_13; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_flu_wb_fifo__io_deq_valid_T = ~exe_stage_lsu_flu_wb_fifo__empty_T; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_su_wb_fifo_clock;
  wire  exe_stage_lsu_su_wb_fifo_reset;
  wire  exe_stage_lsu_su_wb_fifo_io_enq_ready;
  wire  exe_stage_lsu_su_wb_fifo_io_enq_valid;
  wire [5:0] exe_stage_lsu_su_wb_fifo_io_enq_bits_rd0;
  wire  exe_stage_lsu_su_wb_fifo_io_deq_ready;
  wire  exe_stage_lsu_su_wb_fifo_io_deq_valid;
  wire [5:0] exe_stage_lsu_su_wb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_lsu_su_wb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_lsu_su_wb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_lsu_su_wb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_su_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_su_wb_fifo_ram_res_clock;
  reg  exe_stage_lsu_su_wb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_su_wb_fifo__empty_T = ~exe_stage_lsu_su_wb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_su_wb_fifo__do_enq_T = exe_stage_lsu_su_wb_fifo_io_enq_ready &
    exe_stage_lsu_su_wb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_su_wb_fifo__do_deq_T = exe_stage_lsu_su_wb_fifo_io_deq_ready &
    exe_stage_lsu_su_wb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_su_wb_fifo__GEN_10 = exe_stage_lsu_su_wb_fifo_io_deq_ready ? 1'h0 :
    exe_stage_lsu_su_wb_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_su_wb_fifo__GEN_14 = exe_stage_lsu_su_wb_fifo__empty_T ? exe_stage_lsu_su_wb_fifo__GEN_10 :
    exe_stage_lsu_su_wb_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_su_wb_fifo__GEN_13 = exe_stage_lsu_su_wb_fifo__empty_T ? 1'h0 : exe_stage_lsu_su_wb_fifo__do_deq_T
    ; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_su_wb_fifo__T = exe_stage_lsu_su_wb_fifo__GEN_14 != exe_stage_lsu_su_wb_fifo__GEN_13; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_su_wb_fifo__io_deq_valid_T = ~exe_stage_lsu_su_wb_fifo__empty_T; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_fe_wb_fifo_clock;
  wire  exe_stage_lsu_fe_wb_fifo_reset;
  wire  exe_stage_lsu_fe_wb_fifo_io_enq_ready;
  wire  exe_stage_lsu_fe_wb_fifo_io_enq_valid;
  wire [5:0] exe_stage_lsu_fe_wb_fifo_io_enq_bits_rd0;
  wire  exe_stage_lsu_fe_wb_fifo_io_deq_ready;
  wire  exe_stage_lsu_fe_wb_fifo_io_deq_valid;
  wire [5:0] exe_stage_lsu_fe_wb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_lsu_fe_wb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_lsu_fe_wb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_lsu_fe_wb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_lsu_fe_wb_fifo_ram_res_clock;
  reg  exe_stage_lsu_fe_wb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_lsu_fe_wb_fifo__empty_T = ~exe_stage_lsu_fe_wb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_lsu_fe_wb_fifo__do_enq_T = exe_stage_lsu_fe_wb_fifo_io_enq_ready &
    exe_stage_lsu_fe_wb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_fe_wb_fifo__do_deq_T = exe_stage_lsu_fe_wb_fifo_io_deq_ready &
    exe_stage_lsu_fe_wb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu_fe_wb_fifo__GEN_10 = exe_stage_lsu_fe_wb_fifo_io_deq_ready ? 1'h0 :
    exe_stage_lsu_fe_wb_fifo__do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  exe_stage_lsu_fe_wb_fifo__GEN_14 = exe_stage_lsu_fe_wb_fifo__empty_T ? exe_stage_lsu_fe_wb_fifo__GEN_10 :
    exe_stage_lsu_fe_wb_fifo__do_enq_T; // @[Decoupled.scala 317:17]
  wire  exe_stage_lsu_fe_wb_fifo__GEN_13 = exe_stage_lsu_fe_wb_fifo__empty_T ? 1'h0 : exe_stage_lsu_fe_wb_fifo__do_deq_T
    ; // @[Decoupled.scala 317:17 319:14]
  wire  exe_stage_lsu_fe_wb_fifo__T = exe_stage_lsu_fe_wb_fifo__GEN_14 != exe_stage_lsu_fe_wb_fifo__GEN_13; // @[Decoupled.scala 295:15]
  wire  exe_stage_lsu_fe_wb_fifo__io_deq_valid_T = ~exe_stage_lsu_fe_wb_fifo__empty_T; // @[Decoupled.scala 304:19]
  wire  exe_stage_lsu_rtn_arb_io_in_0_ready;
  wire  exe_stage_lsu_rtn_arb_io_in_0_valid;
  wire [5:0] exe_stage_lsu_rtn_arb_io_in_0_bits_rd0;
  wire [63:0] exe_stage_lsu_rtn_arb_io_in_0_bits_res;
  wire  exe_stage_lsu_rtn_arb_io_in_1_ready;
  wire  exe_stage_lsu_rtn_arb_io_in_1_valid;
  wire [5:0] exe_stage_lsu_rtn_arb_io_in_1_bits_rd0;
  wire [63:0] exe_stage_lsu_rtn_arb_io_in_1_bits_res;
  wire  exe_stage_lsu_rtn_arb_io_in_2_ready;
  wire  exe_stage_lsu_rtn_arb_io_in_2_valid;
  wire [5:0] exe_stage_lsu_rtn_arb_io_in_2_bits_rd0;
  wire [63:0] exe_stage_lsu_rtn_arb_io_in_2_bits_res;
  wire  exe_stage_lsu_rtn_arb_io_out_ready;
  wire  exe_stage_lsu_rtn_arb_io_out_valid;
  wire [5:0] exe_stage_lsu_rtn_arb_io_out_bits_rd0;
  wire [63:0] exe_stage_lsu_rtn_arb_io_out_bits_res;
  wire [5:0] exe_stage_lsu_rtn_arb__GEN_1 = exe_stage_lsu_rtn_arb_io_in_1_valid ? exe_stage_lsu_rtn_arb_io_in_1_bits_rd0
     : exe_stage_lsu_rtn_arb_io_in_2_bits_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  wire [63:0] exe_stage_lsu_rtn_arb__GEN_2 = exe_stage_lsu_rtn_arb_io_in_1_valid ?
    exe_stage_lsu_rtn_arb_io_in_1_bits_res : exe_stage_lsu_rtn_arb_io_in_2_bits_res; // @[Arbiter.scala 136:15 138:26 140:19]
  wire  exe_stage_lsu_rtn_arb__grant_T = exe_stage_lsu_rtn_arb_io_in_0_valid | exe_stage_lsu_rtn_arb_io_in_1_valid; // @[Arbiter.scala 45:68]
  wire  exe_stage_lsu_rtn_arb_grant_1 = ~exe_stage_lsu_rtn_arb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_rtn_arb_grant_2 = ~exe_stage_lsu_rtn_arb__grant_T; // @[Arbiter.scala 45:78]
  wire  exe_stage_lsu_rtn_arb__io_out_valid_T = ~exe_stage_lsu_rtn_arb_grant_2; // @[Arbiter.scala 147:19]
  wire  exe_stage_lsu_acquireArb_io_in_0_ready;
  wire  exe_stage_lsu_acquireArb_io_in_0_valid;
  wire [2:0] exe_stage_lsu_acquireArb_io_in_0_bits_opcode;
  wire [2:0] exe_stage_lsu_acquireArb_io_in_0_bits_param;
  wire [2:0] exe_stage_lsu_acquireArb_io_in_0_bits_size;
  wire  exe_stage_lsu_acquireArb_io_in_0_bits_source;
  wire [31:0] exe_stage_lsu_acquireArb_io_in_0_bits_address;
  wire [7:0] exe_stage_lsu_acquireArb_io_in_0_bits_mask;
  wire [63:0] exe_stage_lsu_acquireArb_io_in_0_bits_data;
  wire  exe_stage_lsu_acquireArb_io_in_0_bits_corrupt;
  wire  exe_stage_lsu_acquireArb_io_out_ready;
  wire  exe_stage_lsu_acquireArb_io_out_valid;
  wire [2:0] exe_stage_lsu_acquireArb_io_out_bits_opcode;
  wire [2:0] exe_stage_lsu_acquireArb_io_out_bits_param;
  wire [2:0] exe_stage_lsu_acquireArb_io_out_bits_size;
  wire  exe_stage_lsu_acquireArb_io_out_bits_source;
  wire [31:0] exe_stage_lsu_acquireArb_io_out_bits_address;
  wire [7:0] exe_stage_lsu_acquireArb_io_out_bits_mask;
  wire [63:0] exe_stage_lsu_acquireArb_io_out_bits_data;
  wire  exe_stage_lsu_acquireArb_io_out_bits_corrupt;
  wire  exe_stage_lsu_grantAckArb_io_in_0_ready;
  wire  exe_stage_lsu_grantAckArb_io_in_0_valid;
  wire [4:0] exe_stage_lsu_grantAckArb_io_in_0_bits_sink;
  wire  exe_stage_lsu_grantAckArb_io_out_ready;
  wire  exe_stage_lsu_grantAckArb_io_out_valid;
  wire [4:0] exe_stage_lsu_grantAckArb_io_out_bits_sink;
  wire  exe_stage_lsu_releaseArb_io_in_0_ready;
  wire  exe_stage_lsu_releaseArb_io_in_0_valid;
  wire [2:0] exe_stage_lsu_releaseArb_io_in_0_bits_opcode;
  wire [2:0] exe_stage_lsu_releaseArb_io_in_0_bits_param;
  wire [2:0] exe_stage_lsu_releaseArb_io_in_0_bits_size;
  wire  exe_stage_lsu_releaseArb_io_in_0_bits_source;
  wire [31:0] exe_stage_lsu_releaseArb_io_in_0_bits_address;
  wire [63:0] exe_stage_lsu_releaseArb_io_in_0_bits_data;
  wire  exe_stage_lsu_releaseArb_io_in_0_bits_corrupt;
  wire  exe_stage_lsu_releaseArb_io_out_ready;
  wire  exe_stage_lsu_releaseArb_io_out_valid;
  wire [2:0] exe_stage_lsu_releaseArb_io_out_bits_opcode;
  wire [2:0] exe_stage_lsu_releaseArb_io_out_bits_param;
  wire [2:0] exe_stage_lsu_releaseArb_io_out_bits_size;
  wire  exe_stage_lsu_releaseArb_io_out_bits_source;
  wire [31:0] exe_stage_lsu_releaseArb_io_out_bits_address;
  wire [63:0] exe_stage_lsu_releaseArb_io_out_bits_data;
  wire  exe_stage_lsu_releaseArb_io_out_bits_corrupt;
  reg  exe_stage_lsu_trans_kill; // @[Lsu.scala 73:27]
  wire  exe_stage_lsu__addrTransIO_valid_T = exe_stage_lsu_io_mmu_lsu_bits_is_access_fault |
    exe_stage_lsu_io_mmu_lsu_bits_is_paging_fault; // @[MMU.scala 77:34]
  wire  exe_stage_lsu__addrTransIO_valid_T_1 = ~exe_stage_lsu__addrTransIO_valid_T; // @[Lsu.scala 136:43]
  wire  exe_stage_lsu__addrTransIO_valid_T_2 = exe_stage_lsu_io_mmu_lsu_valid & exe_stage_lsu__addrTransIO_valid_T_1; // @[Lsu.scala 136:41]
  wire  exe_stage_lsu__addrTransIO_valid_T_3 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu__addrTransIO_valid_T_4 = exe_stage_lsu__addrTransIO_valid_T_3 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu__addrTransIO_valid_T_5 = exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1[0]; // @[riscv_isa.scala 898:36]
  wire  exe_stage_lsu__addrTransIO_valid_T_7 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu__addrTransIO_valid_T_8 = exe_stage_lsu__addrTransIO_valid_T_7 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu__addrTransIO_valid_T_9 = exe_stage_lsu__addrTransIO_valid_T_8 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu__addrTransIO_valid_T_10 = exe_stage_lsu__addrTransIO_valid_T_9 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu__addrTransIO_valid_T_11 = exe_stage_lsu__addrTransIO_valid_T_10 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu__addrTransIO_valid_T_12 = exe_stage_lsu__addrTransIO_valid_T_11 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu__addrTransIO_valid_T_13 = exe_stage_lsu__addrTransIO_valid_T_12 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu__addrTransIO_valid_T_14 = exe_stage_lsu__addrTransIO_valid_T_13 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu__addrTransIO_valid_T_15 = exe_stage_lsu__addrTransIO_valid_T_14 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu__addrTransIO_valid_T_16 = exe_stage_lsu__addrTransIO_valid_T_15 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu__addrTransIO_valid_T_17 = exe_stage_lsu__addrTransIO_valid_T_16 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu__addrTransIO_valid_T_18 = exe_stage_lsu__addrTransIO_valid_T_17 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu__addrTransIO_valid_T_19 = exe_stage_lsu__addrTransIO_valid_T_18 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu__addrTransIO_valid_T_20 = exe_stage_lsu__addrTransIO_valid_T_19 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu__addrTransIO_valid_T_21 = exe_stage_lsu__addrTransIO_valid_T_20 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[riscv_isa.scala 155:151]
  wire [1:0] exe_stage_lsu__addrTransIO_valid_T_22 = exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1[1:0]; // @[riscv_isa.scala 899:36]
  wire  exe_stage_lsu__addrTransIO_valid_T_23 = exe_stage_lsu__addrTransIO_valid_T_22 != 2'h0; // @[riscv_isa.scala 899:42]
  wire  exe_stage_lsu__addrTransIO_valid_T_24 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu__addrTransIO_valid_T_25 = exe_stage_lsu__addrTransIO_valid_T_24 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu__addrTransIO_valid_T_26 = exe_stage_lsu__addrTransIO_valid_T_25 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu__addrTransIO_valid_T_27 = exe_stage_lsu__addrTransIO_valid_T_26 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu__addrTransIO_valid_T_28 = exe_stage_lsu__addrTransIO_valid_T_27 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu__addrTransIO_valid_T_29 = exe_stage_lsu__addrTransIO_valid_T_28 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu__addrTransIO_valid_T_30 = exe_stage_lsu__addrTransIO_valid_T_29 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu__addrTransIO_valid_T_31 = exe_stage_lsu__addrTransIO_valid_T_30 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu__addrTransIO_valid_T_32 = exe_stage_lsu__addrTransIO_valid_T_31 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu__addrTransIO_valid_T_33 = exe_stage_lsu__addrTransIO_valid_T_32 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu__addrTransIO_valid_T_34 = exe_stage_lsu__addrTransIO_valid_T_33 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu__addrTransIO_valid_T_35 = exe_stage_lsu__addrTransIO_valid_T_34 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu__addrTransIO_valid_T_36 = exe_stage_lsu__addrTransIO_valid_T_35 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu__addrTransIO_valid_T_37 = exe_stage_lsu__addrTransIO_valid_T_36 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[riscv_isa.scala 156:140]
  wire [2:0] exe_stage_lsu__addrTransIO_valid_T_38 = exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1[2:0]; // @[riscv_isa.scala 900:36]
  wire  exe_stage_lsu__addrTransIO_valid_T_39 = exe_stage_lsu__addrTransIO_valid_T_38 != 3'h0; // @[riscv_isa.scala 900:42]
  wire  exe_stage_lsu__addrTransIO_valid_T_40 = exe_stage_lsu__addrTransIO_valid_T_4 &
    exe_stage_lsu__addrTransIO_valid_T_5; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__addrTransIO_valid_T_41 = exe_stage_lsu__addrTransIO_valid_T_21 &
    exe_stage_lsu__addrTransIO_valid_T_23; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__addrTransIO_valid_T_42 = exe_stage_lsu__addrTransIO_valid_T_37 &
    exe_stage_lsu__addrTransIO_valid_T_39; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__addrTransIO_valid_T_43 = exe_stage_lsu__addrTransIO_valid_T_40 |
    exe_stage_lsu__addrTransIO_valid_T_41; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__addrTransIO_valid_T_44 = exe_stage_lsu__addrTransIO_valid_T_43 |
    exe_stage_lsu__addrTransIO_valid_T_42; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__addrTransIO_valid_T_45 = ~exe_stage_lsu__addrTransIO_valid_T_44; // @[Lsu.scala 136:71]
  wire  exe_stage_lsu__addrTransIO_valid_T_46 = exe_stage_lsu__addrTransIO_valid_T_2 &
    exe_stage_lsu__addrTransIO_valid_T_45; // @[Lsu.scala 136:69]
  wire  exe_stage_lsu__addrTransIO_valid_T_47 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence_i; // @[riscv_isa.scala 150:24]
  wire  exe_stage_lsu__addrTransIO_valid_T_48 = exe_stage_lsu__addrTransIO_valid_T_47 |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_sfence_vma; // @[riscv_isa.scala 150:34]
  wire  exe_stage_lsu__addrTransIO_valid_T_49 = exe_stage_lsu_trans_kill | exe_stage_lsu__addrTransIO_valid_T_48; // @[Lsu.scala 136:119]
  wire  exe_stage_lsu__addrTransIO_valid_T_50 = ~exe_stage_lsu__addrTransIO_valid_T_49; // @[Lsu.scala 136:106]
  wire  exe_stage_lsu__addrTransIO_valid_T_51 = exe_stage_lsu__addrTransIO_valid_T_46 &
    exe_stage_lsu__addrTransIO_valid_T_50; // @[Lsu.scala 136:104]
  wire  exe_stage_lsu__T_15 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w |
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[riscv_isa.scala 148:15]
  wire  exe_stage_lsu__T_16 = exe_stage_lsu__T_15 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[riscv_isa.scala 148:26]
  wire  exe_stage_lsu__T_17 = exe_stage_lsu__T_16 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[riscv_isa.scala 148:37]
  wire  exe_stage_lsu__T_18 = exe_stage_lsu__T_17 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[riscv_isa.scala 148:48]
  wire  exe_stage_lsu__T_19 = exe_stage_lsu__T_18 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[riscv_isa.scala 148:58]
  wire  exe_stage_lsu__T_20 = exe_stage_lsu__T_19 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[riscv_isa.scala 148:69]
  wire  exe_stage_lsu__T_21 = exe_stage_lsu__T_20 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[riscv_isa.scala 148:80]
  wire  exe_stage_lsu__T_22 = exe_stage_lsu__T_21 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[riscv_isa.scala 148:92]
  wire  exe_stage_lsu__T_23 = exe_stage_lsu__T_22 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[riscv_isa.scala 148:104]
  wire  exe_stage_lsu__T_24 = exe_stage_lsu__T_23 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[riscv_isa.scala 148:116]
  wire  exe_stage_lsu__T_25 = exe_stage_lsu__T_24 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[riscv_isa.scala 148:127]
  wire  exe_stage_lsu__T_26 = exe_stage_lsu__T_25 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[riscv_isa.scala 148:138]
  wire  exe_stage_lsu__T_27 = exe_stage_lsu__T_26 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[riscv_isa.scala 148:149]
  wire  exe_stage_lsu__T_28 = exe_stage_lsu__T_27 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[riscv_isa.scala 148:159]
  wire  exe_stage_lsu__T_29 = exe_stage_lsu__T_28 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[riscv_isa.scala 148:170]
  wire  exe_stage_lsu__T_30 = exe_stage_lsu__T_29 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[riscv_isa.scala 148:181]
  wire  exe_stage_lsu__T_31 = exe_stage_lsu__T_30 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[riscv_isa.scala 148:193]
  wire  exe_stage_lsu__T_32 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d | exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[riscv_isa.scala 140:20]
  wire  exe_stage_lsu__T_33 = exe_stage_lsu__T_31 | exe_stage_lsu__T_32; // @[riscv_isa.scala 148:205]
  wire  exe_stage_lsu__T_10 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb | exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh; // @[riscv_isa.scala 144:19]
  wire  exe_stage_lsu__T_11 = exe_stage_lsu__T_10 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw; // @[riscv_isa.scala 144:24]
  wire  exe_stage_lsu__T_12 = exe_stage_lsu__T_11 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd; // @[riscv_isa.scala 144:29]
  wire  exe_stage_lsu__T_13 = exe_stage_lsu__T_12 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw; // @[riscv_isa.scala 144:34]
  wire  exe_stage_lsu__T_14 = exe_stage_lsu__T_13 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd; // @[riscv_isa.scala 144:40]
  wire  exe_stage_lsu__opStIO_ready_T = exe_stage_lsu_su_wb_fifo_io_enq_ready & exe_stage_lsu_stQueue_io_enq_ready; // @[Lsu.scala 462:43]
  wire  exe_stage_lsu__T = exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh; // @[riscv_isa.scala 143:19]
  wire  exe_stage_lsu__T_1 = exe_stage_lsu__T | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw; // @[riscv_isa.scala 143:24]
  wire  exe_stage_lsu__T_2 = exe_stage_lsu__T_1 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld; // @[riscv_isa.scala 143:29]
  wire  exe_stage_lsu__T_3 = exe_stage_lsu__T_2 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu; // @[riscv_isa.scala 143:34]
  wire  exe_stage_lsu__T_4 = exe_stage_lsu__T_3 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu; // @[riscv_isa.scala 143:40]
  wire  exe_stage_lsu__T_5 = exe_stage_lsu__T_4 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu; // @[riscv_isa.scala 143:46]
  wire  exe_stage_lsu__T_6 = exe_stage_lsu__T_5 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw; // @[riscv_isa.scala 143:52]
  wire  exe_stage_lsu__T_7 = exe_stage_lsu__T_6 | exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld; // @[riscv_isa.scala 143:59]
  wire  exe_stage_lsu__T_8 = exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d | exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[riscv_isa.scala 141:20]
  wire  exe_stage_lsu__T_9 = exe_stage_lsu__T_7 | exe_stage_lsu__T_8; // @[riscv_isa.scala 143:65]
  wire  exe_stage_lsu__opLdIO_ready_T = exe_stage_lsu_ls_arb_io_in_0_ready & exe_stage_lsu_stQueue_io_overlapResp_valid; // @[Lsu.scala 213:41]
  wire  exe_stage_lsu__GEN_45 = exe_stage_lsu__T_9 & exe_stage_lsu__opLdIO_ready_T; // @[Lsu.scala 160:21 162:38 165:23]
  wire  exe_stage_lsu__GEN_91 = exe_stage_lsu__T_14 ? exe_stage_lsu__opStIO_ready_T : exe_stage_lsu__GEN_45; // @[Lsu.scala 171:38 174:23]
  wire  exe_stage_lsu__GEN_137 = exe_stage_lsu__T_33 ? exe_stage_lsu_stQueue_io_enq_ready : exe_stage_lsu__GEN_91; // @[Lsu.scala 180:39 183:23]
  wire  exe_stage_lsu__io_mmu_lsu_ready_T_2 = exe_stage_lsu__GEN_137 & exe_stage_lsu__addrTransIO_valid_T_1; // @[Lsu.scala 139:41]
  wire  exe_stage_lsu__io_mmu_lsu_ready_T_46 = exe_stage_lsu__io_mmu_lsu_ready_T_2 &
    exe_stage_lsu__addrTransIO_valid_T_45; // @[Lsu.scala 139:69]
  wire  exe_stage_lsu__io_lsu_mmu_valid_T_2 = ~exe_stage_lsu__addrTransIO_valid_T_48; // @[Lsu.scala 141:46]
  wire  exe_stage_lsu__io_lsu_mmu_bits_is_R_T_11 = exe_stage_lsu__T_9 | exe_stage_lsu__T_8; // @[riscv_isa.scala 161:20]
  wire  exe_stage_lsu__io_lsu_mmu_bits_is_W_T_6 = exe_stage_lsu__T_14 | exe_stage_lsu__T_32; // @[riscv_isa.scala 162:20]
  wire  exe_stage_lsu__io_lsu_iss_exe_ready_T_3 = exe_stage_lsu__io_lsu_mmu_valid_T_2 & exe_stage_lsu_io_lsu_mmu_ready; // @[Lsu.scala 147:41]
  wire  exe_stage_lsu__io_lsu_iss_exe_ready_T_7 = exe_stage_lsu__addrTransIO_valid_T_48 &
    exe_stage_lsu_fe_wb_fifo__do_enq_T; // @[Lsu.scala 148:41]
  wire  exe_stage_lsu__GEN_0 = exe_stage_lsu__T_9 & exe_stage_lsu__addrTransIO_valid_T_51; // @[Lsu.scala 162:38 163:23 167:18]
  wire [63:0] exe_stage_lsu__GEN_42 = exe_stage_lsu__T_9 ? exe_stage_lsu_io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 162:38 164:23 168:18]
  wire  exe_stage_lsu__GEN_46 = exe_stage_lsu__T_14 & exe_stage_lsu__addrTransIO_valid_T_51; // @[Lsu.scala 171:38 172:23 176:18]
  wire  exe_stage_lsu__GEN_47 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_48 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_49 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_50 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_51 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_52 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_53 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_54 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_55 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_56 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_57 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_61 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_62 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_63 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_64 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_65 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_66 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_67 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_68 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_69 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_70 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_71 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_72 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_73 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_74 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_75 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_76 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_77 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_78 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_79 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_80 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_81 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_82 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_83 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_84 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_85 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_86 = exe_stage_lsu__T_14 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 171:38 173:23 177:18]
  wire [5:0] exe_stage_lsu__GEN_87 = exe_stage_lsu__T_14 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0 : 6'h0; // @[Lsu.scala 171:38 173:23 177:18]
  wire [63:0] exe_stage_lsu__GEN_88 = exe_stage_lsu__T_14 ? exe_stage_lsu_io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 171:38 173:23 177:18]
  wire [63:0] exe_stage_lsu__GEN_89 = exe_stage_lsu__T_14 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2 : 64'h0; // @[Lsu.scala 171:38 173:23 177:18]
  wire  exe_stage_lsu__GEN_92 = exe_stage_lsu__T_33 & exe_stage_lsu__addrTransIO_valid_T_51; // @[Lsu.scala 180:39 181:23 185:18]
  wire  exe_stage_lsu__GEN_93 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_94 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_95 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_96 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_97 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_98 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_99 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_100 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_101 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_102 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_103 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_107 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_108 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_109 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_110 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_111 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_112 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_113 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_114 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_115 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_116 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_117 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_118 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_119 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_120 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_121 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_122 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_123 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_124 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_125 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_126 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_127 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_128 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_129 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_130 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_131 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__GEN_132 = exe_stage_lsu__T_33 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 180:39 182:23 186:18]
  wire [5:0] exe_stage_lsu__GEN_133 = exe_stage_lsu__T_33 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0 : 6'h0; // @[Lsu.scala 180:39 182:23 186:18]
  wire [63:0] exe_stage_lsu__GEN_134 = exe_stage_lsu__T_33 ? exe_stage_lsu_io_mmu_lsu_bits_paddr : 64'h0; // @[Lsu.scala 180:39 182:23 186:18]
  wire [63:0] exe_stage_lsu__GEN_135 = exe_stage_lsu__T_33 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2 : 64'h0; // @[Lsu.scala 180:39 182:23 186:18]
  wire  exe_stage_lsu__stQueue_io_enq_valid_T = exe_stage_lsu__opStIO_ready_T & exe_stage_lsu__GEN_46; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__stQueue_io_enq_valid_T_1 = exe_stage_lsu_stQueue_io_enq_ready & exe_stage_lsu__GEN_92; // @[Decoupled.scala 52:35]
  wire [63:0] exe_stage_lsu__stQueue_io_enq_bits_T_5 = exe_stage_lsu__stQueue_io_enq_valid_T ? exe_stage_lsu__GEN_89 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu__stQueue_io_enq_bits_T_6 = exe_stage_lsu__stQueue_io_enq_valid_T_1 ? exe_stage_lsu__GEN_135
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu__stQueue_io_enq_bits_T_8 = exe_stage_lsu__stQueue_io_enq_valid_T ? exe_stage_lsu__GEN_88 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_lsu__stQueue_io_enq_bits_T_9 = exe_stage_lsu__stQueue_io_enq_valid_T_1 ? exe_stage_lsu__GEN_134
     : 64'h0; // @[Mux.scala 27:73]
  wire [5:0] exe_stage_lsu__stQueue_io_enq_bits_T_11 = exe_stage_lsu__stQueue_io_enq_valid_T ? exe_stage_lsu__GEN_87 : 6'h0
    ; // @[Mux.scala 27:73]
  wire [5:0] exe_stage_lsu__stQueue_io_enq_bits_T_12 = exe_stage_lsu__stQueue_io_enq_valid_T_1 ? exe_stage_lsu__GEN_133
     : 6'h0; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_14 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_86; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_15 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_132; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_17 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_85; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_18 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_131; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_20 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_84; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_21 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_130; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_23 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_83; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_24 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_129; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_26 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_82; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_27 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_128; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_29 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_81; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_30 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_127; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_32 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_80; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_33 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_126; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_35 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_79; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_36 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_125; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_38 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_78; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_39 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_124; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_41 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_77; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_42 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_123; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_44 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_76; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_45 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_122; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_47 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_75; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_48 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_121; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_50 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_74; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_51 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_120; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_53 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_73; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_54 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_119; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_56 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_72; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_57 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_118; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_59 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_71; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_60 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_117; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_62 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_70; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_63 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_116; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_65 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_69; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_66 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_115; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_68 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_68; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_69 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_114; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_71 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_67; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_72 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_113; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_74 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_66; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_75 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_112; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_77 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_65; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_78 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_111; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_80 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_64; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_81 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_110; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_83 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_63; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_84 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_109; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_86 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_62; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_87 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_108; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_89 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_61; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_90 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_107; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_101 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_57; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_102 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_103; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_104 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_56; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_105 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_102; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_107 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_55; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_108 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_101; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_110 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_54; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_111 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_100; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_113 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_53; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_114 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_99; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_116 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_52; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_117 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_98; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_119 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_51; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_120 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_97; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_122 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_50; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_123 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_96; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_125 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_49; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_126 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_95; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_128 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_48; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_129 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_94; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_131 = exe_stage_lsu__stQueue_io_enq_valid_T & exe_stage_lsu__GEN_47; // @[Mux.scala 27:73]
  wire  exe_stage_lsu__stQueue_io_enq_bits_T_132 = exe_stage_lsu__stQueue_io_enq_valid_T_1 & exe_stage_lsu__GEN_93; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu_psel = exe_stage_lsu_ls_arb_io_out_bits_param_dat_op1[31:28]; // @[Lsu.scala 222:46]
  wire  exe_stage_lsu__sel_T = exe_stage_lsu_psel[3]; // @[Lsu.scala 223:22]
  wire  exe_stage_lsu__sel_T_1 = exe_stage_lsu_psel[2]; // @[Lsu.scala 223:41]
  wire [1:0] exe_stage_lsu__sel_T_2 = exe_stage_lsu__sel_T_1 ? 2'h1 : 2'h2; // @[Lsu.scala 223:35]
  wire [1:0] exe_stage_lsu_sel = exe_stage_lsu__sel_T ? 2'h0 : exe_stage_lsu__sel_T_2; // @[Lsu.scala 223:16]
  wire  exe_stage_lsu__T_34 = exe_stage_lsu_sel == 2'h2; // @[Lsu.scala 228:13]
  wire  exe_stage_lsu__GEN_183 = exe_stage_lsu__T_34 & exe_stage_lsu_periph_io_enq_ready; // @[Lsu.scala 226:23 228:23 231:26]
  wire  exe_stage_lsu__T_35 = exe_stage_lsu_sel == 2'h1; // @[Lsu.scala 237:13]
  wire  exe_stage_lsu__GEN_229 = exe_stage_lsu__T_35 ? exe_stage_lsu_system_io_enq_ready : exe_stage_lsu__GEN_183; // @[Lsu.scala 237:23 240:26]
  wire  exe_stage_lsu__T_36 = exe_stage_lsu_sel == 2'h0; // @[Lsu.scala 246:13]
  wire  exe_stage_lsu__GEN_231 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_232 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_233 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_234 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_235 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_236 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_237 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_238 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_239 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_240 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_241 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_245 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_246 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_247 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_248 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_249 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_250 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_251 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_252 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_253 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_254 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_255 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_256 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_257 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_258 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_259 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_260 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_261 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_262 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_263 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_264 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_265 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_266 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_267 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_268 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_269 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__GEN_270 = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 246:23 248:26 252:26]
  wire [63:0] exe_stage_lsu__GEN_272 = exe_stage_lsu__T_36 ? exe_stage_lsu_ls_arb_io_out_bits_param_dat_op1 : 64'h0; // @[Lsu.scala 246:23 248:26 252:26]
  wire [63:0] exe_stage_lsu__GEN_273 = exe_stage_lsu__T_36 ? exe_stage_lsu_ls_arb_io_out_bits_param_dat_op2 : 64'h0; // @[Lsu.scala 246:23 248:26 252:26]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T = exe_stage_lsu__GEN_231 | exe_stage_lsu__GEN_232; // @[riscv_isa.scala 143:19]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_1 = exe_stage_lsu__CacheMuxBits_res_wdata_T | exe_stage_lsu__GEN_233; // @[riscv_isa.scala 143:24]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_2 = exe_stage_lsu__CacheMuxBits_res_wdata_T_1 | exe_stage_lsu__GEN_234; // @[riscv_isa.scala 143:29]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_3 = exe_stage_lsu__CacheMuxBits_res_wdata_T_2 | exe_stage_lsu__GEN_235; // @[riscv_isa.scala 143:34]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_4 = exe_stage_lsu__CacheMuxBits_res_wdata_T_3 | exe_stage_lsu__GEN_236; // @[riscv_isa.scala 143:40]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_5 = exe_stage_lsu__CacheMuxBits_res_wdata_T_4 | exe_stage_lsu__GEN_237; // @[riscv_isa.scala 143:46]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_6 = exe_stage_lsu__CacheMuxBits_res_wdata_T_5 | exe_stage_lsu__GEN_267; // @[riscv_isa.scala 143:52]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_7 = exe_stage_lsu__CacheMuxBits_res_wdata_T_6 | exe_stage_lsu__GEN_269; // @[riscv_isa.scala 143:59]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_8 = exe_stage_lsu__GEN_256 | exe_stage_lsu__GEN_245; // @[riscv_isa.scala 141:20]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_T_9 = exe_stage_lsu__CacheMuxBits_res_wdata_T_7 |
    exe_stage_lsu__CacheMuxBits_res_wdata_T_8; // @[riscv_isa.scala 143:65]
  wire [3:0] exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T = exe_stage_lsu_stQueue_io_overlapReq_bits_paddr[3:0]; // @[Util.scala 149:35]
  wire  exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_1 = exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T[3]; // @[Util.scala 149:50]
  wire [3:0] exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_2 = {
    exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_1, 3'h0}; // @[Util.scala 149:62]
  wire [6:0] exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_3 = {
    exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_2, 3'h0}; // @[Util.scala 149:74]
  wire [190:0] _GEN_1088 = {{127'd0}, exe_stage_lsu_stQueue_io_overlapResp_bits_wdata}; // @[Util.scala 149:26]
  wire [190:0] exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_4 = _GEN_1088 <<
    exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_3; // @[Util.scala 149:26]
  wire [3:0] exe_stage_lsu__CacheMuxBits_res_wdata_res_T = exe_stage_lsu__GEN_272[3:0]; // @[riscv_isa.scala 907:38]
  wire [6:0] exe_stage_lsu__CacheMuxBits_res_wdata_res_T_1 = {exe_stage_lsu__CacheMuxBits_res_wdata_res_T, 3'h0}; // @[riscv_isa.scala 907:61]
  wire [190:0] _GEN_1089 = {{127'd0}, exe_stage_lsu__GEN_273}; // @[riscv_isa.scala 907:28]
  wire [190:0] exe_stage_lsu__CacheMuxBits_res_wdata_res_T_2 = _GEN_1089 <<
    exe_stage_lsu__CacheMuxBits_res_wdata_res_T_1; // @[riscv_isa.scala 907:28]
  wire [127:0] exe_stage_lsu_CacheMuxBits_res_wdata_align_data = exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_4[
    127:0]; // @[Util.scala 145:26 149:18]
  wire [127:0] exe_stage_lsu_CacheMuxBits_res_wdata_res = exe_stage_lsu__CacheMuxBits_res_wdata_res_T_2[127:0]; // @[riscv_isa.scala 906:21 907:11]
  wire [22:0] _GEN_1090 = {{15'd0}, exe_stage_lsu_stQueue_io_overlapResp_bits_wstrb}; // @[Util.scala 169:26]
  wire [22:0] exe_stage_lsu__CacheMuxBits_res_wstrb_align_strb_T_3 = _GEN_1090 <<
    exe_stage_lsu__CacheMuxBits_res_wdata_align_data_T_2; // @[Util.scala 169:26]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T = exe_stage_lsu__GEN_231 | exe_stage_lsu__GEN_235; // @[riscv_isa.scala 153:20]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_1 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T |
    exe_stage_lsu__GEN_238; // @[riscv_isa.scala 153:26]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_2 = exe_stage_lsu__GEN_232 | exe_stage_lsu__GEN_236; // @[riscv_isa.scala 154:20]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_3 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_2 |
    exe_stage_lsu__GEN_239; // @[riscv_isa.scala 154:26]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_4 = exe_stage_lsu__GEN_233 | exe_stage_lsu__GEN_237; // @[riscv_isa.scala 155:20]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_5 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_4 |
    exe_stage_lsu__GEN_240; // @[riscv_isa.scala 155:26]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_6 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_5 |
    exe_stage_lsu__GEN_247; // @[riscv_isa.scala 155:31]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_7 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_6 |
    exe_stage_lsu__GEN_248; // @[riscv_isa.scala 155:43]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_8 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_7 |
    exe_stage_lsu__GEN_249; // @[riscv_isa.scala 155:54]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_9 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_8 |
    exe_stage_lsu__GEN_250; // @[riscv_isa.scala 155:65]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_10 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_9 |
    exe_stage_lsu__GEN_251; // @[riscv_isa.scala 155:76]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_11 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_10 |
    exe_stage_lsu__GEN_252; // @[riscv_isa.scala 155:86]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_12 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_11 |
    exe_stage_lsu__GEN_253; // @[riscv_isa.scala 155:97]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_13 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_12 |
    exe_stage_lsu__GEN_254; // @[riscv_isa.scala 155:108]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_14 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_13 |
    exe_stage_lsu__GEN_255; // @[riscv_isa.scala 155:120]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_15 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_14 |
    exe_stage_lsu__GEN_267; // @[riscv_isa.scala 155:132]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_16 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_15 |
    exe_stage_lsu__GEN_268; // @[riscv_isa.scala 155:138]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_17 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_16 |
    exe_stage_lsu__GEN_245; // @[riscv_isa.scala 155:144]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_18 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_17 |
    exe_stage_lsu__GEN_246; // @[riscv_isa.scala 155:151]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_19 = exe_stage_lsu__GEN_234 | exe_stage_lsu__GEN_256; // @[riscv_isa.scala 156:20]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_20 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_19 |
    exe_stage_lsu__GEN_269; // @[riscv_isa.scala 156:27]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_21 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_20 |
    exe_stage_lsu__GEN_241; // @[riscv_isa.scala 156:33]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_22 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_21 |
    exe_stage_lsu__GEN_257; // @[riscv_isa.scala 156:38]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_23 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_22 |
    exe_stage_lsu__GEN_270; // @[riscv_isa.scala 156:45]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_24 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_23 |
    exe_stage_lsu__GEN_258; // @[riscv_isa.scala 156:51]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_25 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_24 |
    exe_stage_lsu__GEN_259; // @[riscv_isa.scala 156:63]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_26 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_25 |
    exe_stage_lsu__GEN_260; // @[riscv_isa.scala 156:74]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_27 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_26 |
    exe_stage_lsu__GEN_261; // @[riscv_isa.scala 156:85]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_28 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_27 |
    exe_stage_lsu__GEN_262; // @[riscv_isa.scala 156:96]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_29 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_28 |
    exe_stage_lsu__GEN_263; // @[riscv_isa.scala 156:106]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_30 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_29 |
    exe_stage_lsu__GEN_264; // @[riscv_isa.scala 156:117]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_31 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_30 |
    exe_stage_lsu__GEN_265; // @[riscv_isa.scala 156:128]
  wire  exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_32 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_31 |
    exe_stage_lsu__GEN_266; // @[riscv_isa.scala 156:140]
  wire [1:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_34 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_3 ? 2'h3
     : 2'h0; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_35 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_18 ? 4'hf
     : 4'h0; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_36 = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_32 ? 8'hff
     : 8'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_621 = {{1'd0}, exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_1}; // @[Mux.scala 27:73]
  wire [1:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_37 = _GEN_621 |
    exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_34; // @[Mux.scala 27:73]
  wire [3:0] _GEN_622 = {{2'd0}, exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_37}; // @[Mux.scala 27:73]
  wire [3:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_38 = _GEN_622 |
    exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_35; // @[Mux.scala 27:73]
  wire [7:0] _GEN_623 = {{4'd0}, exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_38}; // @[Mux.scala 27:73]
  wire [7:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_39 = _GEN_623 |
    exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_36; // @[Mux.scala 27:73]
  wire [22:0] _GEN_1091 = {{15'd0}, exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_39}; // @[riscv_isa.scala 916:10]
  wire [22:0] exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_41 = _GEN_1091 <<
    exe_stage_lsu__CacheMuxBits_res_wdata_res_T; // @[riscv_isa.scala 916:10]
  wire [15:0] exe_stage_lsu_CacheMuxBits_res_wstrb_align_strb = exe_stage_lsu__CacheMuxBits_res_wstrb_align_strb_T_3[15:
    0]; // @[Util.scala 165:26 169:18]
  wire [15:0] exe_stage_lsu_CacheMuxBits_res_wstrb_wstrb = exe_stage_lsu__CacheMuxBits_res_wstrb_wstrb_T_41[15:0]; // @[riscv_isa.scala 912:21 913:11]
  wire  exe_stage_lsu__T_38 = ~exe_stage_lsu_io_missUnit_dcache_grant_bits_source; // @[Lsu.scala 307:54]
  wire  exe_stage_lsu__T_40 = ~exe_stage_lsu_io_writeBackUnit_dcache_grant_bits_source; // @[Lsu.scala 317:59]
  reg  exe_stage_lsu_is_chnc_busy_0; // @[Lsu.scala 325:33]
  wire  exe_stage_lsu__is_release_done_T = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_ready &
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_valid; // @[Decoupled.scala 52:35]
  wire [10:0] exe_stage_lsu__is_release_done_beats1_decode_T_1 = 11'hf <<
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_size; // @[package.scala 234:77]
  wire [3:0] exe_stage_lsu__is_release_done_beats1_decode_T_2 = exe_stage_lsu__is_release_done_beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] exe_stage_lsu__is_release_done_beats1_decode_T_3 = ~exe_stage_lsu__is_release_done_beats1_decode_T_2; // @[package.scala 234:46]
  wire  exe_stage_lsu_is_release_done_beats1_decode = exe_stage_lsu__is_release_done_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  exe_stage_lsu_is_release_done_beats1_opdata = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_opcode[
    0]; // @[Edges.scala 101:36]
  wire  exe_stage_lsu_is_release_done_beats1 = exe_stage_lsu_is_release_done_beats1_opdata &
    exe_stage_lsu_is_release_done_beats1_decode; // @[Edges.scala 220:14]
  reg  exe_stage_lsu_is_release_done_counter; // @[Edges.scala 228:27]
  wire  exe_stage_lsu_is_release_done_counter1 = exe_stage_lsu_is_release_done_counter - 1'h1; // @[Edges.scala 229:28]
  wire  exe_stage_lsu_is_release_done_first = ~exe_stage_lsu_is_release_done_counter; // @[Edges.scala 230:25]
  wire  exe_stage_lsu__is_release_done_last_T_1 = ~exe_stage_lsu_is_release_done_beats1; // @[Edges.scala 231:47]
  wire  exe_stage_lsu_is_release_done_last = exe_stage_lsu_is_release_done_counter |
    exe_stage_lsu__is_release_done_last_T_1; // @[Edges.scala 231:37]
  wire  exe_stage_lsu_is_release_done_0 = exe_stage_lsu_is_release_done_last & exe_stage_lsu__is_release_done_T; // @[Edges.scala 232:22]
  wire  exe_stage_lsu__T_42 = ~exe_stage_lsu_is_chnc_busy_0; // @[Lsu.scala 334:48]
  wire [2:0] exe_stage_lsu__GEN_358 = exe_stage_lsu_is_chnc_busy_0 ?
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_opcode : 3'h0; // @[Lsu.scala 287:46 339:{47,85}]
  wire [2:0] exe_stage_lsu__GEN_359 = exe_stage_lsu_is_chnc_busy_0 ?
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_param : 3'h0; // @[Lsu.scala 287:46 339:{47,85}]
  wire [2:0] exe_stage_lsu__GEN_360 = exe_stage_lsu_is_chnc_busy_0 ?
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_size : 3'h0; // @[Lsu.scala 287:46 339:{47,85}]
  wire  exe_stage_lsu__GEN_361 = exe_stage_lsu_is_chnc_busy_0 &
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_source; // @[Lsu.scala 287:46 339:{47,85}]
  wire [31:0] exe_stage_lsu__GEN_362 = exe_stage_lsu_is_chnc_busy_0 ?
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_address : 32'h0; // @[Lsu.scala 287:46 339:{47,85}]
  wire [63:0] exe_stage_lsu__GEN_363 = exe_stage_lsu_is_chnc_busy_0 ?
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_data : 64'h0; // @[Lsu.scala 287:46 339:{47,85}]
  wire  exe_stage_lsu__GEN_364 = exe_stage_lsu_is_chnc_busy_0 &
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_corrupt; // @[Lsu.scala 287:46 339:{47,85}]
  wire  exe_stage_lsu__GEN_365 = exe_stage_lsu_is_chnc_busy_0 &
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_valid; // @[Lsu.scala 286:47 339:{47,85}]
  wire  exe_stage_lsu__GEN_366 = exe_stage_lsu_is_chnc_busy_0 ? exe_stage_lsu_io_writeBackUnit_dcache_release_ready :
    exe_stage_lsu_releaseArb_io_in_0_ready; // @[Lsu.scala 332:29 339:{47,85}]
  wire  exe_stage_lsu__T_47 = ~exe_stage_lsu_reset; // @[Lsu.scala 342:13]
  wire  exe_stage_lsu__is_empty_T_2 = exe_stage_lsu_stQueue_io_is_empty & exe_stage_lsu_cache_0_io_is_empty; // @[Lsu.scala 536:25]
  wire  exe_stage_lsu__is_empty_T_3 = exe_stage_lsu__is_empty_T_2 & exe_stage_lsu_system_io_is_empty; // @[Lsu.scala 537:79]
  wire  exe_stage_lsu__is_empty_T_4 = exe_stage_lsu__is_empty_T_3 & exe_stage_lsu_periph_io_is_empty; // @[Lsu.scala 538:24]
  wire  exe_stage_lsu__is_empty_T_5 = ~exe_stage_lsu_su_wb_fifo_io_deq_valid; // @[Lsu.scala 540:5]
  wire  exe_stage_lsu__is_empty_T_6 = exe_stage_lsu__is_empty_T_4 & exe_stage_lsu__is_empty_T_5; // @[Lsu.scala 539:24]
  wire  exe_stage_lsu__is_empty_T_7 = ~exe_stage_lsu_lu_wb_fifo_io_deq_valid; // @[Lsu.scala 541:5]
  wire  exe_stage_lsu__is_empty_T_8 = exe_stage_lsu__is_empty_T_6 & exe_stage_lsu__is_empty_T_7; // @[Lsu.scala 540:30]
  wire  exe_stage_lsu__GEN_377 = exe_stage_lsu__is_empty_T_8 ? 1'h0 : exe_stage_lsu_trans_kill; // @[Lsu.scala 412:{25,38} 73:27]
  wire  exe_stage_lsu__GEN_378 = exe_stage_lsu_io_flush | exe_stage_lsu__GEN_377; // @[Lsu.scala 411:{20,33}]
  wire  exe_stage_lsu__cache_0_io_deq_ready_T = ~exe_stage_lsu_cache_0_io_deq_bits_is_load_amo; // @[Lsu.scala 421:57]
  wire  exe_stage_lsu__T_50 = exe_stage_lsu_lu_wb_arb_io_in_0_ready & exe_stage_lsu_lu_wb_arb_io_in_0_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__T_51 = exe_stage_lsu_cache_0__T_1 == exe_stage_lsu__T_50; // @[Lsu.scala 422:76]
  wire  exe_stage_lsu__T_54 = ~exe_stage_lsu__T_51; // @[Lsu.scala 422:54]
  wire  exe_stage_lsu__system_io_deq_ready_T = ~exe_stage_lsu_system_io_deq_bits_is_load_amo; // @[Lsu.scala 427:54]
  wire  exe_stage_lsu__T_55 = exe_stage_lsu_system_io_deq_ready & exe_stage_lsu_system_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__T_56 = exe_stage_lsu_lu_wb_arb_io_in_1_ready & exe_stage_lsu_lu_wb_arb_io_in_1_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__T_57 = exe_stage_lsu__T_55 == exe_stage_lsu__T_56; // @[Lsu.scala 428:70]
  wire  exe_stage_lsu__T_60 = ~exe_stage_lsu__T_57; // @[Lsu.scala 428:50]
  wire  exe_stage_lsu__periph_io_deq_ready_T = ~exe_stage_lsu_periph_io_deq_bits_is_load_amo; // @[Lsu.scala 432:56]
  wire  exe_stage_lsu__T_61 = exe_stage_lsu_periph_io_deq_ready & exe_stage_lsu_periph_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__T_62 = exe_stage_lsu_lu_wb_arb_io_in_2_ready & exe_stage_lsu_lu_wb_arb_io_in_2_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_lsu__T_63 = exe_stage_lsu__T_61 == exe_stage_lsu__T_62; // @[Lsu.scala 433:70]
  wire  exe_stage_lsu__T_66 = ~exe_stage_lsu__T_63; // @[Lsu.scala 433:50]
  wire  exe_stage_lsu__lu_wb_fifo_io_enq_valid_T = exe_stage_lsu_lu_wb_arb_io_out_bits_is_flw |
    exe_stage_lsu_lu_wb_arb_io_out_bits_is_fld; // @[Dcache.scala 88:23]
  wire  exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_1 = ~exe_stage_lsu__lu_wb_fifo_io_enq_valid_T; // @[Dcache.scala 87:16]
  wire  exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_2 = exe_stage_lsu_lu_wb_arb_io_out_valid &
    exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_1; // @[Lsu.scala 437:53]
  wire  exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_3 = ~exe_stage_lsu_trans_kill; // @[Lsu.scala 437:87]
  wire  exe_stage_lsu__flu_wb_fifo_io_enq_valid_T_1 = exe_stage_lsu_lu_wb_arb_io_out_valid &
    exe_stage_lsu__lu_wb_fifo_io_enq_valid_T; // @[Lsu.scala 443:54]
  wire  exe_stage_lsu__lu_wb_arb_io_out_ready_T = exe_stage_lsu_lu_wb_fifo_io_enq_ready &
    exe_stage_lsu_flu_wb_fifo_io_enq_ready; // @[Lsu.scala 454:54]
  wire  exe_stage_lsu__fe_wb_fifo_io_enq_valid_T_2 = exe_stage_lsu__is_empty_T_8 & exe_stage_lsu__addrTransIO_valid_T_48
    ; // @[Lsu.scala 467:39]
  reg  exe_stage_lsu_isAccessFaultReg; // @[Lsu.scala 485:33]
  reg  exe_stage_lsu_isPagingFault; // @[Lsu.scala 486:33]
  reg  exe_stage_lsu_isMisAlign; // @[Lsu.scala 487:27]
  reg [63:0] exe_stage_lsu_trapAddrReg; // @[Lsu.scala 488:24]
  wire  exe_stage_lsu__T_67 = exe_stage_lsu_io_mmu_lsu_valid & exe_stage_lsu__is_empty_T_8; // @[Lsu.scala 494:33]
  wire  exe_stage_csr_clock;
  wire  exe_stage_csr_reset;
  wire  exe_stage_csr_io_csr_iss_exe_ready;
  wire  exe_stage_csr_io_csr_iss_exe_valid;
  wire  exe_stage_csr_io_csr_iss_exe_bits_fun_rw;
  wire  exe_stage_csr_io_csr_iss_exe_bits_fun_rs;
  wire  exe_stage_csr_io_csr_iss_exe_bits_fun_rc;
  wire [5:0] exe_stage_csr_io_csr_iss_exe_bits_param_rd0;
  wire [63:0] exe_stage_csr_io_csr_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_csr_io_csr_iss_exe_bits_param_dat_op2;
  wire  exe_stage_csr_io_csr_exe_iwb_ready;
  wire  exe_stage_csr_io_csr_exe_iwb_valid;
  wire [5:0] exe_stage_csr_io_csr_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_csr_io_csr_exe_iwb_bits_res;
  wire  exe_stage_csr_io_csr_addr_valid;
  wire [11:0] exe_stage_csr_io_csr_addr_bits;
  wire  exe_stage_csr_io_csr_data_valid;
  wire [63:0] exe_stage_csr_io_csr_data_bits;
  wire  exe_stage_csr_io_csr_cmm_op_ready;
  wire  exe_stage_csr_io_csr_cmm_op_valid;
  wire [11:0] exe_stage_csr_io_csr_cmm_op_bits_addr;
  wire [63:0] exe_stage_csr_io_csr_cmm_op_bits_dat_i;
  wire  exe_stage_csr_io_csr_cmm_op_bits_op_rw;
  wire  exe_stage_csr_io_csr_cmm_op_bits_op_rs;
  wire  exe_stage_csr_io_csr_cmm_op_bits_op_rc;
  wire  exe_stage_csr_io_flush;
  wire  exe_stage_csr_csr_exe_iwb_fifo_clock;
  wire  exe_stage_csr_csr_exe_iwb_fifo_reset;
  wire  exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready;
  wire  exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid;
  wire [5:0] exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_rd0;
  wire [63:0] exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_res;
  wire  exe_stage_csr_csr_exe_iwb_fifo_io_deq_ready;
  wire  exe_stage_csr_csr_exe_iwb_fifo_io_deq_valid;
  wire [5:0] exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_csr_csr_exe_iwb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_csr_csr_exe_iwb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_exe_iwb_fifo_ram_res_clock;
  reg  exe_stage_csr_csr_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_csr_csr_exe_iwb_fifo__empty_T = ~exe_stage_csr_csr_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_csr_csr_exe_iwb_fifo__do_enq_T = exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_csr_csr_exe_iwb_fifo__do_deq_T = exe_stage_csr_csr_exe_iwb_fifo_io_deq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_csr_csr_exe_iwb_fifo__T = exe_stage_csr_csr_exe_iwb_fifo__do_enq_T !=
    exe_stage_csr_csr_exe_iwb_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_csr_csr_op_fifo_clock;
  wire  exe_stage_csr_csr_op_fifo_reset;
  wire  exe_stage_csr_csr_op_fifo_io_enq_ready;
  wire  exe_stage_csr_csr_op_fifo_io_enq_valid;
  wire [11:0] exe_stage_csr_csr_op_fifo_io_enq_bits_addr;
  wire [63:0] exe_stage_csr_csr_op_fifo_io_enq_bits_dat_i;
  wire  exe_stage_csr_csr_op_fifo_io_enq_bits_op_rw;
  wire  exe_stage_csr_csr_op_fifo_io_enq_bits_op_rs;
  wire  exe_stage_csr_csr_op_fifo_io_enq_bits_op_rc;
  wire  exe_stage_csr_csr_op_fifo_io_deq_ready;
  wire  exe_stage_csr_csr_op_fifo_io_deq_valid;
  wire [11:0] exe_stage_csr_csr_op_fifo_io_deq_bits_addr;
  wire [63:0] exe_stage_csr_csr_op_fifo_io_deq_bits_dat_i;
  wire  exe_stage_csr_csr_op_fifo_io_deq_bits_op_rw;
  wire  exe_stage_csr_csr_op_fifo_io_deq_bits_op_rs;
  wire  exe_stage_csr_csr_op_fifo_io_deq_bits_op_rc;
  reg [11:0] exe_stage_csr_csr_op_fifo_ram_addr [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [11:0] exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [11:0] exe_stage_csr_csr_op_fifo_ram_addr_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_addr_clock;
  reg [63:0] exe_stage_csr_csr_op_fifo_ram_dat_i [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_dat_i_clock;
  reg  exe_stage_csr_csr_op_fifo_ram_op_rw [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rw_clock;
  reg  exe_stage_csr_csr_op_fifo_ram_op_rs [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rs_clock;
  reg  exe_stage_csr_csr_op_fifo_ram_op_rc [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_csr_csr_op_fifo_ram_op_rc_clock;
  reg  exe_stage_csr_csr_op_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_csr_csr_op_fifo__empty_T = ~exe_stage_csr_csr_op_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_csr_csr_op_fifo__do_enq_T = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_csr_csr_op_fifo__do_deq_T = exe_stage_csr_csr_op_fifo_io_deq_ready &
    exe_stage_csr_csr_op_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_csr_csr_op_fifo__T = exe_stage_csr_csr_op_fifo__do_enq_T != exe_stage_csr_csr_op_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_csr__dontWrite_T = exe_stage_csr_io_csr_iss_exe_bits_param_dat_op1 == 64'h0; // @[Csr.scala 60:24]
  wire  exe_stage_csr__dontWrite_T_1 = exe_stage_csr_io_csr_iss_exe_bits_fun_rs |
    exe_stage_csr_io_csr_iss_exe_bits_fun_rc; // @[Csr.scala 60:40]
  wire  exe_stage_csr_dontWrite = exe_stage_csr__dontWrite_T & exe_stage_csr__dontWrite_T_1; // @[Csr.scala 60:33]
  wire  exe_stage_csr__csr_op_fifo_io_enq_bits_op_rw_T = ~exe_stage_csr_dontWrite; // @[Csr.scala 64:41]
  wire  exe_stage_csr__csr_exe_iwb_fifo_io_enq_valid_T = exe_stage_csr_io_csr_iss_exe_valid &
    exe_stage_csr_csr_op_fifo_io_enq_ready; // @[Csr.scala 74:57]
  wire  exe_stage_mulDiv_0_clock;
  wire  exe_stage_mulDiv_0_reset;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_ready;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_valid;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mul;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulh;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhu;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_div;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divu;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_rem;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remu;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divw;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divuw;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remw;
  wire  exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remuw;
  wire [5:0] exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_rd0;
  wire [63:0] exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1;
  wire [63:0] exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2;
  wire  exe_stage_mulDiv_0_io_mul_exe_iwb_ready;
  wire  exe_stage_mulDiv_0_io_mul_exe_iwb_valid;
  wire [5:0] exe_stage_mulDiv_0_io_mul_exe_iwb_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_io_mul_exe_iwb_bits_res;
  wire  exe_stage_mulDiv_0_io_flush;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_clock;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_reset;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_valid;
  wire [5:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_res;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_ready;
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_valid;
  wire [5:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_res;
  reg [5:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0 [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [5:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_clock;
  reg [63:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res [0:0]; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_en; // @[Decoupled.scala 275:95]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_clock;
  reg  exe_stage_mulDiv_0_mul_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 278:27]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo__empty_T = ~exe_stage_mulDiv_0_mul_exe_iwb_fifo_maybe_full; // @[Decoupled.scala 280:28]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo__do_enq_T = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready &
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo__do_deq_T = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_ready &
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_mulDiv_0_mul_exe_iwb_fifo__T = exe_stage_mulDiv_0_mul_exe_iwb_fifo__do_enq_T !=
    exe_stage_mulDiv_0_mul_exe_iwb_fifo__do_deq_T; // @[Decoupled.scala 295:15]
  wire  exe_stage_mulDiv_0_multiplier_io_enq_ready;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_valid;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mul;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulh;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhsu;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhu;
  wire  exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulw;
  wire [5:0] exe_stage_mulDiv_0_multiplier_io_enq_bits_param_rd0;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_ready;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_valid;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mul;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulh;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhsu;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhu;
  wire  exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulw;
  wire [5:0] exe_stage_mulDiv_0_multiplier_io_deq_bits_param_rd0;
  wire [64:0] exe_stage_mulDiv_0_multiplier_io_op1;
  wire [64:0] exe_stage_mulDiv_0_multiplier_io_op2;
  wire [129:0] exe_stage_mulDiv_0_multiplier_io_res;
  wire  exe_stage_mulDiv_0_dividor_clock;
  wire  exe_stage_mulDiv_0_dividor_reset;
  wire  exe_stage_mulDiv_0_dividor_io_enq_ready;
  wire  exe_stage_mulDiv_0_dividor_io_enq_valid;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_div;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_rem;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw;
  wire  exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw;
  wire [5:0] exe_stage_mulDiv_0_dividor_io_enq_bits_param_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1;
  wire [63:0] exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2;
  wire  exe_stage_mulDiv_0_dividor_io_deq_ready;
  wire  exe_stage_mulDiv_0_dividor_io_deq_valid;
  wire [5:0] exe_stage_mulDiv_0_dividor_io_deq_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_io_deq_bits_res;
  wire  exe_stage_mulDiv_0_dividor_io_flush;
  wire  exe_stage_mulDiv_0_dividor_algDivider_clock;
  wire  exe_stage_mulDiv_0_dividor_algDivider_reset;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_ready;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_valid;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_div;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divu;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_rem;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remu;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divuw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remuw;
  wire [5:0] exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op1;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op2;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_ready;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_valid;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_div;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divu;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_rem;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remu;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divuw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remw;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remuw;
  wire [5:0] exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op1;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op2;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_op1;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_quo;
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider_io_rem;
  wire  exe_stage_mulDiv_0_dividor_algDivider_io_flush;
  reg  exe_stage_mulDiv_0_dividor_algDivider_isDivBusy; // @[Mul.scala 582:26]
  reg [6:0] exe_stage_mulDiv_0_dividor_algDivider_cnt; // @[Mul.scala 584:20]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T = exe_stage_mulDiv_0_dividor_algDivider_io_enq_ready &
    exe_stage_mulDiv_0_dividor_algDivider_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T_1 = exe_stage_mulDiv_0_dividor_algDivider__T |
    exe_stage_mulDiv_0_dividor_algDivider_io_flush; // @[Mul.scala 585:21]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T_2 = exe_stage_mulDiv_0_dividor_algDivider_cnt != 7'h40; // @[Mul.scala 587:32]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T_3 = exe_stage_mulDiv_0_dividor_algDivider_isDivBusy &
    exe_stage_mulDiv_0_dividor_algDivider__T_2; // @[Mul.scala 587:26]
  wire [6:0] exe_stage_mulDiv_0_dividor_algDivider__cnt_T_1 = exe_stage_mulDiv_0_dividor_algDivider_cnt + 7'h1; // @[Mul.scala 588:16]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T_4 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_ready &
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_mulDiv_0_dividor_algDivider__T_5 = exe_stage_mulDiv_0_dividor_algDivider__T_4 |
    exe_stage_mulDiv_0_dividor_algDivider_io_flush; // @[Mul.scala 596:21]
  wire  exe_stage_mulDiv_0_dividor_algDivider__GEN_2 = exe_stage_mulDiv_0_dividor_algDivider__T |
    exe_stage_mulDiv_0_dividor_algDivider_isDivBusy; // @[Mul.scala 598:30 599:15 582:26]
  reg [127:0] exe_stage_mulDiv_0_dividor_algDivider_dividend; // @[Mul.scala 604:21]
  reg [63:0] exe_stage_mulDiv_0_dividor_algDivider_divisor; // @[Mul.scala 605:20]
  wire [128:0] exe_stage_mulDiv_0_dividor_algDivider_dividend_shift = {exe_stage_mulDiv_0_dividor_algDivider_dividend
    , 1'h0}; // @[Mul.scala 607:33]
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider__div_cmp_T = exe_stage_mulDiv_0_dividor_algDivider_dividend_shift[
    127:64]; // @[Mul.scala 608:32]
  wire  exe_stage_mulDiv_0_dividor_algDivider_div_cmp = exe_stage_mulDiv_0_dividor_algDivider__div_cmp_T >=
    exe_stage_mulDiv_0_dividor_algDivider_divisor; // @[Mul.scala 608:41]
  wire [63:0] exe_stage_mulDiv_0_dividor_algDivider__divided_T_2 = exe_stage_mulDiv_0_dividor_algDivider__div_cmp_T -
    exe_stage_mulDiv_0_dividor_algDivider_divisor; // @[Mul.scala 612:35]
  wire [62:0] exe_stage_mulDiv_0_dividor_algDivider__divided_T_3 = exe_stage_mulDiv_0_dividor_algDivider_dividend_shift[
    63:1]; // @[Mul.scala 612:61]
  wire [127:0] exe_stage_mulDiv_0_dividor_algDivider__divided_T_4 = {exe_stage_mulDiv_0_dividor_algDivider__divided_T_2,
    exe_stage_mulDiv_0_dividor_algDivider__divided_T_3,1'h1}; // @[Cat.scala 33:92]
  wire [128:0] exe_stage_mulDiv_0_dividor_algDivider_divided = exe_stage_mulDiv_0_dividor_algDivider_div_cmp ? {{1'd0},
    exe_stage_mulDiv_0_dividor_algDivider__divided_T_4} : exe_stage_mulDiv_0_dividor_algDivider_dividend_shift; // @[Mul.scala 610:8]
  wire [128:0] exe_stage_mulDiv_0_dividor_algDivider__GEN_4 = exe_stage_mulDiv_0_dividor_algDivider__T ? {{65'd0},
    exe_stage_mulDiv_0_dividor_algDivider_io_op1} : exe_stage_mulDiv_0_dividor_algDivider_divided; // @[Mul.scala 616:23 617:14 621:14]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_div; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divu; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_rem; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remu; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divw; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divuw; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remw; // @[Reg.scala 19:16]
  reg  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remuw; // @[Reg.scala 19:16]
  reg [5:0] exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_rd0; // @[Reg.scala 19:16]
  reg [63:0] exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op1; // @[Reg.scala 19:16]
  reg [63:0] exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op2; // @[Reg.scala 19:16]
  wire  exe_stage_mulDiv_0_dividor_algDivider__divFinish_T = exe_stage_mulDiv_0_dividor_algDivider_cnt == 7'h40; // @[Mul.scala 626:36]
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_ready;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_valid;
  wire [5:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_res;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_ready;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_valid;
  wire [5:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_res;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_out_ready;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_io_out_valid;
  wire [5:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_res;
  wire  exe_stage_mulDiv_0_dividor_divRtnArb_grant_1 = ~exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_mulDiv_0_dividor_divRtnArb__io_out_valid_T = ~exe_stage_mulDiv_0_dividor_divRtnArb_grant_1; // @[Arbiter.scala 147:19]
  wire  exe_stage_mulDiv_0_dividor__T = exe_stage_mulDiv_0_dividor_io_enq_ready &
    exe_stage_mulDiv_0_dividor_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  exe_stage_mulDiv_0_dividor__T_1 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_div |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu; // @[riscv_isa.scala 204:19]
  wire  exe_stage_mulDiv_0_dividor__T_2 = exe_stage_mulDiv_0_dividor__T_1 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw; // @[riscv_isa.scala 204:26]
  wire  exe_stage_mulDiv_0_dividor__T_3 = exe_stage_mulDiv_0_dividor__T_2 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw; // @[riscv_isa.scala 204:33]
  wire  exe_stage_mulDiv_0_dividor__T_4 = exe_stage_mulDiv_0_dividor__T_3 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_rem; // @[riscv_isa.scala 204:41]
  wire  exe_stage_mulDiv_0_dividor__T_5 = exe_stage_mulDiv_0_dividor__T_4 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu; // @[riscv_isa.scala 204:47]
  wire  exe_stage_mulDiv_0_dividor__T_6 = exe_stage_mulDiv_0_dividor__T_5 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw; // @[riscv_isa.scala 204:54]
  wire  exe_stage_mulDiv_0_dividor__T_7 = exe_stage_mulDiv_0_dividor__T_6 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw; // @[riscv_isa.scala 204:61]
  wire  exe_stage_mulDiv_0_dividor__T_9 = ~exe_stage_mulDiv_0_dividor_reset; // @[Mul.scala 430:31]
  wire  exe_stage_mulDiv_0_dividor__T_10 = ~exe_stage_mulDiv_0_dividor__T_7; // @[Mul.scala 430:31]
  wire  exe_stage_mulDiv_0_dividor__is32wPre_T = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw; // @[riscv_isa.scala 199:23]
  wire  exe_stage_mulDiv_0_dividor__is32wPre_T_1 = exe_stage_mulDiv_0_dividor__is32wPre_T |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw; // @[riscv_isa.scala 199:31]
  wire  exe_stage_mulDiv_0_dividor_is32wPre = exe_stage_mulDiv_0_dividor__is32wPre_T_1 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw; // @[riscv_isa.scala 199:39]
  wire  exe_stage_mulDiv_0_dividor__isUsiPre_T = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu; // @[riscv_isa.scala 200:23]
  wire  exe_stage_mulDiv_0_dividor__isUsiPre_T_1 = exe_stage_mulDiv_0_dividor__isUsiPre_T |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw; // @[riscv_isa.scala 200:31]
  wire  exe_stage_mulDiv_0_dividor_isUsiPre = exe_stage_mulDiv_0_dividor__isUsiPre_T_1 |
    exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw; // @[riscv_isa.scala 200:39]
  wire [31:0] exe_stage_mulDiv_0_dividor__dividend_load_T = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1[31:0]; // @[Mul.scala 449:29]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_1 = exe_stage_mulDiv_0_dividor_is32wPre ? {{32'd0},
    exe_stage_mulDiv_0_dividor__dividend_load_T} : exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 449:12]
  wire  exe_stage_mulDiv_0_dividor__dividend_load_T_2 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1[31]; // @[Mul.scala 452:37]
  wire [31:0] exe_stage_mulDiv_0_dividor__dividend_load_T_4 = ~exe_stage_mulDiv_0_dividor__dividend_load_T; // @[Mul.scala 452:44]
  wire [31:0] exe_stage_mulDiv_0_dividor__dividend_load_T_6 = exe_stage_mulDiv_0_dividor__dividend_load_T_4 + 32'h1; // @[Mul.scala 452:58]
  wire [31:0] exe_stage_mulDiv_0_dividor__dividend_load_T_8 = exe_stage_mulDiv_0_dividor__dividend_load_T_2 ?
    exe_stage_mulDiv_0_dividor__dividend_load_T_6 : exe_stage_mulDiv_0_dividor__dividend_load_T; // @[Mul.scala 452:30]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_9 = {32'h0,exe_stage_mulDiv_0_dividor__dividend_load_T_8}; // @[Cat.scala 33:92]
  wire  exe_stage_mulDiv_0_dividor__dividend_load_T_10 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1[63]; // @[Mul.scala 453:22]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_11 = ~exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 453:29]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_13 = exe_stage_mulDiv_0_dividor__dividend_load_T_11 + 64'h1; // @[Mul.scala 453:37]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_14 = exe_stage_mulDiv_0_dividor__dividend_load_T_10 ?
    exe_stage_mulDiv_0_dividor__dividend_load_T_13 : exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 453:14]
  wire [63:0] exe_stage_mulDiv_0_dividor__dividend_load_T_15 = exe_stage_mulDiv_0_dividor_is32wPre ?
    exe_stage_mulDiv_0_dividor__dividend_load_T_9 : exe_stage_mulDiv_0_dividor__dividend_load_T_14; // @[Mul.scala 450:12]
  wire [31:0] exe_stage_mulDiv_0_dividor__divisor_load_T = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2[31:0]; // @[Mul.scala 461:27]
  wire  exe_stage_mulDiv_0_dividor__divisor_load_T_3 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2[31]; // @[Mul.scala 464:39]
  wire [31:0] exe_stage_mulDiv_0_dividor__divisor_load_T_5 = ~exe_stage_mulDiv_0_dividor__divisor_load_T; // @[Mul.scala 464:46]
  wire [31:0] exe_stage_mulDiv_0_dividor__divisor_load_T_7 = exe_stage_mulDiv_0_dividor__divisor_load_T_5 + 32'h1; // @[Mul.scala 464:60]
  wire [31:0] exe_stage_mulDiv_0_dividor__divisor_load_T_9 = exe_stage_mulDiv_0_dividor__divisor_load_T_3 ?
    exe_stage_mulDiv_0_dividor__divisor_load_T_7 : exe_stage_mulDiv_0_dividor__divisor_load_T; // @[Mul.scala 464:32]
  wire [63:0] exe_stage_mulDiv_0_dividor__divisor_load_T_10 = {32'h0,exe_stage_mulDiv_0_dividor__divisor_load_T_9}; // @[Cat.scala 33:92]
  wire  exe_stage_mulDiv_0_dividor__divisor_load_T_11 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2[63]; // @[Mul.scala 465:20]
  wire [63:0] exe_stage_mulDiv_0_dividor__divisor_load_T_12 = ~exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2; // @[Mul.scala 465:27]
  wire [63:0] exe_stage_mulDiv_0_dividor__divisor_load_T_14 = exe_stage_mulDiv_0_dividor__divisor_load_T_12 + 64'h1; // @[Mul.scala 465:35]
  wire  exe_stage_mulDiv_0_dividor_isDivByZero = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2 == 64'h0; // @[Mul.scala 480:29]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T = ~exe_stage_mulDiv_0_dividor_isUsiPre; // @[Mul.scala 481:23]
  wire [30:0] exe_stage_mulDiv_0_dividor__isDivOverflow_T_3 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1[30:0]
    ; // @[Mul.scala 483:58]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_4 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_3 == 31'h0; // @[Mul.scala 483:65]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_5 = exe_stage_mulDiv_0_dividor__dividend_load_T_2 &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_4; // @[Mul.scala 483:49]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_6 = exe_stage_mulDiv_0_dividor_is32wPre &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_5; // @[Mul.scala 483:28]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_8 = &exe_stage_mulDiv_0_dividor__divisor_load_T; // @[Mul.scala 483:92]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_10 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_6 &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_8; // @[Mul.scala 483:76]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_11 = ~exe_stage_mulDiv_0_dividor_is32wPre; // @[Mul.scala 485:18]
  wire [62:0] exe_stage_mulDiv_0_dividor__isDivOverflow_T_14 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1[62:0
    ]; // @[Mul.scala 485:58]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_15 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_14 == 63'h0; // @[Mul.scala 485:65]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_16 = exe_stage_mulDiv_0_dividor__dividend_load_T_10 &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_15; // @[Mul.scala 485:49]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_17 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_11 &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_16; // @[Mul.scala 485:28]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_19 = &exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2; // @[Mul.scala 485:92]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_21 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_17 &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_19; // @[Mul.scala 485:76]
  wire  exe_stage_mulDiv_0_dividor__isDivOverflow_T_22 = exe_stage_mulDiv_0_dividor__isDivOverflow_T_10 |
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_21; // @[Mul.scala 484:17]
  wire  exe_stage_mulDiv_0_dividor_isDivOverflow = exe_stage_mulDiv_0_dividor__isDivOverflow_T &
    exe_stage_mulDiv_0_dividor__isDivOverflow_T_22; // @[Mul.scala 481:33]
  wire  exe_stage_mulDiv_0_dividor_divBypass = exe_stage_mulDiv_0_dividor_isDivByZero |
    exe_stage_mulDiv_0_dividor_isDivOverflow; // @[Mul.scala 487:31]
  wire  exe_stage_mulDiv_0_dividor__remaDZRes_T_1 = exe_stage_mulDiv_0_dividor__dividend_load_T[31]; // @[Util.scala 29:36]
  wire [31:0] exe_stage_mulDiv_0_dividor__remaDZRes_T_3 = exe_stage_mulDiv_0_dividor__remaDZRes_T_1 ? 32'hffffffff : 32'h0
    ; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_mulDiv_0_dividor__remaDZRes_T_4 = {exe_stage_mulDiv_0_dividor__remaDZRes_T_3,
    exe_stage_mulDiv_0_dividor__dividend_load_T}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_mulDiv_0_dividor_remaDZRes = exe_stage_mulDiv_0_dividor_is32wPre ?
    exe_stage_mulDiv_0_dividor__remaDZRes_T_4 : exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 490:22]
  wire [63:0] exe_stage_mulDiv_0_dividor_quotOFRes = exe_stage_mulDiv_0_dividor_is32wPre ? 64'hffffffff80000000 : 64'h8000000000000000
    ; // @[Mul.scala 491:22]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassQuo_T = exe_stage_mulDiv_0_dividor_isDivByZero ? 64'hffffffffffffffff : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassQuo_T_1 = exe_stage_mulDiv_0_dividor_isDivOverflow ?
    exe_stage_mulDiv_0_dividor_quotOFRes : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassQuo_T_2 = exe_stage_mulDiv_0_dividor__byPassQuo_T |
    exe_stage_mulDiv_0_dividor__byPassQuo_T_1; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRem_T = exe_stage_mulDiv_0_dividor_isDivByZero ?
    exe_stage_mulDiv_0_dividor_remaDZRes : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_div ?
    exe_stage_mulDiv_0_dividor__byPassQuo_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_1 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu ?
    exe_stage_mulDiv_0_dividor__byPassQuo_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_2 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw ?
    exe_stage_mulDiv_0_dividor__byPassQuo_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_3 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw ?
    exe_stage_mulDiv_0_dividor__byPassQuo_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_4 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw ?
    exe_stage_mulDiv_0_dividor__byPassRem_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_5 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw ?
    exe_stage_mulDiv_0_dividor__byPassRem_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_6 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_rem ?
    exe_stage_mulDiv_0_dividor__byPassRem_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_7 = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu ?
    exe_stage_mulDiv_0_dividor__byPassRem_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_8 = exe_stage_mulDiv_0_dividor__byPassRes_T |
    exe_stage_mulDiv_0_dividor__byPassRes_T_1; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_9 = exe_stage_mulDiv_0_dividor__byPassRes_T_8 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_2; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_10 = exe_stage_mulDiv_0_dividor__byPassRes_T_9 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_3; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_11 = exe_stage_mulDiv_0_dividor__byPassRes_T_10 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_4; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_12 = exe_stage_mulDiv_0_dividor__byPassRes_T_11 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_5; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__byPassRes_T_13 = exe_stage_mulDiv_0_dividor__byPassRes_T_12 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_6; // @[Mux.scala 27:73]
  wire  exe_stage_mulDiv_0_dividor__algDivider_io_enq_valid_T = ~exe_stage_mulDiv_0_dividor_divBypass; // @[Mul.scala 509:47]
  wire  exe_stage_mulDiv_0_dividor__is32wPost_T = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divw |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divuw; // @[riscv_isa.scala 199:23]
  wire  exe_stage_mulDiv_0_dividor__is32wPost_T_1 = exe_stage_mulDiv_0_dividor__is32wPost_T |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remw; // @[riscv_isa.scala 199:31]
  wire  exe_stage_mulDiv_0_dividor_is32wPost = exe_stage_mulDiv_0_dividor__is32wPost_T_1 |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remuw; // @[riscv_isa.scala 199:39]
  wire  exe_stage_mulDiv_0_dividor__isUsiPost_T = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divu |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remu; // @[riscv_isa.scala 200:23]
  wire  exe_stage_mulDiv_0_dividor__isUsiPost_T_1 = exe_stage_mulDiv_0_dividor__isUsiPost_T |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divuw; // @[riscv_isa.scala 200:31]
  wire  exe_stage_mulDiv_0_dividor_isUsiPost = exe_stage_mulDiv_0_dividor__isUsiPost_T_1 |
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remuw; // @[riscv_isa.scala 200:39]
  wire  exe_stage_mulDiv_0_dividor__dividend_sign_T = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op1[31
    ]; // @[Mul.scala 525:69]
  wire  exe_stage_mulDiv_0_dividor__dividend_sign_T_2 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op1[
    63]; // @[Mul.scala 525:89]
  wire  exe_stage_mulDiv_0_dividor__dividend_sign_T_4 = exe_stage_mulDiv_0_dividor_is32wPost ?
    exe_stage_mulDiv_0_dividor__dividend_sign_T : exe_stage_mulDiv_0_dividor__dividend_sign_T_2; // @[Mul.scala 525:50]
  wire  exe_stage_mulDiv_0_dividor_dividend_sign = exe_stage_mulDiv_0_dividor_isUsiPost ? 1'h0 :
    exe_stage_mulDiv_0_dividor__dividend_sign_T_4; // @[Mul.scala 525:26]
  wire  exe_stage_mulDiv_0_dividor__divisor_sign_T = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op2[31]
    ; // @[Mul.scala 526:69]
  wire  exe_stage_mulDiv_0_dividor__divisor_sign_T_2 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op2[
    63]; // @[Mul.scala 526:89]
  wire  exe_stage_mulDiv_0_dividor__divisor_sign_T_4 = exe_stage_mulDiv_0_dividor_is32wPost ?
    exe_stage_mulDiv_0_dividor__divisor_sign_T : exe_stage_mulDiv_0_dividor__divisor_sign_T_2; // @[Mul.scala 526:50]
  wire  exe_stage_mulDiv_0_dividor_divisor_sign = exe_stage_mulDiv_0_dividor_isUsiPost ? 1'h0 :
    exe_stage_mulDiv_0_dividor__divisor_sign_T_4; // @[Mul.scala 526:26]
  wire  exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T = exe_stage_mulDiv_0_dividor_dividend_sign ^
    exe_stage_mulDiv_0_dividor_divisor_sign; // @[Mul.scala 529:22]
  wire [63:0] exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T_1 = ~exe_stage_mulDiv_0_dividor_algDivider_io_quo; // @[Mul.scala 529:37]
  wire [63:0] exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T_3 = exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T_1 + 64'h1
    ; // @[Mul.scala 529:56]
  wire [63:0] exe_stage_mulDiv_0_dividor_quot_sign_corrcet = exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T ?
    exe_stage_mulDiv_0_dividor__quot_sign_corrcet_T_3 : exe_stage_mulDiv_0_dividor_algDivider_io_quo; // @[Mul.scala 529:8]
  wire [63:0] exe_stage_mulDiv_0_dividor__rema_sign_corrcet_T = ~exe_stage_mulDiv_0_dividor_algDivider_io_rem; // @[Mul.scala 532:24]
  wire [63:0] exe_stage_mulDiv_0_dividor__rema_sign_corrcet_T_2 = exe_stage_mulDiv_0_dividor__rema_sign_corrcet_T + 64'h1
    ; // @[Mul.scala 532:43]
  wire [63:0] exe_stage_mulDiv_0_dividor_rema_sign_corrcet = exe_stage_mulDiv_0_dividor_dividend_sign ?
    exe_stage_mulDiv_0_dividor__rema_sign_corrcet_T_2 : exe_stage_mulDiv_0_dividor_algDivider_io_rem; // @[Mul.scala 532:8]
  wire [31:0] exe_stage_mulDiv_0_dividor__divRes_T = exe_stage_mulDiv_0_dividor_quot_sign_corrcet[31:0]; // @[Mul.scala 540:67]
  wire  exe_stage_mulDiv_0_dividor__divRes_T_1 = exe_stage_mulDiv_0_dividor__divRes_T[31]; // @[Util.scala 29:36]
  wire [31:0] exe_stage_mulDiv_0_dividor__divRes_T_3 = exe_stage_mulDiv_0_dividor__divRes_T_1 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_4 = {exe_stage_mulDiv_0_dividor__divRes_T_3,
    exe_stage_mulDiv_0_dividor__divRes_T}; // @[Cat.scala 33:92]
  wire [31:0] exe_stage_mulDiv_0_dividor__divRes_T_10 = exe_stage_mulDiv_0_dividor_rema_sign_corrcet[31:0]; // @[Mul.scala 542:67]
  wire  exe_stage_mulDiv_0_dividor__divRes_T_11 = exe_stage_mulDiv_0_dividor__divRes_T_10[31]; // @[Util.scala 29:36]
  wire [31:0] exe_stage_mulDiv_0_dividor__divRes_T_13 = exe_stage_mulDiv_0_dividor__divRes_T_11 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_14 = {exe_stage_mulDiv_0_dividor__divRes_T_13,
    exe_stage_mulDiv_0_dividor__divRes_T_10}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_20 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_div ?
    exe_stage_mulDiv_0_dividor_quot_sign_corrcet : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_21 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divu ?
    exe_stage_mulDiv_0_dividor_quot_sign_corrcet : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_22 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_rem ?
    exe_stage_mulDiv_0_dividor_rema_sign_corrcet : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_23 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remu ?
    exe_stage_mulDiv_0_dividor_rema_sign_corrcet : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_24 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divw ?
    exe_stage_mulDiv_0_dividor__divRes_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_25 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divuw ?
    exe_stage_mulDiv_0_dividor__divRes_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_26 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remw ?
    exe_stage_mulDiv_0_dividor__divRes_T_14 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_27 = exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remuw ?
    exe_stage_mulDiv_0_dividor__divRes_T_14 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_28 = exe_stage_mulDiv_0_dividor__divRes_T_20 |
    exe_stage_mulDiv_0_dividor__divRes_T_21; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_29 = exe_stage_mulDiv_0_dividor__divRes_T_28 |
    exe_stage_mulDiv_0_dividor__divRes_T_22; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_30 = exe_stage_mulDiv_0_dividor__divRes_T_29 |
    exe_stage_mulDiv_0_dividor__divRes_T_23; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_31 = exe_stage_mulDiv_0_dividor__divRes_T_30 |
    exe_stage_mulDiv_0_dividor__divRes_T_24; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_32 = exe_stage_mulDiv_0_dividor__divRes_T_31 |
    exe_stage_mulDiv_0_dividor__divRes_T_25; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0_dividor__divRes_T_33 = exe_stage_mulDiv_0_dividor__divRes_T_32 |
    exe_stage_mulDiv_0_dividor__divRes_T_26; // @[Mux.scala 27:73]
  wire  exe_stage_mulDiv_0_iwbArb_io_in_0_ready;
  wire  exe_stage_mulDiv_0_iwbArb_io_in_0_valid;
  wire [5:0] exe_stage_mulDiv_0_iwbArb_io_in_0_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_iwbArb_io_in_0_bits_res;
  wire  exe_stage_mulDiv_0_iwbArb_io_in_1_ready;
  wire  exe_stage_mulDiv_0_iwbArb_io_in_1_valid;
  wire [5:0] exe_stage_mulDiv_0_iwbArb_io_in_1_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_iwbArb_io_in_1_bits_res;
  wire  exe_stage_mulDiv_0_iwbArb_io_out_ready;
  wire  exe_stage_mulDiv_0_iwbArb_io_out_valid;
  wire [5:0] exe_stage_mulDiv_0_iwbArb_io_out_bits_rd0;
  wire [63:0] exe_stage_mulDiv_0_iwbArb_io_out_bits_res;
  wire  exe_stage_mulDiv_0_iwbArb_grant_1 = ~exe_stage_mulDiv_0_iwbArb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  exe_stage_mulDiv_0_iwbArb__io_out_valid_T = ~exe_stage_mulDiv_0_iwbArb_grant_1; // @[Arbiter.scala 147:19]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mul |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulh; // @[Mul.scala 52:37]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T_1 = exe_stage_mulDiv_0__mul_op1_sign_T |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu; // @[Mul.scala 52:68]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T_2 = exe_stage_mulDiv_0__mul_op1_sign_T_1 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw; // @[Mul.scala 52:101]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T_3 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1[31]; // @[Mul.scala 53:74]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T_4 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1[63]; // @[Mul.scala 53:113]
  wire  exe_stage_mulDiv_0__mul_op1_sign_T_5 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw ?
    exe_stage_mulDiv_0__mul_op1_sign_T_3 : exe_stage_mulDiv_0__mul_op1_sign_T_4; // @[Mul.scala 53:10]
  wire  exe_stage_mulDiv_0_mul_op1_sign = exe_stage_mulDiv_0__mul_op1_sign_T_2 & exe_stage_mulDiv_0__mul_op1_sign_T_5; // @[Mul.scala 51:8]
  wire  exe_stage_mulDiv_0__mul_op2_sign_T_1 = exe_stage_mulDiv_0__mul_op1_sign_T |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw; // @[Mul.scala 59:67]
  wire  exe_stage_mulDiv_0__mul_op2_sign_T_2 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2[31]; // @[Mul.scala 60:74]
  wire  exe_stage_mulDiv_0__mul_op2_sign_T_3 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2[63]; // @[Mul.scala 60:113]
  wire  exe_stage_mulDiv_0__mul_op2_sign_T_4 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw ?
    exe_stage_mulDiv_0__mul_op2_sign_T_2 : exe_stage_mulDiv_0__mul_op2_sign_T_3; // @[Mul.scala 60:10]
  wire  exe_stage_mulDiv_0_mul_op2_sign = exe_stage_mulDiv_0__mul_op2_sign_T_1 & exe_stage_mulDiv_0__mul_op2_sign_T_4; // @[Mul.scala 58:8]
  wire [32:0] exe_stage_mulDiv_0__mul_op1_T_1 = exe_stage_mulDiv_0_mul_op1_sign ? 33'h1ffffffff : 33'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_mulDiv_0__mul_op1_T_2 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1[31:0]; // @[Mul.scala 67:68]
  wire [64:0] exe_stage_mulDiv_0__mul_op1_T_3 = {exe_stage_mulDiv_0__mul_op1_T_1,exe_stage_mulDiv_0__mul_op1_T_2}; // @[Cat.scala 33:92]
  wire [64:0] exe_stage_mulDiv_0__mul_op1_T_4 = {exe_stage_mulDiv_0_mul_op1_sign,
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1}; // @[Cat.scala 33:92]
  wire [32:0] exe_stage_mulDiv_0__mul_op2_T_1 = exe_stage_mulDiv_0_mul_op2_sign ? 33'h1ffffffff : 33'h0; // @[Bitwise.scala 77:12]
  wire [31:0] exe_stage_mulDiv_0__mul_op2_T_2 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2[31:0]; // @[Mul.scala 74:68]
  wire [64:0] exe_stage_mulDiv_0__mul_op2_T_3 = {exe_stage_mulDiv_0__mul_op2_T_1,exe_stage_mulDiv_0__mul_op2_T_2}; // @[Cat.scala 33:92]
  wire [64:0] exe_stage_mulDiv_0__mul_op2_T_4 = {exe_stage_mulDiv_0_mul_op2_sign,
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2}; // @[Cat.scala 33:92]
  wire  exe_stage_mulDiv_0__multiplier_io_enq_valid_T_2 = exe_stage_mulDiv_0__mul_op1_sign_T_1 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhu; // @[riscv_isa.scala 203:35]
  wire  exe_stage_mulDiv_0__multiplier_io_enq_valid_T_3 = exe_stage_mulDiv_0__multiplier_io_enq_valid_T_2 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw; // @[riscv_isa.scala 203:43]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T = exe_stage_mulDiv_0_multiplier_io_res[63:0]; // @[Mul.scala 92:59]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_1 = exe_stage_mulDiv_0_multiplier_io_res[127:64]; // @[Mul.scala 93:59]
  wire [31:0] exe_stage_mulDiv_0__mulRes_T_4 = exe_stage_mulDiv_0_multiplier_io_res[31:0]; // @[Mul.scala 96:67]
  wire  exe_stage_mulDiv_0__mulRes_T_5 = exe_stage_mulDiv_0__mulRes_T_4[31]; // @[Util.scala 29:36]
  wire [31:0] exe_stage_mulDiv_0__mulRes_T_7 = exe_stage_mulDiv_0__mulRes_T_5 ? 32'hffffffff : 32'h0; // @[Bitwise.scala 77:12]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_8 = {exe_stage_mulDiv_0__mulRes_T_7,exe_stage_mulDiv_0__mulRes_T_4}; // @[Cat.scala 33:92]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_9 = exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mul ?
    exe_stage_mulDiv_0__mulRes_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_10 = exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulh ?
    exe_stage_mulDiv_0__mulRes_T_1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_11 = exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhsu ?
    exe_stage_mulDiv_0__mulRes_T_1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_12 = exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhu ?
    exe_stage_mulDiv_0__mulRes_T_1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_13 = exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulw ?
    exe_stage_mulDiv_0__mulRes_T_8 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_14 = exe_stage_mulDiv_0__mulRes_T_9 | exe_stage_mulDiv_0__mulRes_T_10; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_15 = exe_stage_mulDiv_0__mulRes_T_14 | exe_stage_mulDiv_0__mulRes_T_11; // @[Mux.scala 27:73]
  wire [63:0] exe_stage_mulDiv_0__mulRes_T_16 = exe_stage_mulDiv_0__mulRes_T_15 | exe_stage_mulDiv_0__mulRes_T_12; // @[Mux.scala 27:73]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_div |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divu; // @[riscv_isa.scala 204:19]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_1 = exe_stage_mulDiv_0__dividor_io_enq_valid_T |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divw; // @[riscv_isa.scala 204:26]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_2 = exe_stage_mulDiv_0__dividor_io_enq_valid_T_1 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divuw; // @[riscv_isa.scala 204:33]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_3 = exe_stage_mulDiv_0__dividor_io_enq_valid_T_2 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_rem; // @[riscv_isa.scala 204:41]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_4 = exe_stage_mulDiv_0__dividor_io_enq_valid_T_3 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remu; // @[riscv_isa.scala 204:47]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_5 = exe_stage_mulDiv_0__dividor_io_enq_valid_T_4 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remw; // @[riscv_isa.scala 204:54]
  wire  exe_stage_mulDiv_0__dividor_io_enq_valid_T_6 = exe_stage_mulDiv_0__dividor_io_enq_valid_T_5 |
    exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remuw; // @[riscv_isa.scala 204:61]
  wire  exe_stage_fpu_0_clock;
  wire  exe_stage_fpu_0_reset;
  wire  exe_stage_fpu_0_io_fpu_iss_exe_valid;
  wire  exe_stage_fpu_0_io_fpu_exe_iwb_valid;
  wire [5:0] exe_stage_fpu_0_io_fpu_exe_iwb_bits_rd0;
  wire [64:0] exe_stage_fpu_0_io_fpu_exe_iwb_bits_res;
  wire  exe_stage_fpu_0_io_fpu_exe_fwb_valid;
  wire  exe_stage_fpu_0_io_fcsr_cmm_op_0_valid;
  wire [11:0] exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_addr;
  wire [63:0] exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_dat_i;
  wire  exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rw;
  wire  exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rs;
  wire  exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rc;
  wire  exe_stage_fpu_0__T = ~exe_stage_fpu_0_io_fpu_iss_exe_valid; // @[FAlu.scala 282:11]
  wire  exe_stage_fpu_0__T_2 = ~exe_stage_fpu_0_reset; // @[FAlu.scala 282:9]
  wire  exe_stage_fpu_0__T_3 = ~exe_stage_fpu_0__T; // @[FAlu.scala 282:9]
  wire  iwb_stage_clock;
  wire  iwb_stage_reset;
  wire [5:0] iwb_stage_io_xLookup_0_rsp_rs1;
  wire [5:0] iwb_stage_io_xLookup_0_rsp_rs2;
  wire [4:0] iwb_stage_io_xLookup_0_req_rs1;
  wire [4:0] iwb_stage_io_xLookup_0_req_rs2;
  wire [5:0] iwb_stage_io_fLookup_0_rsp_rs1;
  wire [5:0] iwb_stage_io_fLookup_0_rsp_rs2;
  wire [5:0] iwb_stage_io_fLookup_0_rsp_rs3;
  wire [5:0] iwb_stage_io_xRename_0_rsp_rd0;
  wire  iwb_stage_io_xRename_0_req_ready;
  wire  iwb_stage_io_xRename_0_req_valid;
  wire [4:0] iwb_stage_io_xRename_0_req_bits_rd0;
  wire [5:0] iwb_stage_io_fRename_0_rsp_rd0;
  wire  iwb_stage_io_fRename_0_req_ready;
  wire [1:0] iwb_stage_io_irgLog_0;
  wire [1:0] iwb_stage_io_irgLog_1;
  wire [1:0] iwb_stage_io_irgLog_2;
  wire [1:0] iwb_stage_io_irgLog_3;
  wire [1:0] iwb_stage_io_irgLog_4;
  wire [1:0] iwb_stage_io_irgLog_5;
  wire [1:0] iwb_stage_io_irgLog_6;
  wire [1:0] iwb_stage_io_irgLog_7;
  wire [1:0] iwb_stage_io_irgLog_8;
  wire [1:0] iwb_stage_io_irgLog_9;
  wire [1:0] iwb_stage_io_irgLog_10;
  wire [1:0] iwb_stage_io_irgLog_11;
  wire [1:0] iwb_stage_io_irgLog_12;
  wire [1:0] iwb_stage_io_irgLog_13;
  wire [1:0] iwb_stage_io_irgLog_14;
  wire [1:0] iwb_stage_io_irgLog_15;
  wire [1:0] iwb_stage_io_irgLog_16;
  wire [1:0] iwb_stage_io_irgLog_17;
  wire [1:0] iwb_stage_io_irgLog_18;
  wire [1:0] iwb_stage_io_irgLog_19;
  wire [1:0] iwb_stage_io_irgLog_20;
  wire [1:0] iwb_stage_io_irgLog_21;
  wire [1:0] iwb_stage_io_irgLog_22;
  wire [1:0] iwb_stage_io_irgLog_23;
  wire [1:0] iwb_stage_io_irgLog_24;
  wire [1:0] iwb_stage_io_irgLog_25;
  wire [1:0] iwb_stage_io_irgLog_26;
  wire [1:0] iwb_stage_io_irgLog_27;
  wire [1:0] iwb_stage_io_irgLog_28;
  wire [1:0] iwb_stage_io_irgLog_29;
  wire [1:0] iwb_stage_io_irgLog_30;
  wire [1:0] iwb_stage_io_irgLog_31;
  wire [1:0] iwb_stage_io_irgLog_32;
  wire [1:0] iwb_stage_io_irgLog_33;
  wire [1:0] iwb_stage_io_frgLog_0;
  wire [1:0] iwb_stage_io_frgLog_1;
  wire [1:0] iwb_stage_io_frgLog_2;
  wire [1:0] iwb_stage_io_frgLog_3;
  wire [1:0] iwb_stage_io_frgLog_4;
  wire [1:0] iwb_stage_io_frgLog_5;
  wire [1:0] iwb_stage_io_frgLog_6;
  wire [1:0] iwb_stage_io_frgLog_7;
  wire [1:0] iwb_stage_io_frgLog_8;
  wire [1:0] iwb_stage_io_frgLog_9;
  wire [1:0] iwb_stage_io_frgLog_10;
  wire [1:0] iwb_stage_io_frgLog_11;
  wire [1:0] iwb_stage_io_frgLog_12;
  wire [1:0] iwb_stage_io_frgLog_13;
  wire [1:0] iwb_stage_io_frgLog_14;
  wire [1:0] iwb_stage_io_frgLog_15;
  wire [1:0] iwb_stage_io_frgLog_16;
  wire [1:0] iwb_stage_io_frgLog_17;
  wire [1:0] iwb_stage_io_frgLog_18;
  wire [1:0] iwb_stage_io_frgLog_19;
  wire [1:0] iwb_stage_io_frgLog_20;
  wire [1:0] iwb_stage_io_frgLog_21;
  wire [1:0] iwb_stage_io_frgLog_22;
  wire [1:0] iwb_stage_io_frgLog_23;
  wire [1:0] iwb_stage_io_frgLog_24;
  wire [1:0] iwb_stage_io_frgLog_25;
  wire [1:0] iwb_stage_io_frgLog_26;
  wire [1:0] iwb_stage_io_frgLog_27;
  wire [1:0] iwb_stage_io_frgLog_28;
  wire [1:0] iwb_stage_io_frgLog_29;
  wire [1:0] iwb_stage_io_frgLog_30;
  wire [1:0] iwb_stage_io_frgLog_31;
  wire [1:0] iwb_stage_io_frgLog_32;
  wire [1:0] iwb_stage_io_frgLog_33;
  wire  iwb_stage_io_irgReq_0_valid;
  wire [5:0] iwb_stage_io_irgReq_0_bits;
  wire  iwb_stage_io_irgReq_1_valid;
  wire [5:0] iwb_stage_io_irgReq_1_bits;
  wire  iwb_stage_io_irgRsp_0_valid;
  wire [5:0] iwb_stage_io_irgRsp_0_bits_phy;
  wire [63:0] iwb_stage_io_irgRsp_0_bits_op;
  wire  iwb_stage_io_irgRsp_1_valid;
  wire [5:0] iwb_stage_io_irgRsp_1_bits_phy;
  wire [63:0] iwb_stage_io_irgRsp_1_bits_op;
  wire  iwb_stage_io_alu_iWriteBack_0_ready;
  wire  iwb_stage_io_alu_iWriteBack_0_valid;
  wire [5:0] iwb_stage_io_alu_iWriteBack_0_bits_rd0;
  wire [63:0] iwb_stage_io_alu_iWriteBack_0_bits_res;
  wire  iwb_stage_io_bru_iWriteBack_ready;
  wire  iwb_stage_io_bru_iWriteBack_valid;
  wire [5:0] iwb_stage_io_bru_iWriteBack_bits_rd0;
  wire [63:0] iwb_stage_io_bru_iWriteBack_bits_res;
  wire  iwb_stage_io_csr_iWriteBack_ready;
  wire  iwb_stage_io_csr_iWriteBack_valid;
  wire [5:0] iwb_stage_io_csr_iWriteBack_bits_rd0;
  wire [63:0] iwb_stage_io_csr_iWriteBack_bits_res;
  wire  iwb_stage_io_mem_iWriteBack_ready;
  wire  iwb_stage_io_mem_iWriteBack_valid;
  wire [5:0] iwb_stage_io_mem_iWriteBack_bits_rd0;
  wire [63:0] iwb_stage_io_mem_iWriteBack_bits_res;
  wire  iwb_stage_io_mul_iWriteBack_0_ready;
  wire  iwb_stage_io_mul_iWriteBack_0_valid;
  wire [5:0] iwb_stage_io_mul_iWriteBack_0_bits_rd0;
  wire [63:0] iwb_stage_io_mul_iWriteBack_0_bits_res;
  wire  iwb_stage_io_fpu_iWriteBack_0_valid;
  wire [5:0] iwb_stage_io_fpu_iWriteBack_0_bits_rd0;
  wire [63:0] iwb_stage_io_fpu_iWriteBack_0_bits_res;
  wire  iwb_stage_io_mem_fWriteBack_ready;
  wire  iwb_stage_io_mem_fWriteBack_valid;
  wire  iwb_stage_io_fpu_fWriteBack_0_valid;
  wire  iwb_stage_io_commit_0_is_comfirm;
  wire  iwb_stage_io_commit_0_is_MisPredict;
  wire  iwb_stage_io_commit_0_is_abort;
  wire [4:0] iwb_stage_io_commit_0_raw;
  wire [5:0] iwb_stage_io_commit_0_phy;
  wire  iwb_stage_io_commit_0_toX;
  wire  iwb_stage_io_commit_0_toF;
  wire  iwb_stage_io_commit_0_is_writeback;
  wire  iwb_stage_iReg_clock;
  wire  iwb_stage_iReg_reset;
  wire [5:0] iwb_stage_iReg_io_lookup_0_rsp_rs1;
  wire [5:0] iwb_stage_iReg_io_lookup_0_rsp_rs2;
  wire [4:0] iwb_stage_iReg_io_lookup_0_req_rs1;
  wire [4:0] iwb_stage_iReg_io_lookup_0_req_rs2;
  wire [5:0] iwb_stage_iReg_io_rename_0_rsp_rd0;
  wire  iwb_stage_iReg_io_rename_0_req_ready;
  wire  iwb_stage_iReg_io_rename_0_req_valid;
  wire [4:0] iwb_stage_iReg_io_rename_0_req_bits_rd0;
  wire [1:0] iwb_stage_iReg_io_rgLog_0;
  wire [1:0] iwb_stage_iReg_io_rgLog_1;
  wire [1:0] iwb_stage_iReg_io_rgLog_2;
  wire [1:0] iwb_stage_iReg_io_rgLog_3;
  wire [1:0] iwb_stage_iReg_io_rgLog_4;
  wire [1:0] iwb_stage_iReg_io_rgLog_5;
  wire [1:0] iwb_stage_iReg_io_rgLog_6;
  wire [1:0] iwb_stage_iReg_io_rgLog_7;
  wire [1:0] iwb_stage_iReg_io_rgLog_8;
  wire [1:0] iwb_stage_iReg_io_rgLog_9;
  wire [1:0] iwb_stage_iReg_io_rgLog_10;
  wire [1:0] iwb_stage_iReg_io_rgLog_11;
  wire [1:0] iwb_stage_iReg_io_rgLog_12;
  wire [1:0] iwb_stage_iReg_io_rgLog_13;
  wire [1:0] iwb_stage_iReg_io_rgLog_14;
  wire [1:0] iwb_stage_iReg_io_rgLog_15;
  wire [1:0] iwb_stage_iReg_io_rgLog_16;
  wire [1:0] iwb_stage_iReg_io_rgLog_17;
  wire [1:0] iwb_stage_iReg_io_rgLog_18;
  wire [1:0] iwb_stage_iReg_io_rgLog_19;
  wire [1:0] iwb_stage_iReg_io_rgLog_20;
  wire [1:0] iwb_stage_iReg_io_rgLog_21;
  wire [1:0] iwb_stage_iReg_io_rgLog_22;
  wire [1:0] iwb_stage_iReg_io_rgLog_23;
  wire [1:0] iwb_stage_iReg_io_rgLog_24;
  wire [1:0] iwb_stage_iReg_io_rgLog_25;
  wire [1:0] iwb_stage_iReg_io_rgLog_26;
  wire [1:0] iwb_stage_iReg_io_rgLog_27;
  wire [1:0] iwb_stage_iReg_io_rgLog_28;
  wire [1:0] iwb_stage_iReg_io_rgLog_29;
  wire [1:0] iwb_stage_iReg_io_rgLog_30;
  wire [1:0] iwb_stage_iReg_io_rgLog_31;
  wire [1:0] iwb_stage_iReg_io_rgLog_32;
  wire [1:0] iwb_stage_iReg_io_rgLog_33;
  wire  iwb_stage_iReg_io_rgReq_0_valid;
  wire [5:0] iwb_stage_iReg_io_rgReq_0_bits;
  wire  iwb_stage_iReg_io_rgReq_1_valid;
  wire [5:0] iwb_stage_iReg_io_rgReq_1_bits;
  wire  iwb_stage_iReg_io_rgRsp_0_valid;
  wire [5:0] iwb_stage_iReg_io_rgRsp_0_bits_phy;
  wire [63:0] iwb_stage_iReg_io_rgRsp_0_bits_op;
  wire  iwb_stage_iReg_io_rgRsp_1_valid;
  wire [5:0] iwb_stage_iReg_io_rgRsp_1_bits_phy;
  wire [63:0] iwb_stage_iReg_io_rgRsp_1_bits_op;
  wire  iwb_stage_iReg_io_exe_writeBack_0_ready;
  wire  iwb_stage_iReg_io_exe_writeBack_0_valid;
  wire [5:0] iwb_stage_iReg_io_exe_writeBack_0_bits_rd0;
  wire [63:0] iwb_stage_iReg_io_exe_writeBack_0_bits_res;
  wire  iwb_stage_iReg_io_commit_0_is_comfirm;
  wire  iwb_stage_iReg_io_commit_0_is_MisPredict;
  wire  iwb_stage_iReg_io_commit_0_is_abort;
  wire [4:0] iwb_stage_iReg_io_commit_0_raw;
  wire [5:0] iwb_stage_iReg_io_commit_0_phy;
  wire  iwb_stage_iReg_io_commit_0_is_writeback;
  reg [1:0] iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_1; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_2; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_3; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_4; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_5; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_6; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_7; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_8; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_9; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_10; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_11; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_12; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_13; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_14; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_15; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_16; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_17; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_18; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_19; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_20; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_21; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_22; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_23; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_24; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_25; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_26; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_27; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_28; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_29; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_30; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_31; // @[Regfiles.scala 101:12]
  reg [1:0] iwb_stage_iReg_log_reg_32; // @[Regfiles.scala 101:12]
  reg [63:0] iwb_stage_iReg_files_reg_0; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_1; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_2; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_3; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_4; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_5; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_6; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_7; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_8; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_9; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_10; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_11; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_12; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_13; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_14; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_15; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_16; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_17; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_18; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_19; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_20; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_21; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_22; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_23; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_24; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_25; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_26; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_27; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_28; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_29; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_30; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_31; // @[Regfiles.scala 114:26]
  reg [63:0] iwb_stage_iReg_files_reg_32; // @[Regfiles.scala 114:26]
  reg [5:0] iwb_stage_iReg_rename_ptr_0; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_1; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_2; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_3; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_4; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_5; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_6; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_7; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_8; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_9; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_10; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_11; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_12; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_13; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_14; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_15; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_16; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_17; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_18; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_19; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_20; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_21; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_22; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_23; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_24; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_25; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_26; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_27; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_28; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_29; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_30; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_rename_ptr_31; // @[Regfiles.scala 125:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_0; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_1; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_2; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_3; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_4; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_5; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_6; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_7; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_8; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_9; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_10; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_11; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_12; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_13; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_14; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_15; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_16; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_17; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_18; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_19; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_20; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_21; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_22; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_23; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_24; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_25; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_26; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_27; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_28; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_29; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_30; // @[Regfiles.scala 130:27]
  reg [5:0] iwb_stage_iReg_archit_ptr_31; // @[Regfiles.scala 130:27]
  wire  iwb_stage_iReg__T_1 = iwb_stage_iReg_log_reg_32 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1089 = iwb_stage_iReg__T_1 ? 6'h20 : 6'h0; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_2 = iwb_stage_iReg_log_reg_31 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1090 = iwb_stage_iReg__T_2 ? 6'h1f : iwb_stage_iReg__GEN_1089; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_3 = iwb_stage_iReg_log_reg_30 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1091 = iwb_stage_iReg__T_3 ? 6'h1e : iwb_stage_iReg__GEN_1090; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_4 = iwb_stage_iReg_log_reg_29 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1092 = iwb_stage_iReg__T_4 ? 6'h1d : iwb_stage_iReg__GEN_1091; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_5 = iwb_stage_iReg_log_reg_28 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1093 = iwb_stage_iReg__T_5 ? 6'h1c : iwb_stage_iReg__GEN_1092; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_6 = iwb_stage_iReg_log_reg_27 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1094 = iwb_stage_iReg__T_6 ? 6'h1b : iwb_stage_iReg__GEN_1093; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_7 = iwb_stage_iReg_log_reg_26 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1095 = iwb_stage_iReg__T_7 ? 6'h1a : iwb_stage_iReg__GEN_1094; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_8 = iwb_stage_iReg_log_reg_25 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1096 = iwb_stage_iReg__T_8 ? 6'h19 : iwb_stage_iReg__GEN_1095; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_9 = iwb_stage_iReg_log_reg_24 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1097 = iwb_stage_iReg__T_9 ? 6'h18 : iwb_stage_iReg__GEN_1096; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_10 = iwb_stage_iReg_log_reg_23 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1098 = iwb_stage_iReg__T_10 ? 6'h17 : iwb_stage_iReg__GEN_1097; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_11 = iwb_stage_iReg_log_reg_22 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1099 = iwb_stage_iReg__T_11 ? 6'h16 : iwb_stage_iReg__GEN_1098; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_12 = iwb_stage_iReg_log_reg_21 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1100 = iwb_stage_iReg__T_12 ? 6'h15 : iwb_stage_iReg__GEN_1099; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_13 = iwb_stage_iReg_log_reg_20 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1101 = iwb_stage_iReg__T_13 ? 6'h14 : iwb_stage_iReg__GEN_1100; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_14 = iwb_stage_iReg_log_reg_19 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1102 = iwb_stage_iReg__T_14 ? 6'h13 : iwb_stage_iReg__GEN_1101; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_15 = iwb_stage_iReg_log_reg_18 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1103 = iwb_stage_iReg__T_15 ? 6'h12 : iwb_stage_iReg__GEN_1102; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_16 = iwb_stage_iReg_log_reg_17 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1104 = iwb_stage_iReg__T_16 ? 6'h11 : iwb_stage_iReg__GEN_1103; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_17 = iwb_stage_iReg_log_reg_16 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1105 = iwb_stage_iReg__T_17 ? 6'h10 : iwb_stage_iReg__GEN_1104; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_18 = iwb_stage_iReg_log_reg_15 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1106 = iwb_stage_iReg__T_18 ? 6'hf : iwb_stage_iReg__GEN_1105; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_19 = iwb_stage_iReg_log_reg_14 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1107 = iwb_stage_iReg__T_19 ? 6'he : iwb_stage_iReg__GEN_1106; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_20 = iwb_stage_iReg_log_reg_13 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1108 = iwb_stage_iReg__T_20 ? 6'hd : iwb_stage_iReg__GEN_1107; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_21 = iwb_stage_iReg_log_reg_12 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1109 = iwb_stage_iReg__T_21 ? 6'hc : iwb_stage_iReg__GEN_1108; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_22 = iwb_stage_iReg_log_reg_11 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1110 = iwb_stage_iReg__T_22 ? 6'hb : iwb_stage_iReg__GEN_1109; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_23 = iwb_stage_iReg_log_reg_10 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1111 = iwb_stage_iReg__T_23 ? 6'ha : iwb_stage_iReg__GEN_1110; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_24 = iwb_stage_iReg_log_reg_9 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1112 = iwb_stage_iReg__T_24 ? 6'h9 : iwb_stage_iReg__GEN_1111; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_25 = iwb_stage_iReg_log_reg_8 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1113 = iwb_stage_iReg__T_25 ? 6'h8 : iwb_stage_iReg__GEN_1112; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_26 = iwb_stage_iReg_log_reg_7 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1114 = iwb_stage_iReg__T_26 ? 6'h7 : iwb_stage_iReg__GEN_1113; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_27 = iwb_stage_iReg_log_reg_6 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1115 = iwb_stage_iReg__T_27 ? 6'h6 : iwb_stage_iReg__GEN_1114; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_28 = iwb_stage_iReg_log_reg_5 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1116 = iwb_stage_iReg__T_28 ? 6'h5 : iwb_stage_iReg__GEN_1115; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_29 = iwb_stage_iReg_log_reg_4 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1117 = iwb_stage_iReg__T_29 ? 6'h4 : iwb_stage_iReg__GEN_1116; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_30 = iwb_stage_iReg_log_reg_3 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1118 = iwb_stage_iReg__T_30 ? 6'h3 : iwb_stage_iReg__GEN_1117; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_31 = iwb_stage_iReg_log_reg_2 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1119 = iwb_stage_iReg__T_31 ? 6'h2 : iwb_stage_iReg__GEN_1118; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_32 = iwb_stage_iReg_log_reg_1 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1120 = iwb_stage_iReg__T_32 ? 6'h1 : iwb_stage_iReg__GEN_1119; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_33 = iwb_stage_iReg_log_reg_0 == 2'h0; // @[Regfiles.scala 150:36]
  wire [5:0] iwb_stage_iReg__GEN_1121 = iwb_stage_iReg__T_33 ? 6'h0 : iwb_stage_iReg__GEN_1120; // @[Regfiles.scala 150:{46,62}]
  wire  iwb_stage_iReg__T_34 = iwb_stage_iReg_io_rename_0_req_ready & iwb_stage_iReg_io_rename_0_req_valid; // @[Decoupled.scala 52:35]
  wire [1:0] iwb_stage_iReg__GEN_1123 = 6'h1 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1124 = 6'h2 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1123; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1125 = 6'h3 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1124; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1126 = 6'h4 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1125; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1127 = 6'h5 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1126; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1128 = 6'h6 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1127; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1129 = 6'h7 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1128; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1130 = 6'h8 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1129; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1131 = 6'h9 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1130; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1132 = 6'ha == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1131; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1133 = 6'hb == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1132; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1134 = 6'hc == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1133; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1135 = 6'hd == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1134; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1136 = 6'he == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1135; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1137 = 6'hf == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1136; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1138 = 6'h10 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_1137; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1139 = 6'h11 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_1138; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1140 = 6'h12 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_1139; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1141 = 6'h13 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_1140; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1142 = 6'h14 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_1141; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1143 = 6'h15 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_1142; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1144 = 6'h16 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_1143; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1145 = 6'h17 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_1144; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1146 = 6'h18 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_1145; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1147 = 6'h19 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_1146; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1148 = 6'h1a == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_1147; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1149 = 6'h1b == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_1148; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1150 = 6'h1c == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_1149; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1151 = 6'h1d == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_1150; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1152 = 6'h1e == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_1151; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1153 = 6'h1f == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_1152; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1154 = 6'h20 == iwb_stage_iReg__GEN_1121 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_1153; // @[Regfiles.scala 160:{34,34}]
  wire [1:0] iwb_stage_iReg__GEN_1155 = 6'h21 == iwb_stage_iReg__GEN_1121 ? 2'h3 : iwb_stage_iReg__GEN_1154; // @[Regfiles.scala 160:{34,34}]
  wire  iwb_stage_iReg__T_35 = iwb_stage_iReg__GEN_1155 == 2'h0; // @[Regfiles.scala 160:34]
  wire  iwb_stage_iReg__T_37 = ~iwb_stage_iReg_reset; // @[Regfiles.scala 160:13]
  wire  iwb_stage_iReg__T_38 = ~iwb_stage_iReg__T_35; // @[Regfiles.scala 160:13]
  wire [1:0] iwb_stage_iReg__GEN_1156 = 6'h0 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1157 = 6'h1 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_1; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1158 = 6'h2 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_2; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1159 = 6'h3 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_3; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1160 = 6'h4 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_4; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1161 = 6'h5 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_5; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1162 = 6'h6 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_6; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1163 = 6'h7 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_7; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1164 = 6'h8 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_8; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1165 = 6'h9 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_9; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1166 = 6'ha == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_10; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1167 = 6'hb == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_11; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1168 = 6'hc == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_12; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1169 = 6'hd == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_13; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1170 = 6'he == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_14; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1171 = 6'hf == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_15; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1172 = 6'h10 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_16; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1173 = 6'h11 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_17; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1174 = 6'h12 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_18; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1175 = 6'h13 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_19; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1176 = 6'h14 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_20; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1177 = 6'h15 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_21; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1178 = 6'h16 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_22; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1179 = 6'h17 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_23; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1180 = 6'h18 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_24; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1181 = 6'h19 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_25; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1182 = 6'h1a == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_26; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1183 = 6'h1b == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_27; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1184 = 6'h1c == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_28; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1185 = 6'h1d == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_29; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1186 = 6'h1e == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_30; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1187 = 6'h1f == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_31; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1188 = 6'h20 == iwb_stage_iReg__GEN_1121 ? 2'h1 : iwb_stage_iReg_log_reg_32; // @[Regfiles.scala 101:12 161:{30,30}]
  wire [1:0] iwb_stage_iReg__GEN_1221 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1156 : iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1222 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1157 : iwb_stage_iReg_log_reg_1; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1223 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1158 : iwb_stage_iReg_log_reg_2; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1224 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1159 : iwb_stage_iReg_log_reg_3; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1225 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1160 : iwb_stage_iReg_log_reg_4; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1226 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1161 : iwb_stage_iReg_log_reg_5; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1227 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1162 : iwb_stage_iReg_log_reg_6; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1228 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1163 : iwb_stage_iReg_log_reg_7; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1229 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1164 : iwb_stage_iReg_log_reg_8; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1230 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1165 : iwb_stage_iReg_log_reg_9; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1231 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1166 : iwb_stage_iReg_log_reg_10; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1232 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1167 : iwb_stage_iReg_log_reg_11; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1233 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1168 : iwb_stage_iReg_log_reg_12; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1234 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1169 : iwb_stage_iReg_log_reg_13; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1235 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1170 : iwb_stage_iReg_log_reg_14; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1236 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1171 : iwb_stage_iReg_log_reg_15; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1237 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1172 : iwb_stage_iReg_log_reg_16; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1238 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1173 : iwb_stage_iReg_log_reg_17; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1239 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1174 : iwb_stage_iReg_log_reg_18; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1240 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1175 : iwb_stage_iReg_log_reg_19; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1241 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1176 : iwb_stage_iReg_log_reg_20; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1242 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1177 : iwb_stage_iReg_log_reg_21; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1243 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1178 : iwb_stage_iReg_log_reg_22; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1244 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1179 : iwb_stage_iReg_log_reg_23; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1245 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1180 : iwb_stage_iReg_log_reg_24; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1246 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1181 : iwb_stage_iReg_log_reg_25; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1247 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1182 : iwb_stage_iReg_log_reg_26; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1248 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1183 : iwb_stage_iReg_log_reg_27; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1249 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1184 : iwb_stage_iReg_log_reg_28; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1250 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1185 : iwb_stage_iReg_log_reg_29; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1251 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1186 : iwb_stage_iReg_log_reg_30; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1252 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1187 : iwb_stage_iReg_log_reg_31; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__GEN_1253 = iwb_stage_iReg__T_34 ? iwb_stage_iReg__GEN_1188 : iwb_stage_iReg_log_reg_32; // @[Regfiles.scala 101:12 158:35]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_34 = iwb_stage_iReg__T_33 + iwb_stage_iReg__T_32; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_36 = iwb_stage_iReg__T_31 + iwb_stage_iReg__T_30; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_38 = iwb_stage_iReg__io_rename_0_req_ready_T_34 +
    iwb_stage_iReg__io_rename_0_req_ready_T_36; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_40 = iwb_stage_iReg__T_29 + iwb_stage_iReg__T_28; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_42 = iwb_stage_iReg__T_27 + iwb_stage_iReg__T_26; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_44 = iwb_stage_iReg__io_rename_0_req_ready_T_40 +
    iwb_stage_iReg__io_rename_0_req_ready_T_42; // @[Regfiles.scala 165:40]
  wire [3:0] iwb_stage_iReg__io_rename_0_req_ready_T_46 = iwb_stage_iReg__io_rename_0_req_ready_T_38 +
    iwb_stage_iReg__io_rename_0_req_ready_T_44; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_48 = iwb_stage_iReg__T_25 + iwb_stage_iReg__T_24; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_50 = iwb_stage_iReg__T_23 + iwb_stage_iReg__T_22; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_52 = iwb_stage_iReg__io_rename_0_req_ready_T_48 +
    iwb_stage_iReg__io_rename_0_req_ready_T_50; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_54 = iwb_stage_iReg__T_21 + iwb_stage_iReg__T_20; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_56 = iwb_stage_iReg__T_18 + iwb_stage_iReg__T_17; // @[Regfiles.scala 165:40]
  wire [1:0] _GEN_628 = {{1'd0}, iwb_stage_iReg__T_19}; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_58 = _GEN_628 + iwb_stage_iReg__io_rename_0_req_ready_T_56; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_59 = iwb_stage_iReg__io_rename_0_req_ready_T_58[1:0]; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_60 = iwb_stage_iReg__io_rename_0_req_ready_T_54 +
    iwb_stage_iReg__io_rename_0_req_ready_T_59; // @[Regfiles.scala 165:40]
  wire [3:0] iwb_stage_iReg__io_rename_0_req_ready_T_62 = iwb_stage_iReg__io_rename_0_req_ready_T_52 +
    iwb_stage_iReg__io_rename_0_req_ready_T_60; // @[Regfiles.scala 165:40]
  wire [4:0] iwb_stage_iReg__io_rename_0_req_ready_T_64 = iwb_stage_iReg__io_rename_0_req_ready_T_46 +
    iwb_stage_iReg__io_rename_0_req_ready_T_62; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_66 = iwb_stage_iReg__T_16 + iwb_stage_iReg__T_15; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_68 = iwb_stage_iReg__T_14 + iwb_stage_iReg__T_13; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_70 = iwb_stage_iReg__io_rename_0_req_ready_T_66 +
    iwb_stage_iReg__io_rename_0_req_ready_T_68; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_72 = iwb_stage_iReg__T_12 + iwb_stage_iReg__T_11; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_74 = iwb_stage_iReg__T_10 + iwb_stage_iReg__T_9; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_76 = iwb_stage_iReg__io_rename_0_req_ready_T_72 +
    iwb_stage_iReg__io_rename_0_req_ready_T_74; // @[Regfiles.scala 165:40]
  wire [3:0] iwb_stage_iReg__io_rename_0_req_ready_T_78 = iwb_stage_iReg__io_rename_0_req_ready_T_70 +
    iwb_stage_iReg__io_rename_0_req_ready_T_76; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_80 = iwb_stage_iReg__T_8 + iwb_stage_iReg__T_7; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_82 = iwb_stage_iReg__T_6 + iwb_stage_iReg__T_5; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_84 = iwb_stage_iReg__io_rename_0_req_ready_T_80 +
    iwb_stage_iReg__io_rename_0_req_ready_T_82; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_86 = iwb_stage_iReg__T_4 + iwb_stage_iReg__T_3; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_88 = {{1'd0}, iwb_stage_iReg__T_1}; // @[Regfiles.scala 165:40]
  wire [1:0] _GEN_629 = {{1'd0}, iwb_stage_iReg__T_2}; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_90 = _GEN_629 + iwb_stage_iReg__io_rename_0_req_ready_T_88; // @[Regfiles.scala 165:40]
  wire [1:0] iwb_stage_iReg__io_rename_0_req_ready_T_91 = iwb_stage_iReg__io_rename_0_req_ready_T_90[1:0]; // @[Regfiles.scala 165:40]
  wire [2:0] iwb_stage_iReg__io_rename_0_req_ready_T_92 = iwb_stage_iReg__io_rename_0_req_ready_T_86 +
    iwb_stage_iReg__io_rename_0_req_ready_T_91; // @[Regfiles.scala 165:40]
  wire [3:0] iwb_stage_iReg__io_rename_0_req_ready_T_94 = iwb_stage_iReg__io_rename_0_req_ready_T_84 +
    iwb_stage_iReg__io_rename_0_req_ready_T_92; // @[Regfiles.scala 165:40]
  wire [4:0] iwb_stage_iReg__io_rename_0_req_ready_T_96 = iwb_stage_iReg__io_rename_0_req_ready_T_78 +
    iwb_stage_iReg__io_rename_0_req_ready_T_94; // @[Regfiles.scala 165:40]
  wire [5:0] iwb_stage_iReg__io_rename_0_req_ready_T_98 = iwb_stage_iReg__io_rename_0_req_ready_T_64 +
    iwb_stage_iReg__io_rename_0_req_ready_T_96; // @[Regfiles.scala 165:40]
  wire  iwb_stage_iReg__T_39 = iwb_stage_iReg_io_commit_0_is_MisPredict | iwb_stage_iReg_io_commit_0_is_abort; // @[Regfiles.scala 172:39]
  wire  iwb_stage_iReg__T_40 = 5'h0 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_41 = iwb_stage_iReg__T_40 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_42 = 5'h1 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_43 = iwb_stage_iReg__T_42 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_44 = 5'h2 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_45 = iwb_stage_iReg__T_44 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_46 = 5'h3 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_47 = iwb_stage_iReg__T_46 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_48 = 5'h4 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_49 = iwb_stage_iReg__T_48 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_50 = 5'h5 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_51 = iwb_stage_iReg__T_50 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_52 = 5'h6 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_53 = iwb_stage_iReg__T_52 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_54 = 5'h7 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_55 = iwb_stage_iReg__T_54 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_56 = 5'h8 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_57 = iwb_stage_iReg__T_56 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_58 = 5'h9 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_59 = iwb_stage_iReg__T_58 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_60 = 5'ha == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_61 = iwb_stage_iReg__T_60 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_62 = 5'hb == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_63 = iwb_stage_iReg__T_62 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_64 = 5'hc == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_65 = iwb_stage_iReg__T_64 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_66 = 5'hd == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_67 = iwb_stage_iReg__T_66 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_68 = 5'he == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_69 = iwb_stage_iReg__T_68 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_70 = 5'hf == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_71 = iwb_stage_iReg__T_70 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_72 = 5'h10 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_73 = iwb_stage_iReg__T_72 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_74 = 5'h11 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_75 = iwb_stage_iReg__T_74 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_76 = 5'h12 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_77 = iwb_stage_iReg__T_76 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_78 = 5'h13 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_79 = iwb_stage_iReg__T_78 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_80 = 5'h14 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_81 = iwb_stage_iReg__T_80 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_82 = 5'h15 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_83 = iwb_stage_iReg__T_82 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_84 = 5'h16 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_85 = iwb_stage_iReg__T_84 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_86 = 5'h17 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_87 = iwb_stage_iReg__T_86 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_88 = 5'h18 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_89 = iwb_stage_iReg__T_88 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_90 = 5'h19 == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_91 = iwb_stage_iReg__T_90 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_92 = 5'h1a == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_93 = iwb_stage_iReg__T_92 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_94 = 5'h1b == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_95 = iwb_stage_iReg__T_94 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_96 = 5'h1c == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_97 = iwb_stage_iReg__T_96 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_98 = 5'h1d == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_99 = iwb_stage_iReg__T_98 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_100 = 5'h1e == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_101 = iwb_stage_iReg__T_100 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  wire  iwb_stage_iReg__T_102 = 5'h1f == iwb_stage_iReg_io_commit_0_raw; // @[Regfiles.scala 180:19]
  wire  iwb_stage_iReg__T_103 = iwb_stage_iReg__T_102 & iwb_stage_iReg_io_commit_0_is_MisPredict; // @[Regfiles.scala 180:30]
  reg  iwb_stage_iReg_io_rgRsp_0_valid_REG; // @[Regfiles.scala 191:36]
  reg [5:0] iwb_stage_iReg_io_rgRsp_0_bits_phy_r; // @[Reg.scala 19:16]
  reg [63:0] iwb_stage_iReg_io_rgRsp_0_bits_op_r; // @[Reg.scala 19:16]
  wire [63:0] iwb_stage_iReg__GEN_1352 = 6'h1 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_1 :
    iwb_stage_iReg_files_reg_0; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1353 = 6'h2 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_2 :
    iwb_stage_iReg__GEN_1352; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1354 = 6'h3 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_3 :
    iwb_stage_iReg__GEN_1353; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1355 = 6'h4 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_4 :
    iwb_stage_iReg__GEN_1354; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1356 = 6'h5 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_5 :
    iwb_stage_iReg__GEN_1355; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1357 = 6'h6 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_6 :
    iwb_stage_iReg__GEN_1356; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1358 = 6'h7 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_7 :
    iwb_stage_iReg__GEN_1357; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1359 = 6'h8 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_8 :
    iwb_stage_iReg__GEN_1358; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1360 = 6'h9 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_9 :
    iwb_stage_iReg__GEN_1359; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1361 = 6'ha == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_10 :
    iwb_stage_iReg__GEN_1360; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1362 = 6'hb == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_11 :
    iwb_stage_iReg__GEN_1361; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1363 = 6'hc == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_12 :
    iwb_stage_iReg__GEN_1362; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1364 = 6'hd == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_13 :
    iwb_stage_iReg__GEN_1363; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1365 = 6'he == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_14 :
    iwb_stage_iReg__GEN_1364; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1366 = 6'hf == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_15 :
    iwb_stage_iReg__GEN_1365; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1367 = 6'h10 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_16 :
    iwb_stage_iReg__GEN_1366; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1368 = 6'h11 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_17 :
    iwb_stage_iReg__GEN_1367; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1369 = 6'h12 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_18 :
    iwb_stage_iReg__GEN_1368; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1370 = 6'h13 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_19 :
    iwb_stage_iReg__GEN_1369; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1371 = 6'h14 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_20 :
    iwb_stage_iReg__GEN_1370; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1372 = 6'h15 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_21 :
    iwb_stage_iReg__GEN_1371; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1373 = 6'h16 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_22 :
    iwb_stage_iReg__GEN_1372; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1374 = 6'h17 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_23 :
    iwb_stage_iReg__GEN_1373; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1375 = 6'h18 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_24 :
    iwb_stage_iReg__GEN_1374; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1376 = 6'h19 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_25 :
    iwb_stage_iReg__GEN_1375; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1377 = 6'h1a == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_26 :
    iwb_stage_iReg__GEN_1376; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1378 = 6'h1b == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_27 :
    iwb_stage_iReg__GEN_1377; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1379 = 6'h1c == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_28 :
    iwb_stage_iReg__GEN_1378; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1380 = 6'h1d == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_29 :
    iwb_stage_iReg__GEN_1379; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1381 = 6'h1e == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_files_reg_30 :
    iwb_stage_iReg__GEN_1380; // @[Reg.scala 20:{22,22}]
  wire [1:0] iwb_stage_iReg__GEN_1387 = 6'h1 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1388 = 6'h2 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1387; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1389 = 6'h3 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1388; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1390 = 6'h4 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1389; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1391 = 6'h5 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1390; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1392 = 6'h6 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1391; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1393 = 6'h7 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1392; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1394 = 6'h8 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1393; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1395 = 6'h9 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1394; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1396 = 6'ha == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1395; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1397 = 6'hb == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1396; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1398 = 6'hc == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1397; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1399 = 6'hd == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1398; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1400 = 6'he == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1399; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1401 = 6'hf == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1400; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1402 = 6'h10 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_1401; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1403 = 6'h11 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_1402; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1404 = 6'h12 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_1403; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1405 = 6'h13 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_1404; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1406 = 6'h14 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_1405; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1407 = 6'h15 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_1406; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1408 = 6'h16 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_1407; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1409 = 6'h17 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_1408; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1410 = 6'h18 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_1409; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1411 = 6'h19 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_1410; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1412 = 6'h1a == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_1411; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1413 = 6'h1b == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_1412; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1414 = 6'h1c == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_1413; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1415 = 6'h1d == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_1414; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1416 = 6'h1e == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_1415; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1417 = 6'h1f == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_1416; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1418 = 6'h20 == iwb_stage_iReg_io_rgReq_0_bits ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_1417; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1419 = 6'h21 == iwb_stage_iReg_io_rgReq_0_bits ? 2'h3 : iwb_stage_iReg__GEN_1418; // @[Regfiles.scala 194:{64,64}]
  wire  iwb_stage_iReg__T_104 = iwb_stage_iReg__GEN_1419 == 2'h3; // @[Regfiles.scala 194:64]
  wire  iwb_stage_iReg__T_107 = ~iwb_stage_iReg__T_104; // @[Regfiles.scala 194:40]
  reg  iwb_stage_iReg_io_rgRsp_1_valid_REG; // @[Regfiles.scala 191:36]
  reg [5:0] iwb_stage_iReg_io_rgRsp_1_bits_phy_r; // @[Reg.scala 19:16]
  reg [63:0] iwb_stage_iReg_io_rgRsp_1_bits_op_r; // @[Reg.scala 19:16]
  wire [63:0] iwb_stage_iReg__GEN_1422 = 6'h1 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_1 :
    iwb_stage_iReg_files_reg_0; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1423 = 6'h2 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_2 :
    iwb_stage_iReg__GEN_1422; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1424 = 6'h3 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_3 :
    iwb_stage_iReg__GEN_1423; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1425 = 6'h4 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_4 :
    iwb_stage_iReg__GEN_1424; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1426 = 6'h5 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_5 :
    iwb_stage_iReg__GEN_1425; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1427 = 6'h6 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_6 :
    iwb_stage_iReg__GEN_1426; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1428 = 6'h7 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_7 :
    iwb_stage_iReg__GEN_1427; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1429 = 6'h8 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_8 :
    iwb_stage_iReg__GEN_1428; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1430 = 6'h9 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_9 :
    iwb_stage_iReg__GEN_1429; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1431 = 6'ha == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_10 :
    iwb_stage_iReg__GEN_1430; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1432 = 6'hb == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_11 :
    iwb_stage_iReg__GEN_1431; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1433 = 6'hc == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_12 :
    iwb_stage_iReg__GEN_1432; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1434 = 6'hd == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_13 :
    iwb_stage_iReg__GEN_1433; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1435 = 6'he == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_14 :
    iwb_stage_iReg__GEN_1434; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1436 = 6'hf == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_15 :
    iwb_stage_iReg__GEN_1435; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1437 = 6'h10 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_16 :
    iwb_stage_iReg__GEN_1436; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1438 = 6'h11 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_17 :
    iwb_stage_iReg__GEN_1437; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1439 = 6'h12 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_18 :
    iwb_stage_iReg__GEN_1438; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1440 = 6'h13 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_19 :
    iwb_stage_iReg__GEN_1439; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1441 = 6'h14 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_20 :
    iwb_stage_iReg__GEN_1440; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1442 = 6'h15 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_21 :
    iwb_stage_iReg__GEN_1441; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1443 = 6'h16 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_22 :
    iwb_stage_iReg__GEN_1442; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1444 = 6'h17 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_23 :
    iwb_stage_iReg__GEN_1443; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1445 = 6'h18 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_24 :
    iwb_stage_iReg__GEN_1444; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1446 = 6'h19 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_25 :
    iwb_stage_iReg__GEN_1445; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1447 = 6'h1a == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_26 :
    iwb_stage_iReg__GEN_1446; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1448 = 6'h1b == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_27 :
    iwb_stage_iReg__GEN_1447; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1449 = 6'h1c == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_28 :
    iwb_stage_iReg__GEN_1448; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1450 = 6'h1d == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_29 :
    iwb_stage_iReg__GEN_1449; // @[Reg.scala 20:{22,22}]
  wire [63:0] iwb_stage_iReg__GEN_1451 = 6'h1e == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_files_reg_30 :
    iwb_stage_iReg__GEN_1450; // @[Reg.scala 20:{22,22}]
  wire [1:0] iwb_stage_iReg__GEN_1457 = 6'h1 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1458 = 6'h2 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1457; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1459 = 6'h3 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1458; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1460 = 6'h4 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1459; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1461 = 6'h5 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1460; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1462 = 6'h6 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1461; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1463 = 6'h7 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1462; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1464 = 6'h8 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1463; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1465 = 6'h9 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1464; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1466 = 6'ha == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1465; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1467 = 6'hb == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1466; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1468 = 6'hc == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1467; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1469 = 6'hd == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1468; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1470 = 6'he == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1469; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1471 = 6'hf == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1470; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1472 = 6'h10 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_1471; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1473 = 6'h11 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_1472; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1474 = 6'h12 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_1473; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1475 = 6'h13 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_1474; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1476 = 6'h14 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_1475; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1477 = 6'h15 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_1476; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1478 = 6'h16 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_1477; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1479 = 6'h17 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_1478; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1480 = 6'h18 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_1479; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1481 = 6'h19 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_1480; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1482 = 6'h1a == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_1481; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1483 = 6'h1b == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_1482; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1484 = 6'h1c == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_1483; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1485 = 6'h1d == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_1484; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1486 = 6'h1e == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_1485; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1487 = 6'h1f == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_1486; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1488 = 6'h20 == iwb_stage_iReg_io_rgReq_1_bits ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_1487; // @[Regfiles.scala 194:{64,64}]
  wire [1:0] iwb_stage_iReg__GEN_1489 = 6'h21 == iwb_stage_iReg_io_rgReq_1_bits ? 2'h3 : iwb_stage_iReg__GEN_1488; // @[Regfiles.scala 194:{64,64}]
  wire  iwb_stage_iReg__T_108 = iwb_stage_iReg__GEN_1489 == 2'h3; // @[Regfiles.scala 194:64]
  wire  iwb_stage_iReg__T_111 = ~iwb_stage_iReg__T_108; // @[Regfiles.scala 194:40]
  wire  iwb_stage_iReg__T_112 = iwb_stage_iReg_io_exe_writeBack_0_ready & iwb_stage_iReg_io_exe_writeBack_0_valid; // @[Decoupled.scala 52:35]
  wire [1:0] iwb_stage_iReg__GEN_1491 = 6'h1 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1492 = 6'h2 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1491; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1493 = 6'h3 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1492; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1494 = 6'h4 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1493; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1495 = 6'h5 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1494; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1496 = 6'h6 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1495; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1497 = 6'h7 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1496; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1498 = 6'h8 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1497; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1499 = 6'h9 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1498; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1500 = 6'ha == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_10
     : iwb_stage_iReg__GEN_1499; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1501 = 6'hb == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_11
     : iwb_stage_iReg__GEN_1500; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1502 = 6'hc == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_12
     : iwb_stage_iReg__GEN_1501; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1503 = 6'hd == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_13
     : iwb_stage_iReg__GEN_1502; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1504 = 6'he == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_14
     : iwb_stage_iReg__GEN_1503; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1505 = 6'hf == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_15
     : iwb_stage_iReg__GEN_1504; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1506 = 6'h10 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_16
     : iwb_stage_iReg__GEN_1505; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1507 = 6'h11 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_17
     : iwb_stage_iReg__GEN_1506; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1508 = 6'h12 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_18
     : iwb_stage_iReg__GEN_1507; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1509 = 6'h13 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_19
     : iwb_stage_iReg__GEN_1508; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1510 = 6'h14 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_20
     : iwb_stage_iReg__GEN_1509; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1511 = 6'h15 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_21
     : iwb_stage_iReg__GEN_1510; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1512 = 6'h16 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_22
     : iwb_stage_iReg__GEN_1511; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1513 = 6'h17 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_23
     : iwb_stage_iReg__GEN_1512; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1514 = 6'h18 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_24
     : iwb_stage_iReg__GEN_1513; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1515 = 6'h19 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_25
     : iwb_stage_iReg__GEN_1514; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1516 = 6'h1a == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_26
     : iwb_stage_iReg__GEN_1515; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1517 = 6'h1b == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_27
     : iwb_stage_iReg__GEN_1516; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1518 = 6'h1c == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_28
     : iwb_stage_iReg__GEN_1517; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1519 = 6'h1d == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_29
     : iwb_stage_iReg__GEN_1518; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1520 = 6'h1e == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_30
     : iwb_stage_iReg__GEN_1519; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1521 = 6'h1f == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_31
     : iwb_stage_iReg__GEN_1520; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1522 = 6'h20 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? iwb_stage_iReg_log_reg_32
     : iwb_stage_iReg__GEN_1521; // @[Regfiles.scala 203:{24,24}]
  wire [1:0] iwb_stage_iReg__GEN_1523 = 6'h21 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1522; // @[Regfiles.scala 203:{24,24}]
  wire  iwb_stage_iReg__T_113 = iwb_stage_iReg__GEN_1523 == 2'h1; // @[Regfiles.scala 203:24]
  wire  iwb_stage_iReg__T_116 = ~iwb_stage_iReg__T_113; // @[Regfiles.scala 203:13]
  wire [1:0] iwb_stage_iReg__GEN_1524 = 6'h0 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1221; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1525 = 6'h1 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1222; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1526 = 6'h2 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1223; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1527 = 6'h3 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1224; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1528 = 6'h4 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1225; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1529 = 6'h5 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1226; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1530 = 6'h6 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1227; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1531 = 6'h7 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1228; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1532 = 6'h8 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1229; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1533 = 6'h9 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1230; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1534 = 6'ha == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1231; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1535 = 6'hb == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1232; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1536 = 6'hc == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1233; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1537 = 6'hd == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1234; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1538 = 6'he == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1235; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1539 = 6'hf == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1236; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1540 = 6'h10 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1237; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1541 = 6'h11 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1238; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1542 = 6'h12 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1239; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1543 = 6'h13 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1240; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1544 = 6'h14 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1241; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1545 = 6'h15 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1242; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1546 = 6'h16 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1243; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1547 = 6'h17 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1244; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1548 = 6'h18 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1245; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1549 = 6'h19 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1246; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1550 = 6'h1a == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1247; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1551 = 6'h1b == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1248; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1552 = 6'h1c == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1249; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1553 = 6'h1d == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1250; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1554 = 6'h1e == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1251; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1555 = 6'h1f == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1252; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1556 = 6'h20 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 ? 2'h3 :
    iwb_stage_iReg__GEN_1253; // @[Regfiles.scala 204:{20,20}]
  wire [1:0] iwb_stage_iReg__GEN_1590 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1524 : iwb_stage_iReg__GEN_1221; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1591 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1525 : iwb_stage_iReg__GEN_1222; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1592 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1526 : iwb_stage_iReg__GEN_1223; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1593 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1527 : iwb_stage_iReg__GEN_1224; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1594 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1528 : iwb_stage_iReg__GEN_1225; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1595 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1529 : iwb_stage_iReg__GEN_1226; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1596 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1530 : iwb_stage_iReg__GEN_1227; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1597 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1531 : iwb_stage_iReg__GEN_1228; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1598 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1532 : iwb_stage_iReg__GEN_1229; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1599 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1533 : iwb_stage_iReg__GEN_1230; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1600 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1534 : iwb_stage_iReg__GEN_1231; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1601 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1535 : iwb_stage_iReg__GEN_1232; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1602 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1536 : iwb_stage_iReg__GEN_1233; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1603 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1537 : iwb_stage_iReg__GEN_1234; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1604 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1538 : iwb_stage_iReg__GEN_1235; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1605 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1539 : iwb_stage_iReg__GEN_1236; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1606 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1540 : iwb_stage_iReg__GEN_1237; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1607 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1541 : iwb_stage_iReg__GEN_1238; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1608 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1542 : iwb_stage_iReg__GEN_1239; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1609 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1543 : iwb_stage_iReg__GEN_1240; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1610 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1544 : iwb_stage_iReg__GEN_1241; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1611 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1545 : iwb_stage_iReg__GEN_1242; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1612 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1546 : iwb_stage_iReg__GEN_1243; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1613 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1547 : iwb_stage_iReg__GEN_1244; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1614 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1548 : iwb_stage_iReg__GEN_1245; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1615 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1549 : iwb_stage_iReg__GEN_1246; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1616 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1550 : iwb_stage_iReg__GEN_1247; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1617 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1551 : iwb_stage_iReg__GEN_1248; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1618 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1552 : iwb_stage_iReg__GEN_1249; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1619 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1553 : iwb_stage_iReg__GEN_1250; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1620 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1554 : iwb_stage_iReg__GEN_1251; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1621 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1555 : iwb_stage_iReg__GEN_1252; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1622 = iwb_stage_iReg__T_112 ? iwb_stage_iReg__GEN_1556 : iwb_stage_iReg__GEN_1253; // @[Regfiles.scala 201:38]
  wire [1:0] iwb_stage_iReg__GEN_1657 = 6'h1 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1658 = 6'h2 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1657; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1659 = 6'h3 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1658; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1660 = 6'h4 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1659; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1661 = 6'h5 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1660; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1662 = 6'h6 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1661; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1663 = 6'h7 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1662; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1664 = 6'h8 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1663; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1665 = 6'h9 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1664; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1666 = 6'ha == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1665; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1667 = 6'hb == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1666; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1668 = 6'hc == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1667; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1669 = 6'hd == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1668; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1670 = 6'he == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1669; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1671 = 6'hf == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1670; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1672 = 6'h10 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_1671; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1673 = 6'h11 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_1672; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1674 = 6'h12 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_1673; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1675 = 6'h13 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_1674; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1676 = 6'h14 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_1675; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1677 = 6'h15 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_1676; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1678 = 6'h16 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_1677; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1679 = 6'h17 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_1678; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1680 = 6'h18 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_1679; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1681 = 6'h19 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_1680; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1682 = 6'h1a == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_1681; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1683 = 6'h1b == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_1682; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1684 = 6'h1c == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_1683; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1685 = 6'h1d == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_1684; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1686 = 6'h1e == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_1685; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1687 = 6'h1f == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_1686; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1688 = 6'h20 == iwb_stage_iReg_io_commit_0_phy ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_1687; // @[Regfiles.scala 219:{46,46}]
  wire [1:0] iwb_stage_iReg__GEN_1689 = 6'h21 == iwb_stage_iReg_io_commit_0_phy ? 2'h3 : iwb_stage_iReg__GEN_1688; // @[Regfiles.scala 219:{46,46}]
  wire  iwb_stage_iReg__log_reg_0_T = iwb_stage_iReg_archit_ptr_0 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h0; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_0_T_33 = iwb_stage_iReg__log_reg_0_T | iwb_stage_iReg__log_reg_0_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_34 = iwb_stage_iReg__log_reg_0_T_33 | iwb_stage_iReg__log_reg_0_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_35 = iwb_stage_iReg__log_reg_0_T_34 | iwb_stage_iReg__log_reg_0_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_36 = iwb_stage_iReg__log_reg_0_T_35 | iwb_stage_iReg__log_reg_0_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_37 = iwb_stage_iReg__log_reg_0_T_36 | iwb_stage_iReg__log_reg_0_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_38 = iwb_stage_iReg__log_reg_0_T_37 | iwb_stage_iReg__log_reg_0_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_39 = iwb_stage_iReg__log_reg_0_T_38 | iwb_stage_iReg__log_reg_0_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_40 = iwb_stage_iReg__log_reg_0_T_39 | iwb_stage_iReg__log_reg_0_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_41 = iwb_stage_iReg__log_reg_0_T_40 | iwb_stage_iReg__log_reg_0_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_42 = iwb_stage_iReg__log_reg_0_T_41 | iwb_stage_iReg__log_reg_0_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_43 = iwb_stage_iReg__log_reg_0_T_42 | iwb_stage_iReg__log_reg_0_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_44 = iwb_stage_iReg__log_reg_0_T_43 | iwb_stage_iReg__log_reg_0_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_45 = iwb_stage_iReg__log_reg_0_T_44 | iwb_stage_iReg__log_reg_0_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_46 = iwb_stage_iReg__log_reg_0_T_45 | iwb_stage_iReg__log_reg_0_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_47 = iwb_stage_iReg__log_reg_0_T_46 | iwb_stage_iReg__log_reg_0_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_48 = iwb_stage_iReg__log_reg_0_T_47 | iwb_stage_iReg__log_reg_0_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_49 = iwb_stage_iReg__log_reg_0_T_48 | iwb_stage_iReg__log_reg_0_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_50 = iwb_stage_iReg__log_reg_0_T_49 | iwb_stage_iReg__log_reg_0_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_51 = iwb_stage_iReg__log_reg_0_T_50 | iwb_stage_iReg__log_reg_0_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_52 = iwb_stage_iReg__log_reg_0_T_51 | iwb_stage_iReg__log_reg_0_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_53 = iwb_stage_iReg__log_reg_0_T_52 | iwb_stage_iReg__log_reg_0_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_54 = iwb_stage_iReg__log_reg_0_T_53 | iwb_stage_iReg__log_reg_0_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_55 = iwb_stage_iReg__log_reg_0_T_54 | iwb_stage_iReg__log_reg_0_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_56 = iwb_stage_iReg__log_reg_0_T_55 | iwb_stage_iReg__log_reg_0_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_57 = iwb_stage_iReg__log_reg_0_T_56 | iwb_stage_iReg__log_reg_0_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_58 = iwb_stage_iReg__log_reg_0_T_57 | iwb_stage_iReg__log_reg_0_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_59 = iwb_stage_iReg__log_reg_0_T_58 | iwb_stage_iReg__log_reg_0_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_60 = iwb_stage_iReg__log_reg_0_T_59 | iwb_stage_iReg__log_reg_0_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_61 = iwb_stage_iReg__log_reg_0_T_60 | iwb_stage_iReg__log_reg_0_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_62 = iwb_stage_iReg__log_reg_0_T_61 | iwb_stage_iReg__log_reg_0_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_0_T_63 = iwb_stage_iReg__log_reg_0_T_62 | iwb_stage_iReg__log_reg_0_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_0_T_64 = iwb_stage_iReg__log_reg_0_T_63 ? iwb_stage_iReg_log_reg_0 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_1_T = iwb_stage_iReg_archit_ptr_0 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_1_T_33 = iwb_stage_iReg__log_reg_1_T | iwb_stage_iReg__log_reg_1_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_34 = iwb_stage_iReg__log_reg_1_T_33 | iwb_stage_iReg__log_reg_1_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_35 = iwb_stage_iReg__log_reg_1_T_34 | iwb_stage_iReg__log_reg_1_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_36 = iwb_stage_iReg__log_reg_1_T_35 | iwb_stage_iReg__log_reg_1_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_37 = iwb_stage_iReg__log_reg_1_T_36 | iwb_stage_iReg__log_reg_1_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_38 = iwb_stage_iReg__log_reg_1_T_37 | iwb_stage_iReg__log_reg_1_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_39 = iwb_stage_iReg__log_reg_1_T_38 | iwb_stage_iReg__log_reg_1_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_40 = iwb_stage_iReg__log_reg_1_T_39 | iwb_stage_iReg__log_reg_1_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_41 = iwb_stage_iReg__log_reg_1_T_40 | iwb_stage_iReg__log_reg_1_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_42 = iwb_stage_iReg__log_reg_1_T_41 | iwb_stage_iReg__log_reg_1_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_43 = iwb_stage_iReg__log_reg_1_T_42 | iwb_stage_iReg__log_reg_1_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_44 = iwb_stage_iReg__log_reg_1_T_43 | iwb_stage_iReg__log_reg_1_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_45 = iwb_stage_iReg__log_reg_1_T_44 | iwb_stage_iReg__log_reg_1_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_46 = iwb_stage_iReg__log_reg_1_T_45 | iwb_stage_iReg__log_reg_1_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_47 = iwb_stage_iReg__log_reg_1_T_46 | iwb_stage_iReg__log_reg_1_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_48 = iwb_stage_iReg__log_reg_1_T_47 | iwb_stage_iReg__log_reg_1_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_49 = iwb_stage_iReg__log_reg_1_T_48 | iwb_stage_iReg__log_reg_1_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_50 = iwb_stage_iReg__log_reg_1_T_49 | iwb_stage_iReg__log_reg_1_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_51 = iwb_stage_iReg__log_reg_1_T_50 | iwb_stage_iReg__log_reg_1_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_52 = iwb_stage_iReg__log_reg_1_T_51 | iwb_stage_iReg__log_reg_1_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_53 = iwb_stage_iReg__log_reg_1_T_52 | iwb_stage_iReg__log_reg_1_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_54 = iwb_stage_iReg__log_reg_1_T_53 | iwb_stage_iReg__log_reg_1_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_55 = iwb_stage_iReg__log_reg_1_T_54 | iwb_stage_iReg__log_reg_1_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_56 = iwb_stage_iReg__log_reg_1_T_55 | iwb_stage_iReg__log_reg_1_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_57 = iwb_stage_iReg__log_reg_1_T_56 | iwb_stage_iReg__log_reg_1_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_58 = iwb_stage_iReg__log_reg_1_T_57 | iwb_stage_iReg__log_reg_1_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_59 = iwb_stage_iReg__log_reg_1_T_58 | iwb_stage_iReg__log_reg_1_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_60 = iwb_stage_iReg__log_reg_1_T_59 | iwb_stage_iReg__log_reg_1_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_61 = iwb_stage_iReg__log_reg_1_T_60 | iwb_stage_iReg__log_reg_1_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_62 = iwb_stage_iReg__log_reg_1_T_61 | iwb_stage_iReg__log_reg_1_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_1_T_63 = iwb_stage_iReg__log_reg_1_T_62 | iwb_stage_iReg__log_reg_1_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_1_T_64 = iwb_stage_iReg__log_reg_1_T_63 ? iwb_stage_iReg_log_reg_1 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_2_T = iwb_stage_iReg_archit_ptr_0 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h2; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_2_T_33 = iwb_stage_iReg__log_reg_2_T | iwb_stage_iReg__log_reg_2_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_34 = iwb_stage_iReg__log_reg_2_T_33 | iwb_stage_iReg__log_reg_2_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_35 = iwb_stage_iReg__log_reg_2_T_34 | iwb_stage_iReg__log_reg_2_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_36 = iwb_stage_iReg__log_reg_2_T_35 | iwb_stage_iReg__log_reg_2_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_37 = iwb_stage_iReg__log_reg_2_T_36 | iwb_stage_iReg__log_reg_2_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_38 = iwb_stage_iReg__log_reg_2_T_37 | iwb_stage_iReg__log_reg_2_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_39 = iwb_stage_iReg__log_reg_2_T_38 | iwb_stage_iReg__log_reg_2_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_40 = iwb_stage_iReg__log_reg_2_T_39 | iwb_stage_iReg__log_reg_2_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_41 = iwb_stage_iReg__log_reg_2_T_40 | iwb_stage_iReg__log_reg_2_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_42 = iwb_stage_iReg__log_reg_2_T_41 | iwb_stage_iReg__log_reg_2_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_43 = iwb_stage_iReg__log_reg_2_T_42 | iwb_stage_iReg__log_reg_2_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_44 = iwb_stage_iReg__log_reg_2_T_43 | iwb_stage_iReg__log_reg_2_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_45 = iwb_stage_iReg__log_reg_2_T_44 | iwb_stage_iReg__log_reg_2_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_46 = iwb_stage_iReg__log_reg_2_T_45 | iwb_stage_iReg__log_reg_2_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_47 = iwb_stage_iReg__log_reg_2_T_46 | iwb_stage_iReg__log_reg_2_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_48 = iwb_stage_iReg__log_reg_2_T_47 | iwb_stage_iReg__log_reg_2_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_49 = iwb_stage_iReg__log_reg_2_T_48 | iwb_stage_iReg__log_reg_2_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_50 = iwb_stage_iReg__log_reg_2_T_49 | iwb_stage_iReg__log_reg_2_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_51 = iwb_stage_iReg__log_reg_2_T_50 | iwb_stage_iReg__log_reg_2_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_52 = iwb_stage_iReg__log_reg_2_T_51 | iwb_stage_iReg__log_reg_2_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_53 = iwb_stage_iReg__log_reg_2_T_52 | iwb_stage_iReg__log_reg_2_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_54 = iwb_stage_iReg__log_reg_2_T_53 | iwb_stage_iReg__log_reg_2_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_55 = iwb_stage_iReg__log_reg_2_T_54 | iwb_stage_iReg__log_reg_2_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_56 = iwb_stage_iReg__log_reg_2_T_55 | iwb_stage_iReg__log_reg_2_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_57 = iwb_stage_iReg__log_reg_2_T_56 | iwb_stage_iReg__log_reg_2_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_58 = iwb_stage_iReg__log_reg_2_T_57 | iwb_stage_iReg__log_reg_2_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_59 = iwb_stage_iReg__log_reg_2_T_58 | iwb_stage_iReg__log_reg_2_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_60 = iwb_stage_iReg__log_reg_2_T_59 | iwb_stage_iReg__log_reg_2_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_61 = iwb_stage_iReg__log_reg_2_T_60 | iwb_stage_iReg__log_reg_2_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_62 = iwb_stage_iReg__log_reg_2_T_61 | iwb_stage_iReg__log_reg_2_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_2_T_63 = iwb_stage_iReg__log_reg_2_T_62 | iwb_stage_iReg__log_reg_2_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_2_T_64 = iwb_stage_iReg__log_reg_2_T_63 ? iwb_stage_iReg_log_reg_2 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_3_T = iwb_stage_iReg_archit_ptr_0 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h3; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_3_T_33 = iwb_stage_iReg__log_reg_3_T | iwb_stage_iReg__log_reg_3_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_34 = iwb_stage_iReg__log_reg_3_T_33 | iwb_stage_iReg__log_reg_3_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_35 = iwb_stage_iReg__log_reg_3_T_34 | iwb_stage_iReg__log_reg_3_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_36 = iwb_stage_iReg__log_reg_3_T_35 | iwb_stage_iReg__log_reg_3_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_37 = iwb_stage_iReg__log_reg_3_T_36 | iwb_stage_iReg__log_reg_3_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_38 = iwb_stage_iReg__log_reg_3_T_37 | iwb_stage_iReg__log_reg_3_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_39 = iwb_stage_iReg__log_reg_3_T_38 | iwb_stage_iReg__log_reg_3_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_40 = iwb_stage_iReg__log_reg_3_T_39 | iwb_stage_iReg__log_reg_3_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_41 = iwb_stage_iReg__log_reg_3_T_40 | iwb_stage_iReg__log_reg_3_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_42 = iwb_stage_iReg__log_reg_3_T_41 | iwb_stage_iReg__log_reg_3_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_43 = iwb_stage_iReg__log_reg_3_T_42 | iwb_stage_iReg__log_reg_3_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_44 = iwb_stage_iReg__log_reg_3_T_43 | iwb_stage_iReg__log_reg_3_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_45 = iwb_stage_iReg__log_reg_3_T_44 | iwb_stage_iReg__log_reg_3_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_46 = iwb_stage_iReg__log_reg_3_T_45 | iwb_stage_iReg__log_reg_3_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_47 = iwb_stage_iReg__log_reg_3_T_46 | iwb_stage_iReg__log_reg_3_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_48 = iwb_stage_iReg__log_reg_3_T_47 | iwb_stage_iReg__log_reg_3_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_49 = iwb_stage_iReg__log_reg_3_T_48 | iwb_stage_iReg__log_reg_3_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_50 = iwb_stage_iReg__log_reg_3_T_49 | iwb_stage_iReg__log_reg_3_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_51 = iwb_stage_iReg__log_reg_3_T_50 | iwb_stage_iReg__log_reg_3_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_52 = iwb_stage_iReg__log_reg_3_T_51 | iwb_stage_iReg__log_reg_3_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_53 = iwb_stage_iReg__log_reg_3_T_52 | iwb_stage_iReg__log_reg_3_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_54 = iwb_stage_iReg__log_reg_3_T_53 | iwb_stage_iReg__log_reg_3_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_55 = iwb_stage_iReg__log_reg_3_T_54 | iwb_stage_iReg__log_reg_3_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_56 = iwb_stage_iReg__log_reg_3_T_55 | iwb_stage_iReg__log_reg_3_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_57 = iwb_stage_iReg__log_reg_3_T_56 | iwb_stage_iReg__log_reg_3_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_58 = iwb_stage_iReg__log_reg_3_T_57 | iwb_stage_iReg__log_reg_3_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_59 = iwb_stage_iReg__log_reg_3_T_58 | iwb_stage_iReg__log_reg_3_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_60 = iwb_stage_iReg__log_reg_3_T_59 | iwb_stage_iReg__log_reg_3_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_61 = iwb_stage_iReg__log_reg_3_T_60 | iwb_stage_iReg__log_reg_3_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_62 = iwb_stage_iReg__log_reg_3_T_61 | iwb_stage_iReg__log_reg_3_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_3_T_63 = iwb_stage_iReg__log_reg_3_T_62 | iwb_stage_iReg__log_reg_3_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_3_T_64 = iwb_stage_iReg__log_reg_3_T_63 ? iwb_stage_iReg_log_reg_3 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_4_T = iwb_stage_iReg_archit_ptr_0 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h4; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_4_T_33 = iwb_stage_iReg__log_reg_4_T | iwb_stage_iReg__log_reg_4_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_34 = iwb_stage_iReg__log_reg_4_T_33 | iwb_stage_iReg__log_reg_4_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_35 = iwb_stage_iReg__log_reg_4_T_34 | iwb_stage_iReg__log_reg_4_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_36 = iwb_stage_iReg__log_reg_4_T_35 | iwb_stage_iReg__log_reg_4_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_37 = iwb_stage_iReg__log_reg_4_T_36 | iwb_stage_iReg__log_reg_4_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_38 = iwb_stage_iReg__log_reg_4_T_37 | iwb_stage_iReg__log_reg_4_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_39 = iwb_stage_iReg__log_reg_4_T_38 | iwb_stage_iReg__log_reg_4_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_40 = iwb_stage_iReg__log_reg_4_T_39 | iwb_stage_iReg__log_reg_4_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_41 = iwb_stage_iReg__log_reg_4_T_40 | iwb_stage_iReg__log_reg_4_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_42 = iwb_stage_iReg__log_reg_4_T_41 | iwb_stage_iReg__log_reg_4_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_43 = iwb_stage_iReg__log_reg_4_T_42 | iwb_stage_iReg__log_reg_4_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_44 = iwb_stage_iReg__log_reg_4_T_43 | iwb_stage_iReg__log_reg_4_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_45 = iwb_stage_iReg__log_reg_4_T_44 | iwb_stage_iReg__log_reg_4_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_46 = iwb_stage_iReg__log_reg_4_T_45 | iwb_stage_iReg__log_reg_4_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_47 = iwb_stage_iReg__log_reg_4_T_46 | iwb_stage_iReg__log_reg_4_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_48 = iwb_stage_iReg__log_reg_4_T_47 | iwb_stage_iReg__log_reg_4_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_49 = iwb_stage_iReg__log_reg_4_T_48 | iwb_stage_iReg__log_reg_4_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_50 = iwb_stage_iReg__log_reg_4_T_49 | iwb_stage_iReg__log_reg_4_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_51 = iwb_stage_iReg__log_reg_4_T_50 | iwb_stage_iReg__log_reg_4_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_52 = iwb_stage_iReg__log_reg_4_T_51 | iwb_stage_iReg__log_reg_4_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_53 = iwb_stage_iReg__log_reg_4_T_52 | iwb_stage_iReg__log_reg_4_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_54 = iwb_stage_iReg__log_reg_4_T_53 | iwb_stage_iReg__log_reg_4_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_55 = iwb_stage_iReg__log_reg_4_T_54 | iwb_stage_iReg__log_reg_4_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_56 = iwb_stage_iReg__log_reg_4_T_55 | iwb_stage_iReg__log_reg_4_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_57 = iwb_stage_iReg__log_reg_4_T_56 | iwb_stage_iReg__log_reg_4_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_58 = iwb_stage_iReg__log_reg_4_T_57 | iwb_stage_iReg__log_reg_4_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_59 = iwb_stage_iReg__log_reg_4_T_58 | iwb_stage_iReg__log_reg_4_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_60 = iwb_stage_iReg__log_reg_4_T_59 | iwb_stage_iReg__log_reg_4_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_61 = iwb_stage_iReg__log_reg_4_T_60 | iwb_stage_iReg__log_reg_4_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_62 = iwb_stage_iReg__log_reg_4_T_61 | iwb_stage_iReg__log_reg_4_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_4_T_63 = iwb_stage_iReg__log_reg_4_T_62 | iwb_stage_iReg__log_reg_4_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_4_T_64 = iwb_stage_iReg__log_reg_4_T_63 ? iwb_stage_iReg_log_reg_4 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_5_T = iwb_stage_iReg_archit_ptr_0 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h5; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_5_T_33 = iwb_stage_iReg__log_reg_5_T | iwb_stage_iReg__log_reg_5_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_34 = iwb_stage_iReg__log_reg_5_T_33 | iwb_stage_iReg__log_reg_5_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_35 = iwb_stage_iReg__log_reg_5_T_34 | iwb_stage_iReg__log_reg_5_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_36 = iwb_stage_iReg__log_reg_5_T_35 | iwb_stage_iReg__log_reg_5_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_37 = iwb_stage_iReg__log_reg_5_T_36 | iwb_stage_iReg__log_reg_5_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_38 = iwb_stage_iReg__log_reg_5_T_37 | iwb_stage_iReg__log_reg_5_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_39 = iwb_stage_iReg__log_reg_5_T_38 | iwb_stage_iReg__log_reg_5_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_40 = iwb_stage_iReg__log_reg_5_T_39 | iwb_stage_iReg__log_reg_5_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_41 = iwb_stage_iReg__log_reg_5_T_40 | iwb_stage_iReg__log_reg_5_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_42 = iwb_stage_iReg__log_reg_5_T_41 | iwb_stage_iReg__log_reg_5_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_43 = iwb_stage_iReg__log_reg_5_T_42 | iwb_stage_iReg__log_reg_5_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_44 = iwb_stage_iReg__log_reg_5_T_43 | iwb_stage_iReg__log_reg_5_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_45 = iwb_stage_iReg__log_reg_5_T_44 | iwb_stage_iReg__log_reg_5_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_46 = iwb_stage_iReg__log_reg_5_T_45 | iwb_stage_iReg__log_reg_5_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_47 = iwb_stage_iReg__log_reg_5_T_46 | iwb_stage_iReg__log_reg_5_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_48 = iwb_stage_iReg__log_reg_5_T_47 | iwb_stage_iReg__log_reg_5_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_49 = iwb_stage_iReg__log_reg_5_T_48 | iwb_stage_iReg__log_reg_5_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_50 = iwb_stage_iReg__log_reg_5_T_49 | iwb_stage_iReg__log_reg_5_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_51 = iwb_stage_iReg__log_reg_5_T_50 | iwb_stage_iReg__log_reg_5_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_52 = iwb_stage_iReg__log_reg_5_T_51 | iwb_stage_iReg__log_reg_5_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_53 = iwb_stage_iReg__log_reg_5_T_52 | iwb_stage_iReg__log_reg_5_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_54 = iwb_stage_iReg__log_reg_5_T_53 | iwb_stage_iReg__log_reg_5_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_55 = iwb_stage_iReg__log_reg_5_T_54 | iwb_stage_iReg__log_reg_5_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_56 = iwb_stage_iReg__log_reg_5_T_55 | iwb_stage_iReg__log_reg_5_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_57 = iwb_stage_iReg__log_reg_5_T_56 | iwb_stage_iReg__log_reg_5_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_58 = iwb_stage_iReg__log_reg_5_T_57 | iwb_stage_iReg__log_reg_5_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_59 = iwb_stage_iReg__log_reg_5_T_58 | iwb_stage_iReg__log_reg_5_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_60 = iwb_stage_iReg__log_reg_5_T_59 | iwb_stage_iReg__log_reg_5_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_61 = iwb_stage_iReg__log_reg_5_T_60 | iwb_stage_iReg__log_reg_5_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_62 = iwb_stage_iReg__log_reg_5_T_61 | iwb_stage_iReg__log_reg_5_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_5_T_63 = iwb_stage_iReg__log_reg_5_T_62 | iwb_stage_iReg__log_reg_5_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_5_T_64 = iwb_stage_iReg__log_reg_5_T_63 ? iwb_stage_iReg_log_reg_5 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_6_T = iwb_stage_iReg_archit_ptr_0 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h6; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_6_T_33 = iwb_stage_iReg__log_reg_6_T | iwb_stage_iReg__log_reg_6_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_34 = iwb_stage_iReg__log_reg_6_T_33 | iwb_stage_iReg__log_reg_6_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_35 = iwb_stage_iReg__log_reg_6_T_34 | iwb_stage_iReg__log_reg_6_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_36 = iwb_stage_iReg__log_reg_6_T_35 | iwb_stage_iReg__log_reg_6_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_37 = iwb_stage_iReg__log_reg_6_T_36 | iwb_stage_iReg__log_reg_6_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_38 = iwb_stage_iReg__log_reg_6_T_37 | iwb_stage_iReg__log_reg_6_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_39 = iwb_stage_iReg__log_reg_6_T_38 | iwb_stage_iReg__log_reg_6_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_40 = iwb_stage_iReg__log_reg_6_T_39 | iwb_stage_iReg__log_reg_6_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_41 = iwb_stage_iReg__log_reg_6_T_40 | iwb_stage_iReg__log_reg_6_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_42 = iwb_stage_iReg__log_reg_6_T_41 | iwb_stage_iReg__log_reg_6_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_43 = iwb_stage_iReg__log_reg_6_T_42 | iwb_stage_iReg__log_reg_6_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_44 = iwb_stage_iReg__log_reg_6_T_43 | iwb_stage_iReg__log_reg_6_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_45 = iwb_stage_iReg__log_reg_6_T_44 | iwb_stage_iReg__log_reg_6_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_46 = iwb_stage_iReg__log_reg_6_T_45 | iwb_stage_iReg__log_reg_6_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_47 = iwb_stage_iReg__log_reg_6_T_46 | iwb_stage_iReg__log_reg_6_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_48 = iwb_stage_iReg__log_reg_6_T_47 | iwb_stage_iReg__log_reg_6_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_49 = iwb_stage_iReg__log_reg_6_T_48 | iwb_stage_iReg__log_reg_6_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_50 = iwb_stage_iReg__log_reg_6_T_49 | iwb_stage_iReg__log_reg_6_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_51 = iwb_stage_iReg__log_reg_6_T_50 | iwb_stage_iReg__log_reg_6_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_52 = iwb_stage_iReg__log_reg_6_T_51 | iwb_stage_iReg__log_reg_6_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_53 = iwb_stage_iReg__log_reg_6_T_52 | iwb_stage_iReg__log_reg_6_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_54 = iwb_stage_iReg__log_reg_6_T_53 | iwb_stage_iReg__log_reg_6_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_55 = iwb_stage_iReg__log_reg_6_T_54 | iwb_stage_iReg__log_reg_6_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_56 = iwb_stage_iReg__log_reg_6_T_55 | iwb_stage_iReg__log_reg_6_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_57 = iwb_stage_iReg__log_reg_6_T_56 | iwb_stage_iReg__log_reg_6_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_58 = iwb_stage_iReg__log_reg_6_T_57 | iwb_stage_iReg__log_reg_6_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_59 = iwb_stage_iReg__log_reg_6_T_58 | iwb_stage_iReg__log_reg_6_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_60 = iwb_stage_iReg__log_reg_6_T_59 | iwb_stage_iReg__log_reg_6_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_61 = iwb_stage_iReg__log_reg_6_T_60 | iwb_stage_iReg__log_reg_6_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_62 = iwb_stage_iReg__log_reg_6_T_61 | iwb_stage_iReg__log_reg_6_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_6_T_63 = iwb_stage_iReg__log_reg_6_T_62 | iwb_stage_iReg__log_reg_6_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_6_T_64 = iwb_stage_iReg__log_reg_6_T_63 ? iwb_stage_iReg_log_reg_6 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_7_T = iwb_stage_iReg_archit_ptr_0 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h7; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_7_T_33 = iwb_stage_iReg__log_reg_7_T | iwb_stage_iReg__log_reg_7_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_34 = iwb_stage_iReg__log_reg_7_T_33 | iwb_stage_iReg__log_reg_7_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_35 = iwb_stage_iReg__log_reg_7_T_34 | iwb_stage_iReg__log_reg_7_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_36 = iwb_stage_iReg__log_reg_7_T_35 | iwb_stage_iReg__log_reg_7_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_37 = iwb_stage_iReg__log_reg_7_T_36 | iwb_stage_iReg__log_reg_7_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_38 = iwb_stage_iReg__log_reg_7_T_37 | iwb_stage_iReg__log_reg_7_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_39 = iwb_stage_iReg__log_reg_7_T_38 | iwb_stage_iReg__log_reg_7_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_40 = iwb_stage_iReg__log_reg_7_T_39 | iwb_stage_iReg__log_reg_7_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_41 = iwb_stage_iReg__log_reg_7_T_40 | iwb_stage_iReg__log_reg_7_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_42 = iwb_stage_iReg__log_reg_7_T_41 | iwb_stage_iReg__log_reg_7_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_43 = iwb_stage_iReg__log_reg_7_T_42 | iwb_stage_iReg__log_reg_7_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_44 = iwb_stage_iReg__log_reg_7_T_43 | iwb_stage_iReg__log_reg_7_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_45 = iwb_stage_iReg__log_reg_7_T_44 | iwb_stage_iReg__log_reg_7_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_46 = iwb_stage_iReg__log_reg_7_T_45 | iwb_stage_iReg__log_reg_7_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_47 = iwb_stage_iReg__log_reg_7_T_46 | iwb_stage_iReg__log_reg_7_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_48 = iwb_stage_iReg__log_reg_7_T_47 | iwb_stage_iReg__log_reg_7_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_49 = iwb_stage_iReg__log_reg_7_T_48 | iwb_stage_iReg__log_reg_7_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_50 = iwb_stage_iReg__log_reg_7_T_49 | iwb_stage_iReg__log_reg_7_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_51 = iwb_stage_iReg__log_reg_7_T_50 | iwb_stage_iReg__log_reg_7_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_52 = iwb_stage_iReg__log_reg_7_T_51 | iwb_stage_iReg__log_reg_7_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_53 = iwb_stage_iReg__log_reg_7_T_52 | iwb_stage_iReg__log_reg_7_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_54 = iwb_stage_iReg__log_reg_7_T_53 | iwb_stage_iReg__log_reg_7_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_55 = iwb_stage_iReg__log_reg_7_T_54 | iwb_stage_iReg__log_reg_7_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_56 = iwb_stage_iReg__log_reg_7_T_55 | iwb_stage_iReg__log_reg_7_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_57 = iwb_stage_iReg__log_reg_7_T_56 | iwb_stage_iReg__log_reg_7_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_58 = iwb_stage_iReg__log_reg_7_T_57 | iwb_stage_iReg__log_reg_7_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_59 = iwb_stage_iReg__log_reg_7_T_58 | iwb_stage_iReg__log_reg_7_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_60 = iwb_stage_iReg__log_reg_7_T_59 | iwb_stage_iReg__log_reg_7_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_61 = iwb_stage_iReg__log_reg_7_T_60 | iwb_stage_iReg__log_reg_7_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_62 = iwb_stage_iReg__log_reg_7_T_61 | iwb_stage_iReg__log_reg_7_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_7_T_63 = iwb_stage_iReg__log_reg_7_T_62 | iwb_stage_iReg__log_reg_7_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_7_T_64 = iwb_stage_iReg__log_reg_7_T_63 ? iwb_stage_iReg_log_reg_7 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_8_T = iwb_stage_iReg_archit_ptr_0 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h8; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_8_T_33 = iwb_stage_iReg__log_reg_8_T | iwb_stage_iReg__log_reg_8_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_34 = iwb_stage_iReg__log_reg_8_T_33 | iwb_stage_iReg__log_reg_8_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_35 = iwb_stage_iReg__log_reg_8_T_34 | iwb_stage_iReg__log_reg_8_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_36 = iwb_stage_iReg__log_reg_8_T_35 | iwb_stage_iReg__log_reg_8_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_37 = iwb_stage_iReg__log_reg_8_T_36 | iwb_stage_iReg__log_reg_8_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_38 = iwb_stage_iReg__log_reg_8_T_37 | iwb_stage_iReg__log_reg_8_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_39 = iwb_stage_iReg__log_reg_8_T_38 | iwb_stage_iReg__log_reg_8_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_40 = iwb_stage_iReg__log_reg_8_T_39 | iwb_stage_iReg__log_reg_8_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_41 = iwb_stage_iReg__log_reg_8_T_40 | iwb_stage_iReg__log_reg_8_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_42 = iwb_stage_iReg__log_reg_8_T_41 | iwb_stage_iReg__log_reg_8_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_43 = iwb_stage_iReg__log_reg_8_T_42 | iwb_stage_iReg__log_reg_8_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_44 = iwb_stage_iReg__log_reg_8_T_43 | iwb_stage_iReg__log_reg_8_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_45 = iwb_stage_iReg__log_reg_8_T_44 | iwb_stage_iReg__log_reg_8_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_46 = iwb_stage_iReg__log_reg_8_T_45 | iwb_stage_iReg__log_reg_8_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_47 = iwb_stage_iReg__log_reg_8_T_46 | iwb_stage_iReg__log_reg_8_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_48 = iwb_stage_iReg__log_reg_8_T_47 | iwb_stage_iReg__log_reg_8_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_49 = iwb_stage_iReg__log_reg_8_T_48 | iwb_stage_iReg__log_reg_8_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_50 = iwb_stage_iReg__log_reg_8_T_49 | iwb_stage_iReg__log_reg_8_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_51 = iwb_stage_iReg__log_reg_8_T_50 | iwb_stage_iReg__log_reg_8_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_52 = iwb_stage_iReg__log_reg_8_T_51 | iwb_stage_iReg__log_reg_8_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_53 = iwb_stage_iReg__log_reg_8_T_52 | iwb_stage_iReg__log_reg_8_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_54 = iwb_stage_iReg__log_reg_8_T_53 | iwb_stage_iReg__log_reg_8_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_55 = iwb_stage_iReg__log_reg_8_T_54 | iwb_stage_iReg__log_reg_8_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_56 = iwb_stage_iReg__log_reg_8_T_55 | iwb_stage_iReg__log_reg_8_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_57 = iwb_stage_iReg__log_reg_8_T_56 | iwb_stage_iReg__log_reg_8_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_58 = iwb_stage_iReg__log_reg_8_T_57 | iwb_stage_iReg__log_reg_8_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_59 = iwb_stage_iReg__log_reg_8_T_58 | iwb_stage_iReg__log_reg_8_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_60 = iwb_stage_iReg__log_reg_8_T_59 | iwb_stage_iReg__log_reg_8_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_61 = iwb_stage_iReg__log_reg_8_T_60 | iwb_stage_iReg__log_reg_8_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_62 = iwb_stage_iReg__log_reg_8_T_61 | iwb_stage_iReg__log_reg_8_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_8_T_63 = iwb_stage_iReg__log_reg_8_T_62 | iwb_stage_iReg__log_reg_8_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_8_T_64 = iwb_stage_iReg__log_reg_8_T_63 ? iwb_stage_iReg_log_reg_8 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_9_T = iwb_stage_iReg_archit_ptr_0 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h9; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_9_T_33 = iwb_stage_iReg__log_reg_9_T | iwb_stage_iReg__log_reg_9_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_34 = iwb_stage_iReg__log_reg_9_T_33 | iwb_stage_iReg__log_reg_9_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_35 = iwb_stage_iReg__log_reg_9_T_34 | iwb_stage_iReg__log_reg_9_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_36 = iwb_stage_iReg__log_reg_9_T_35 | iwb_stage_iReg__log_reg_9_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_37 = iwb_stage_iReg__log_reg_9_T_36 | iwb_stage_iReg__log_reg_9_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_38 = iwb_stage_iReg__log_reg_9_T_37 | iwb_stage_iReg__log_reg_9_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_39 = iwb_stage_iReg__log_reg_9_T_38 | iwb_stage_iReg__log_reg_9_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_40 = iwb_stage_iReg__log_reg_9_T_39 | iwb_stage_iReg__log_reg_9_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_41 = iwb_stage_iReg__log_reg_9_T_40 | iwb_stage_iReg__log_reg_9_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_42 = iwb_stage_iReg__log_reg_9_T_41 | iwb_stage_iReg__log_reg_9_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_43 = iwb_stage_iReg__log_reg_9_T_42 | iwb_stage_iReg__log_reg_9_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_44 = iwb_stage_iReg__log_reg_9_T_43 | iwb_stage_iReg__log_reg_9_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_45 = iwb_stage_iReg__log_reg_9_T_44 | iwb_stage_iReg__log_reg_9_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_46 = iwb_stage_iReg__log_reg_9_T_45 | iwb_stage_iReg__log_reg_9_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_47 = iwb_stage_iReg__log_reg_9_T_46 | iwb_stage_iReg__log_reg_9_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_48 = iwb_stage_iReg__log_reg_9_T_47 | iwb_stage_iReg__log_reg_9_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_49 = iwb_stage_iReg__log_reg_9_T_48 | iwb_stage_iReg__log_reg_9_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_50 = iwb_stage_iReg__log_reg_9_T_49 | iwb_stage_iReg__log_reg_9_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_51 = iwb_stage_iReg__log_reg_9_T_50 | iwb_stage_iReg__log_reg_9_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_52 = iwb_stage_iReg__log_reg_9_T_51 | iwb_stage_iReg__log_reg_9_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_53 = iwb_stage_iReg__log_reg_9_T_52 | iwb_stage_iReg__log_reg_9_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_54 = iwb_stage_iReg__log_reg_9_T_53 | iwb_stage_iReg__log_reg_9_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_55 = iwb_stage_iReg__log_reg_9_T_54 | iwb_stage_iReg__log_reg_9_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_56 = iwb_stage_iReg__log_reg_9_T_55 | iwb_stage_iReg__log_reg_9_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_57 = iwb_stage_iReg__log_reg_9_T_56 | iwb_stage_iReg__log_reg_9_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_58 = iwb_stage_iReg__log_reg_9_T_57 | iwb_stage_iReg__log_reg_9_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_59 = iwb_stage_iReg__log_reg_9_T_58 | iwb_stage_iReg__log_reg_9_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_60 = iwb_stage_iReg__log_reg_9_T_59 | iwb_stage_iReg__log_reg_9_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_61 = iwb_stage_iReg__log_reg_9_T_60 | iwb_stage_iReg__log_reg_9_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_62 = iwb_stage_iReg__log_reg_9_T_61 | iwb_stage_iReg__log_reg_9_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_9_T_63 = iwb_stage_iReg__log_reg_9_T_62 | iwb_stage_iReg__log_reg_9_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_9_T_64 = iwb_stage_iReg__log_reg_9_T_63 ? iwb_stage_iReg_log_reg_9 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_10_T = iwb_stage_iReg_archit_ptr_0 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'ha; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_10_T_33 = iwb_stage_iReg__log_reg_10_T | iwb_stage_iReg__log_reg_10_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_34 = iwb_stage_iReg__log_reg_10_T_33 | iwb_stage_iReg__log_reg_10_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_35 = iwb_stage_iReg__log_reg_10_T_34 | iwb_stage_iReg__log_reg_10_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_36 = iwb_stage_iReg__log_reg_10_T_35 | iwb_stage_iReg__log_reg_10_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_37 = iwb_stage_iReg__log_reg_10_T_36 | iwb_stage_iReg__log_reg_10_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_38 = iwb_stage_iReg__log_reg_10_T_37 | iwb_stage_iReg__log_reg_10_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_39 = iwb_stage_iReg__log_reg_10_T_38 | iwb_stage_iReg__log_reg_10_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_40 = iwb_stage_iReg__log_reg_10_T_39 | iwb_stage_iReg__log_reg_10_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_41 = iwb_stage_iReg__log_reg_10_T_40 | iwb_stage_iReg__log_reg_10_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_42 = iwb_stage_iReg__log_reg_10_T_41 | iwb_stage_iReg__log_reg_10_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_43 = iwb_stage_iReg__log_reg_10_T_42 | iwb_stage_iReg__log_reg_10_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_44 = iwb_stage_iReg__log_reg_10_T_43 | iwb_stage_iReg__log_reg_10_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_45 = iwb_stage_iReg__log_reg_10_T_44 | iwb_stage_iReg__log_reg_10_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_46 = iwb_stage_iReg__log_reg_10_T_45 | iwb_stage_iReg__log_reg_10_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_47 = iwb_stage_iReg__log_reg_10_T_46 | iwb_stage_iReg__log_reg_10_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_48 = iwb_stage_iReg__log_reg_10_T_47 | iwb_stage_iReg__log_reg_10_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_49 = iwb_stage_iReg__log_reg_10_T_48 | iwb_stage_iReg__log_reg_10_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_50 = iwb_stage_iReg__log_reg_10_T_49 | iwb_stage_iReg__log_reg_10_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_51 = iwb_stage_iReg__log_reg_10_T_50 | iwb_stage_iReg__log_reg_10_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_52 = iwb_stage_iReg__log_reg_10_T_51 | iwb_stage_iReg__log_reg_10_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_53 = iwb_stage_iReg__log_reg_10_T_52 | iwb_stage_iReg__log_reg_10_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_54 = iwb_stage_iReg__log_reg_10_T_53 | iwb_stage_iReg__log_reg_10_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_55 = iwb_stage_iReg__log_reg_10_T_54 | iwb_stage_iReg__log_reg_10_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_56 = iwb_stage_iReg__log_reg_10_T_55 | iwb_stage_iReg__log_reg_10_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_57 = iwb_stage_iReg__log_reg_10_T_56 | iwb_stage_iReg__log_reg_10_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_58 = iwb_stage_iReg__log_reg_10_T_57 | iwb_stage_iReg__log_reg_10_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_59 = iwb_stage_iReg__log_reg_10_T_58 | iwb_stage_iReg__log_reg_10_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_60 = iwb_stage_iReg__log_reg_10_T_59 | iwb_stage_iReg__log_reg_10_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_61 = iwb_stage_iReg__log_reg_10_T_60 | iwb_stage_iReg__log_reg_10_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_62 = iwb_stage_iReg__log_reg_10_T_61 | iwb_stage_iReg__log_reg_10_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_10_T_63 = iwb_stage_iReg__log_reg_10_T_62 | iwb_stage_iReg__log_reg_10_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_10_T_64 = iwb_stage_iReg__log_reg_10_T_63 ? iwb_stage_iReg_log_reg_10 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_11_T = iwb_stage_iReg_archit_ptr_0 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'hb; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_11_T_33 = iwb_stage_iReg__log_reg_11_T | iwb_stage_iReg__log_reg_11_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_34 = iwb_stage_iReg__log_reg_11_T_33 | iwb_stage_iReg__log_reg_11_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_35 = iwb_stage_iReg__log_reg_11_T_34 | iwb_stage_iReg__log_reg_11_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_36 = iwb_stage_iReg__log_reg_11_T_35 | iwb_stage_iReg__log_reg_11_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_37 = iwb_stage_iReg__log_reg_11_T_36 | iwb_stage_iReg__log_reg_11_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_38 = iwb_stage_iReg__log_reg_11_T_37 | iwb_stage_iReg__log_reg_11_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_39 = iwb_stage_iReg__log_reg_11_T_38 | iwb_stage_iReg__log_reg_11_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_40 = iwb_stage_iReg__log_reg_11_T_39 | iwb_stage_iReg__log_reg_11_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_41 = iwb_stage_iReg__log_reg_11_T_40 | iwb_stage_iReg__log_reg_11_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_42 = iwb_stage_iReg__log_reg_11_T_41 | iwb_stage_iReg__log_reg_11_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_43 = iwb_stage_iReg__log_reg_11_T_42 | iwb_stage_iReg__log_reg_11_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_44 = iwb_stage_iReg__log_reg_11_T_43 | iwb_stage_iReg__log_reg_11_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_45 = iwb_stage_iReg__log_reg_11_T_44 | iwb_stage_iReg__log_reg_11_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_46 = iwb_stage_iReg__log_reg_11_T_45 | iwb_stage_iReg__log_reg_11_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_47 = iwb_stage_iReg__log_reg_11_T_46 | iwb_stage_iReg__log_reg_11_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_48 = iwb_stage_iReg__log_reg_11_T_47 | iwb_stage_iReg__log_reg_11_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_49 = iwb_stage_iReg__log_reg_11_T_48 | iwb_stage_iReg__log_reg_11_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_50 = iwb_stage_iReg__log_reg_11_T_49 | iwb_stage_iReg__log_reg_11_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_51 = iwb_stage_iReg__log_reg_11_T_50 | iwb_stage_iReg__log_reg_11_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_52 = iwb_stage_iReg__log_reg_11_T_51 | iwb_stage_iReg__log_reg_11_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_53 = iwb_stage_iReg__log_reg_11_T_52 | iwb_stage_iReg__log_reg_11_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_54 = iwb_stage_iReg__log_reg_11_T_53 | iwb_stage_iReg__log_reg_11_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_55 = iwb_stage_iReg__log_reg_11_T_54 | iwb_stage_iReg__log_reg_11_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_56 = iwb_stage_iReg__log_reg_11_T_55 | iwb_stage_iReg__log_reg_11_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_57 = iwb_stage_iReg__log_reg_11_T_56 | iwb_stage_iReg__log_reg_11_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_58 = iwb_stage_iReg__log_reg_11_T_57 | iwb_stage_iReg__log_reg_11_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_59 = iwb_stage_iReg__log_reg_11_T_58 | iwb_stage_iReg__log_reg_11_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_60 = iwb_stage_iReg__log_reg_11_T_59 | iwb_stage_iReg__log_reg_11_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_61 = iwb_stage_iReg__log_reg_11_T_60 | iwb_stage_iReg__log_reg_11_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_62 = iwb_stage_iReg__log_reg_11_T_61 | iwb_stage_iReg__log_reg_11_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_11_T_63 = iwb_stage_iReg__log_reg_11_T_62 | iwb_stage_iReg__log_reg_11_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_11_T_64 = iwb_stage_iReg__log_reg_11_T_63 ? iwb_stage_iReg_log_reg_11 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_12_T = iwb_stage_iReg_archit_ptr_0 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'hc; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_12_T_33 = iwb_stage_iReg__log_reg_12_T | iwb_stage_iReg__log_reg_12_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_34 = iwb_stage_iReg__log_reg_12_T_33 | iwb_stage_iReg__log_reg_12_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_35 = iwb_stage_iReg__log_reg_12_T_34 | iwb_stage_iReg__log_reg_12_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_36 = iwb_stage_iReg__log_reg_12_T_35 | iwb_stage_iReg__log_reg_12_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_37 = iwb_stage_iReg__log_reg_12_T_36 | iwb_stage_iReg__log_reg_12_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_38 = iwb_stage_iReg__log_reg_12_T_37 | iwb_stage_iReg__log_reg_12_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_39 = iwb_stage_iReg__log_reg_12_T_38 | iwb_stage_iReg__log_reg_12_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_40 = iwb_stage_iReg__log_reg_12_T_39 | iwb_stage_iReg__log_reg_12_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_41 = iwb_stage_iReg__log_reg_12_T_40 | iwb_stage_iReg__log_reg_12_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_42 = iwb_stage_iReg__log_reg_12_T_41 | iwb_stage_iReg__log_reg_12_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_43 = iwb_stage_iReg__log_reg_12_T_42 | iwb_stage_iReg__log_reg_12_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_44 = iwb_stage_iReg__log_reg_12_T_43 | iwb_stage_iReg__log_reg_12_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_45 = iwb_stage_iReg__log_reg_12_T_44 | iwb_stage_iReg__log_reg_12_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_46 = iwb_stage_iReg__log_reg_12_T_45 | iwb_stage_iReg__log_reg_12_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_47 = iwb_stage_iReg__log_reg_12_T_46 | iwb_stage_iReg__log_reg_12_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_48 = iwb_stage_iReg__log_reg_12_T_47 | iwb_stage_iReg__log_reg_12_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_49 = iwb_stage_iReg__log_reg_12_T_48 | iwb_stage_iReg__log_reg_12_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_50 = iwb_stage_iReg__log_reg_12_T_49 | iwb_stage_iReg__log_reg_12_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_51 = iwb_stage_iReg__log_reg_12_T_50 | iwb_stage_iReg__log_reg_12_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_52 = iwb_stage_iReg__log_reg_12_T_51 | iwb_stage_iReg__log_reg_12_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_53 = iwb_stage_iReg__log_reg_12_T_52 | iwb_stage_iReg__log_reg_12_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_54 = iwb_stage_iReg__log_reg_12_T_53 | iwb_stage_iReg__log_reg_12_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_55 = iwb_stage_iReg__log_reg_12_T_54 | iwb_stage_iReg__log_reg_12_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_56 = iwb_stage_iReg__log_reg_12_T_55 | iwb_stage_iReg__log_reg_12_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_57 = iwb_stage_iReg__log_reg_12_T_56 | iwb_stage_iReg__log_reg_12_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_58 = iwb_stage_iReg__log_reg_12_T_57 | iwb_stage_iReg__log_reg_12_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_59 = iwb_stage_iReg__log_reg_12_T_58 | iwb_stage_iReg__log_reg_12_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_60 = iwb_stage_iReg__log_reg_12_T_59 | iwb_stage_iReg__log_reg_12_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_61 = iwb_stage_iReg__log_reg_12_T_60 | iwb_stage_iReg__log_reg_12_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_62 = iwb_stage_iReg__log_reg_12_T_61 | iwb_stage_iReg__log_reg_12_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_12_T_63 = iwb_stage_iReg__log_reg_12_T_62 | iwb_stage_iReg__log_reg_12_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_12_T_64 = iwb_stage_iReg__log_reg_12_T_63 ? iwb_stage_iReg_log_reg_12 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_13_T = iwb_stage_iReg_archit_ptr_0 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'hd; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_13_T_33 = iwb_stage_iReg__log_reg_13_T | iwb_stage_iReg__log_reg_13_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_34 = iwb_stage_iReg__log_reg_13_T_33 | iwb_stage_iReg__log_reg_13_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_35 = iwb_stage_iReg__log_reg_13_T_34 | iwb_stage_iReg__log_reg_13_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_36 = iwb_stage_iReg__log_reg_13_T_35 | iwb_stage_iReg__log_reg_13_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_37 = iwb_stage_iReg__log_reg_13_T_36 | iwb_stage_iReg__log_reg_13_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_38 = iwb_stage_iReg__log_reg_13_T_37 | iwb_stage_iReg__log_reg_13_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_39 = iwb_stage_iReg__log_reg_13_T_38 | iwb_stage_iReg__log_reg_13_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_40 = iwb_stage_iReg__log_reg_13_T_39 | iwb_stage_iReg__log_reg_13_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_41 = iwb_stage_iReg__log_reg_13_T_40 | iwb_stage_iReg__log_reg_13_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_42 = iwb_stage_iReg__log_reg_13_T_41 | iwb_stage_iReg__log_reg_13_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_43 = iwb_stage_iReg__log_reg_13_T_42 | iwb_stage_iReg__log_reg_13_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_44 = iwb_stage_iReg__log_reg_13_T_43 | iwb_stage_iReg__log_reg_13_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_45 = iwb_stage_iReg__log_reg_13_T_44 | iwb_stage_iReg__log_reg_13_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_46 = iwb_stage_iReg__log_reg_13_T_45 | iwb_stage_iReg__log_reg_13_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_47 = iwb_stage_iReg__log_reg_13_T_46 | iwb_stage_iReg__log_reg_13_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_48 = iwb_stage_iReg__log_reg_13_T_47 | iwb_stage_iReg__log_reg_13_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_49 = iwb_stage_iReg__log_reg_13_T_48 | iwb_stage_iReg__log_reg_13_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_50 = iwb_stage_iReg__log_reg_13_T_49 | iwb_stage_iReg__log_reg_13_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_51 = iwb_stage_iReg__log_reg_13_T_50 | iwb_stage_iReg__log_reg_13_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_52 = iwb_stage_iReg__log_reg_13_T_51 | iwb_stage_iReg__log_reg_13_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_53 = iwb_stage_iReg__log_reg_13_T_52 | iwb_stage_iReg__log_reg_13_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_54 = iwb_stage_iReg__log_reg_13_T_53 | iwb_stage_iReg__log_reg_13_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_55 = iwb_stage_iReg__log_reg_13_T_54 | iwb_stage_iReg__log_reg_13_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_56 = iwb_stage_iReg__log_reg_13_T_55 | iwb_stage_iReg__log_reg_13_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_57 = iwb_stage_iReg__log_reg_13_T_56 | iwb_stage_iReg__log_reg_13_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_58 = iwb_stage_iReg__log_reg_13_T_57 | iwb_stage_iReg__log_reg_13_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_59 = iwb_stage_iReg__log_reg_13_T_58 | iwb_stage_iReg__log_reg_13_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_60 = iwb_stage_iReg__log_reg_13_T_59 | iwb_stage_iReg__log_reg_13_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_61 = iwb_stage_iReg__log_reg_13_T_60 | iwb_stage_iReg__log_reg_13_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_62 = iwb_stage_iReg__log_reg_13_T_61 | iwb_stage_iReg__log_reg_13_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_13_T_63 = iwb_stage_iReg__log_reg_13_T_62 | iwb_stage_iReg__log_reg_13_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_13_T_64 = iwb_stage_iReg__log_reg_13_T_63 ? iwb_stage_iReg_log_reg_13 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_14_T = iwb_stage_iReg_archit_ptr_0 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'he; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_14_T_33 = iwb_stage_iReg__log_reg_14_T | iwb_stage_iReg__log_reg_14_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_34 = iwb_stage_iReg__log_reg_14_T_33 | iwb_stage_iReg__log_reg_14_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_35 = iwb_stage_iReg__log_reg_14_T_34 | iwb_stage_iReg__log_reg_14_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_36 = iwb_stage_iReg__log_reg_14_T_35 | iwb_stage_iReg__log_reg_14_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_37 = iwb_stage_iReg__log_reg_14_T_36 | iwb_stage_iReg__log_reg_14_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_38 = iwb_stage_iReg__log_reg_14_T_37 | iwb_stage_iReg__log_reg_14_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_39 = iwb_stage_iReg__log_reg_14_T_38 | iwb_stage_iReg__log_reg_14_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_40 = iwb_stage_iReg__log_reg_14_T_39 | iwb_stage_iReg__log_reg_14_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_41 = iwb_stage_iReg__log_reg_14_T_40 | iwb_stage_iReg__log_reg_14_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_42 = iwb_stage_iReg__log_reg_14_T_41 | iwb_stage_iReg__log_reg_14_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_43 = iwb_stage_iReg__log_reg_14_T_42 | iwb_stage_iReg__log_reg_14_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_44 = iwb_stage_iReg__log_reg_14_T_43 | iwb_stage_iReg__log_reg_14_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_45 = iwb_stage_iReg__log_reg_14_T_44 | iwb_stage_iReg__log_reg_14_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_46 = iwb_stage_iReg__log_reg_14_T_45 | iwb_stage_iReg__log_reg_14_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_47 = iwb_stage_iReg__log_reg_14_T_46 | iwb_stage_iReg__log_reg_14_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_48 = iwb_stage_iReg__log_reg_14_T_47 | iwb_stage_iReg__log_reg_14_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_49 = iwb_stage_iReg__log_reg_14_T_48 | iwb_stage_iReg__log_reg_14_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_50 = iwb_stage_iReg__log_reg_14_T_49 | iwb_stage_iReg__log_reg_14_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_51 = iwb_stage_iReg__log_reg_14_T_50 | iwb_stage_iReg__log_reg_14_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_52 = iwb_stage_iReg__log_reg_14_T_51 | iwb_stage_iReg__log_reg_14_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_53 = iwb_stage_iReg__log_reg_14_T_52 | iwb_stage_iReg__log_reg_14_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_54 = iwb_stage_iReg__log_reg_14_T_53 | iwb_stage_iReg__log_reg_14_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_55 = iwb_stage_iReg__log_reg_14_T_54 | iwb_stage_iReg__log_reg_14_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_56 = iwb_stage_iReg__log_reg_14_T_55 | iwb_stage_iReg__log_reg_14_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_57 = iwb_stage_iReg__log_reg_14_T_56 | iwb_stage_iReg__log_reg_14_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_58 = iwb_stage_iReg__log_reg_14_T_57 | iwb_stage_iReg__log_reg_14_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_59 = iwb_stage_iReg__log_reg_14_T_58 | iwb_stage_iReg__log_reg_14_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_60 = iwb_stage_iReg__log_reg_14_T_59 | iwb_stage_iReg__log_reg_14_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_61 = iwb_stage_iReg__log_reg_14_T_60 | iwb_stage_iReg__log_reg_14_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_62 = iwb_stage_iReg__log_reg_14_T_61 | iwb_stage_iReg__log_reg_14_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_14_T_63 = iwb_stage_iReg__log_reg_14_T_62 | iwb_stage_iReg__log_reg_14_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_14_T_64 = iwb_stage_iReg__log_reg_14_T_63 ? iwb_stage_iReg_log_reg_14 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_15_T = iwb_stage_iReg_archit_ptr_0 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'hf; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_15_T_33 = iwb_stage_iReg__log_reg_15_T | iwb_stage_iReg__log_reg_15_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_34 = iwb_stage_iReg__log_reg_15_T_33 | iwb_stage_iReg__log_reg_15_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_35 = iwb_stage_iReg__log_reg_15_T_34 | iwb_stage_iReg__log_reg_15_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_36 = iwb_stage_iReg__log_reg_15_T_35 | iwb_stage_iReg__log_reg_15_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_37 = iwb_stage_iReg__log_reg_15_T_36 | iwb_stage_iReg__log_reg_15_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_38 = iwb_stage_iReg__log_reg_15_T_37 | iwb_stage_iReg__log_reg_15_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_39 = iwb_stage_iReg__log_reg_15_T_38 | iwb_stage_iReg__log_reg_15_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_40 = iwb_stage_iReg__log_reg_15_T_39 | iwb_stage_iReg__log_reg_15_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_41 = iwb_stage_iReg__log_reg_15_T_40 | iwb_stage_iReg__log_reg_15_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_42 = iwb_stage_iReg__log_reg_15_T_41 | iwb_stage_iReg__log_reg_15_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_43 = iwb_stage_iReg__log_reg_15_T_42 | iwb_stage_iReg__log_reg_15_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_44 = iwb_stage_iReg__log_reg_15_T_43 | iwb_stage_iReg__log_reg_15_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_45 = iwb_stage_iReg__log_reg_15_T_44 | iwb_stage_iReg__log_reg_15_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_46 = iwb_stage_iReg__log_reg_15_T_45 | iwb_stage_iReg__log_reg_15_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_47 = iwb_stage_iReg__log_reg_15_T_46 | iwb_stage_iReg__log_reg_15_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_48 = iwb_stage_iReg__log_reg_15_T_47 | iwb_stage_iReg__log_reg_15_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_49 = iwb_stage_iReg__log_reg_15_T_48 | iwb_stage_iReg__log_reg_15_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_50 = iwb_stage_iReg__log_reg_15_T_49 | iwb_stage_iReg__log_reg_15_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_51 = iwb_stage_iReg__log_reg_15_T_50 | iwb_stage_iReg__log_reg_15_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_52 = iwb_stage_iReg__log_reg_15_T_51 | iwb_stage_iReg__log_reg_15_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_53 = iwb_stage_iReg__log_reg_15_T_52 | iwb_stage_iReg__log_reg_15_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_54 = iwb_stage_iReg__log_reg_15_T_53 | iwb_stage_iReg__log_reg_15_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_55 = iwb_stage_iReg__log_reg_15_T_54 | iwb_stage_iReg__log_reg_15_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_56 = iwb_stage_iReg__log_reg_15_T_55 | iwb_stage_iReg__log_reg_15_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_57 = iwb_stage_iReg__log_reg_15_T_56 | iwb_stage_iReg__log_reg_15_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_58 = iwb_stage_iReg__log_reg_15_T_57 | iwb_stage_iReg__log_reg_15_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_59 = iwb_stage_iReg__log_reg_15_T_58 | iwb_stage_iReg__log_reg_15_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_60 = iwb_stage_iReg__log_reg_15_T_59 | iwb_stage_iReg__log_reg_15_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_61 = iwb_stage_iReg__log_reg_15_T_60 | iwb_stage_iReg__log_reg_15_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_62 = iwb_stage_iReg__log_reg_15_T_61 | iwb_stage_iReg__log_reg_15_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_15_T_63 = iwb_stage_iReg__log_reg_15_T_62 | iwb_stage_iReg__log_reg_15_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_15_T_64 = iwb_stage_iReg__log_reg_15_T_63 ? iwb_stage_iReg_log_reg_15 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_16_T = iwb_stage_iReg_archit_ptr_0 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h10; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_16_T_33 = iwb_stage_iReg__log_reg_16_T | iwb_stage_iReg__log_reg_16_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_34 = iwb_stage_iReg__log_reg_16_T_33 | iwb_stage_iReg__log_reg_16_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_35 = iwb_stage_iReg__log_reg_16_T_34 | iwb_stage_iReg__log_reg_16_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_36 = iwb_stage_iReg__log_reg_16_T_35 | iwb_stage_iReg__log_reg_16_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_37 = iwb_stage_iReg__log_reg_16_T_36 | iwb_stage_iReg__log_reg_16_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_38 = iwb_stage_iReg__log_reg_16_T_37 | iwb_stage_iReg__log_reg_16_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_39 = iwb_stage_iReg__log_reg_16_T_38 | iwb_stage_iReg__log_reg_16_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_40 = iwb_stage_iReg__log_reg_16_T_39 | iwb_stage_iReg__log_reg_16_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_41 = iwb_stage_iReg__log_reg_16_T_40 | iwb_stage_iReg__log_reg_16_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_42 = iwb_stage_iReg__log_reg_16_T_41 | iwb_stage_iReg__log_reg_16_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_43 = iwb_stage_iReg__log_reg_16_T_42 | iwb_stage_iReg__log_reg_16_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_44 = iwb_stage_iReg__log_reg_16_T_43 | iwb_stage_iReg__log_reg_16_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_45 = iwb_stage_iReg__log_reg_16_T_44 | iwb_stage_iReg__log_reg_16_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_46 = iwb_stage_iReg__log_reg_16_T_45 | iwb_stage_iReg__log_reg_16_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_47 = iwb_stage_iReg__log_reg_16_T_46 | iwb_stage_iReg__log_reg_16_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_48 = iwb_stage_iReg__log_reg_16_T_47 | iwb_stage_iReg__log_reg_16_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_49 = iwb_stage_iReg__log_reg_16_T_48 | iwb_stage_iReg__log_reg_16_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_50 = iwb_stage_iReg__log_reg_16_T_49 | iwb_stage_iReg__log_reg_16_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_51 = iwb_stage_iReg__log_reg_16_T_50 | iwb_stage_iReg__log_reg_16_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_52 = iwb_stage_iReg__log_reg_16_T_51 | iwb_stage_iReg__log_reg_16_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_53 = iwb_stage_iReg__log_reg_16_T_52 | iwb_stage_iReg__log_reg_16_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_54 = iwb_stage_iReg__log_reg_16_T_53 | iwb_stage_iReg__log_reg_16_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_55 = iwb_stage_iReg__log_reg_16_T_54 | iwb_stage_iReg__log_reg_16_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_56 = iwb_stage_iReg__log_reg_16_T_55 | iwb_stage_iReg__log_reg_16_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_57 = iwb_stage_iReg__log_reg_16_T_56 | iwb_stage_iReg__log_reg_16_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_58 = iwb_stage_iReg__log_reg_16_T_57 | iwb_stage_iReg__log_reg_16_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_59 = iwb_stage_iReg__log_reg_16_T_58 | iwb_stage_iReg__log_reg_16_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_60 = iwb_stage_iReg__log_reg_16_T_59 | iwb_stage_iReg__log_reg_16_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_61 = iwb_stage_iReg__log_reg_16_T_60 | iwb_stage_iReg__log_reg_16_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_62 = iwb_stage_iReg__log_reg_16_T_61 | iwb_stage_iReg__log_reg_16_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_16_T_63 = iwb_stage_iReg__log_reg_16_T_62 | iwb_stage_iReg__log_reg_16_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_16_T_64 = iwb_stage_iReg__log_reg_16_T_63 ? iwb_stage_iReg_log_reg_16 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_17_T = iwb_stage_iReg_archit_ptr_0 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h11; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_17_T_33 = iwb_stage_iReg__log_reg_17_T | iwb_stage_iReg__log_reg_17_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_34 = iwb_stage_iReg__log_reg_17_T_33 | iwb_stage_iReg__log_reg_17_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_35 = iwb_stage_iReg__log_reg_17_T_34 | iwb_stage_iReg__log_reg_17_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_36 = iwb_stage_iReg__log_reg_17_T_35 | iwb_stage_iReg__log_reg_17_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_37 = iwb_stage_iReg__log_reg_17_T_36 | iwb_stage_iReg__log_reg_17_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_38 = iwb_stage_iReg__log_reg_17_T_37 | iwb_stage_iReg__log_reg_17_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_39 = iwb_stage_iReg__log_reg_17_T_38 | iwb_stage_iReg__log_reg_17_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_40 = iwb_stage_iReg__log_reg_17_T_39 | iwb_stage_iReg__log_reg_17_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_41 = iwb_stage_iReg__log_reg_17_T_40 | iwb_stage_iReg__log_reg_17_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_42 = iwb_stage_iReg__log_reg_17_T_41 | iwb_stage_iReg__log_reg_17_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_43 = iwb_stage_iReg__log_reg_17_T_42 | iwb_stage_iReg__log_reg_17_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_44 = iwb_stage_iReg__log_reg_17_T_43 | iwb_stage_iReg__log_reg_17_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_45 = iwb_stage_iReg__log_reg_17_T_44 | iwb_stage_iReg__log_reg_17_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_46 = iwb_stage_iReg__log_reg_17_T_45 | iwb_stage_iReg__log_reg_17_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_47 = iwb_stage_iReg__log_reg_17_T_46 | iwb_stage_iReg__log_reg_17_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_48 = iwb_stage_iReg__log_reg_17_T_47 | iwb_stage_iReg__log_reg_17_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_49 = iwb_stage_iReg__log_reg_17_T_48 | iwb_stage_iReg__log_reg_17_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_50 = iwb_stage_iReg__log_reg_17_T_49 | iwb_stage_iReg__log_reg_17_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_51 = iwb_stage_iReg__log_reg_17_T_50 | iwb_stage_iReg__log_reg_17_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_52 = iwb_stage_iReg__log_reg_17_T_51 | iwb_stage_iReg__log_reg_17_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_53 = iwb_stage_iReg__log_reg_17_T_52 | iwb_stage_iReg__log_reg_17_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_54 = iwb_stage_iReg__log_reg_17_T_53 | iwb_stage_iReg__log_reg_17_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_55 = iwb_stage_iReg__log_reg_17_T_54 | iwb_stage_iReg__log_reg_17_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_56 = iwb_stage_iReg__log_reg_17_T_55 | iwb_stage_iReg__log_reg_17_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_57 = iwb_stage_iReg__log_reg_17_T_56 | iwb_stage_iReg__log_reg_17_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_58 = iwb_stage_iReg__log_reg_17_T_57 | iwb_stage_iReg__log_reg_17_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_59 = iwb_stage_iReg__log_reg_17_T_58 | iwb_stage_iReg__log_reg_17_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_60 = iwb_stage_iReg__log_reg_17_T_59 | iwb_stage_iReg__log_reg_17_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_61 = iwb_stage_iReg__log_reg_17_T_60 | iwb_stage_iReg__log_reg_17_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_62 = iwb_stage_iReg__log_reg_17_T_61 | iwb_stage_iReg__log_reg_17_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_17_T_63 = iwb_stage_iReg__log_reg_17_T_62 | iwb_stage_iReg__log_reg_17_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_17_T_64 = iwb_stage_iReg__log_reg_17_T_63 ? iwb_stage_iReg_log_reg_17 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_18_T = iwb_stage_iReg_archit_ptr_0 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h12; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_18_T_33 = iwb_stage_iReg__log_reg_18_T | iwb_stage_iReg__log_reg_18_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_34 = iwb_stage_iReg__log_reg_18_T_33 | iwb_stage_iReg__log_reg_18_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_35 = iwb_stage_iReg__log_reg_18_T_34 | iwb_stage_iReg__log_reg_18_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_36 = iwb_stage_iReg__log_reg_18_T_35 | iwb_stage_iReg__log_reg_18_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_37 = iwb_stage_iReg__log_reg_18_T_36 | iwb_stage_iReg__log_reg_18_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_38 = iwb_stage_iReg__log_reg_18_T_37 | iwb_stage_iReg__log_reg_18_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_39 = iwb_stage_iReg__log_reg_18_T_38 | iwb_stage_iReg__log_reg_18_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_40 = iwb_stage_iReg__log_reg_18_T_39 | iwb_stage_iReg__log_reg_18_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_41 = iwb_stage_iReg__log_reg_18_T_40 | iwb_stage_iReg__log_reg_18_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_42 = iwb_stage_iReg__log_reg_18_T_41 | iwb_stage_iReg__log_reg_18_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_43 = iwb_stage_iReg__log_reg_18_T_42 | iwb_stage_iReg__log_reg_18_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_44 = iwb_stage_iReg__log_reg_18_T_43 | iwb_stage_iReg__log_reg_18_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_45 = iwb_stage_iReg__log_reg_18_T_44 | iwb_stage_iReg__log_reg_18_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_46 = iwb_stage_iReg__log_reg_18_T_45 | iwb_stage_iReg__log_reg_18_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_47 = iwb_stage_iReg__log_reg_18_T_46 | iwb_stage_iReg__log_reg_18_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_48 = iwb_stage_iReg__log_reg_18_T_47 | iwb_stage_iReg__log_reg_18_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_49 = iwb_stage_iReg__log_reg_18_T_48 | iwb_stage_iReg__log_reg_18_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_50 = iwb_stage_iReg__log_reg_18_T_49 | iwb_stage_iReg__log_reg_18_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_51 = iwb_stage_iReg__log_reg_18_T_50 | iwb_stage_iReg__log_reg_18_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_52 = iwb_stage_iReg__log_reg_18_T_51 | iwb_stage_iReg__log_reg_18_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_53 = iwb_stage_iReg__log_reg_18_T_52 | iwb_stage_iReg__log_reg_18_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_54 = iwb_stage_iReg__log_reg_18_T_53 | iwb_stage_iReg__log_reg_18_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_55 = iwb_stage_iReg__log_reg_18_T_54 | iwb_stage_iReg__log_reg_18_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_56 = iwb_stage_iReg__log_reg_18_T_55 | iwb_stage_iReg__log_reg_18_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_57 = iwb_stage_iReg__log_reg_18_T_56 | iwb_stage_iReg__log_reg_18_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_58 = iwb_stage_iReg__log_reg_18_T_57 | iwb_stage_iReg__log_reg_18_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_59 = iwb_stage_iReg__log_reg_18_T_58 | iwb_stage_iReg__log_reg_18_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_60 = iwb_stage_iReg__log_reg_18_T_59 | iwb_stage_iReg__log_reg_18_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_61 = iwb_stage_iReg__log_reg_18_T_60 | iwb_stage_iReg__log_reg_18_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_62 = iwb_stage_iReg__log_reg_18_T_61 | iwb_stage_iReg__log_reg_18_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_18_T_63 = iwb_stage_iReg__log_reg_18_T_62 | iwb_stage_iReg__log_reg_18_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_18_T_64 = iwb_stage_iReg__log_reg_18_T_63 ? iwb_stage_iReg_log_reg_18 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_19_T = iwb_stage_iReg_archit_ptr_0 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h13; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_19_T_33 = iwb_stage_iReg__log_reg_19_T | iwb_stage_iReg__log_reg_19_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_34 = iwb_stage_iReg__log_reg_19_T_33 | iwb_stage_iReg__log_reg_19_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_35 = iwb_stage_iReg__log_reg_19_T_34 | iwb_stage_iReg__log_reg_19_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_36 = iwb_stage_iReg__log_reg_19_T_35 | iwb_stage_iReg__log_reg_19_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_37 = iwb_stage_iReg__log_reg_19_T_36 | iwb_stage_iReg__log_reg_19_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_38 = iwb_stage_iReg__log_reg_19_T_37 | iwb_stage_iReg__log_reg_19_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_39 = iwb_stage_iReg__log_reg_19_T_38 | iwb_stage_iReg__log_reg_19_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_40 = iwb_stage_iReg__log_reg_19_T_39 | iwb_stage_iReg__log_reg_19_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_41 = iwb_stage_iReg__log_reg_19_T_40 | iwb_stage_iReg__log_reg_19_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_42 = iwb_stage_iReg__log_reg_19_T_41 | iwb_stage_iReg__log_reg_19_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_43 = iwb_stage_iReg__log_reg_19_T_42 | iwb_stage_iReg__log_reg_19_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_44 = iwb_stage_iReg__log_reg_19_T_43 | iwb_stage_iReg__log_reg_19_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_45 = iwb_stage_iReg__log_reg_19_T_44 | iwb_stage_iReg__log_reg_19_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_46 = iwb_stage_iReg__log_reg_19_T_45 | iwb_stage_iReg__log_reg_19_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_47 = iwb_stage_iReg__log_reg_19_T_46 | iwb_stage_iReg__log_reg_19_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_48 = iwb_stage_iReg__log_reg_19_T_47 | iwb_stage_iReg__log_reg_19_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_49 = iwb_stage_iReg__log_reg_19_T_48 | iwb_stage_iReg__log_reg_19_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_50 = iwb_stage_iReg__log_reg_19_T_49 | iwb_stage_iReg__log_reg_19_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_51 = iwb_stage_iReg__log_reg_19_T_50 | iwb_stage_iReg__log_reg_19_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_52 = iwb_stage_iReg__log_reg_19_T_51 | iwb_stage_iReg__log_reg_19_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_53 = iwb_stage_iReg__log_reg_19_T_52 | iwb_stage_iReg__log_reg_19_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_54 = iwb_stage_iReg__log_reg_19_T_53 | iwb_stage_iReg__log_reg_19_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_55 = iwb_stage_iReg__log_reg_19_T_54 | iwb_stage_iReg__log_reg_19_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_56 = iwb_stage_iReg__log_reg_19_T_55 | iwb_stage_iReg__log_reg_19_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_57 = iwb_stage_iReg__log_reg_19_T_56 | iwb_stage_iReg__log_reg_19_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_58 = iwb_stage_iReg__log_reg_19_T_57 | iwb_stage_iReg__log_reg_19_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_59 = iwb_stage_iReg__log_reg_19_T_58 | iwb_stage_iReg__log_reg_19_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_60 = iwb_stage_iReg__log_reg_19_T_59 | iwb_stage_iReg__log_reg_19_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_61 = iwb_stage_iReg__log_reg_19_T_60 | iwb_stage_iReg__log_reg_19_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_62 = iwb_stage_iReg__log_reg_19_T_61 | iwb_stage_iReg__log_reg_19_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_19_T_63 = iwb_stage_iReg__log_reg_19_T_62 | iwb_stage_iReg__log_reg_19_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_19_T_64 = iwb_stage_iReg__log_reg_19_T_63 ? iwb_stage_iReg_log_reg_19 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_20_T = iwb_stage_iReg_archit_ptr_0 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h14; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_20_T_33 = iwb_stage_iReg__log_reg_20_T | iwb_stage_iReg__log_reg_20_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_34 = iwb_stage_iReg__log_reg_20_T_33 | iwb_stage_iReg__log_reg_20_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_35 = iwb_stage_iReg__log_reg_20_T_34 | iwb_stage_iReg__log_reg_20_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_36 = iwb_stage_iReg__log_reg_20_T_35 | iwb_stage_iReg__log_reg_20_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_37 = iwb_stage_iReg__log_reg_20_T_36 | iwb_stage_iReg__log_reg_20_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_38 = iwb_stage_iReg__log_reg_20_T_37 | iwb_stage_iReg__log_reg_20_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_39 = iwb_stage_iReg__log_reg_20_T_38 | iwb_stage_iReg__log_reg_20_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_40 = iwb_stage_iReg__log_reg_20_T_39 | iwb_stage_iReg__log_reg_20_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_41 = iwb_stage_iReg__log_reg_20_T_40 | iwb_stage_iReg__log_reg_20_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_42 = iwb_stage_iReg__log_reg_20_T_41 | iwb_stage_iReg__log_reg_20_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_43 = iwb_stage_iReg__log_reg_20_T_42 | iwb_stage_iReg__log_reg_20_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_44 = iwb_stage_iReg__log_reg_20_T_43 | iwb_stage_iReg__log_reg_20_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_45 = iwb_stage_iReg__log_reg_20_T_44 | iwb_stage_iReg__log_reg_20_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_46 = iwb_stage_iReg__log_reg_20_T_45 | iwb_stage_iReg__log_reg_20_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_47 = iwb_stage_iReg__log_reg_20_T_46 | iwb_stage_iReg__log_reg_20_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_48 = iwb_stage_iReg__log_reg_20_T_47 | iwb_stage_iReg__log_reg_20_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_49 = iwb_stage_iReg__log_reg_20_T_48 | iwb_stage_iReg__log_reg_20_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_50 = iwb_stage_iReg__log_reg_20_T_49 | iwb_stage_iReg__log_reg_20_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_51 = iwb_stage_iReg__log_reg_20_T_50 | iwb_stage_iReg__log_reg_20_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_52 = iwb_stage_iReg__log_reg_20_T_51 | iwb_stage_iReg__log_reg_20_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_53 = iwb_stage_iReg__log_reg_20_T_52 | iwb_stage_iReg__log_reg_20_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_54 = iwb_stage_iReg__log_reg_20_T_53 | iwb_stage_iReg__log_reg_20_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_55 = iwb_stage_iReg__log_reg_20_T_54 | iwb_stage_iReg__log_reg_20_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_56 = iwb_stage_iReg__log_reg_20_T_55 | iwb_stage_iReg__log_reg_20_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_57 = iwb_stage_iReg__log_reg_20_T_56 | iwb_stage_iReg__log_reg_20_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_58 = iwb_stage_iReg__log_reg_20_T_57 | iwb_stage_iReg__log_reg_20_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_59 = iwb_stage_iReg__log_reg_20_T_58 | iwb_stage_iReg__log_reg_20_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_60 = iwb_stage_iReg__log_reg_20_T_59 | iwb_stage_iReg__log_reg_20_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_61 = iwb_stage_iReg__log_reg_20_T_60 | iwb_stage_iReg__log_reg_20_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_62 = iwb_stage_iReg__log_reg_20_T_61 | iwb_stage_iReg__log_reg_20_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_20_T_63 = iwb_stage_iReg__log_reg_20_T_62 | iwb_stage_iReg__log_reg_20_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_20_T_64 = iwb_stage_iReg__log_reg_20_T_63 ? iwb_stage_iReg_log_reg_20 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_21_T = iwb_stage_iReg_archit_ptr_0 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h15; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_21_T_33 = iwb_stage_iReg__log_reg_21_T | iwb_stage_iReg__log_reg_21_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_34 = iwb_stage_iReg__log_reg_21_T_33 | iwb_stage_iReg__log_reg_21_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_35 = iwb_stage_iReg__log_reg_21_T_34 | iwb_stage_iReg__log_reg_21_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_36 = iwb_stage_iReg__log_reg_21_T_35 | iwb_stage_iReg__log_reg_21_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_37 = iwb_stage_iReg__log_reg_21_T_36 | iwb_stage_iReg__log_reg_21_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_38 = iwb_stage_iReg__log_reg_21_T_37 | iwb_stage_iReg__log_reg_21_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_39 = iwb_stage_iReg__log_reg_21_T_38 | iwb_stage_iReg__log_reg_21_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_40 = iwb_stage_iReg__log_reg_21_T_39 | iwb_stage_iReg__log_reg_21_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_41 = iwb_stage_iReg__log_reg_21_T_40 | iwb_stage_iReg__log_reg_21_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_42 = iwb_stage_iReg__log_reg_21_T_41 | iwb_stage_iReg__log_reg_21_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_43 = iwb_stage_iReg__log_reg_21_T_42 | iwb_stage_iReg__log_reg_21_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_44 = iwb_stage_iReg__log_reg_21_T_43 | iwb_stage_iReg__log_reg_21_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_45 = iwb_stage_iReg__log_reg_21_T_44 | iwb_stage_iReg__log_reg_21_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_46 = iwb_stage_iReg__log_reg_21_T_45 | iwb_stage_iReg__log_reg_21_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_47 = iwb_stage_iReg__log_reg_21_T_46 | iwb_stage_iReg__log_reg_21_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_48 = iwb_stage_iReg__log_reg_21_T_47 | iwb_stage_iReg__log_reg_21_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_49 = iwb_stage_iReg__log_reg_21_T_48 | iwb_stage_iReg__log_reg_21_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_50 = iwb_stage_iReg__log_reg_21_T_49 | iwb_stage_iReg__log_reg_21_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_51 = iwb_stage_iReg__log_reg_21_T_50 | iwb_stage_iReg__log_reg_21_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_52 = iwb_stage_iReg__log_reg_21_T_51 | iwb_stage_iReg__log_reg_21_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_53 = iwb_stage_iReg__log_reg_21_T_52 | iwb_stage_iReg__log_reg_21_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_54 = iwb_stage_iReg__log_reg_21_T_53 | iwb_stage_iReg__log_reg_21_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_55 = iwb_stage_iReg__log_reg_21_T_54 | iwb_stage_iReg__log_reg_21_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_56 = iwb_stage_iReg__log_reg_21_T_55 | iwb_stage_iReg__log_reg_21_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_57 = iwb_stage_iReg__log_reg_21_T_56 | iwb_stage_iReg__log_reg_21_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_58 = iwb_stage_iReg__log_reg_21_T_57 | iwb_stage_iReg__log_reg_21_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_59 = iwb_stage_iReg__log_reg_21_T_58 | iwb_stage_iReg__log_reg_21_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_60 = iwb_stage_iReg__log_reg_21_T_59 | iwb_stage_iReg__log_reg_21_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_61 = iwb_stage_iReg__log_reg_21_T_60 | iwb_stage_iReg__log_reg_21_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_62 = iwb_stage_iReg__log_reg_21_T_61 | iwb_stage_iReg__log_reg_21_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_21_T_63 = iwb_stage_iReg__log_reg_21_T_62 | iwb_stage_iReg__log_reg_21_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_21_T_64 = iwb_stage_iReg__log_reg_21_T_63 ? iwb_stage_iReg_log_reg_21 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_22_T = iwb_stage_iReg_archit_ptr_0 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h16; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_22_T_33 = iwb_stage_iReg__log_reg_22_T | iwb_stage_iReg__log_reg_22_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_34 = iwb_stage_iReg__log_reg_22_T_33 | iwb_stage_iReg__log_reg_22_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_35 = iwb_stage_iReg__log_reg_22_T_34 | iwb_stage_iReg__log_reg_22_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_36 = iwb_stage_iReg__log_reg_22_T_35 | iwb_stage_iReg__log_reg_22_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_37 = iwb_stage_iReg__log_reg_22_T_36 | iwb_stage_iReg__log_reg_22_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_38 = iwb_stage_iReg__log_reg_22_T_37 | iwb_stage_iReg__log_reg_22_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_39 = iwb_stage_iReg__log_reg_22_T_38 | iwb_stage_iReg__log_reg_22_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_40 = iwb_stage_iReg__log_reg_22_T_39 | iwb_stage_iReg__log_reg_22_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_41 = iwb_stage_iReg__log_reg_22_T_40 | iwb_stage_iReg__log_reg_22_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_42 = iwb_stage_iReg__log_reg_22_T_41 | iwb_stage_iReg__log_reg_22_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_43 = iwb_stage_iReg__log_reg_22_T_42 | iwb_stage_iReg__log_reg_22_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_44 = iwb_stage_iReg__log_reg_22_T_43 | iwb_stage_iReg__log_reg_22_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_45 = iwb_stage_iReg__log_reg_22_T_44 | iwb_stage_iReg__log_reg_22_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_46 = iwb_stage_iReg__log_reg_22_T_45 | iwb_stage_iReg__log_reg_22_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_47 = iwb_stage_iReg__log_reg_22_T_46 | iwb_stage_iReg__log_reg_22_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_48 = iwb_stage_iReg__log_reg_22_T_47 | iwb_stage_iReg__log_reg_22_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_49 = iwb_stage_iReg__log_reg_22_T_48 | iwb_stage_iReg__log_reg_22_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_50 = iwb_stage_iReg__log_reg_22_T_49 | iwb_stage_iReg__log_reg_22_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_51 = iwb_stage_iReg__log_reg_22_T_50 | iwb_stage_iReg__log_reg_22_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_52 = iwb_stage_iReg__log_reg_22_T_51 | iwb_stage_iReg__log_reg_22_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_53 = iwb_stage_iReg__log_reg_22_T_52 | iwb_stage_iReg__log_reg_22_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_54 = iwb_stage_iReg__log_reg_22_T_53 | iwb_stage_iReg__log_reg_22_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_55 = iwb_stage_iReg__log_reg_22_T_54 | iwb_stage_iReg__log_reg_22_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_56 = iwb_stage_iReg__log_reg_22_T_55 | iwb_stage_iReg__log_reg_22_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_57 = iwb_stage_iReg__log_reg_22_T_56 | iwb_stage_iReg__log_reg_22_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_58 = iwb_stage_iReg__log_reg_22_T_57 | iwb_stage_iReg__log_reg_22_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_59 = iwb_stage_iReg__log_reg_22_T_58 | iwb_stage_iReg__log_reg_22_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_60 = iwb_stage_iReg__log_reg_22_T_59 | iwb_stage_iReg__log_reg_22_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_61 = iwb_stage_iReg__log_reg_22_T_60 | iwb_stage_iReg__log_reg_22_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_62 = iwb_stage_iReg__log_reg_22_T_61 | iwb_stage_iReg__log_reg_22_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_22_T_63 = iwb_stage_iReg__log_reg_22_T_62 | iwb_stage_iReg__log_reg_22_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_22_T_64 = iwb_stage_iReg__log_reg_22_T_63 ? iwb_stage_iReg_log_reg_22 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_23_T = iwb_stage_iReg_archit_ptr_0 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h17; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_23_T_33 = iwb_stage_iReg__log_reg_23_T | iwb_stage_iReg__log_reg_23_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_34 = iwb_stage_iReg__log_reg_23_T_33 | iwb_stage_iReg__log_reg_23_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_35 = iwb_stage_iReg__log_reg_23_T_34 | iwb_stage_iReg__log_reg_23_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_36 = iwb_stage_iReg__log_reg_23_T_35 | iwb_stage_iReg__log_reg_23_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_37 = iwb_stage_iReg__log_reg_23_T_36 | iwb_stage_iReg__log_reg_23_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_38 = iwb_stage_iReg__log_reg_23_T_37 | iwb_stage_iReg__log_reg_23_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_39 = iwb_stage_iReg__log_reg_23_T_38 | iwb_stage_iReg__log_reg_23_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_40 = iwb_stage_iReg__log_reg_23_T_39 | iwb_stage_iReg__log_reg_23_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_41 = iwb_stage_iReg__log_reg_23_T_40 | iwb_stage_iReg__log_reg_23_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_42 = iwb_stage_iReg__log_reg_23_T_41 | iwb_stage_iReg__log_reg_23_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_43 = iwb_stage_iReg__log_reg_23_T_42 | iwb_stage_iReg__log_reg_23_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_44 = iwb_stage_iReg__log_reg_23_T_43 | iwb_stage_iReg__log_reg_23_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_45 = iwb_stage_iReg__log_reg_23_T_44 | iwb_stage_iReg__log_reg_23_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_46 = iwb_stage_iReg__log_reg_23_T_45 | iwb_stage_iReg__log_reg_23_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_47 = iwb_stage_iReg__log_reg_23_T_46 | iwb_stage_iReg__log_reg_23_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_48 = iwb_stage_iReg__log_reg_23_T_47 | iwb_stage_iReg__log_reg_23_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_49 = iwb_stage_iReg__log_reg_23_T_48 | iwb_stage_iReg__log_reg_23_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_50 = iwb_stage_iReg__log_reg_23_T_49 | iwb_stage_iReg__log_reg_23_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_51 = iwb_stage_iReg__log_reg_23_T_50 | iwb_stage_iReg__log_reg_23_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_52 = iwb_stage_iReg__log_reg_23_T_51 | iwb_stage_iReg__log_reg_23_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_53 = iwb_stage_iReg__log_reg_23_T_52 | iwb_stage_iReg__log_reg_23_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_54 = iwb_stage_iReg__log_reg_23_T_53 | iwb_stage_iReg__log_reg_23_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_55 = iwb_stage_iReg__log_reg_23_T_54 | iwb_stage_iReg__log_reg_23_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_56 = iwb_stage_iReg__log_reg_23_T_55 | iwb_stage_iReg__log_reg_23_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_57 = iwb_stage_iReg__log_reg_23_T_56 | iwb_stage_iReg__log_reg_23_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_58 = iwb_stage_iReg__log_reg_23_T_57 | iwb_stage_iReg__log_reg_23_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_59 = iwb_stage_iReg__log_reg_23_T_58 | iwb_stage_iReg__log_reg_23_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_60 = iwb_stage_iReg__log_reg_23_T_59 | iwb_stage_iReg__log_reg_23_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_61 = iwb_stage_iReg__log_reg_23_T_60 | iwb_stage_iReg__log_reg_23_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_62 = iwb_stage_iReg__log_reg_23_T_61 | iwb_stage_iReg__log_reg_23_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_23_T_63 = iwb_stage_iReg__log_reg_23_T_62 | iwb_stage_iReg__log_reg_23_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_23_T_64 = iwb_stage_iReg__log_reg_23_T_63 ? iwb_stage_iReg_log_reg_23 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_24_T = iwb_stage_iReg_archit_ptr_0 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h18; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_24_T_33 = iwb_stage_iReg__log_reg_24_T | iwb_stage_iReg__log_reg_24_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_34 = iwb_stage_iReg__log_reg_24_T_33 | iwb_stage_iReg__log_reg_24_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_35 = iwb_stage_iReg__log_reg_24_T_34 | iwb_stage_iReg__log_reg_24_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_36 = iwb_stage_iReg__log_reg_24_T_35 | iwb_stage_iReg__log_reg_24_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_37 = iwb_stage_iReg__log_reg_24_T_36 | iwb_stage_iReg__log_reg_24_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_38 = iwb_stage_iReg__log_reg_24_T_37 | iwb_stage_iReg__log_reg_24_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_39 = iwb_stage_iReg__log_reg_24_T_38 | iwb_stage_iReg__log_reg_24_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_40 = iwb_stage_iReg__log_reg_24_T_39 | iwb_stage_iReg__log_reg_24_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_41 = iwb_stage_iReg__log_reg_24_T_40 | iwb_stage_iReg__log_reg_24_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_42 = iwb_stage_iReg__log_reg_24_T_41 | iwb_stage_iReg__log_reg_24_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_43 = iwb_stage_iReg__log_reg_24_T_42 | iwb_stage_iReg__log_reg_24_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_44 = iwb_stage_iReg__log_reg_24_T_43 | iwb_stage_iReg__log_reg_24_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_45 = iwb_stage_iReg__log_reg_24_T_44 | iwb_stage_iReg__log_reg_24_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_46 = iwb_stage_iReg__log_reg_24_T_45 | iwb_stage_iReg__log_reg_24_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_47 = iwb_stage_iReg__log_reg_24_T_46 | iwb_stage_iReg__log_reg_24_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_48 = iwb_stage_iReg__log_reg_24_T_47 | iwb_stage_iReg__log_reg_24_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_49 = iwb_stage_iReg__log_reg_24_T_48 | iwb_stage_iReg__log_reg_24_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_50 = iwb_stage_iReg__log_reg_24_T_49 | iwb_stage_iReg__log_reg_24_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_51 = iwb_stage_iReg__log_reg_24_T_50 | iwb_stage_iReg__log_reg_24_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_52 = iwb_stage_iReg__log_reg_24_T_51 | iwb_stage_iReg__log_reg_24_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_53 = iwb_stage_iReg__log_reg_24_T_52 | iwb_stage_iReg__log_reg_24_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_54 = iwb_stage_iReg__log_reg_24_T_53 | iwb_stage_iReg__log_reg_24_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_55 = iwb_stage_iReg__log_reg_24_T_54 | iwb_stage_iReg__log_reg_24_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_56 = iwb_stage_iReg__log_reg_24_T_55 | iwb_stage_iReg__log_reg_24_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_57 = iwb_stage_iReg__log_reg_24_T_56 | iwb_stage_iReg__log_reg_24_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_58 = iwb_stage_iReg__log_reg_24_T_57 | iwb_stage_iReg__log_reg_24_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_59 = iwb_stage_iReg__log_reg_24_T_58 | iwb_stage_iReg__log_reg_24_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_60 = iwb_stage_iReg__log_reg_24_T_59 | iwb_stage_iReg__log_reg_24_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_61 = iwb_stage_iReg__log_reg_24_T_60 | iwb_stage_iReg__log_reg_24_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_62 = iwb_stage_iReg__log_reg_24_T_61 | iwb_stage_iReg__log_reg_24_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_24_T_63 = iwb_stage_iReg__log_reg_24_T_62 | iwb_stage_iReg__log_reg_24_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_24_T_64 = iwb_stage_iReg__log_reg_24_T_63 ? iwb_stage_iReg_log_reg_24 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_25_T = iwb_stage_iReg_archit_ptr_0 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h19; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_25_T_33 = iwb_stage_iReg__log_reg_25_T | iwb_stage_iReg__log_reg_25_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_34 = iwb_stage_iReg__log_reg_25_T_33 | iwb_stage_iReg__log_reg_25_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_35 = iwb_stage_iReg__log_reg_25_T_34 | iwb_stage_iReg__log_reg_25_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_36 = iwb_stage_iReg__log_reg_25_T_35 | iwb_stage_iReg__log_reg_25_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_37 = iwb_stage_iReg__log_reg_25_T_36 | iwb_stage_iReg__log_reg_25_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_38 = iwb_stage_iReg__log_reg_25_T_37 | iwb_stage_iReg__log_reg_25_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_39 = iwb_stage_iReg__log_reg_25_T_38 | iwb_stage_iReg__log_reg_25_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_40 = iwb_stage_iReg__log_reg_25_T_39 | iwb_stage_iReg__log_reg_25_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_41 = iwb_stage_iReg__log_reg_25_T_40 | iwb_stage_iReg__log_reg_25_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_42 = iwb_stage_iReg__log_reg_25_T_41 | iwb_stage_iReg__log_reg_25_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_43 = iwb_stage_iReg__log_reg_25_T_42 | iwb_stage_iReg__log_reg_25_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_44 = iwb_stage_iReg__log_reg_25_T_43 | iwb_stage_iReg__log_reg_25_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_45 = iwb_stage_iReg__log_reg_25_T_44 | iwb_stage_iReg__log_reg_25_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_46 = iwb_stage_iReg__log_reg_25_T_45 | iwb_stage_iReg__log_reg_25_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_47 = iwb_stage_iReg__log_reg_25_T_46 | iwb_stage_iReg__log_reg_25_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_48 = iwb_stage_iReg__log_reg_25_T_47 | iwb_stage_iReg__log_reg_25_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_49 = iwb_stage_iReg__log_reg_25_T_48 | iwb_stage_iReg__log_reg_25_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_50 = iwb_stage_iReg__log_reg_25_T_49 | iwb_stage_iReg__log_reg_25_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_51 = iwb_stage_iReg__log_reg_25_T_50 | iwb_stage_iReg__log_reg_25_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_52 = iwb_stage_iReg__log_reg_25_T_51 | iwb_stage_iReg__log_reg_25_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_53 = iwb_stage_iReg__log_reg_25_T_52 | iwb_stage_iReg__log_reg_25_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_54 = iwb_stage_iReg__log_reg_25_T_53 | iwb_stage_iReg__log_reg_25_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_55 = iwb_stage_iReg__log_reg_25_T_54 | iwb_stage_iReg__log_reg_25_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_56 = iwb_stage_iReg__log_reg_25_T_55 | iwb_stage_iReg__log_reg_25_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_57 = iwb_stage_iReg__log_reg_25_T_56 | iwb_stage_iReg__log_reg_25_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_58 = iwb_stage_iReg__log_reg_25_T_57 | iwb_stage_iReg__log_reg_25_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_59 = iwb_stage_iReg__log_reg_25_T_58 | iwb_stage_iReg__log_reg_25_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_60 = iwb_stage_iReg__log_reg_25_T_59 | iwb_stage_iReg__log_reg_25_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_61 = iwb_stage_iReg__log_reg_25_T_60 | iwb_stage_iReg__log_reg_25_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_62 = iwb_stage_iReg__log_reg_25_T_61 | iwb_stage_iReg__log_reg_25_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_25_T_63 = iwb_stage_iReg__log_reg_25_T_62 | iwb_stage_iReg__log_reg_25_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_25_T_64 = iwb_stage_iReg__log_reg_25_T_63 ? iwb_stage_iReg_log_reg_25 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_26_T = iwb_stage_iReg_archit_ptr_0 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1a; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_26_T_33 = iwb_stage_iReg__log_reg_26_T | iwb_stage_iReg__log_reg_26_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_34 = iwb_stage_iReg__log_reg_26_T_33 | iwb_stage_iReg__log_reg_26_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_35 = iwb_stage_iReg__log_reg_26_T_34 | iwb_stage_iReg__log_reg_26_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_36 = iwb_stage_iReg__log_reg_26_T_35 | iwb_stage_iReg__log_reg_26_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_37 = iwb_stage_iReg__log_reg_26_T_36 | iwb_stage_iReg__log_reg_26_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_38 = iwb_stage_iReg__log_reg_26_T_37 | iwb_stage_iReg__log_reg_26_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_39 = iwb_stage_iReg__log_reg_26_T_38 | iwb_stage_iReg__log_reg_26_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_40 = iwb_stage_iReg__log_reg_26_T_39 | iwb_stage_iReg__log_reg_26_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_41 = iwb_stage_iReg__log_reg_26_T_40 | iwb_stage_iReg__log_reg_26_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_42 = iwb_stage_iReg__log_reg_26_T_41 | iwb_stage_iReg__log_reg_26_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_43 = iwb_stage_iReg__log_reg_26_T_42 | iwb_stage_iReg__log_reg_26_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_44 = iwb_stage_iReg__log_reg_26_T_43 | iwb_stage_iReg__log_reg_26_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_45 = iwb_stage_iReg__log_reg_26_T_44 | iwb_stage_iReg__log_reg_26_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_46 = iwb_stage_iReg__log_reg_26_T_45 | iwb_stage_iReg__log_reg_26_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_47 = iwb_stage_iReg__log_reg_26_T_46 | iwb_stage_iReg__log_reg_26_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_48 = iwb_stage_iReg__log_reg_26_T_47 | iwb_stage_iReg__log_reg_26_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_49 = iwb_stage_iReg__log_reg_26_T_48 | iwb_stage_iReg__log_reg_26_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_50 = iwb_stage_iReg__log_reg_26_T_49 | iwb_stage_iReg__log_reg_26_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_51 = iwb_stage_iReg__log_reg_26_T_50 | iwb_stage_iReg__log_reg_26_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_52 = iwb_stage_iReg__log_reg_26_T_51 | iwb_stage_iReg__log_reg_26_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_53 = iwb_stage_iReg__log_reg_26_T_52 | iwb_stage_iReg__log_reg_26_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_54 = iwb_stage_iReg__log_reg_26_T_53 | iwb_stage_iReg__log_reg_26_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_55 = iwb_stage_iReg__log_reg_26_T_54 | iwb_stage_iReg__log_reg_26_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_56 = iwb_stage_iReg__log_reg_26_T_55 | iwb_stage_iReg__log_reg_26_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_57 = iwb_stage_iReg__log_reg_26_T_56 | iwb_stage_iReg__log_reg_26_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_58 = iwb_stage_iReg__log_reg_26_T_57 | iwb_stage_iReg__log_reg_26_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_59 = iwb_stage_iReg__log_reg_26_T_58 | iwb_stage_iReg__log_reg_26_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_60 = iwb_stage_iReg__log_reg_26_T_59 | iwb_stage_iReg__log_reg_26_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_61 = iwb_stage_iReg__log_reg_26_T_60 | iwb_stage_iReg__log_reg_26_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_62 = iwb_stage_iReg__log_reg_26_T_61 | iwb_stage_iReg__log_reg_26_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_26_T_63 = iwb_stage_iReg__log_reg_26_T_62 | iwb_stage_iReg__log_reg_26_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_26_T_64 = iwb_stage_iReg__log_reg_26_T_63 ? iwb_stage_iReg_log_reg_26 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_27_T = iwb_stage_iReg_archit_ptr_0 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1b; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_27_T_33 = iwb_stage_iReg__log_reg_27_T | iwb_stage_iReg__log_reg_27_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_34 = iwb_stage_iReg__log_reg_27_T_33 | iwb_stage_iReg__log_reg_27_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_35 = iwb_stage_iReg__log_reg_27_T_34 | iwb_stage_iReg__log_reg_27_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_36 = iwb_stage_iReg__log_reg_27_T_35 | iwb_stage_iReg__log_reg_27_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_37 = iwb_stage_iReg__log_reg_27_T_36 | iwb_stage_iReg__log_reg_27_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_38 = iwb_stage_iReg__log_reg_27_T_37 | iwb_stage_iReg__log_reg_27_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_39 = iwb_stage_iReg__log_reg_27_T_38 | iwb_stage_iReg__log_reg_27_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_40 = iwb_stage_iReg__log_reg_27_T_39 | iwb_stage_iReg__log_reg_27_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_41 = iwb_stage_iReg__log_reg_27_T_40 | iwb_stage_iReg__log_reg_27_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_42 = iwb_stage_iReg__log_reg_27_T_41 | iwb_stage_iReg__log_reg_27_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_43 = iwb_stage_iReg__log_reg_27_T_42 | iwb_stage_iReg__log_reg_27_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_44 = iwb_stage_iReg__log_reg_27_T_43 | iwb_stage_iReg__log_reg_27_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_45 = iwb_stage_iReg__log_reg_27_T_44 | iwb_stage_iReg__log_reg_27_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_46 = iwb_stage_iReg__log_reg_27_T_45 | iwb_stage_iReg__log_reg_27_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_47 = iwb_stage_iReg__log_reg_27_T_46 | iwb_stage_iReg__log_reg_27_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_48 = iwb_stage_iReg__log_reg_27_T_47 | iwb_stage_iReg__log_reg_27_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_49 = iwb_stage_iReg__log_reg_27_T_48 | iwb_stage_iReg__log_reg_27_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_50 = iwb_stage_iReg__log_reg_27_T_49 | iwb_stage_iReg__log_reg_27_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_51 = iwb_stage_iReg__log_reg_27_T_50 | iwb_stage_iReg__log_reg_27_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_52 = iwb_stage_iReg__log_reg_27_T_51 | iwb_stage_iReg__log_reg_27_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_53 = iwb_stage_iReg__log_reg_27_T_52 | iwb_stage_iReg__log_reg_27_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_54 = iwb_stage_iReg__log_reg_27_T_53 | iwb_stage_iReg__log_reg_27_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_55 = iwb_stage_iReg__log_reg_27_T_54 | iwb_stage_iReg__log_reg_27_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_56 = iwb_stage_iReg__log_reg_27_T_55 | iwb_stage_iReg__log_reg_27_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_57 = iwb_stage_iReg__log_reg_27_T_56 | iwb_stage_iReg__log_reg_27_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_58 = iwb_stage_iReg__log_reg_27_T_57 | iwb_stage_iReg__log_reg_27_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_59 = iwb_stage_iReg__log_reg_27_T_58 | iwb_stage_iReg__log_reg_27_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_60 = iwb_stage_iReg__log_reg_27_T_59 | iwb_stage_iReg__log_reg_27_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_61 = iwb_stage_iReg__log_reg_27_T_60 | iwb_stage_iReg__log_reg_27_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_62 = iwb_stage_iReg__log_reg_27_T_61 | iwb_stage_iReg__log_reg_27_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_27_T_63 = iwb_stage_iReg__log_reg_27_T_62 | iwb_stage_iReg__log_reg_27_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_27_T_64 = iwb_stage_iReg__log_reg_27_T_63 ? iwb_stage_iReg_log_reg_27 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_28_T = iwb_stage_iReg_archit_ptr_0 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1c; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_28_T_33 = iwb_stage_iReg__log_reg_28_T | iwb_stage_iReg__log_reg_28_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_34 = iwb_stage_iReg__log_reg_28_T_33 | iwb_stage_iReg__log_reg_28_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_35 = iwb_stage_iReg__log_reg_28_T_34 | iwb_stage_iReg__log_reg_28_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_36 = iwb_stage_iReg__log_reg_28_T_35 | iwb_stage_iReg__log_reg_28_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_37 = iwb_stage_iReg__log_reg_28_T_36 | iwb_stage_iReg__log_reg_28_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_38 = iwb_stage_iReg__log_reg_28_T_37 | iwb_stage_iReg__log_reg_28_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_39 = iwb_stage_iReg__log_reg_28_T_38 | iwb_stage_iReg__log_reg_28_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_40 = iwb_stage_iReg__log_reg_28_T_39 | iwb_stage_iReg__log_reg_28_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_41 = iwb_stage_iReg__log_reg_28_T_40 | iwb_stage_iReg__log_reg_28_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_42 = iwb_stage_iReg__log_reg_28_T_41 | iwb_stage_iReg__log_reg_28_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_43 = iwb_stage_iReg__log_reg_28_T_42 | iwb_stage_iReg__log_reg_28_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_44 = iwb_stage_iReg__log_reg_28_T_43 | iwb_stage_iReg__log_reg_28_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_45 = iwb_stage_iReg__log_reg_28_T_44 | iwb_stage_iReg__log_reg_28_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_46 = iwb_stage_iReg__log_reg_28_T_45 | iwb_stage_iReg__log_reg_28_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_47 = iwb_stage_iReg__log_reg_28_T_46 | iwb_stage_iReg__log_reg_28_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_48 = iwb_stage_iReg__log_reg_28_T_47 | iwb_stage_iReg__log_reg_28_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_49 = iwb_stage_iReg__log_reg_28_T_48 | iwb_stage_iReg__log_reg_28_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_50 = iwb_stage_iReg__log_reg_28_T_49 | iwb_stage_iReg__log_reg_28_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_51 = iwb_stage_iReg__log_reg_28_T_50 | iwb_stage_iReg__log_reg_28_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_52 = iwb_stage_iReg__log_reg_28_T_51 | iwb_stage_iReg__log_reg_28_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_53 = iwb_stage_iReg__log_reg_28_T_52 | iwb_stage_iReg__log_reg_28_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_54 = iwb_stage_iReg__log_reg_28_T_53 | iwb_stage_iReg__log_reg_28_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_55 = iwb_stage_iReg__log_reg_28_T_54 | iwb_stage_iReg__log_reg_28_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_56 = iwb_stage_iReg__log_reg_28_T_55 | iwb_stage_iReg__log_reg_28_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_57 = iwb_stage_iReg__log_reg_28_T_56 | iwb_stage_iReg__log_reg_28_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_58 = iwb_stage_iReg__log_reg_28_T_57 | iwb_stage_iReg__log_reg_28_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_59 = iwb_stage_iReg__log_reg_28_T_58 | iwb_stage_iReg__log_reg_28_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_60 = iwb_stage_iReg__log_reg_28_T_59 | iwb_stage_iReg__log_reg_28_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_61 = iwb_stage_iReg__log_reg_28_T_60 | iwb_stage_iReg__log_reg_28_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_62 = iwb_stage_iReg__log_reg_28_T_61 | iwb_stage_iReg__log_reg_28_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_28_T_63 = iwb_stage_iReg__log_reg_28_T_62 | iwb_stage_iReg__log_reg_28_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_28_T_64 = iwb_stage_iReg__log_reg_28_T_63 ? iwb_stage_iReg_log_reg_28 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_29_T = iwb_stage_iReg_archit_ptr_0 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1d; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_29_T_33 = iwb_stage_iReg__log_reg_29_T | iwb_stage_iReg__log_reg_29_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_34 = iwb_stage_iReg__log_reg_29_T_33 | iwb_stage_iReg__log_reg_29_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_35 = iwb_stage_iReg__log_reg_29_T_34 | iwb_stage_iReg__log_reg_29_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_36 = iwb_stage_iReg__log_reg_29_T_35 | iwb_stage_iReg__log_reg_29_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_37 = iwb_stage_iReg__log_reg_29_T_36 | iwb_stage_iReg__log_reg_29_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_38 = iwb_stage_iReg__log_reg_29_T_37 | iwb_stage_iReg__log_reg_29_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_39 = iwb_stage_iReg__log_reg_29_T_38 | iwb_stage_iReg__log_reg_29_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_40 = iwb_stage_iReg__log_reg_29_T_39 | iwb_stage_iReg__log_reg_29_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_41 = iwb_stage_iReg__log_reg_29_T_40 | iwb_stage_iReg__log_reg_29_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_42 = iwb_stage_iReg__log_reg_29_T_41 | iwb_stage_iReg__log_reg_29_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_43 = iwb_stage_iReg__log_reg_29_T_42 | iwb_stage_iReg__log_reg_29_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_44 = iwb_stage_iReg__log_reg_29_T_43 | iwb_stage_iReg__log_reg_29_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_45 = iwb_stage_iReg__log_reg_29_T_44 | iwb_stage_iReg__log_reg_29_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_46 = iwb_stage_iReg__log_reg_29_T_45 | iwb_stage_iReg__log_reg_29_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_47 = iwb_stage_iReg__log_reg_29_T_46 | iwb_stage_iReg__log_reg_29_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_48 = iwb_stage_iReg__log_reg_29_T_47 | iwb_stage_iReg__log_reg_29_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_49 = iwb_stage_iReg__log_reg_29_T_48 | iwb_stage_iReg__log_reg_29_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_50 = iwb_stage_iReg__log_reg_29_T_49 | iwb_stage_iReg__log_reg_29_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_51 = iwb_stage_iReg__log_reg_29_T_50 | iwb_stage_iReg__log_reg_29_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_52 = iwb_stage_iReg__log_reg_29_T_51 | iwb_stage_iReg__log_reg_29_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_53 = iwb_stage_iReg__log_reg_29_T_52 | iwb_stage_iReg__log_reg_29_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_54 = iwb_stage_iReg__log_reg_29_T_53 | iwb_stage_iReg__log_reg_29_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_55 = iwb_stage_iReg__log_reg_29_T_54 | iwb_stage_iReg__log_reg_29_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_56 = iwb_stage_iReg__log_reg_29_T_55 | iwb_stage_iReg__log_reg_29_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_57 = iwb_stage_iReg__log_reg_29_T_56 | iwb_stage_iReg__log_reg_29_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_58 = iwb_stage_iReg__log_reg_29_T_57 | iwb_stage_iReg__log_reg_29_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_59 = iwb_stage_iReg__log_reg_29_T_58 | iwb_stage_iReg__log_reg_29_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_60 = iwb_stage_iReg__log_reg_29_T_59 | iwb_stage_iReg__log_reg_29_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_61 = iwb_stage_iReg__log_reg_29_T_60 | iwb_stage_iReg__log_reg_29_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_62 = iwb_stage_iReg__log_reg_29_T_61 | iwb_stage_iReg__log_reg_29_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_29_T_63 = iwb_stage_iReg__log_reg_29_T_62 | iwb_stage_iReg__log_reg_29_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_29_T_64 = iwb_stage_iReg__log_reg_29_T_63 ? iwb_stage_iReg_log_reg_29 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_30_T = iwb_stage_iReg_archit_ptr_0 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1e; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_30_T_33 = iwb_stage_iReg__log_reg_30_T | iwb_stage_iReg__log_reg_30_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_34 = iwb_stage_iReg__log_reg_30_T_33 | iwb_stage_iReg__log_reg_30_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_35 = iwb_stage_iReg__log_reg_30_T_34 | iwb_stage_iReg__log_reg_30_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_36 = iwb_stage_iReg__log_reg_30_T_35 | iwb_stage_iReg__log_reg_30_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_37 = iwb_stage_iReg__log_reg_30_T_36 | iwb_stage_iReg__log_reg_30_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_38 = iwb_stage_iReg__log_reg_30_T_37 | iwb_stage_iReg__log_reg_30_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_39 = iwb_stage_iReg__log_reg_30_T_38 | iwb_stage_iReg__log_reg_30_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_40 = iwb_stage_iReg__log_reg_30_T_39 | iwb_stage_iReg__log_reg_30_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_41 = iwb_stage_iReg__log_reg_30_T_40 | iwb_stage_iReg__log_reg_30_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_42 = iwb_stage_iReg__log_reg_30_T_41 | iwb_stage_iReg__log_reg_30_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_43 = iwb_stage_iReg__log_reg_30_T_42 | iwb_stage_iReg__log_reg_30_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_44 = iwb_stage_iReg__log_reg_30_T_43 | iwb_stage_iReg__log_reg_30_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_45 = iwb_stage_iReg__log_reg_30_T_44 | iwb_stage_iReg__log_reg_30_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_46 = iwb_stage_iReg__log_reg_30_T_45 | iwb_stage_iReg__log_reg_30_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_47 = iwb_stage_iReg__log_reg_30_T_46 | iwb_stage_iReg__log_reg_30_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_48 = iwb_stage_iReg__log_reg_30_T_47 | iwb_stage_iReg__log_reg_30_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_49 = iwb_stage_iReg__log_reg_30_T_48 | iwb_stage_iReg__log_reg_30_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_50 = iwb_stage_iReg__log_reg_30_T_49 | iwb_stage_iReg__log_reg_30_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_51 = iwb_stage_iReg__log_reg_30_T_50 | iwb_stage_iReg__log_reg_30_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_52 = iwb_stage_iReg__log_reg_30_T_51 | iwb_stage_iReg__log_reg_30_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_53 = iwb_stage_iReg__log_reg_30_T_52 | iwb_stage_iReg__log_reg_30_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_54 = iwb_stage_iReg__log_reg_30_T_53 | iwb_stage_iReg__log_reg_30_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_55 = iwb_stage_iReg__log_reg_30_T_54 | iwb_stage_iReg__log_reg_30_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_56 = iwb_stage_iReg__log_reg_30_T_55 | iwb_stage_iReg__log_reg_30_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_57 = iwb_stage_iReg__log_reg_30_T_56 | iwb_stage_iReg__log_reg_30_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_58 = iwb_stage_iReg__log_reg_30_T_57 | iwb_stage_iReg__log_reg_30_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_59 = iwb_stage_iReg__log_reg_30_T_58 | iwb_stage_iReg__log_reg_30_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_60 = iwb_stage_iReg__log_reg_30_T_59 | iwb_stage_iReg__log_reg_30_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_61 = iwb_stage_iReg__log_reg_30_T_60 | iwb_stage_iReg__log_reg_30_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_62 = iwb_stage_iReg__log_reg_30_T_61 | iwb_stage_iReg__log_reg_30_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_30_T_63 = iwb_stage_iReg__log_reg_30_T_62 | iwb_stage_iReg__log_reg_30_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_30_T_64 = iwb_stage_iReg__log_reg_30_T_63 ? iwb_stage_iReg_log_reg_30 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_31_T = iwb_stage_iReg_archit_ptr_0 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h1f; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_31_T_33 = iwb_stage_iReg__log_reg_31_T | iwb_stage_iReg__log_reg_31_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_34 = iwb_stage_iReg__log_reg_31_T_33 | iwb_stage_iReg__log_reg_31_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_35 = iwb_stage_iReg__log_reg_31_T_34 | iwb_stage_iReg__log_reg_31_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_36 = iwb_stage_iReg__log_reg_31_T_35 | iwb_stage_iReg__log_reg_31_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_37 = iwb_stage_iReg__log_reg_31_T_36 | iwb_stage_iReg__log_reg_31_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_38 = iwb_stage_iReg__log_reg_31_T_37 | iwb_stage_iReg__log_reg_31_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_39 = iwb_stage_iReg__log_reg_31_T_38 | iwb_stage_iReg__log_reg_31_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_40 = iwb_stage_iReg__log_reg_31_T_39 | iwb_stage_iReg__log_reg_31_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_41 = iwb_stage_iReg__log_reg_31_T_40 | iwb_stage_iReg__log_reg_31_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_42 = iwb_stage_iReg__log_reg_31_T_41 | iwb_stage_iReg__log_reg_31_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_43 = iwb_stage_iReg__log_reg_31_T_42 | iwb_stage_iReg__log_reg_31_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_44 = iwb_stage_iReg__log_reg_31_T_43 | iwb_stage_iReg__log_reg_31_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_45 = iwb_stage_iReg__log_reg_31_T_44 | iwb_stage_iReg__log_reg_31_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_46 = iwb_stage_iReg__log_reg_31_T_45 | iwb_stage_iReg__log_reg_31_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_47 = iwb_stage_iReg__log_reg_31_T_46 | iwb_stage_iReg__log_reg_31_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_48 = iwb_stage_iReg__log_reg_31_T_47 | iwb_stage_iReg__log_reg_31_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_49 = iwb_stage_iReg__log_reg_31_T_48 | iwb_stage_iReg__log_reg_31_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_50 = iwb_stage_iReg__log_reg_31_T_49 | iwb_stage_iReg__log_reg_31_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_51 = iwb_stage_iReg__log_reg_31_T_50 | iwb_stage_iReg__log_reg_31_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_52 = iwb_stage_iReg__log_reg_31_T_51 | iwb_stage_iReg__log_reg_31_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_53 = iwb_stage_iReg__log_reg_31_T_52 | iwb_stage_iReg__log_reg_31_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_54 = iwb_stage_iReg__log_reg_31_T_53 | iwb_stage_iReg__log_reg_31_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_55 = iwb_stage_iReg__log_reg_31_T_54 | iwb_stage_iReg__log_reg_31_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_56 = iwb_stage_iReg__log_reg_31_T_55 | iwb_stage_iReg__log_reg_31_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_57 = iwb_stage_iReg__log_reg_31_T_56 | iwb_stage_iReg__log_reg_31_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_58 = iwb_stage_iReg__log_reg_31_T_57 | iwb_stage_iReg__log_reg_31_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_59 = iwb_stage_iReg__log_reg_31_T_58 | iwb_stage_iReg__log_reg_31_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_60 = iwb_stage_iReg__log_reg_31_T_59 | iwb_stage_iReg__log_reg_31_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_61 = iwb_stage_iReg__log_reg_31_T_60 | iwb_stage_iReg__log_reg_31_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_62 = iwb_stage_iReg__log_reg_31_T_61 | iwb_stage_iReg__log_reg_31_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_31_T_63 = iwb_stage_iReg__log_reg_31_T_62 | iwb_stage_iReg__log_reg_31_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_31_T_64 = iwb_stage_iReg__log_reg_31_T_63 ? iwb_stage_iReg_log_reg_31 : 2'h0; // @[Regfiles.scala 223:63]
  wire  iwb_stage_iReg__log_reg_32_T = iwb_stage_iReg_archit_ptr_0 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_1 = iwb_stage_iReg_archit_ptr_1 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_2 = iwb_stage_iReg_archit_ptr_2 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_3 = iwb_stage_iReg_archit_ptr_3 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_4 = iwb_stage_iReg_archit_ptr_4 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_5 = iwb_stage_iReg_archit_ptr_5 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_6 = iwb_stage_iReg_archit_ptr_6 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_7 = iwb_stage_iReg_archit_ptr_7 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_8 = iwb_stage_iReg_archit_ptr_8 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_9 = iwb_stage_iReg_archit_ptr_9 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_10 = iwb_stage_iReg_archit_ptr_10 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_11 = iwb_stage_iReg_archit_ptr_11 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_12 = iwb_stage_iReg_archit_ptr_12 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_13 = iwb_stage_iReg_archit_ptr_13 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_14 = iwb_stage_iReg_archit_ptr_14 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_15 = iwb_stage_iReg_archit_ptr_15 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_16 = iwb_stage_iReg_archit_ptr_16 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_17 = iwb_stage_iReg_archit_ptr_17 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_18 = iwb_stage_iReg_archit_ptr_18 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_19 = iwb_stage_iReg_archit_ptr_19 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_20 = iwb_stage_iReg_archit_ptr_20 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_21 = iwb_stage_iReg_archit_ptr_21 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_22 = iwb_stage_iReg_archit_ptr_22 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_23 = iwb_stage_iReg_archit_ptr_23 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_24 = iwb_stage_iReg_archit_ptr_24 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_25 = iwb_stage_iReg_archit_ptr_25 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_26 = iwb_stage_iReg_archit_ptr_26 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_27 = iwb_stage_iReg_archit_ptr_27 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_28 = iwb_stage_iReg_archit_ptr_28 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_29 = iwb_stage_iReg_archit_ptr_29 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_30 = iwb_stage_iReg_archit_ptr_30 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_31 = iwb_stage_iReg_archit_ptr_31 == 6'h20; // @[Regfiles.scala 223:99]
  wire  iwb_stage_iReg__log_reg_32_T_33 = iwb_stage_iReg__log_reg_32_T | iwb_stage_iReg__log_reg_32_T_1; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_34 = iwb_stage_iReg__log_reg_32_T_33 | iwb_stage_iReg__log_reg_32_T_2; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_35 = iwb_stage_iReg__log_reg_32_T_34 | iwb_stage_iReg__log_reg_32_T_3; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_36 = iwb_stage_iReg__log_reg_32_T_35 | iwb_stage_iReg__log_reg_32_T_4; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_37 = iwb_stage_iReg__log_reg_32_T_36 | iwb_stage_iReg__log_reg_32_T_5; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_38 = iwb_stage_iReg__log_reg_32_T_37 | iwb_stage_iReg__log_reg_32_T_6; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_39 = iwb_stage_iReg__log_reg_32_T_38 | iwb_stage_iReg__log_reg_32_T_7; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_40 = iwb_stage_iReg__log_reg_32_T_39 | iwb_stage_iReg__log_reg_32_T_8; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_41 = iwb_stage_iReg__log_reg_32_T_40 | iwb_stage_iReg__log_reg_32_T_9; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_42 = iwb_stage_iReg__log_reg_32_T_41 | iwb_stage_iReg__log_reg_32_T_10; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_43 = iwb_stage_iReg__log_reg_32_T_42 | iwb_stage_iReg__log_reg_32_T_11; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_44 = iwb_stage_iReg__log_reg_32_T_43 | iwb_stage_iReg__log_reg_32_T_12; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_45 = iwb_stage_iReg__log_reg_32_T_44 | iwb_stage_iReg__log_reg_32_T_13; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_46 = iwb_stage_iReg__log_reg_32_T_45 | iwb_stage_iReg__log_reg_32_T_14; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_47 = iwb_stage_iReg__log_reg_32_T_46 | iwb_stage_iReg__log_reg_32_T_15; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_48 = iwb_stage_iReg__log_reg_32_T_47 | iwb_stage_iReg__log_reg_32_T_16; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_49 = iwb_stage_iReg__log_reg_32_T_48 | iwb_stage_iReg__log_reg_32_T_17; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_50 = iwb_stage_iReg__log_reg_32_T_49 | iwb_stage_iReg__log_reg_32_T_18; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_51 = iwb_stage_iReg__log_reg_32_T_50 | iwb_stage_iReg__log_reg_32_T_19; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_52 = iwb_stage_iReg__log_reg_32_T_51 | iwb_stage_iReg__log_reg_32_T_20; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_53 = iwb_stage_iReg__log_reg_32_T_52 | iwb_stage_iReg__log_reg_32_T_21; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_54 = iwb_stage_iReg__log_reg_32_T_53 | iwb_stage_iReg__log_reg_32_T_22; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_55 = iwb_stage_iReg__log_reg_32_T_54 | iwb_stage_iReg__log_reg_32_T_23; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_56 = iwb_stage_iReg__log_reg_32_T_55 | iwb_stage_iReg__log_reg_32_T_24; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_57 = iwb_stage_iReg__log_reg_32_T_56 | iwb_stage_iReg__log_reg_32_T_25; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_58 = iwb_stage_iReg__log_reg_32_T_57 | iwb_stage_iReg__log_reg_32_T_26; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_59 = iwb_stage_iReg__log_reg_32_T_58 | iwb_stage_iReg__log_reg_32_T_27; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_60 = iwb_stage_iReg__log_reg_32_T_59 | iwb_stage_iReg__log_reg_32_T_28; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_61 = iwb_stage_iReg__log_reg_32_T_60 | iwb_stage_iReg__log_reg_32_T_29; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_62 = iwb_stage_iReg__log_reg_32_T_61 | iwb_stage_iReg__log_reg_32_T_30; // @[Regfiles.scala 223:82]
  wire  iwb_stage_iReg__log_reg_32_T_63 = iwb_stage_iReg__log_reg_32_T_62 | iwb_stage_iReg__log_reg_32_T_31; // @[Regfiles.scala 223:82]
  wire [1:0] iwb_stage_iReg__log_reg_32_T_64 = iwb_stage_iReg__log_reg_32_T_63 ? iwb_stage_iReg_log_reg_32 : 2'h0; // @[Regfiles.scala 223:63]
  wire [1:0] iwb_stage_iReg__GEN_1690 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_0_T_64 : iwb_stage_iReg__GEN_1590
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1691 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_1_T_64 : iwb_stage_iReg__GEN_1591
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1692 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_2_T_64 : iwb_stage_iReg__GEN_1592
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1693 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_3_T_64 : iwb_stage_iReg__GEN_1593
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1694 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_4_T_64 : iwb_stage_iReg__GEN_1594
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1695 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_5_T_64 : iwb_stage_iReg__GEN_1595
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1696 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_6_T_64 : iwb_stage_iReg__GEN_1596
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1697 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_7_T_64 : iwb_stage_iReg__GEN_1597
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1698 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_8_T_64 : iwb_stage_iReg__GEN_1598
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1699 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_9_T_64 : iwb_stage_iReg__GEN_1599
    ; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1700 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_10_T_64 :
    iwb_stage_iReg__GEN_1600; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1701 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_11_T_64 :
    iwb_stage_iReg__GEN_1601; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1702 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_12_T_64 :
    iwb_stage_iReg__GEN_1602; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1703 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_13_T_64 :
    iwb_stage_iReg__GEN_1603; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1704 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_14_T_64 :
    iwb_stage_iReg__GEN_1604; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1705 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_15_T_64 :
    iwb_stage_iReg__GEN_1605; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1706 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_16_T_64 :
    iwb_stage_iReg__GEN_1606; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1707 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_17_T_64 :
    iwb_stage_iReg__GEN_1607; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1708 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_18_T_64 :
    iwb_stage_iReg__GEN_1608; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1709 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_19_T_64 :
    iwb_stage_iReg__GEN_1609; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1710 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_20_T_64 :
    iwb_stage_iReg__GEN_1610; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1711 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_21_T_64 :
    iwb_stage_iReg__GEN_1611; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1712 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_22_T_64 :
    iwb_stage_iReg__GEN_1612; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1713 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_23_T_64 :
    iwb_stage_iReg__GEN_1613; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1714 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_24_T_64 :
    iwb_stage_iReg__GEN_1614; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1715 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_25_T_64 :
    iwb_stage_iReg__GEN_1615; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1716 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_26_T_64 :
    iwb_stage_iReg__GEN_1616; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1717 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_27_T_64 :
    iwb_stage_iReg__GEN_1617; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1718 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_28_T_64 :
    iwb_stage_iReg__GEN_1618; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1719 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_29_T_64 :
    iwb_stage_iReg__GEN_1619; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1720 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_30_T_64 :
    iwb_stage_iReg__GEN_1620; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1721 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_31_T_64 :
    iwb_stage_iReg__GEN_1621; // @[Regfiles.scala 221:64 223:57]
  wire [1:0] iwb_stage_iReg__GEN_1722 = iwb_stage_iReg__T_39 ? iwb_stage_iReg__log_reg_32_T_64 :
    iwb_stage_iReg__GEN_1622; // @[Regfiles.scala 221:64 223:57]
  wire  iwb_stage_iReg__T_118 = iwb_stage_iReg_io_commit_0_is_MisPredict | iwb_stage_iReg_io_commit_0_is_comfirm; // @[Regfiles.scala 225:38]
  wire  iwb_stage_iReg__T_121 = ~iwb_stage_iReg_io_commit_0_is_writeback; // @[Regfiles.scala 227:13]
  wire [5:0] iwb_stage_iReg__GEN_1724 = 5'h1 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_1 :
    iwb_stage_iReg_archit_ptr_0; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1725 = 5'h2 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_2 :
    iwb_stage_iReg__GEN_1724; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1726 = 5'h3 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_3 :
    iwb_stage_iReg__GEN_1725; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1727 = 5'h4 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_4 :
    iwb_stage_iReg__GEN_1726; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1728 = 5'h5 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_5 :
    iwb_stage_iReg__GEN_1727; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1729 = 5'h6 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_6 :
    iwb_stage_iReg__GEN_1728; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1730 = 5'h7 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_7 :
    iwb_stage_iReg__GEN_1729; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1731 = 5'h8 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_8 :
    iwb_stage_iReg__GEN_1730; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1732 = 5'h9 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_9 :
    iwb_stage_iReg__GEN_1731; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1733 = 5'ha == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_10 :
    iwb_stage_iReg__GEN_1732; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1734 = 5'hb == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_11 :
    iwb_stage_iReg__GEN_1733; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1735 = 5'hc == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_12 :
    iwb_stage_iReg__GEN_1734; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1736 = 5'hd == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_13 :
    iwb_stage_iReg__GEN_1735; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1737 = 5'he == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_14 :
    iwb_stage_iReg__GEN_1736; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1738 = 5'hf == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_15 :
    iwb_stage_iReg__GEN_1737; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1739 = 5'h10 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_16 :
    iwb_stage_iReg__GEN_1738; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1740 = 5'h11 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_17 :
    iwb_stage_iReg__GEN_1739; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1741 = 5'h12 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_18 :
    iwb_stage_iReg__GEN_1740; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1742 = 5'h13 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_19 :
    iwb_stage_iReg__GEN_1741; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1743 = 5'h14 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_20 :
    iwb_stage_iReg__GEN_1742; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1744 = 5'h15 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_21 :
    iwb_stage_iReg__GEN_1743; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1745 = 5'h16 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_22 :
    iwb_stage_iReg__GEN_1744; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1746 = 5'h17 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_23 :
    iwb_stage_iReg__GEN_1745; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1747 = 5'h18 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_24 :
    iwb_stage_iReg__GEN_1746; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1748 = 5'h19 == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_25 :
    iwb_stage_iReg__GEN_1747; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1749 = 5'h1a == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_26 :
    iwb_stage_iReg__GEN_1748; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1750 = 5'h1b == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_27 :
    iwb_stage_iReg__GEN_1749; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1751 = 5'h1c == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_28 :
    iwb_stage_iReg__GEN_1750; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1752 = 5'h1d == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_29 :
    iwb_stage_iReg__GEN_1751; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1753 = 5'h1e == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_30 :
    iwb_stage_iReg__GEN_1752; // @[Regfiles.scala 229:{18,18}]
  wire [5:0] iwb_stage_iReg__GEN_1754 = 5'h1f == iwb_stage_iReg_io_commit_0_raw ? iwb_stage_iReg_archit_ptr_31 :
    iwb_stage_iReg__GEN_1753; // @[Regfiles.scala 229:{18,18}]
  wire  iwb_stage_iReg__T_122 = 6'h0 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_123 = 6'h1 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_124 = 6'h2 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_125 = 6'h3 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_126 = 6'h4 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_127 = 6'h5 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_128 = 6'h6 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_129 = 6'h7 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_130 = 6'h8 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_131 = 6'h9 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_132 = 6'ha == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_133 = 6'hb == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_134 = 6'hc == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_135 = 6'hd == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_136 = 6'he == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_137 = 6'hf == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_138 = 6'h10 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_139 = 6'h11 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_140 = 6'h12 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_141 = 6'h13 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_142 = 6'h14 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_143 = 6'h15 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_144 = 6'h16 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_145 = 6'h17 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_146 = 6'h18 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_147 = 6'h19 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_148 = 6'h1a == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_149 = 6'h1b == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_150 = 6'h1c == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_151 = 6'h1d == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_152 = 6'h1e == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_153 = 6'h1f == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_154 = 6'h20 == iwb_stage_iReg__GEN_1754; // @[Regfiles.scala 229:18]
  wire  iwb_stage_iReg__T_155 = iwb_stage_iReg__GEN_1688 == 2'h3; // @[Regfiles.scala 231:31]
  wire  iwb_stage_iReg__T_158 = ~iwb_stage_iReg__T_155; // @[Regfiles.scala 231:13]
  wire [1:0] iwb_stage_iReg__GEN_1952 = 6'h1 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1953 = 6'h2 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1952; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1954 = 6'h3 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1953; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1955 = 6'h4 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1954; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1956 = 6'h5 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1955; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1957 = 6'h6 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1956; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1958 = 6'h7 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1957; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1959 = 6'h8 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1958; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1960 = 6'h9 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1959; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1961 = 6'ha == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1960; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1962 = 6'hb == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1961; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1963 = 6'hc == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1962; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1964 = 6'hd == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1963; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1965 = 6'he == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1964; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1966 = 6'hf == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1965; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1967 = 6'h10 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_1966; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1968 = 6'h11 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_1967; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1969 = 6'h12 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_1968; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1970 = 6'h13 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_1969; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1971 = 6'h14 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_1970; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1972 = 6'h15 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_1971; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1973 = 6'h16 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_1972; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1974 = 6'h17 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_1973; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1975 = 6'h18 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_1974; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1976 = 6'h19 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_1975; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1977 = 6'h1a == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_1976; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1978 = 6'h1b == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_1977; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1979 = 6'h1c == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_1978; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1980 = 6'h1d == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_1979; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1981 = 6'h1e == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_1980; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1982 = 6'h1f == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_1981; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1983 = 6'h20 == iwb_stage_iReg_archit_ptr_0 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_1982; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1984 = 6'h21 == iwb_stage_iReg_archit_ptr_0 ? 2'h3 : iwb_stage_iReg__GEN_1983; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_160 = iwb_stage_iReg__GEN_1984 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_163 = ~iwb_stage_iReg__T_160; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_1986 = 6'h1 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1987 = 6'h2 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_1986; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1988 = 6'h3 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_1987; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1989 = 6'h4 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_1988; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1990 = 6'h5 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_1989; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1991 = 6'h6 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_1990; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1992 = 6'h7 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_1991; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1993 = 6'h8 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_1992; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1994 = 6'h9 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_1993; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1995 = 6'ha == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_1994; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1996 = 6'hb == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_1995; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1997 = 6'hc == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_1996; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1998 = 6'hd == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_1997; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_1999 = 6'he == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_1998; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2000 = 6'hf == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_1999; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2001 = 6'h10 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2000; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2002 = 6'h11 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2001; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2003 = 6'h12 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2002; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2004 = 6'h13 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2003; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2005 = 6'h14 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2004; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2006 = 6'h15 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2005; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2007 = 6'h16 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2006; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2008 = 6'h17 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2007; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2009 = 6'h18 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2008; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2010 = 6'h19 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2009; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2011 = 6'h1a == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2010; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2012 = 6'h1b == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2011; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2013 = 6'h1c == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2012; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2014 = 6'h1d == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2013; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2015 = 6'h1e == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2014; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2016 = 6'h1f == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2015; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2017 = 6'h20 == iwb_stage_iReg_archit_ptr_1 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2016; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2018 = 6'h21 == iwb_stage_iReg_archit_ptr_1 ? 2'h3 : iwb_stage_iReg__GEN_2017; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_164 = iwb_stage_iReg__GEN_2018 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_167 = ~iwb_stage_iReg__T_164; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2020 = 6'h1 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2021 = 6'h2 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2020; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2022 = 6'h3 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2021; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2023 = 6'h4 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2022; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2024 = 6'h5 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2023; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2025 = 6'h6 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2024; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2026 = 6'h7 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2025; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2027 = 6'h8 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2026; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2028 = 6'h9 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2027; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2029 = 6'ha == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2028; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2030 = 6'hb == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2029; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2031 = 6'hc == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2030; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2032 = 6'hd == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2031; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2033 = 6'he == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2032; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2034 = 6'hf == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2033; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2035 = 6'h10 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2034; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2036 = 6'h11 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2035; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2037 = 6'h12 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2036; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2038 = 6'h13 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2037; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2039 = 6'h14 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2038; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2040 = 6'h15 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2039; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2041 = 6'h16 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2040; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2042 = 6'h17 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2041; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2043 = 6'h18 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2042; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2044 = 6'h19 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2043; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2045 = 6'h1a == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2044; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2046 = 6'h1b == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2045; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2047 = 6'h1c == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2046; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2048 = 6'h1d == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2047; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2049 = 6'h1e == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2048; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2050 = 6'h1f == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2049; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2051 = 6'h20 == iwb_stage_iReg_archit_ptr_2 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2050; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2052 = 6'h21 == iwb_stage_iReg_archit_ptr_2 ? 2'h3 : iwb_stage_iReg__GEN_2051; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_168 = iwb_stage_iReg__GEN_2052 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_171 = ~iwb_stage_iReg__T_168; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2054 = 6'h1 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2055 = 6'h2 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2054; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2056 = 6'h3 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2055; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2057 = 6'h4 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2056; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2058 = 6'h5 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2057; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2059 = 6'h6 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2058; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2060 = 6'h7 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2059; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2061 = 6'h8 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2060; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2062 = 6'h9 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2061; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2063 = 6'ha == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2062; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2064 = 6'hb == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2063; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2065 = 6'hc == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2064; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2066 = 6'hd == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2065; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2067 = 6'he == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2066; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2068 = 6'hf == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2067; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2069 = 6'h10 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2068; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2070 = 6'h11 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2069; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2071 = 6'h12 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2070; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2072 = 6'h13 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2071; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2073 = 6'h14 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2072; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2074 = 6'h15 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2073; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2075 = 6'h16 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2074; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2076 = 6'h17 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2075; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2077 = 6'h18 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2076; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2078 = 6'h19 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2077; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2079 = 6'h1a == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2078; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2080 = 6'h1b == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2079; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2081 = 6'h1c == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2080; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2082 = 6'h1d == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2081; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2083 = 6'h1e == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2082; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2084 = 6'h1f == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2083; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2085 = 6'h20 == iwb_stage_iReg_archit_ptr_3 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2084; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2086 = 6'h21 == iwb_stage_iReg_archit_ptr_3 ? 2'h3 : iwb_stage_iReg__GEN_2085; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_172 = iwb_stage_iReg__GEN_2086 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_175 = ~iwb_stage_iReg__T_172; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2088 = 6'h1 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2089 = 6'h2 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2088; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2090 = 6'h3 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2089; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2091 = 6'h4 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2090; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2092 = 6'h5 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2091; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2093 = 6'h6 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2092; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2094 = 6'h7 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2093; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2095 = 6'h8 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2094; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2096 = 6'h9 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2095; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2097 = 6'ha == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2096; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2098 = 6'hb == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2097; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2099 = 6'hc == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2098; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2100 = 6'hd == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2099; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2101 = 6'he == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2100; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2102 = 6'hf == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2101; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2103 = 6'h10 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2102; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2104 = 6'h11 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2103; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2105 = 6'h12 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2104; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2106 = 6'h13 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2105; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2107 = 6'h14 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2106; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2108 = 6'h15 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2107; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2109 = 6'h16 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2108; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2110 = 6'h17 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2109; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2111 = 6'h18 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2110; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2112 = 6'h19 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2111; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2113 = 6'h1a == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2112; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2114 = 6'h1b == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2113; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2115 = 6'h1c == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2114; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2116 = 6'h1d == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2115; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2117 = 6'h1e == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2116; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2118 = 6'h1f == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2117; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2119 = 6'h20 == iwb_stage_iReg_archit_ptr_4 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2118; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2120 = 6'h21 == iwb_stage_iReg_archit_ptr_4 ? 2'h3 : iwb_stage_iReg__GEN_2119; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_176 = iwb_stage_iReg__GEN_2120 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_179 = ~iwb_stage_iReg__T_176; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2122 = 6'h1 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2123 = 6'h2 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2122; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2124 = 6'h3 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2123; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2125 = 6'h4 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2124; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2126 = 6'h5 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2125; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2127 = 6'h6 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2126; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2128 = 6'h7 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2127; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2129 = 6'h8 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2128; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2130 = 6'h9 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2129; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2131 = 6'ha == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2130; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2132 = 6'hb == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2131; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2133 = 6'hc == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2132; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2134 = 6'hd == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2133; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2135 = 6'he == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2134; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2136 = 6'hf == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2135; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2137 = 6'h10 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2136; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2138 = 6'h11 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2137; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2139 = 6'h12 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2138; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2140 = 6'h13 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2139; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2141 = 6'h14 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2140; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2142 = 6'h15 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2141; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2143 = 6'h16 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2142; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2144 = 6'h17 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2143; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2145 = 6'h18 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2144; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2146 = 6'h19 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2145; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2147 = 6'h1a == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2146; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2148 = 6'h1b == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2147; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2149 = 6'h1c == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2148; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2150 = 6'h1d == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2149; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2151 = 6'h1e == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2150; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2152 = 6'h1f == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2151; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2153 = 6'h20 == iwb_stage_iReg_archit_ptr_5 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2152; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2154 = 6'h21 == iwb_stage_iReg_archit_ptr_5 ? 2'h3 : iwb_stage_iReg__GEN_2153; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_180 = iwb_stage_iReg__GEN_2154 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_183 = ~iwb_stage_iReg__T_180; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2156 = 6'h1 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2157 = 6'h2 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2156; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2158 = 6'h3 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2157; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2159 = 6'h4 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2158; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2160 = 6'h5 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2159; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2161 = 6'h6 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2160; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2162 = 6'h7 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2161; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2163 = 6'h8 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2162; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2164 = 6'h9 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2163; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2165 = 6'ha == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2164; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2166 = 6'hb == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2165; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2167 = 6'hc == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2166; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2168 = 6'hd == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2167; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2169 = 6'he == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2168; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2170 = 6'hf == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2169; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2171 = 6'h10 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2170; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2172 = 6'h11 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2171; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2173 = 6'h12 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2172; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2174 = 6'h13 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2173; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2175 = 6'h14 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2174; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2176 = 6'h15 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2175; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2177 = 6'h16 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2176; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2178 = 6'h17 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2177; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2179 = 6'h18 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2178; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2180 = 6'h19 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2179; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2181 = 6'h1a == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2180; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2182 = 6'h1b == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2181; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2183 = 6'h1c == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2182; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2184 = 6'h1d == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2183; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2185 = 6'h1e == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2184; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2186 = 6'h1f == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2185; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2187 = 6'h20 == iwb_stage_iReg_archit_ptr_6 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2186; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2188 = 6'h21 == iwb_stage_iReg_archit_ptr_6 ? 2'h3 : iwb_stage_iReg__GEN_2187; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_184 = iwb_stage_iReg__GEN_2188 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_187 = ~iwb_stage_iReg__T_184; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2190 = 6'h1 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2191 = 6'h2 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2190; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2192 = 6'h3 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2191; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2193 = 6'h4 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2192; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2194 = 6'h5 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2193; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2195 = 6'h6 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2194; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2196 = 6'h7 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2195; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2197 = 6'h8 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2196; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2198 = 6'h9 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2197; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2199 = 6'ha == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2198; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2200 = 6'hb == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2199; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2201 = 6'hc == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2200; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2202 = 6'hd == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2201; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2203 = 6'he == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2202; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2204 = 6'hf == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2203; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2205 = 6'h10 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2204; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2206 = 6'h11 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2205; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2207 = 6'h12 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2206; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2208 = 6'h13 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2207; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2209 = 6'h14 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2208; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2210 = 6'h15 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2209; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2211 = 6'h16 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2210; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2212 = 6'h17 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2211; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2213 = 6'h18 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2212; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2214 = 6'h19 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2213; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2215 = 6'h1a == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2214; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2216 = 6'h1b == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2215; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2217 = 6'h1c == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2216; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2218 = 6'h1d == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2217; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2219 = 6'h1e == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2218; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2220 = 6'h1f == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2219; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2221 = 6'h20 == iwb_stage_iReg_archit_ptr_7 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2220; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2222 = 6'h21 == iwb_stage_iReg_archit_ptr_7 ? 2'h3 : iwb_stage_iReg__GEN_2221; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_188 = iwb_stage_iReg__GEN_2222 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_191 = ~iwb_stage_iReg__T_188; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2224 = 6'h1 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2225 = 6'h2 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2224; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2226 = 6'h3 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2225; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2227 = 6'h4 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2226; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2228 = 6'h5 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2227; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2229 = 6'h6 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2228; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2230 = 6'h7 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2229; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2231 = 6'h8 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2230; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2232 = 6'h9 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2231; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2233 = 6'ha == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2232; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2234 = 6'hb == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2233; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2235 = 6'hc == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2234; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2236 = 6'hd == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2235; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2237 = 6'he == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2236; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2238 = 6'hf == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2237; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2239 = 6'h10 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2238; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2240 = 6'h11 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2239; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2241 = 6'h12 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2240; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2242 = 6'h13 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2241; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2243 = 6'h14 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2242; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2244 = 6'h15 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2243; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2245 = 6'h16 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2244; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2246 = 6'h17 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2245; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2247 = 6'h18 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2246; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2248 = 6'h19 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2247; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2249 = 6'h1a == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2248; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2250 = 6'h1b == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2249; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2251 = 6'h1c == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2250; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2252 = 6'h1d == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2251; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2253 = 6'h1e == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2252; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2254 = 6'h1f == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2253; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2255 = 6'h20 == iwb_stage_iReg_archit_ptr_8 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2254; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2256 = 6'h21 == iwb_stage_iReg_archit_ptr_8 ? 2'h3 : iwb_stage_iReg__GEN_2255; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_192 = iwb_stage_iReg__GEN_2256 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_195 = ~iwb_stage_iReg__T_192; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2258 = 6'h1 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2259 = 6'h2 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2258; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2260 = 6'h3 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2259; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2261 = 6'h4 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2260; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2262 = 6'h5 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2261; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2263 = 6'h6 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2262; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2264 = 6'h7 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2263; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2265 = 6'h8 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2264; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2266 = 6'h9 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2265; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2267 = 6'ha == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2266; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2268 = 6'hb == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2267; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2269 = 6'hc == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2268; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2270 = 6'hd == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2269; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2271 = 6'he == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2270; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2272 = 6'hf == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2271; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2273 = 6'h10 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2272; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2274 = 6'h11 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2273; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2275 = 6'h12 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2274; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2276 = 6'h13 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2275; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2277 = 6'h14 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2276; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2278 = 6'h15 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2277; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2279 = 6'h16 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2278; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2280 = 6'h17 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2279; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2281 = 6'h18 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2280; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2282 = 6'h19 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2281; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2283 = 6'h1a == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2282; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2284 = 6'h1b == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2283; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2285 = 6'h1c == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2284; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2286 = 6'h1d == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2285; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2287 = 6'h1e == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2286; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2288 = 6'h1f == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2287; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2289 = 6'h20 == iwb_stage_iReg_archit_ptr_9 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2288; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2290 = 6'h21 == iwb_stage_iReg_archit_ptr_9 ? 2'h3 : iwb_stage_iReg__GEN_2289; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_196 = iwb_stage_iReg__GEN_2290 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_199 = ~iwb_stage_iReg__T_196; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2292 = 6'h1 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2293 = 6'h2 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2292; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2294 = 6'h3 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2293; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2295 = 6'h4 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2294; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2296 = 6'h5 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2295; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2297 = 6'h6 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2296; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2298 = 6'h7 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2297; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2299 = 6'h8 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2298; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2300 = 6'h9 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2299; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2301 = 6'ha == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2300; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2302 = 6'hb == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2301; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2303 = 6'hc == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2302; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2304 = 6'hd == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2303; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2305 = 6'he == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2304; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2306 = 6'hf == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2305; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2307 = 6'h10 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2306; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2308 = 6'h11 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2307; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2309 = 6'h12 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2308; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2310 = 6'h13 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2309; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2311 = 6'h14 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2310; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2312 = 6'h15 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2311; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2313 = 6'h16 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2312; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2314 = 6'h17 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2313; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2315 = 6'h18 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2314; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2316 = 6'h19 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2315; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2317 = 6'h1a == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2316; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2318 = 6'h1b == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2317; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2319 = 6'h1c == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2318; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2320 = 6'h1d == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2319; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2321 = 6'h1e == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2320; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2322 = 6'h1f == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2321; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2323 = 6'h20 == iwb_stage_iReg_archit_ptr_10 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2322; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2324 = 6'h21 == iwb_stage_iReg_archit_ptr_10 ? 2'h3 : iwb_stage_iReg__GEN_2323; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_200 = iwb_stage_iReg__GEN_2324 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_203 = ~iwb_stage_iReg__T_200; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2326 = 6'h1 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2327 = 6'h2 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2326; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2328 = 6'h3 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2327; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2329 = 6'h4 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2328; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2330 = 6'h5 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2329; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2331 = 6'h6 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2330; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2332 = 6'h7 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2331; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2333 = 6'h8 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2332; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2334 = 6'h9 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2333; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2335 = 6'ha == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2334; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2336 = 6'hb == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2335; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2337 = 6'hc == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2336; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2338 = 6'hd == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2337; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2339 = 6'he == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2338; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2340 = 6'hf == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2339; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2341 = 6'h10 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2340; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2342 = 6'h11 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2341; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2343 = 6'h12 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2342; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2344 = 6'h13 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2343; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2345 = 6'h14 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2344; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2346 = 6'h15 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2345; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2347 = 6'h16 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2346; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2348 = 6'h17 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2347; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2349 = 6'h18 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2348; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2350 = 6'h19 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2349; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2351 = 6'h1a == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2350; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2352 = 6'h1b == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2351; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2353 = 6'h1c == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2352; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2354 = 6'h1d == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2353; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2355 = 6'h1e == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2354; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2356 = 6'h1f == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2355; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2357 = 6'h20 == iwb_stage_iReg_archit_ptr_11 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2356; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2358 = 6'h21 == iwb_stage_iReg_archit_ptr_11 ? 2'h3 : iwb_stage_iReg__GEN_2357; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_204 = iwb_stage_iReg__GEN_2358 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_207 = ~iwb_stage_iReg__T_204; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2360 = 6'h1 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2361 = 6'h2 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2360; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2362 = 6'h3 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2361; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2363 = 6'h4 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2362; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2364 = 6'h5 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2363; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2365 = 6'h6 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2364; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2366 = 6'h7 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2365; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2367 = 6'h8 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2366; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2368 = 6'h9 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2367; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2369 = 6'ha == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2368; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2370 = 6'hb == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2369; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2371 = 6'hc == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2370; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2372 = 6'hd == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2371; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2373 = 6'he == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2372; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2374 = 6'hf == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2373; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2375 = 6'h10 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2374; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2376 = 6'h11 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2375; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2377 = 6'h12 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2376; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2378 = 6'h13 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2377; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2379 = 6'h14 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2378; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2380 = 6'h15 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2379; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2381 = 6'h16 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2380; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2382 = 6'h17 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2381; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2383 = 6'h18 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2382; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2384 = 6'h19 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2383; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2385 = 6'h1a == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2384; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2386 = 6'h1b == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2385; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2387 = 6'h1c == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2386; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2388 = 6'h1d == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2387; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2389 = 6'h1e == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2388; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2390 = 6'h1f == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2389; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2391 = 6'h20 == iwb_stage_iReg_archit_ptr_12 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2390; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2392 = 6'h21 == iwb_stage_iReg_archit_ptr_12 ? 2'h3 : iwb_stage_iReg__GEN_2391; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_208 = iwb_stage_iReg__GEN_2392 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_211 = ~iwb_stage_iReg__T_208; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2394 = 6'h1 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2395 = 6'h2 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2394; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2396 = 6'h3 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2395; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2397 = 6'h4 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2396; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2398 = 6'h5 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2397; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2399 = 6'h6 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2398; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2400 = 6'h7 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2399; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2401 = 6'h8 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2400; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2402 = 6'h9 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2401; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2403 = 6'ha == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2402; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2404 = 6'hb == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2403; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2405 = 6'hc == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2404; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2406 = 6'hd == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2405; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2407 = 6'he == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2406; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2408 = 6'hf == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2407; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2409 = 6'h10 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2408; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2410 = 6'h11 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2409; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2411 = 6'h12 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2410; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2412 = 6'h13 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2411; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2413 = 6'h14 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2412; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2414 = 6'h15 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2413; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2415 = 6'h16 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2414; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2416 = 6'h17 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2415; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2417 = 6'h18 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2416; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2418 = 6'h19 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2417; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2419 = 6'h1a == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2418; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2420 = 6'h1b == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2419; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2421 = 6'h1c == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2420; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2422 = 6'h1d == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2421; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2423 = 6'h1e == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2422; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2424 = 6'h1f == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2423; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2425 = 6'h20 == iwb_stage_iReg_archit_ptr_13 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2424; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2426 = 6'h21 == iwb_stage_iReg_archit_ptr_13 ? 2'h3 : iwb_stage_iReg__GEN_2425; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_212 = iwb_stage_iReg__GEN_2426 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_215 = ~iwb_stage_iReg__T_212; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2428 = 6'h1 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2429 = 6'h2 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2428; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2430 = 6'h3 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2429; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2431 = 6'h4 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2430; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2432 = 6'h5 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2431; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2433 = 6'h6 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2432; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2434 = 6'h7 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2433; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2435 = 6'h8 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2434; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2436 = 6'h9 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2435; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2437 = 6'ha == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2436; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2438 = 6'hb == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2437; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2439 = 6'hc == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2438; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2440 = 6'hd == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2439; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2441 = 6'he == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2440; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2442 = 6'hf == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2441; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2443 = 6'h10 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2442; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2444 = 6'h11 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2443; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2445 = 6'h12 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2444; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2446 = 6'h13 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2445; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2447 = 6'h14 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2446; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2448 = 6'h15 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2447; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2449 = 6'h16 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2448; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2450 = 6'h17 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2449; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2451 = 6'h18 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2450; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2452 = 6'h19 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2451; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2453 = 6'h1a == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2452; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2454 = 6'h1b == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2453; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2455 = 6'h1c == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2454; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2456 = 6'h1d == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2455; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2457 = 6'h1e == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2456; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2458 = 6'h1f == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2457; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2459 = 6'h20 == iwb_stage_iReg_archit_ptr_14 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2458; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2460 = 6'h21 == iwb_stage_iReg_archit_ptr_14 ? 2'h3 : iwb_stage_iReg__GEN_2459; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_216 = iwb_stage_iReg__GEN_2460 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_219 = ~iwb_stage_iReg__T_216; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2462 = 6'h1 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2463 = 6'h2 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2462; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2464 = 6'h3 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2463; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2465 = 6'h4 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2464; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2466 = 6'h5 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2465; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2467 = 6'h6 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2466; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2468 = 6'h7 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2467; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2469 = 6'h8 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2468; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2470 = 6'h9 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2469; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2471 = 6'ha == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2470; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2472 = 6'hb == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2471; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2473 = 6'hc == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2472; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2474 = 6'hd == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2473; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2475 = 6'he == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2474; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2476 = 6'hf == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2475; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2477 = 6'h10 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2476; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2478 = 6'h11 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2477; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2479 = 6'h12 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2478; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2480 = 6'h13 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2479; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2481 = 6'h14 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2480; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2482 = 6'h15 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2481; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2483 = 6'h16 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2482; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2484 = 6'h17 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2483; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2485 = 6'h18 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2484; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2486 = 6'h19 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2485; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2487 = 6'h1a == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2486; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2488 = 6'h1b == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2487; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2489 = 6'h1c == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2488; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2490 = 6'h1d == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2489; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2491 = 6'h1e == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2490; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2492 = 6'h1f == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2491; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2493 = 6'h20 == iwb_stage_iReg_archit_ptr_15 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2492; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2494 = 6'h21 == iwb_stage_iReg_archit_ptr_15 ? 2'h3 : iwb_stage_iReg__GEN_2493; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_220 = iwb_stage_iReg__GEN_2494 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_223 = ~iwb_stage_iReg__T_220; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2496 = 6'h1 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2497 = 6'h2 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2496; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2498 = 6'h3 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2497; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2499 = 6'h4 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2498; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2500 = 6'h5 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2499; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2501 = 6'h6 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2500; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2502 = 6'h7 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2501; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2503 = 6'h8 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2502; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2504 = 6'h9 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2503; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2505 = 6'ha == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2504; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2506 = 6'hb == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2505; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2507 = 6'hc == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2506; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2508 = 6'hd == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2507; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2509 = 6'he == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2508; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2510 = 6'hf == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2509; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2511 = 6'h10 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2510; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2512 = 6'h11 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2511; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2513 = 6'h12 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2512; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2514 = 6'h13 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2513; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2515 = 6'h14 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2514; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2516 = 6'h15 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2515; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2517 = 6'h16 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2516; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2518 = 6'h17 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2517; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2519 = 6'h18 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2518; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2520 = 6'h19 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2519; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2521 = 6'h1a == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2520; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2522 = 6'h1b == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2521; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2523 = 6'h1c == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2522; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2524 = 6'h1d == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2523; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2525 = 6'h1e == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2524; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2526 = 6'h1f == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2525; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2527 = 6'h20 == iwb_stage_iReg_archit_ptr_16 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2526; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2528 = 6'h21 == iwb_stage_iReg_archit_ptr_16 ? 2'h3 : iwb_stage_iReg__GEN_2527; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_224 = iwb_stage_iReg__GEN_2528 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_227 = ~iwb_stage_iReg__T_224; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2530 = 6'h1 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2531 = 6'h2 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2530; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2532 = 6'h3 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2531; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2533 = 6'h4 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2532; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2534 = 6'h5 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2533; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2535 = 6'h6 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2534; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2536 = 6'h7 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2535; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2537 = 6'h8 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2536; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2538 = 6'h9 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2537; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2539 = 6'ha == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2538; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2540 = 6'hb == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2539; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2541 = 6'hc == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2540; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2542 = 6'hd == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2541; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2543 = 6'he == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2542; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2544 = 6'hf == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2543; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2545 = 6'h10 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2544; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2546 = 6'h11 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2545; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2547 = 6'h12 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2546; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2548 = 6'h13 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2547; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2549 = 6'h14 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2548; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2550 = 6'h15 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2549; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2551 = 6'h16 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2550; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2552 = 6'h17 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2551; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2553 = 6'h18 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2552; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2554 = 6'h19 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2553; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2555 = 6'h1a == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2554; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2556 = 6'h1b == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2555; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2557 = 6'h1c == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2556; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2558 = 6'h1d == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2557; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2559 = 6'h1e == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2558; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2560 = 6'h1f == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2559; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2561 = 6'h20 == iwb_stage_iReg_archit_ptr_17 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2560; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2562 = 6'h21 == iwb_stage_iReg_archit_ptr_17 ? 2'h3 : iwb_stage_iReg__GEN_2561; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_228 = iwb_stage_iReg__GEN_2562 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_231 = ~iwb_stage_iReg__T_228; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2564 = 6'h1 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2565 = 6'h2 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2564; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2566 = 6'h3 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2565; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2567 = 6'h4 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2566; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2568 = 6'h5 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2567; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2569 = 6'h6 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2568; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2570 = 6'h7 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2569; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2571 = 6'h8 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2570; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2572 = 6'h9 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2571; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2573 = 6'ha == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2572; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2574 = 6'hb == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2573; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2575 = 6'hc == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2574; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2576 = 6'hd == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2575; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2577 = 6'he == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2576; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2578 = 6'hf == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2577; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2579 = 6'h10 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2578; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2580 = 6'h11 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2579; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2581 = 6'h12 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2580; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2582 = 6'h13 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2581; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2583 = 6'h14 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2582; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2584 = 6'h15 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2583; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2585 = 6'h16 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2584; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2586 = 6'h17 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2585; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2587 = 6'h18 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2586; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2588 = 6'h19 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2587; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2589 = 6'h1a == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2588; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2590 = 6'h1b == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2589; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2591 = 6'h1c == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2590; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2592 = 6'h1d == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2591; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2593 = 6'h1e == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2592; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2594 = 6'h1f == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2593; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2595 = 6'h20 == iwb_stage_iReg_archit_ptr_18 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2594; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2596 = 6'h21 == iwb_stage_iReg_archit_ptr_18 ? 2'h3 : iwb_stage_iReg__GEN_2595; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_232 = iwb_stage_iReg__GEN_2596 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_235 = ~iwb_stage_iReg__T_232; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2598 = 6'h1 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2599 = 6'h2 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2598; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2600 = 6'h3 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2599; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2601 = 6'h4 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2600; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2602 = 6'h5 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2601; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2603 = 6'h6 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2602; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2604 = 6'h7 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2603; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2605 = 6'h8 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2604; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2606 = 6'h9 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2605; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2607 = 6'ha == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2606; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2608 = 6'hb == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2607; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2609 = 6'hc == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2608; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2610 = 6'hd == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2609; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2611 = 6'he == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2610; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2612 = 6'hf == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2611; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2613 = 6'h10 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2612; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2614 = 6'h11 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2613; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2615 = 6'h12 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2614; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2616 = 6'h13 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2615; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2617 = 6'h14 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2616; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2618 = 6'h15 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2617; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2619 = 6'h16 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2618; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2620 = 6'h17 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2619; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2621 = 6'h18 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2620; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2622 = 6'h19 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2621; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2623 = 6'h1a == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2622; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2624 = 6'h1b == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2623; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2625 = 6'h1c == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2624; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2626 = 6'h1d == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2625; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2627 = 6'h1e == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2626; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2628 = 6'h1f == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2627; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2629 = 6'h20 == iwb_stage_iReg_archit_ptr_19 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2628; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2630 = 6'h21 == iwb_stage_iReg_archit_ptr_19 ? 2'h3 : iwb_stage_iReg__GEN_2629; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_236 = iwb_stage_iReg__GEN_2630 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_239 = ~iwb_stage_iReg__T_236; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2632 = 6'h1 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2633 = 6'h2 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2632; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2634 = 6'h3 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2633; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2635 = 6'h4 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2634; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2636 = 6'h5 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2635; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2637 = 6'h6 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2636; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2638 = 6'h7 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2637; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2639 = 6'h8 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2638; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2640 = 6'h9 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2639; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2641 = 6'ha == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2640; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2642 = 6'hb == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2641; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2643 = 6'hc == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2642; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2644 = 6'hd == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2643; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2645 = 6'he == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2644; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2646 = 6'hf == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2645; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2647 = 6'h10 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2646; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2648 = 6'h11 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2647; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2649 = 6'h12 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2648; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2650 = 6'h13 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2649; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2651 = 6'h14 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2650; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2652 = 6'h15 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2651; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2653 = 6'h16 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2652; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2654 = 6'h17 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2653; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2655 = 6'h18 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2654; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2656 = 6'h19 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2655; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2657 = 6'h1a == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2656; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2658 = 6'h1b == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2657; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2659 = 6'h1c == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2658; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2660 = 6'h1d == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2659; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2661 = 6'h1e == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2660; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2662 = 6'h1f == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2661; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2663 = 6'h20 == iwb_stage_iReg_archit_ptr_20 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2662; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2664 = 6'h21 == iwb_stage_iReg_archit_ptr_20 ? 2'h3 : iwb_stage_iReg__GEN_2663; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_240 = iwb_stage_iReg__GEN_2664 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_243 = ~iwb_stage_iReg__T_240; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2666 = 6'h1 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2667 = 6'h2 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2666; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2668 = 6'h3 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2667; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2669 = 6'h4 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2668; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2670 = 6'h5 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2669; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2671 = 6'h6 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2670; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2672 = 6'h7 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2671; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2673 = 6'h8 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2672; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2674 = 6'h9 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2673; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2675 = 6'ha == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2674; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2676 = 6'hb == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2675; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2677 = 6'hc == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2676; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2678 = 6'hd == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2677; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2679 = 6'he == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2678; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2680 = 6'hf == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2679; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2681 = 6'h10 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2680; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2682 = 6'h11 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2681; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2683 = 6'h12 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2682; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2684 = 6'h13 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2683; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2685 = 6'h14 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2684; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2686 = 6'h15 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2685; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2687 = 6'h16 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2686; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2688 = 6'h17 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2687; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2689 = 6'h18 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2688; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2690 = 6'h19 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2689; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2691 = 6'h1a == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2690; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2692 = 6'h1b == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2691; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2693 = 6'h1c == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2692; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2694 = 6'h1d == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2693; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2695 = 6'h1e == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2694; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2696 = 6'h1f == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2695; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2697 = 6'h20 == iwb_stage_iReg_archit_ptr_21 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2696; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2698 = 6'h21 == iwb_stage_iReg_archit_ptr_21 ? 2'h3 : iwb_stage_iReg__GEN_2697; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_244 = iwb_stage_iReg__GEN_2698 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_247 = ~iwb_stage_iReg__T_244; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2700 = 6'h1 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2701 = 6'h2 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2700; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2702 = 6'h3 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2701; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2703 = 6'h4 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2702; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2704 = 6'h5 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2703; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2705 = 6'h6 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2704; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2706 = 6'h7 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2705; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2707 = 6'h8 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2706; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2708 = 6'h9 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2707; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2709 = 6'ha == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2708; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2710 = 6'hb == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2709; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2711 = 6'hc == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2710; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2712 = 6'hd == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2711; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2713 = 6'he == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2712; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2714 = 6'hf == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2713; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2715 = 6'h10 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2714; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2716 = 6'h11 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2715; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2717 = 6'h12 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2716; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2718 = 6'h13 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2717; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2719 = 6'h14 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2718; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2720 = 6'h15 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2719; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2721 = 6'h16 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2720; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2722 = 6'h17 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2721; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2723 = 6'h18 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2722; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2724 = 6'h19 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2723; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2725 = 6'h1a == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2724; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2726 = 6'h1b == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2725; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2727 = 6'h1c == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2726; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2728 = 6'h1d == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2727; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2729 = 6'h1e == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2728; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2730 = 6'h1f == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2729; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2731 = 6'h20 == iwb_stage_iReg_archit_ptr_22 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2730; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2732 = 6'h21 == iwb_stage_iReg_archit_ptr_22 ? 2'h3 : iwb_stage_iReg__GEN_2731; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_248 = iwb_stage_iReg__GEN_2732 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_251 = ~iwb_stage_iReg__T_248; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2734 = 6'h1 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2735 = 6'h2 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2734; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2736 = 6'h3 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2735; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2737 = 6'h4 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2736; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2738 = 6'h5 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2737; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2739 = 6'h6 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2738; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2740 = 6'h7 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2739; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2741 = 6'h8 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2740; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2742 = 6'h9 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2741; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2743 = 6'ha == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2742; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2744 = 6'hb == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2743; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2745 = 6'hc == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2744; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2746 = 6'hd == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2745; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2747 = 6'he == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2746; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2748 = 6'hf == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2747; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2749 = 6'h10 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2748; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2750 = 6'h11 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2749; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2751 = 6'h12 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2750; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2752 = 6'h13 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2751; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2753 = 6'h14 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2752; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2754 = 6'h15 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2753; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2755 = 6'h16 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2754; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2756 = 6'h17 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2755; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2757 = 6'h18 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2756; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2758 = 6'h19 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2757; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2759 = 6'h1a == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2758; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2760 = 6'h1b == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2759; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2761 = 6'h1c == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2760; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2762 = 6'h1d == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2761; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2763 = 6'h1e == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2762; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2764 = 6'h1f == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2763; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2765 = 6'h20 == iwb_stage_iReg_archit_ptr_23 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2764; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2766 = 6'h21 == iwb_stage_iReg_archit_ptr_23 ? 2'h3 : iwb_stage_iReg__GEN_2765; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_252 = iwb_stage_iReg__GEN_2766 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_255 = ~iwb_stage_iReg__T_252; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2768 = 6'h1 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2769 = 6'h2 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2768; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2770 = 6'h3 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2769; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2771 = 6'h4 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2770; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2772 = 6'h5 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2771; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2773 = 6'h6 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2772; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2774 = 6'h7 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2773; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2775 = 6'h8 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2774; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2776 = 6'h9 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2775; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2777 = 6'ha == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2776; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2778 = 6'hb == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2777; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2779 = 6'hc == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2778; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2780 = 6'hd == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2779; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2781 = 6'he == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2780; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2782 = 6'hf == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2781; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2783 = 6'h10 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2782; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2784 = 6'h11 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2783; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2785 = 6'h12 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2784; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2786 = 6'h13 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2785; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2787 = 6'h14 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2786; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2788 = 6'h15 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2787; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2789 = 6'h16 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2788; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2790 = 6'h17 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2789; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2791 = 6'h18 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2790; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2792 = 6'h19 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2791; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2793 = 6'h1a == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2792; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2794 = 6'h1b == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2793; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2795 = 6'h1c == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2794; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2796 = 6'h1d == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2795; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2797 = 6'h1e == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2796; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2798 = 6'h1f == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2797; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2799 = 6'h20 == iwb_stage_iReg_archit_ptr_24 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2798; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2800 = 6'h21 == iwb_stage_iReg_archit_ptr_24 ? 2'h3 : iwb_stage_iReg__GEN_2799; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_256 = iwb_stage_iReg__GEN_2800 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_259 = ~iwb_stage_iReg__T_256; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2802 = 6'h1 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2803 = 6'h2 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2802; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2804 = 6'h3 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2803; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2805 = 6'h4 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2804; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2806 = 6'h5 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2805; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2807 = 6'h6 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2806; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2808 = 6'h7 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2807; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2809 = 6'h8 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2808; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2810 = 6'h9 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2809; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2811 = 6'ha == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2810; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2812 = 6'hb == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2811; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2813 = 6'hc == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2812; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2814 = 6'hd == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2813; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2815 = 6'he == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2814; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2816 = 6'hf == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2815; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2817 = 6'h10 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2816; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2818 = 6'h11 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2817; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2819 = 6'h12 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2818; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2820 = 6'h13 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2819; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2821 = 6'h14 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2820; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2822 = 6'h15 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2821; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2823 = 6'h16 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2822; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2824 = 6'h17 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2823; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2825 = 6'h18 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2824; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2826 = 6'h19 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2825; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2827 = 6'h1a == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2826; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2828 = 6'h1b == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2827; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2829 = 6'h1c == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2828; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2830 = 6'h1d == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2829; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2831 = 6'h1e == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2830; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2832 = 6'h1f == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2831; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2833 = 6'h20 == iwb_stage_iReg_archit_ptr_25 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2832; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2834 = 6'h21 == iwb_stage_iReg_archit_ptr_25 ? 2'h3 : iwb_stage_iReg__GEN_2833; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_260 = iwb_stage_iReg__GEN_2834 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_263 = ~iwb_stage_iReg__T_260; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2836 = 6'h1 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2837 = 6'h2 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2836; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2838 = 6'h3 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2837; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2839 = 6'h4 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2838; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2840 = 6'h5 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2839; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2841 = 6'h6 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2840; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2842 = 6'h7 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2841; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2843 = 6'h8 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2842; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2844 = 6'h9 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2843; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2845 = 6'ha == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2844; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2846 = 6'hb == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2845; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2847 = 6'hc == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2846; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2848 = 6'hd == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2847; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2849 = 6'he == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2848; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2850 = 6'hf == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2849; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2851 = 6'h10 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2850; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2852 = 6'h11 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2851; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2853 = 6'h12 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2852; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2854 = 6'h13 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2853; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2855 = 6'h14 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2854; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2856 = 6'h15 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2855; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2857 = 6'h16 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2856; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2858 = 6'h17 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2857; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2859 = 6'h18 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2858; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2860 = 6'h19 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2859; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2861 = 6'h1a == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2860; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2862 = 6'h1b == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2861; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2863 = 6'h1c == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2862; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2864 = 6'h1d == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2863; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2865 = 6'h1e == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2864; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2866 = 6'h1f == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2865; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2867 = 6'h20 == iwb_stage_iReg_archit_ptr_26 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2866; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2868 = 6'h21 == iwb_stage_iReg_archit_ptr_26 ? 2'h3 : iwb_stage_iReg__GEN_2867; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_264 = iwb_stage_iReg__GEN_2868 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_267 = ~iwb_stage_iReg__T_264; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2870 = 6'h1 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2871 = 6'h2 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2870; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2872 = 6'h3 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2871; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2873 = 6'h4 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2872; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2874 = 6'h5 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2873; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2875 = 6'h6 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2874; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2876 = 6'h7 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2875; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2877 = 6'h8 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2876; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2878 = 6'h9 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2877; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2879 = 6'ha == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2878; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2880 = 6'hb == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2879; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2881 = 6'hc == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2880; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2882 = 6'hd == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2881; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2883 = 6'he == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2882; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2884 = 6'hf == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2883; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2885 = 6'h10 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2884; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2886 = 6'h11 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2885; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2887 = 6'h12 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2886; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2888 = 6'h13 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2887; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2889 = 6'h14 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2888; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2890 = 6'h15 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2889; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2891 = 6'h16 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2890; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2892 = 6'h17 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2891; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2893 = 6'h18 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2892; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2894 = 6'h19 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2893; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2895 = 6'h1a == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2894; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2896 = 6'h1b == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2895; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2897 = 6'h1c == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2896; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2898 = 6'h1d == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2897; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2899 = 6'h1e == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2898; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2900 = 6'h1f == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2899; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2901 = 6'h20 == iwb_stage_iReg_archit_ptr_27 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2900; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2902 = 6'h21 == iwb_stage_iReg_archit_ptr_27 ? 2'h3 : iwb_stage_iReg__GEN_2901; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_268 = iwb_stage_iReg__GEN_2902 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_271 = ~iwb_stage_iReg__T_268; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2904 = 6'h1 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2905 = 6'h2 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2904; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2906 = 6'h3 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2905; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2907 = 6'h4 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2906; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2908 = 6'h5 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2907; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2909 = 6'h6 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2908; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2910 = 6'h7 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2909; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2911 = 6'h8 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2910; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2912 = 6'h9 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2911; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2913 = 6'ha == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2912; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2914 = 6'hb == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2913; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2915 = 6'hc == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2914; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2916 = 6'hd == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2915; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2917 = 6'he == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2916; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2918 = 6'hf == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2917; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2919 = 6'h10 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2918; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2920 = 6'h11 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2919; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2921 = 6'h12 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2920; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2922 = 6'h13 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2921; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2923 = 6'h14 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2922; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2924 = 6'h15 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2923; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2925 = 6'h16 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2924; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2926 = 6'h17 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2925; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2927 = 6'h18 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2926; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2928 = 6'h19 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2927; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2929 = 6'h1a == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2928; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2930 = 6'h1b == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2929; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2931 = 6'h1c == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2930; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2932 = 6'h1d == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2931; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2933 = 6'h1e == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2932; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2934 = 6'h1f == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2933; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2935 = 6'h20 == iwb_stage_iReg_archit_ptr_28 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2934; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2936 = 6'h21 == iwb_stage_iReg_archit_ptr_28 ? 2'h3 : iwb_stage_iReg__GEN_2935; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_272 = iwb_stage_iReg__GEN_2936 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_275 = ~iwb_stage_iReg__T_272; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2938 = 6'h1 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2939 = 6'h2 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2938; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2940 = 6'h3 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2939; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2941 = 6'h4 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2940; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2942 = 6'h5 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2941; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2943 = 6'h6 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2942; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2944 = 6'h7 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2943; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2945 = 6'h8 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2944; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2946 = 6'h9 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2945; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2947 = 6'ha == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2946; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2948 = 6'hb == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2947; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2949 = 6'hc == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2948; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2950 = 6'hd == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2949; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2951 = 6'he == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2950; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2952 = 6'hf == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2951; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2953 = 6'h10 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2952; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2954 = 6'h11 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2953; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2955 = 6'h12 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2954; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2956 = 6'h13 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2955; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2957 = 6'h14 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2956; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2958 = 6'h15 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2957; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2959 = 6'h16 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2958; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2960 = 6'h17 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2959; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2961 = 6'h18 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2960; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2962 = 6'h19 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2961; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2963 = 6'h1a == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2962; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2964 = 6'h1b == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2963; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2965 = 6'h1c == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2964; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2966 = 6'h1d == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2965; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2967 = 6'h1e == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_2966; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2968 = 6'h1f == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_2967; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2969 = 6'h20 == iwb_stage_iReg_archit_ptr_29 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_2968; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2970 = 6'h21 == iwb_stage_iReg_archit_ptr_29 ? 2'h3 : iwb_stage_iReg__GEN_2969; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_276 = iwb_stage_iReg__GEN_2970 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_279 = ~iwb_stage_iReg__T_276; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_2972 = 6'h1 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2973 = 6'h2 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_2972; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2974 = 6'h3 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_2973; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2975 = 6'h4 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_2974; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2976 = 6'h5 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_2975; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2977 = 6'h6 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_2976; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2978 = 6'h7 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_2977; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2979 = 6'h8 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_2978; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2980 = 6'h9 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_2979; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2981 = 6'ha == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_2980; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2982 = 6'hb == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_2981; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2983 = 6'hc == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_2982; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2984 = 6'hd == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_2983; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2985 = 6'he == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_2984; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2986 = 6'hf == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_2985; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2987 = 6'h10 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_2986; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2988 = 6'h11 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_2987; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2989 = 6'h12 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_2988; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2990 = 6'h13 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_2989; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2991 = 6'h14 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_2990; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2992 = 6'h15 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_2991; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2993 = 6'h16 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_2992; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2994 = 6'h17 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_2993; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2995 = 6'h18 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_2994; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2996 = 6'h19 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_2995; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2997 = 6'h1a == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_2996; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2998 = 6'h1b == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_2997; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_2999 = 6'h1c == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_2998; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3000 = 6'h1d == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_2999; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3001 = 6'h1e == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_3000; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3002 = 6'h1f == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_3001; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3003 = 6'h20 == iwb_stage_iReg_archit_ptr_30 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_3002; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3004 = 6'h21 == iwb_stage_iReg_archit_ptr_30 ? 2'h3 : iwb_stage_iReg__GEN_3003; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_280 = iwb_stage_iReg__GEN_3004 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_283 = ~iwb_stage_iReg__T_280; // @[Regfiles.scala 242:16]
  wire [1:0] iwb_stage_iReg__GEN_3006 = 6'h1 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_1 :
    iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3007 = 6'h2 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_2 :
    iwb_stage_iReg__GEN_3006; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3008 = 6'h3 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_3 :
    iwb_stage_iReg__GEN_3007; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3009 = 6'h4 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_4 :
    iwb_stage_iReg__GEN_3008; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3010 = 6'h5 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_5 :
    iwb_stage_iReg__GEN_3009; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3011 = 6'h6 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_6 :
    iwb_stage_iReg__GEN_3010; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3012 = 6'h7 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_7 :
    iwb_stage_iReg__GEN_3011; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3013 = 6'h8 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_8 :
    iwb_stage_iReg__GEN_3012; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3014 = 6'h9 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_9 :
    iwb_stage_iReg__GEN_3013; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3015 = 6'ha == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_10 :
    iwb_stage_iReg__GEN_3014; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3016 = 6'hb == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_11 :
    iwb_stage_iReg__GEN_3015; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3017 = 6'hc == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_12 :
    iwb_stage_iReg__GEN_3016; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3018 = 6'hd == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_13 :
    iwb_stage_iReg__GEN_3017; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3019 = 6'he == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_14 :
    iwb_stage_iReg__GEN_3018; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3020 = 6'hf == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_15 :
    iwb_stage_iReg__GEN_3019; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3021 = 6'h10 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_16 :
    iwb_stage_iReg__GEN_3020; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3022 = 6'h11 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_17 :
    iwb_stage_iReg__GEN_3021; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3023 = 6'h12 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_18 :
    iwb_stage_iReg__GEN_3022; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3024 = 6'h13 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_19 :
    iwb_stage_iReg__GEN_3023; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3025 = 6'h14 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_20 :
    iwb_stage_iReg__GEN_3024; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3026 = 6'h15 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_21 :
    iwb_stage_iReg__GEN_3025; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3027 = 6'h16 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_22 :
    iwb_stage_iReg__GEN_3026; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3028 = 6'h17 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_23 :
    iwb_stage_iReg__GEN_3027; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3029 = 6'h18 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_24 :
    iwb_stage_iReg__GEN_3028; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3030 = 6'h19 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_25 :
    iwb_stage_iReg__GEN_3029; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3031 = 6'h1a == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_26 :
    iwb_stage_iReg__GEN_3030; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3032 = 6'h1b == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_27 :
    iwb_stage_iReg__GEN_3031; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3033 = 6'h1c == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_28 :
    iwb_stage_iReg__GEN_3032; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3034 = 6'h1d == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_29 :
    iwb_stage_iReg__GEN_3033; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3035 = 6'h1e == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_30 :
    iwb_stage_iReg__GEN_3034; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3036 = 6'h1f == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_31 :
    iwb_stage_iReg__GEN_3035; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3037 = 6'h20 == iwb_stage_iReg_archit_ptr_31 ? iwb_stage_iReg_log_reg_32 :
    iwb_stage_iReg__GEN_3036; // @[Regfiles.scala 242:{25,25}]
  wire [1:0] iwb_stage_iReg__GEN_3038 = 6'h21 == iwb_stage_iReg_archit_ptr_31 ? 2'h3 : iwb_stage_iReg__GEN_3037; // @[Regfiles.scala 242:{25,25}]
  wire  iwb_stage_iReg__T_284 = iwb_stage_iReg__GEN_3038 == 2'h3; // @[Regfiles.scala 242:25]
  wire  iwb_stage_iReg__T_287 = ~iwb_stage_iReg__T_284; // @[Regfiles.scala 242:16]
  wire  iwb_stage_iReg__io_lookup_0_rsp_rs1_T = iwb_stage_iReg_io_lookup_0_req_rs1 == 5'h0; // @[Regfiles.scala 258:41]
  wire [5:0] iwb_stage_iReg__GEN_3040 = 5'h1 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_1 :
    iwb_stage_iReg_rename_ptr_0; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3041 = 5'h2 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_2 :
    iwb_stage_iReg__GEN_3040; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3042 = 5'h3 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_3 :
    iwb_stage_iReg__GEN_3041; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3043 = 5'h4 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_4 :
    iwb_stage_iReg__GEN_3042; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3044 = 5'h5 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_5 :
    iwb_stage_iReg__GEN_3043; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3045 = 5'h6 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_6 :
    iwb_stage_iReg__GEN_3044; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3046 = 5'h7 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_7 :
    iwb_stage_iReg__GEN_3045; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3047 = 5'h8 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_8 :
    iwb_stage_iReg__GEN_3046; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3048 = 5'h9 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_9 :
    iwb_stage_iReg__GEN_3047; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3049 = 5'ha == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_10 :
    iwb_stage_iReg__GEN_3048; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3050 = 5'hb == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_11 :
    iwb_stage_iReg__GEN_3049; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3051 = 5'hc == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_12 :
    iwb_stage_iReg__GEN_3050; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3052 = 5'hd == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_13 :
    iwb_stage_iReg__GEN_3051; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3053 = 5'he == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_14 :
    iwb_stage_iReg__GEN_3052; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3054 = 5'hf == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_15 :
    iwb_stage_iReg__GEN_3053; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3055 = 5'h10 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_16 :
    iwb_stage_iReg__GEN_3054; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3056 = 5'h11 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_17 :
    iwb_stage_iReg__GEN_3055; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3057 = 5'h12 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_18 :
    iwb_stage_iReg__GEN_3056; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3058 = 5'h13 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_19 :
    iwb_stage_iReg__GEN_3057; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3059 = 5'h14 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_20 :
    iwb_stage_iReg__GEN_3058; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3060 = 5'h15 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_21 :
    iwb_stage_iReg__GEN_3059; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3061 = 5'h16 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_22 :
    iwb_stage_iReg__GEN_3060; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3062 = 5'h17 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_23 :
    iwb_stage_iReg__GEN_3061; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3063 = 5'h18 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_24 :
    iwb_stage_iReg__GEN_3062; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3064 = 5'h19 == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_25 :
    iwb_stage_iReg__GEN_3063; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3065 = 5'h1a == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_26 :
    iwb_stage_iReg__GEN_3064; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3066 = 5'h1b == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_27 :
    iwb_stage_iReg__GEN_3065; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3067 = 5'h1c == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_28 :
    iwb_stage_iReg__GEN_3066; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3068 = 5'h1d == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_29 :
    iwb_stage_iReg__GEN_3067; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3069 = 5'h1e == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_30 :
    iwb_stage_iReg__GEN_3068; // @[Regfiles.scala 258:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3070 = 5'h1f == iwb_stage_iReg_io_lookup_0_req_rs1 ? iwb_stage_iReg_rename_ptr_31 :
    iwb_stage_iReg__GEN_3069; // @[Regfiles.scala 258:{34,34}]
  wire  iwb_stage_iReg__io_lookup_0_rsp_rs2_T = iwb_stage_iReg_io_lookup_0_req_rs2 == 5'h0; // @[Regfiles.scala 259:41]
  wire [5:0] iwb_stage_iReg__GEN_3072 = 5'h1 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_1 :
    iwb_stage_iReg_rename_ptr_0; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3073 = 5'h2 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_2 :
    iwb_stage_iReg__GEN_3072; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3074 = 5'h3 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_3 :
    iwb_stage_iReg__GEN_3073; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3075 = 5'h4 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_4 :
    iwb_stage_iReg__GEN_3074; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3076 = 5'h5 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_5 :
    iwb_stage_iReg__GEN_3075; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3077 = 5'h6 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_6 :
    iwb_stage_iReg__GEN_3076; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3078 = 5'h7 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_7 :
    iwb_stage_iReg__GEN_3077; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3079 = 5'h8 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_8 :
    iwb_stage_iReg__GEN_3078; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3080 = 5'h9 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_9 :
    iwb_stage_iReg__GEN_3079; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3081 = 5'ha == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_10 :
    iwb_stage_iReg__GEN_3080; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3082 = 5'hb == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_11 :
    iwb_stage_iReg__GEN_3081; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3083 = 5'hc == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_12 :
    iwb_stage_iReg__GEN_3082; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3084 = 5'hd == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_13 :
    iwb_stage_iReg__GEN_3083; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3085 = 5'he == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_14 :
    iwb_stage_iReg__GEN_3084; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3086 = 5'hf == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_15 :
    iwb_stage_iReg__GEN_3085; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3087 = 5'h10 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_16 :
    iwb_stage_iReg__GEN_3086; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3088 = 5'h11 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_17 :
    iwb_stage_iReg__GEN_3087; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3089 = 5'h12 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_18 :
    iwb_stage_iReg__GEN_3088; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3090 = 5'h13 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_19 :
    iwb_stage_iReg__GEN_3089; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3091 = 5'h14 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_20 :
    iwb_stage_iReg__GEN_3090; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3092 = 5'h15 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_21 :
    iwb_stage_iReg__GEN_3091; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3093 = 5'h16 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_22 :
    iwb_stage_iReg__GEN_3092; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3094 = 5'h17 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_23 :
    iwb_stage_iReg__GEN_3093; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3095 = 5'h18 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_24 :
    iwb_stage_iReg__GEN_3094; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3096 = 5'h19 == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_25 :
    iwb_stage_iReg__GEN_3095; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3097 = 5'h1a == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_26 :
    iwb_stage_iReg__GEN_3096; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3098 = 5'h1b == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_27 :
    iwb_stage_iReg__GEN_3097; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3099 = 5'h1c == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_28 :
    iwb_stage_iReg__GEN_3098; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3100 = 5'h1d == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_29 :
    iwb_stage_iReg__GEN_3099; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3101 = 5'h1e == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_30 :
    iwb_stage_iReg__GEN_3100; // @[Regfiles.scala 259:{34,34}]
  wire [5:0] iwb_stage_iReg__GEN_3102 = 5'h1f == iwb_stage_iReg_io_lookup_0_req_rs2 ? iwb_stage_iReg_rename_ptr_31 :
    iwb_stage_iReg__GEN_3101; // @[Regfiles.scala 259:{34,34}]
  wire  _GEN_634 = iwb_stage_iReg__T_118 & iwb_stage_iReg__T_37; // @[Regfiles.scala 227:13]
  wire  iwb_stage_fReg_clock;
  wire  iwb_stage_fReg_reset;
  wire [5:0] iwb_stage_fReg_io_lookup_0_rsp_rs1;
  wire [5:0] iwb_stage_fReg_io_lookup_0_rsp_rs2;
  wire [5:0] iwb_stage_fReg_io_lookup_0_rsp_rs3;
  wire [5:0] iwb_stage_fReg_io_rename_0_rsp_rd0;
  wire  iwb_stage_fReg_io_rename_0_req_ready;
  wire [1:0] iwb_stage_fReg_io_rgLog_0;
  wire [1:0] iwb_stage_fReg_io_rgLog_1;
  wire [1:0] iwb_stage_fReg_io_rgLog_2;
  wire [1:0] iwb_stage_fReg_io_rgLog_3;
  wire [1:0] iwb_stage_fReg_io_rgLog_4;
  wire [1:0] iwb_stage_fReg_io_rgLog_5;
  wire [1:0] iwb_stage_fReg_io_rgLog_6;
  wire [1:0] iwb_stage_fReg_io_rgLog_7;
  wire [1:0] iwb_stage_fReg_io_rgLog_8;
  wire [1:0] iwb_stage_fReg_io_rgLog_9;
  wire [1:0] iwb_stage_fReg_io_rgLog_10;
  wire [1:0] iwb_stage_fReg_io_rgLog_11;
  wire [1:0] iwb_stage_fReg_io_rgLog_12;
  wire [1:0] iwb_stage_fReg_io_rgLog_13;
  wire [1:0] iwb_stage_fReg_io_rgLog_14;
  wire [1:0] iwb_stage_fReg_io_rgLog_15;
  wire [1:0] iwb_stage_fReg_io_rgLog_16;
  wire [1:0] iwb_stage_fReg_io_rgLog_17;
  wire [1:0] iwb_stage_fReg_io_rgLog_18;
  wire [1:0] iwb_stage_fReg_io_rgLog_19;
  wire [1:0] iwb_stage_fReg_io_rgLog_20;
  wire [1:0] iwb_stage_fReg_io_rgLog_21;
  wire [1:0] iwb_stage_fReg_io_rgLog_22;
  wire [1:0] iwb_stage_fReg_io_rgLog_23;
  wire [1:0] iwb_stage_fReg_io_rgLog_24;
  wire [1:0] iwb_stage_fReg_io_rgLog_25;
  wire [1:0] iwb_stage_fReg_io_rgLog_26;
  wire [1:0] iwb_stage_fReg_io_rgLog_27;
  wire [1:0] iwb_stage_fReg_io_rgLog_28;
  wire [1:0] iwb_stage_fReg_io_rgLog_29;
  wire [1:0] iwb_stage_fReg_io_rgLog_30;
  wire [1:0] iwb_stage_fReg_io_rgLog_31;
  wire [1:0] iwb_stage_fReg_io_rgLog_32;
  wire [1:0] iwb_stage_fReg_io_rgLog_33;
  wire  iwb_stage_fReg_io_exe_writeBack_0_ready;
  wire  iwb_stage_fReg_io_exe_writeBack_0_valid;
  wire  iwb_stage_fReg_io_exe_writeBack_1_valid;
  wire  iwb_stage_fReg_io_commit_0_is_writeback;
  wire  iwb_stage_fReg__T = ~iwb_stage_fReg_io_exe_writeBack_0_valid; // @[Regfiles.scala 324:13]
  wire  iwb_stage_fReg__T_2 = ~iwb_stage_fReg_reset; // @[Regfiles.scala 324:11]
  wire  iwb_stage_fReg__T_3 = ~iwb_stage_fReg__T; // @[Regfiles.scala 324:11]
  wire  iwb_stage_fReg__T_4 = ~iwb_stage_fReg_io_exe_writeBack_1_valid; // @[Regfiles.scala 324:13]
  wire  iwb_stage_fReg__T_7 = ~iwb_stage_fReg__T_4; // @[Regfiles.scala 324:11]
  wire  iwb_stage_iwriteBack_arb_io_enq_0_ready;
  wire  iwb_stage_iwriteBack_arb_io_enq_0_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_0_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_0_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_enq_1_ready;
  wire  iwb_stage_iwriteBack_arb_io_enq_1_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_1_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_1_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_enq_2_ready;
  wire  iwb_stage_iwriteBack_arb_io_enq_2_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_2_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_2_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_enq_3_ready;
  wire  iwb_stage_iwriteBack_arb_io_enq_3_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_3_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_3_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_enq_4_ready;
  wire  iwb_stage_iwriteBack_arb_io_enq_4_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_4_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_4_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_enq_5_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_enq_5_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_enq_5_bits_res;
  wire  iwb_stage_iwriteBack_arb_io_deq_0_ready;
  wire  iwb_stage_iwriteBack_arb_io_deq_0_valid;
  wire [5:0] iwb_stage_iwriteBack_arb_io_deq_0_bits_rd0;
  wire [63:0] iwb_stage_iwriteBack_arb_io_deq_0_bits_res;
  wire [2:0] iwb_stage_iwriteBack_arb_io_chosen_0;
  wire [2:0] iwb_stage_iwriteBack_arb__GEN_0 = iwb_stage_iwriteBack_arb_io_enq_5_valid ? 3'h5 : 3'h0; // @[XArbiter.scala 34:18 36:31 37:38]
  wire [2:0] iwb_stage_iwriteBack_arb__GEN_1 = iwb_stage_iwriteBack_arb_io_enq_4_valid ? 3'h4 :
    iwb_stage_iwriteBack_arb__GEN_0; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] iwb_stage_iwriteBack_arb__GEN_2 = iwb_stage_iwriteBack_arb_io_enq_3_valid ? 3'h3 :
    iwb_stage_iwriteBack_arb__GEN_1; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] iwb_stage_iwriteBack_arb__GEN_3 = iwb_stage_iwriteBack_arb_io_enq_2_valid ? 3'h2 :
    iwb_stage_iwriteBack_arb__GEN_2; // @[XArbiter.scala 36:31 37:38]
  wire [2:0] iwb_stage_iwriteBack_arb__GEN_4 = iwb_stage_iwriteBack_arb_io_enq_1_valid ? 3'h1 :
    iwb_stage_iwriteBack_arb__GEN_3; // @[XArbiter.scala 36:31 37:38]
  wire [1:0] iwb_stage_iwriteBack_arb__T_6 = iwb_stage_iwriteBack_arb_io_enq_1_valid +
    iwb_stage_iwriteBack_arb_io_enq_2_valid; // @[XArbiter.scala 53:23]
  wire [1:0] _GEN_636 = {{1'd0}, iwb_stage_iwriteBack_arb_io_enq_0_valid}; // @[XArbiter.scala 53:23]
  wire [2:0] iwb_stage_iwriteBack_arb__T_8 = _GEN_636 + iwb_stage_iwriteBack_arb__T_6; // @[XArbiter.scala 53:23]
  wire [1:0] iwb_stage_iwriteBack_arb__T_9 = iwb_stage_iwriteBack_arb__T_8[1:0]; // @[XArbiter.scala 53:23]
  wire [1:0] iwb_stage_iwriteBack_arb__T_10 = iwb_stage_iwriteBack_arb_io_enq_4_valid +
    iwb_stage_iwriteBack_arb_io_enq_5_valid; // @[XArbiter.scala 53:23]
  wire [1:0] _GEN_637 = {{1'd0}, iwb_stage_iwriteBack_arb_io_enq_3_valid}; // @[XArbiter.scala 53:23]
  wire [2:0] iwb_stage_iwriteBack_arb__T_12 = _GEN_637 + iwb_stage_iwriteBack_arb__T_10; // @[XArbiter.scala 53:23]
  wire [1:0] iwb_stage_iwriteBack_arb__T_13 = iwb_stage_iwriteBack_arb__T_12[1:0]; // @[XArbiter.scala 53:23]
  wire [2:0] iwb_stage_iwriteBack_arb__T_14 = iwb_stage_iwriteBack_arb__T_9 + iwb_stage_iwriteBack_arb__T_13; // @[XArbiter.scala 53:23]
  wire  iwb_stage_iwriteBack_arb__T_16 = iwb_stage_iwriteBack_arb__T_14 > 3'h0; // @[XArbiter.scala 53:68]
  wire [5:0] iwb_stage_iwriteBack_arb__GEN_7 = 3'h1 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_1_bits_rd0 : iwb_stage_iwriteBack_arb_io_enq_0_bits_rd0; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] iwb_stage_iwriteBack_arb__GEN_8 = 3'h2 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_2_bits_rd0 : iwb_stage_iwriteBack_arb__GEN_7; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] iwb_stage_iwriteBack_arb__GEN_9 = 3'h3 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_3_bits_rd0 : iwb_stage_iwriteBack_arb__GEN_8; // @[XArbiter.scala 55:{22,22}]
  wire [5:0] iwb_stage_iwriteBack_arb__GEN_10 = 3'h4 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_4_bits_rd0 : iwb_stage_iwriteBack_arb__GEN_9; // @[XArbiter.scala 55:{22,22}]
  wire [63:0] iwb_stage_iwriteBack_arb__GEN_13 = 3'h1 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_1_bits_res : iwb_stage_iwriteBack_arb_io_enq_0_bits_res; // @[XArbiter.scala 55:{22,22}]
  wire [63:0] iwb_stage_iwriteBack_arb__GEN_14 = 3'h2 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_2_bits_res : iwb_stage_iwriteBack_arb__GEN_13; // @[XArbiter.scala 55:{22,22}]
  wire [63:0] iwb_stage_iwriteBack_arb__GEN_15 = 3'h3 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_3_bits_res : iwb_stage_iwriteBack_arb__GEN_14; // @[XArbiter.scala 55:{22,22}]
  wire [63:0] iwb_stage_iwriteBack_arb__GEN_16 = 3'h4 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_4_bits_res : iwb_stage_iwriteBack_arb__GEN_15; // @[XArbiter.scala 55:{22,22}]
  wire  iwb_stage_iwriteBack_arb__GEN_18 = 3'h0 == iwb_stage_iwriteBack_arb_io_chosen_0 &
    iwb_stage_iwriteBack_arb_io_deq_0_ready; // @[XArbiter.scala 57:{25,25} 50:51]
  wire  iwb_stage_iwriteBack_arb__GEN_19 = 3'h1 == iwb_stage_iwriteBack_arb_io_chosen_0 &
    iwb_stage_iwriteBack_arb_io_deq_0_ready; // @[XArbiter.scala 57:{25,25} 50:51]
  wire  iwb_stage_iwriteBack_arb__GEN_20 = 3'h2 == iwb_stage_iwriteBack_arb_io_chosen_0 &
    iwb_stage_iwriteBack_arb_io_deq_0_ready; // @[XArbiter.scala 57:{25,25} 50:51]
  wire  iwb_stage_iwriteBack_arb__GEN_21 = 3'h3 == iwb_stage_iwriteBack_arb_io_chosen_0 &
    iwb_stage_iwriteBack_arb_io_deq_0_ready; // @[XArbiter.scala 57:{25,25} 50:51]
  wire  iwb_stage_iwriteBack_arb__GEN_22 = 3'h4 == iwb_stage_iwriteBack_arb_io_chosen_0 &
    iwb_stage_iwriteBack_arb_io_deq_0_ready; // @[XArbiter.scala 57:{25,25} 50:51]
  wire  iwb_stage__GEN_7 = iwb_stage_io_commit_0_toF & iwb_stage_fReg_io_commit_0_is_writeback; // @[WriteBack.scala 100:31 103:{46,65}]
  wire  cmm_stage_clock;
  wire  cmm_stage_reset;
  wire  cmm_stage_io_cm_op_0_is_comfirm;
  wire  cmm_stage_io_cm_op_0_is_MisPredict;
  wire  cmm_stage_io_cm_op_0_is_abort;
  wire [4:0] cmm_stage_io_cm_op_0_raw;
  wire [5:0] cmm_stage_io_cm_op_0_phy;
  wire  cmm_stage_io_cm_op_0_toX;
  wire  cmm_stage_io_cm_op_0_toF;
  wire  cmm_stage_io_cm_op_0_is_writeback;
  wire  cmm_stage_io_rod_0_ready;
  wire  cmm_stage_io_rod_0_valid;
  wire [38:0] cmm_stage_io_rod_0_bits_pc;
  wire [4:0] cmm_stage_io_rod_0_bits_rd0_raw;
  wire [5:0] cmm_stage_io_rod_0_bits_rd0_phy;
  wire  cmm_stage_io_rod_0_bits_is_branch;
  wire  cmm_stage_io_rod_0_bits_is_jalr;
  wire  cmm_stage_io_rod_0_bits_is_lu;
  wire  cmm_stage_io_rod_0_bits_is_su;
  wire  cmm_stage_io_rod_0_bits_is_amo;
  wire  cmm_stage_io_rod_0_bits_is_fence_i;
  wire  cmm_stage_io_rod_0_bits_is_sfence_vma;
  wire  cmm_stage_io_rod_0_bits_is_wfi;
  wire  cmm_stage_io_rod_0_bits_is_csr;
  wire  cmm_stage_io_rod_0_bits_is_fpu;
  wire  cmm_stage_io_rod_0_bits_is_fcsr;
  wire  cmm_stage_io_rod_0_bits_is_xcmm;
  wire  cmm_stage_io_rod_0_bits_is_fcmm;
  wire  cmm_stage_io_rod_0_bits_privil_ecall;
  wire  cmm_stage_io_rod_0_bits_privil_ebreak;
  wire  cmm_stage_io_rod_0_bits_privil_mret;
  wire  cmm_stage_io_rod_0_bits_privil_sret;
  wire  cmm_stage_io_rod_0_bits_privil_dret;
  wire  cmm_stage_io_rod_0_bits_privil_is_access_fault;
  wire  cmm_stage_io_rod_0_bits_privil_is_paging_fault;
  wire  cmm_stage_io_rod_0_bits_is_illeage;
  wire  cmm_stage_io_cmm_lsu_is_amo_pending;
  wire  cmm_stage_io_cmm_lsu_is_store_commit_0;
  wire  cmm_stage_io_lsu_cmm_is_access_fault;
  wire  cmm_stage_io_lsu_cmm_is_paging_fault;
  wire  cmm_stage_io_lsu_cmm_is_misAlign;
  wire [63:0] cmm_stage_io_lsu_cmm_trap_addr;
  wire  cmm_stage_io_csr_addr_valid;
  wire [11:0] cmm_stage_io_csr_addr_bits;
  wire  cmm_stage_io_csr_data_valid;
  wire [63:0] cmm_stage_io_csr_data_bits;
  wire  cmm_stage_io_csr_cmm_op_ready;
  wire  cmm_stage_io_csr_cmm_op_valid;
  wire [11:0] cmm_stage_io_csr_cmm_op_bits_addr;
  wire [63:0] cmm_stage_io_csr_cmm_op_bits_dat_i;
  wire  cmm_stage_io_csr_cmm_op_bits_op_rw;
  wire  cmm_stage_io_csr_cmm_op_bits_op_rs;
  wire  cmm_stage_io_csr_cmm_op_bits_op_rc;
  wire  cmm_stage_io_bctq_ready;
  wire  cmm_stage_io_bctq_valid;
  wire  cmm_stage_io_bctq_bits_isPredictTaken;
  wire  cmm_stage_io_bctq_bits_isFinalTaken;
  wire [63:0] cmm_stage_io_bctq_bits_finalTarget;
  wire  cmm_stage_io_jctq_ready;
  wire  cmm_stage_io_jctq_valid;
  wire [38:0] cmm_stage_io_jctq_bits_btbResp_target;
  wire [38:0] cmm_stage_io_jctq_bits_rasResp_target;
  wire  cmm_stage_io_jctq_bits_isRas;
  wire [63:0] cmm_stage_io_jctq_bits_finalTarget;
  wire  cmm_stage_io_cmmRedirect_valid;
  wire [63:0] cmm_stage_io_cmmRedirect_bits_pc;
  wire [63:0] cmm_stage_io_if_cmm_ill_vaddr;
  wire  cmm_stage_io_ifence;
  wire [63:0] cmm_stage_io_cmm_mmu_satp;
  wire [1:0] cmm_stage_io_cmm_mmu_priv_lvl_if;
  wire [1:0] cmm_stage_io_cmm_mmu_priv_lvl_ls;
  wire [63:0] cmm_stage_io_cmm_mmu_mstatus;
  wire [63:0] cmm_stage_io_cmm_mmu_sstatus;
  wire  cmm_stage_io_cmm_mmu_sfence_vma;
  wire  cmm_stage_io_fcsr_cmm_op_0_valid;
  wire [11:0] cmm_stage_io_fcsr_cmm_op_0_bits_addr;
  wire [63:0] cmm_stage_io_fcsr_cmm_op_0_bits_dat_i;
  wire  cmm_stage_io_fcsr_cmm_op_0_bits_op_rw;
  wire  cmm_stage_io_fcsr_cmm_op_0_bits_op_rs;
  wire  cmm_stage_io_fcsr_cmm_op_0_bits_op_rc;
  wire  cmm_stage_io_dm_hartIsInReset;
  wire  cmm_stage_io_dm_hartResetReq;
  wire  cmm_stage_io_dm_hartHaltReq;
  wire  cmm_stage_io_rtc_clock;
  wire  cmm_stage_io_aclint_msi;
  wire  cmm_stage_io_aclint_mti;
  wire  cmm_stage_io_aclint_ssi;
  wire  cmm_stage_io_aclint_sti;
  wire  cmm_stage_io_plic_mei;
  wire  cmm_stage_io_plic_sei;
  wire  cmm_stage_bctq_mdl_io_enq_0_ready;
  wire  cmm_stage_bctq_mdl_io_enq_0_valid;
  wire  cmm_stage_bctq_mdl_io_enq_0_bits_isPredictTaken;
  wire  cmm_stage_bctq_mdl_io_enq_0_bits_isFinalTaken;
  wire [63:0] cmm_stage_bctq_mdl_io_enq_0_bits_finalTarget;
  wire  cmm_stage_bctq_mdl_io_deq_0_ready;
  wire  cmm_stage_bctq_mdl_io_deq_0_valid;
  wire  cmm_stage_bctq_mdl_io_deq_0_bits_isPredictTaken;
  wire  cmm_stage_bctq_mdl_io_deq_0_bits_isFinalTaken;
  wire [63:0] cmm_stage_bctq_mdl_io_deq_0_bits_finalTarget;
  wire  cmm_stage_bctq_mdl_io_mapper_0;
  wire  cmm_stage_jctq_mdl_io_enq_0_ready;
  wire  cmm_stage_jctq_mdl_io_enq_0_valid;
  wire [38:0] cmm_stage_jctq_mdl_io_enq_0_bits_btbResp_target;
  wire [38:0] cmm_stage_jctq_mdl_io_enq_0_bits_rasResp_target;
  wire  cmm_stage_jctq_mdl_io_enq_0_bits_isRas;
  wire [63:0] cmm_stage_jctq_mdl_io_enq_0_bits_finalTarget;
  wire  cmm_stage_jctq_mdl_io_deq_0_ready;
  wire  cmm_stage_jctq_mdl_io_deq_0_valid;
  wire [38:0] cmm_stage_jctq_mdl_io_deq_0_bits_btbResp_target;
  wire [38:0] cmm_stage_jctq_mdl_io_deq_0_bits_rasResp_target;
  wire  cmm_stage_jctq_mdl_io_deq_0_bits_isRas;
  wire [63:0] cmm_stage_jctq_mdl_io_deq_0_bits_finalTarget;
  wire  cmm_stage_jctq_mdl_io_mapper_0;
  wire  cmm_stage_csrExe_mdl_io_enq_0_ready;
  wire  cmm_stage_csrExe_mdl_io_enq_0_valid;
  wire [11:0] cmm_stage_csrExe_mdl_io_enq_0_bits_addr;
  wire [63:0] cmm_stage_csrExe_mdl_io_enq_0_bits_dat_i;
  wire  cmm_stage_csrExe_mdl_io_enq_0_bits_op_rw;
  wire  cmm_stage_csrExe_mdl_io_enq_0_bits_op_rs;
  wire  cmm_stage_csrExe_mdl_io_enq_0_bits_op_rc;
  wire  cmm_stage_csrExe_mdl_io_deq_0_ready;
  wire  cmm_stage_csrExe_mdl_io_deq_0_valid;
  wire [11:0] cmm_stage_csrExe_mdl_io_deq_0_bits_addr;
  wire [63:0] cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i;
  wire  cmm_stage_csrExe_mdl_io_deq_0_bits_op_rw;
  wire  cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs;
  wire  cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc;
  wire  cmm_stage_csrExe_mdl_io_mapper_0;
  wire  cmm_stage_fcsrExe_mdl_io_enq_0_valid;
  wire [11:0] cmm_stage_fcsrExe_mdl_io_enq_0_bits_addr;
  wire [63:0] cmm_stage_fcsrExe_mdl_io_enq_0_bits_dat_i;
  wire  cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rw;
  wire  cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rs;
  wire  cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rc;
  wire  cmm_stage_fcsrExe_mdl_io_deq_0_ready;
  wire  cmm_stage_fcsrExe_mdl_io_deq_0_valid;
  wire [11:0] cmm_stage_fcsrExe_mdl_io_deq_0_bits_addr;
  wire [63:0] cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i;
  wire  cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rw;
  wire  cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs;
  wire  cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc;
  wire  cmm_stage_fcsrExe_mdl_io_mapper_0;
  reg [1:0] cmm_stage_csrfiles_priv_lvl; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_DMode; // @[Commit.scala 322:21]
  reg [2:0] cmm_stage_csrfiles_fcsr_frm; // @[Commit.scala 322:21]
  reg [4:0] cmm_stage_csrfiles_fcsr_fflags; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_time; // @[Commit.scala 322:21]
  reg [61:0] cmm_stage_csrfiles_stvec_base; // @[Commit.scala 322:21]
  reg [31:0] cmm_stage_csrfiles_scounteren_hpm; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_sscratch; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_sepc; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_scause_interrupt; // @[Commit.scala 322:21]
  reg [62:0] cmm_stage_csrfiles_scause_exception_code; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_stval; // @[Commit.scala 322:21]
  reg [3:0] cmm_stage_csrfiles_satp_mode; // @[Commit.scala 322:21]
  reg [15:0] cmm_stage_csrfiles_satp_asid; // @[Commit.scala 322:21]
  reg [43:0] cmm_stage_csrfiles_satp_ppn; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_marchid; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_sd; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_tsr; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_tw; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_tvm; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_mxr; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_sum; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_mprv; // @[Commit.scala 322:21]
  reg [1:0] cmm_stage_csrfiles_mstatus_fs; // @[Commit.scala 322:21]
  reg [1:0] cmm_stage_csrfiles_mstatus_mpp; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_spp; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_mpie; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_spie; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_mie; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mstatus_sie; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_misa; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_medeleg; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mideleg; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_mei; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_sei; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_mti; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_sti; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_msi; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mie_ssi; // @[Commit.scala 322:21]
  reg [61:0] cmm_stage_csrfiles_mtvec_base; // @[Commit.scala 322:21]
  reg [31:0] cmm_stage_csrfiles_mcounteren_hpm; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mscratch; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mepc; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mcause_interrupt; // @[Commit.scala 322:21]
  reg [62:0] cmm_stage_csrfiles_mcause_exception_code; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mtval; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_mei; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_sei; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_mti; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_sti; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_msi; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_mip_ssi; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mtinst; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mtval2; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_mcycle; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_minstret; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_tselect; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_tdata1; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_tdata2; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_tdata3; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_dcsr_ebreakm; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_dcsr_ebreaks; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_dcsr_ebreaku; // @[Commit.scala 322:21]
  reg [2:0] cmm_stage_csrfiles_dcsr_cause; // @[Commit.scala 322:21]
  reg  cmm_stage_csrfiles_dcsr_step; // @[Commit.scala 322:21]
  reg [1:0] cmm_stage_csrfiles_dcsr_prv; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_dpc; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_dscratch0; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_dscratch1; // @[Commit.scala 322:21]
  reg [63:0] cmm_stage_csrfiles_dscratch2; // @[Commit.scala 322:21]
  wire  cmm_stage__T_6 = ~cmm_stage_io_rod_0_valid; // @[Commit.scala 419:12]
  wire  cmm_stage__is_xRet_is_mRet_T = cmm_stage_csrfiles_priv_lvl == 2'h3; // @[Commit.scala 165:55]
  wire  cmm_stage_is_xRet_is_mRet = cmm_stage_io_rod_0_bits_privil_mret & cmm_stage__is_xRet_is_mRet_T; // @[Commit.scala 165:35]
  wire  cmm_stage__is_xRet_is_sRet_T_1 = cmm_stage_csrfiles_priv_lvl == 2'h1; // @[Commit.scala 170:91]
  wire  cmm_stage__is_xRet_is_sRet_T_3 = ~cmm_stage_csrfiles_mstatus_tsr; // @[Commit.scala 170:105]
  wire  cmm_stage__is_xRet_is_sRet_T_4 = cmm_stage__is_xRet_is_sRet_T_1 & cmm_stage__is_xRet_is_sRet_T_3; // @[Commit.scala 170:103]
  wire  cmm_stage__is_xRet_is_sRet_T_5 = cmm_stage__is_xRet_is_mRet_T | cmm_stage__is_xRet_is_sRet_T_4; // @[Commit.scala 170:69]
  wire  cmm_stage_is_xRet_is_sRet = cmm_stage_io_rod_0_bits_privil_sret & cmm_stage__is_xRet_is_sRet_T_5; // @[Commit.scala 170:35]
  wire  cmm_stage__is_xRet_T = cmm_stage_is_xRet_is_mRet | cmm_stage_is_xRet_is_sRet; // @[Commit.scala 217:27]
  wire  cmm_stage_is_xRet_is_dRet = cmm_stage_io_rod_0_bits_privil_dret & cmm_stage_csrfiles_DMode; // @[Commit.scala 175:35]
  wire  cmm_stage_is_xRet = cmm_stage__is_xRet_T | cmm_stage_is_xRet_is_dRet; // @[Commit.scala 217:37]
  wire  cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_msi_T = cmm_stage_csrfiles_mip_msi &
    cmm_stage_csrfiles_mie_msi; // @[CsrFiles.scala 284:26]
  wire  cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_msi = cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_msi_T
     & cmm_stage_csrfiles_mstatus_mie; // @[CsrFiles.scala 284:36]
  wire  cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_mti_T = cmm_stage_csrfiles_mip_mti &
    cmm_stage_csrfiles_mie_mti; // @[CsrFiles.scala 292:26]
  wire  cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mti = cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_mti_T
     & cmm_stage_csrfiles_mstatus_mie; // @[CsrFiles.scala 292:36]
  wire  cmm_stage__is_trap_is_interrupt_is_m_interrupt_T_2 = cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_msi |
    cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mti; // @[CsrFiles.scala 304:33]
  wire  cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_mei_T = cmm_stage_csrfiles_mip_mei &
    cmm_stage_csrfiles_mie_mei; // @[CsrFiles.scala 300:26]
  wire  cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mei = cmm_stage__is_trap_is_interrupt_is_m_interrupt_is_mei_T
     & cmm_stage_csrfiles_mstatus_mie; // @[CsrFiles.scala 300:36]
  wire  cmm_stage_is_trap_is_interrupt_is_m_interrupt = cmm_stage__is_trap_is_interrupt_is_m_interrupt_T_2 |
    cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mei; // @[CsrFiles.scala 304:42]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T = cmm_stage_csrfiles_mip_ssi &
    cmm_stage_csrfiles_mie_ssi; // @[CsrFiles.scala 280:26]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_1 =
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T & cmm_stage_csrfiles_mstatus_sie; // @[CsrFiles.scala 280:36]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_3 = cmm_stage_csrfiles_mideleg[1]; // @[CsrFiles.scala 280:85]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_4 = cmm_stage__is_xRet_is_mRet_T &
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_3; // @[CsrFiles.scala 280:76]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_5 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_4; // @[CsrFiles.scala 280:52]
  wire  cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_ssi = cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_1
     & cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_5; // @[CsrFiles.scala 280:50]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T = cmm_stage_csrfiles_mip_sti &
    cmm_stage_csrfiles_mie_sti; // @[CsrFiles.scala 288:26]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_1 =
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T & cmm_stage_csrfiles_mstatus_sie; // @[CsrFiles.scala 288:36]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_3 = cmm_stage_csrfiles_mideleg[5]; // @[CsrFiles.scala 288:85]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_4 = cmm_stage__is_xRet_is_mRet_T &
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_3; // @[CsrFiles.scala 288:76]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_5 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_4; // @[CsrFiles.scala 288:52]
  wire  cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sti = cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_1
     & cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_5; // @[CsrFiles.scala 288:50]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_T_2 = cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_ssi |
    cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sti; // @[CsrFiles.scala 308:33]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T = cmm_stage_csrfiles_mip_sei &
    cmm_stage_csrfiles_mie_sei; // @[CsrFiles.scala 296:26]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_1 =
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T & cmm_stage_csrfiles_mstatus_sie; // @[CsrFiles.scala 296:36]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_3 = cmm_stage_csrfiles_mideleg[9]; // @[CsrFiles.scala 296:85]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_4 = cmm_stage__is_xRet_is_mRet_T &
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_3; // @[CsrFiles.scala 296:76]
  wire  cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_5 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_4; // @[CsrFiles.scala 296:52]
  wire  cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sei = cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_1
     & cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_5; // @[CsrFiles.scala 296:50]
  wire  cmm_stage_is_trap_is_interrupt_is_s_interrupt = cmm_stage__is_trap_is_interrupt_is_s_interrupt_T_2 |
    cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sei; // @[CsrFiles.scala 308:42]
  wire  cmm_stage__is_trap_is_interrupt_T = cmm_stage_is_trap_is_interrupt_is_m_interrupt |
    cmm_stage_is_trap_is_interrupt_is_s_interrupt; // @[Commit.scala 207:51]
  wire  cmm_stage__is_trap_is_interrupt_T_2 = ~cmm_stage_csrfiles_DMode; // @[Commit.scala 207:80]
  wire  cmm_stage__is_trap_is_interrupt_T_3 = cmm_stage__is_trap_is_interrupt_T & cmm_stage__is_trap_is_interrupt_T_2; // @[Commit.scala 207:78]
  reg  cmm_stage_is_single_step; // @[Commit.scala 404:31]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_2 = cmm_stage_is_single_step |
    cmm_stage_io_dm_hartHaltReq; // @[Commit.scala 260:24]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_4 =
    cmm_stage__is_xRet_is_mRet_T & cmm_stage_csrfiles_dcsr_ebreakm; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_5 =
    cmm_stage__is_xRet_is_sRet_T_1 & cmm_stage_csrfiles_dcsr_ebreaks; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_7 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_4 |
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 =
    cmm_stage_csrfiles_priv_lvl == 2'h0; // @[Commit.scala 232:29]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_6 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 &
    cmm_stage_csrfiles_dcsr_ebreaku; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_8 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_7 |
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_6; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn =
    cmm_stage__is_trap_is_interrupt_T_2 &
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_8; // @[Commit.scala 228:49]
  wire  cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm =
    cmm_stage_io_rod_0_bits_privil_ebreak &
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn; // @[Commit.scala 253:42]
  wire  cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_3 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_2 |
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm; // @[Commit.scala 261:25]
  wire  cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt = cmm_stage__is_trap_is_interrupt_T_2 &
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_T_3; // @[Commit.scala 258:46]
  reg  cmm_stage_emu_reset; // @[Commit.scala 363:26]
  wire  cmm_stage_is_trap_is_interrupt_is_nomask_interrupt =
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt | cmm_stage_emu_reset; // @[Commit.scala 268:50]
  wire  cmm_stage__is_trap_is_interrupt_T_4 = cmm_stage__is_trap_is_interrupt_T_3 |
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt; // @[Commit.scala 207:100]
  wire  cmm_stage_is_trap_is_interrupt = cmm_stage__is_trap_is_interrupt_T_4 & cmm_stage__is_trap_is_interrupt_T_2; // @[Commit.scala 207:123]
  wire  cmm_stage__is_trap_is_exception_is_ebreak_exc_T_1 = ~
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn; // @[Commit.scala 120:45]
  wire  cmm_stage_is_trap_is_exception_is_ebreak_exc = cmm_stage_io_rod_0_bits_privil_ebreak &
    cmm_stage__is_trap_is_exception_is_ebreak_exc_T_1; // @[Commit.scala 120:43]
  wire  cmm_stage__is_trap_is_exception_T = cmm_stage_io_rod_0_bits_privil_ecall |
    cmm_stage_is_trap_is_exception_is_ebreak_exc; // @[Commit.scala 192:32]
  wire  cmm_stage__is_trap_is_exception_T_1 = cmm_stage__is_trap_is_exception_T |
    cmm_stage_io_rod_0_bits_privil_is_access_fault; // @[Commit.scala 193:32]
  wire  cmm_stage__is_trap_is_exception_T_2 = cmm_stage__is_trap_is_exception_T_1 |
    cmm_stage_io_rod_0_bits_privil_is_paging_fault; // @[Commit.scala 194:32]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0 = cmm_stage_io_csr_addr_bits == 12'h3a0; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1 = cmm_stage_io_csr_addr_bits == 12'h3a2; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_1 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_226 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2 = cmm_stage_io_csr_addr_bits == 12'h3a4; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_2 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_227 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_226 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3 = cmm_stage_io_csr_addr_bits == 12'h3a6; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_3 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_228 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_227 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_3; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4 = cmm_stage_io_csr_addr_bits == 12'h3a8; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_4 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_229 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_228 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_4; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5 = cmm_stage_io_csr_addr_bits == 12'h3aa; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_5 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_230 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_229 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6 = cmm_stage_io_csr_addr_bits == 12'h3ac; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_6 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_231 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_230 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_6; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7 = cmm_stage_io_csr_addr_bits == 12'h3ae; // @[CsrFiles.scala 314:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_7 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_232 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_231 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_7; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_1 = cmm_stage_io_csr_addr_bits == 12'h3b0; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_8 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_233 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_232 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_8; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_1 = cmm_stage_io_csr_addr_bits == 12'h3b1; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_9 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_234 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_233 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_9; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_1 = cmm_stage_io_csr_addr_bits == 12'h3b2; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_10 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_235 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_234 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_10; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_1 = cmm_stage_io_csr_addr_bits == 12'h3b3; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_11 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_236 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_235 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_11; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_1 = cmm_stage_io_csr_addr_bits == 12'h3b4; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_12 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_237 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_236 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_12; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_1 = cmm_stage_io_csr_addr_bits == 12'h3b5; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_13 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_238 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_237 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_13; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_1 = cmm_stage_io_csr_addr_bits == 12'h3b6; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_14 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_239 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_238 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_14; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_1 = cmm_stage_io_csr_addr_bits == 12'h3b7; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_15 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_1 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_240 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_239 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8 = cmm_stage_io_csr_addr_bits == 12'h3b8; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_16 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_241 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_240 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_16; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9 = cmm_stage_io_csr_addr_bits == 12'h3b9; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_17 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_242 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_241 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_17; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10 = cmm_stage_io_csr_addr_bits == 12'h3ba; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_18 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_243 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_242 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_18; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11 = cmm_stage_io_csr_addr_bits == 12'h3bb; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_19 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_244 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_243 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_19; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12 = cmm_stage_io_csr_addr_bits == 12'h3bc; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_20 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_245 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_244 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_20; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13 = cmm_stage_io_csr_addr_bits == 12'h3bd; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_21 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_246 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_245 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_21; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14 = cmm_stage_io_csr_addr_bits == 12'h3be; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_22 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_247 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_246 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_22; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15 = cmm_stage_io_csr_addr_bits == 12'h3bf; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_23 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_248 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_247 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_23; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16 = cmm_stage_io_csr_addr_bits == 12'h3c0; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_24 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_249 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_248 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_24; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17 = cmm_stage_io_csr_addr_bits == 12'h3c1; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_25 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_250 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_249 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_25; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18 = cmm_stage_io_csr_addr_bits == 12'h3c2; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_26 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_251 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_250 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_26; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19 = cmm_stage_io_csr_addr_bits == 12'h3c3; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_27 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_252 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_251 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_27; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20 = cmm_stage_io_csr_addr_bits == 12'h3c4; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_28 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_253 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_252 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_28; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21 = cmm_stage_io_csr_addr_bits == 12'h3c5; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_29 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_254 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_253 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_29; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22 = cmm_stage_io_csr_addr_bits == 12'h3c6; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_30 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_255 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_254 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_30; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23 = cmm_stage_io_csr_addr_bits == 12'h3c7; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_31 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_256 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_255 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_31; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24 = cmm_stage_io_csr_addr_bits == 12'h3c8; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_32 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_257 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_256 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_32; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25 = cmm_stage_io_csr_addr_bits == 12'h3c9; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_33 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_258 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_257 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_33; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26 = cmm_stage_io_csr_addr_bits == 12'h3ca; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_34 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_259 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_258 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_34; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27 = cmm_stage_io_csr_addr_bits == 12'h3cb; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_35 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_260 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_259 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_35; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28 = cmm_stage_io_csr_addr_bits == 12'h3cc; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_36 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_261 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_260 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_36; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_29 = cmm_stage_io_csr_addr_bits == 12'h3cd; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_37 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_29 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_262 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_261 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_37; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_30 = cmm_stage_io_csr_addr_bits == 12'h3ce; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_38 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_30 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_263 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_262 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_38; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_31 = cmm_stage_io_csr_addr_bits == 12'h3cf; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_39 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_31 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_264 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_263 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_39; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_32 = cmm_stage_io_csr_addr_bits == 12'h3d0; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_40 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_32 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_265 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_264 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_40; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_33 = cmm_stage_io_csr_addr_bits == 12'h3d1; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_41 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_33 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_266 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_265 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_41; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_34 = cmm_stage_io_csr_addr_bits == 12'h3d2; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_42 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_34 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_267 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_266 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_42; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_35 = cmm_stage_io_csr_addr_bits == 12'h3d3; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_43 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_35 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_268 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_267 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_43; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_36 = cmm_stage_io_csr_addr_bits == 12'h3d4; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_44 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_36 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_269 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_268 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_44; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_37 = cmm_stage_io_csr_addr_bits == 12'h3d5; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_45 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_37 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_270 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_269 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_45; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_38 = cmm_stage_io_csr_addr_bits == 12'h3d6; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_46 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_38 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_271 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_270 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_46; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_39 = cmm_stage_io_csr_addr_bits == 12'h3d7; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_47 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_39 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_272 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_271 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_47; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_40 = cmm_stage_io_csr_addr_bits == 12'h3d8; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_48 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_40 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_273 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_272 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_48; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_41 = cmm_stage_io_csr_addr_bits == 12'h3d9; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_49 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_41 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_274 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_273 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_49; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_42 = cmm_stage_io_csr_addr_bits == 12'h3da; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_50 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_42 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_275 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_274 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_50; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_43 = cmm_stage_io_csr_addr_bits == 12'h3db; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_51 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_43 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_276 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_275 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_51; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_44 = cmm_stage_io_csr_addr_bits == 12'h3dc; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_52 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_44 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_277 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_276 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_52; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_45 = cmm_stage_io_csr_addr_bits == 12'h3dd; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_53 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_45 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_278 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_277 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_53; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_46 = cmm_stage_io_csr_addr_bits == 12'h3de; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_54 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_46 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_279 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_278 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_54; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_47 = cmm_stage_io_csr_addr_bits == 12'h3df; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_55 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_47 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_280 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_279 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_55; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_48 = cmm_stage_io_csr_addr_bits == 12'h3e0; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_56 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_48 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_281 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_280 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_56; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_49 = cmm_stage_io_csr_addr_bits == 12'h3e1; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_57 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_49 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_282 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_281 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_57; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_50 = cmm_stage_io_csr_addr_bits == 12'h3e2; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_58 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_50 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_283 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_282 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_58; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_51 = cmm_stage_io_csr_addr_bits == 12'h3e3; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_59 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_51 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_284 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_283 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_59; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_52 = cmm_stage_io_csr_addr_bits == 12'h3e4; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_60 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_52 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_285 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_284 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_60; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_53 = cmm_stage_io_csr_addr_bits == 12'h3e5; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_61 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_53 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_286 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_285 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_61; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_54 = cmm_stage_io_csr_addr_bits == 12'h3e6; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_62 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_54 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_287 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_286 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_62; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_55 = cmm_stage_io_csr_addr_bits == 12'h3e7; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_63 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_55 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_288 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_287 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_63; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_56 = cmm_stage_io_csr_addr_bits == 12'h3e8; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_64 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_56 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_289 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_288 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_64; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_57 = cmm_stage_io_csr_addr_bits == 12'h3e9; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_65 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_57 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_290 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_289 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_65; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_58 = cmm_stage_io_csr_addr_bits == 12'h3ea; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_66 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_58 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_291 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_290 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_66; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_59 = cmm_stage_io_csr_addr_bits == 12'h3eb; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_67 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_59 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_292 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_291 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_67; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_60 = cmm_stage_io_csr_addr_bits == 12'h3ec; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_68 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_60 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_293 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_292 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_68; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_61 = cmm_stage_io_csr_addr_bits == 12'h3ed; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_69 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_61 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_294 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_293 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_69; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_62 = cmm_stage_io_csr_addr_bits == 12'h3ee; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_70 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_62 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_295 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_294 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_70; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_63 = cmm_stage_io_csr_addr_bits == 12'h3ef; // @[CsrFiles.scala 320:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_71 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_63 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_296 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_295 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_71; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_2 = cmm_stage_io_csr_addr_bits == 12'hc03; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_297 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_296 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_2 = cmm_stage_io_csr_addr_bits == 12'hc04; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_298 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_297 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_2 = cmm_stage_io_csr_addr_bits == 12'hc05; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_299 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_298 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_2 = cmm_stage_io_csr_addr_bits == 12'hc06; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_300 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_299 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_2 = cmm_stage_io_csr_addr_bits == 12'hc07; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_301 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_300 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_2 = cmm_stage_io_csr_addr_bits == 12'hc08; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_302 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_301 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_2 = cmm_stage_io_csr_addr_bits == 12'hc09; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_303 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_302 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_2 = cmm_stage_io_csr_addr_bits == 12'hc0a; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_304 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_303 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_2; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_1 = cmm_stage_io_csr_addr_bits == 12'hc0b; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_305 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_304 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_1 = cmm_stage_io_csr_addr_bits == 12'hc0c; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_306 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_305 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_1 = cmm_stage_io_csr_addr_bits == 12'hc0d; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_307 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_306 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_1 = cmm_stage_io_csr_addr_bits == 12'hc0e; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_308 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_307 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_1 = cmm_stage_io_csr_addr_bits == 12'hc0f; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_309 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_308 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_1 = cmm_stage_io_csr_addr_bits == 12'hc10; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_310 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_309 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_1 = cmm_stage_io_csr_addr_bits == 12'hc11; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_311 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_310 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_1 = cmm_stage_io_csr_addr_bits == 12'hc12; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_312 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_311 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_1 = cmm_stage_io_csr_addr_bits == 12'hc13; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_313 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_312 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_1 = cmm_stage_io_csr_addr_bits == 12'hc14; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_314 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_313 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_1 = cmm_stage_io_csr_addr_bits == 12'hc15; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_315 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_314 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_1 = cmm_stage_io_csr_addr_bits == 12'hc16; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_316 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_315 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_1 = cmm_stage_io_csr_addr_bits == 12'hc17; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_317 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_316 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_1 = cmm_stage_io_csr_addr_bits == 12'hc18; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_318 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_317 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_1 = cmm_stage_io_csr_addr_bits == 12'hc19; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_319 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_318 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_1 = cmm_stage_io_csr_addr_bits == 12'hc1a; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_320 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_319 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_1 = cmm_stage_io_csr_addr_bits == 12'hc1b; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_321 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_320 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_1 = cmm_stage_io_csr_addr_bits == 12'hc1c; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_322 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_321 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_1 = cmm_stage_io_csr_addr_bits == 12'hc1d; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_323 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_322 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_1 = cmm_stage_io_csr_addr_bits == 12'hc1e; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_324 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_323 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_1 = cmm_stage_io_csr_addr_bits == 12'hc1f; // @[CsrFiles.scala 326:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_325 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_324 |
    cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_1; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_3 = cmm_stage_io_csr_addr_bits == 12'hb03; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_2 = cmm_stage_csrfiles_mcounteren_hpm[3]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_3 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_2; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_0_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_3; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_101 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_0_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_326 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_325 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_101; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_3 = cmm_stage_io_csr_addr_bits == 12'hb04; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_6 = cmm_stage_csrfiles_mcounteren_hpm[4]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_7 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_6; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_1_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_7; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_102 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_1_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_327 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_326 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_102; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_3 = cmm_stage_io_csr_addr_bits == 12'hb05; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_10 = cmm_stage_csrfiles_mcounteren_hpm[5]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_11 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_10; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_2_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_11; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_103 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_2_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_328 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_327 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_103; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_3 = cmm_stage_io_csr_addr_bits == 12'hb06; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_14 = cmm_stage_csrfiles_mcounteren_hpm[6]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_15 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_14; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_3_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_15; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_104 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_3_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_329 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_328 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_104; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_3 = cmm_stage_io_csr_addr_bits == 12'hb07; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_18 = cmm_stage_csrfiles_mcounteren_hpm[7]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_19 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_18; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_4_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_19; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_105 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_4_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_330 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_329 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_105; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_3 = cmm_stage_io_csr_addr_bits == 12'hb08; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_22 = cmm_stage_csrfiles_mcounteren_hpm[8]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_23 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_22; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_5_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_23; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_106 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_5_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_331 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_330 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_106; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_3 = cmm_stage_io_csr_addr_bits == 12'hb09; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_26 = cmm_stage_csrfiles_mcounteren_hpm[9]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_27 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_26; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_6_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_27; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_107 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_6_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_332 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_331 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_107; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_3 = cmm_stage_io_csr_addr_bits == 12'hb0a; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_30 = cmm_stage_csrfiles_mcounteren_hpm[10]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_31 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_30; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_7_2 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_31; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_108 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_7_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_333 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_332 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_108; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_2 = cmm_stage_io_csr_addr_bits == 12'hb0b; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_34 = cmm_stage_csrfiles_mcounteren_hpm[11]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_35 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_34; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_8_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_35; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_109 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_8_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_334 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_333 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_109; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_2 = cmm_stage_io_csr_addr_bits == 12'hb0c; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_38 = cmm_stage_csrfiles_mcounteren_hpm[12]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_39 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_38; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_9_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_39; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_110 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_9_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_335 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_334 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_110; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_2 = cmm_stage_io_csr_addr_bits == 12'hb0d; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_42 = cmm_stage_csrfiles_mcounteren_hpm[13]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_43 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_42; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_10_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_43; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_111 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_10_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_336 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_335 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_111; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_2 = cmm_stage_io_csr_addr_bits == 12'hb0e; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_46 = cmm_stage_csrfiles_mcounteren_hpm[14]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_47 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_46; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_11_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_47; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_112 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_11_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_337 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_336 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_112; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_2 = cmm_stage_io_csr_addr_bits == 12'hb0f; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_50 = cmm_stage_csrfiles_mcounteren_hpm[15]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_51 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_50; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_12_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_51; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_113 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_12_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_338 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_337 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_113; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_2 = cmm_stage_io_csr_addr_bits == 12'hb10; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_54 = cmm_stage_csrfiles_mcounteren_hpm[16]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_55 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_54; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_13_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_55; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_114 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_13_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_339 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_338 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_114; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_2 = cmm_stage_io_csr_addr_bits == 12'hb11; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_58 = cmm_stage_csrfiles_mcounteren_hpm[17]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_59 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_58; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_14_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_59; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_115 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_14_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_340 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_339 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_115; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_2 = cmm_stage_io_csr_addr_bits == 12'hb12; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_62 = cmm_stage_csrfiles_mcounteren_hpm[18]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_63 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_62; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_15_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_63; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_116 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_15_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_341 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_340 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_116; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_2 = cmm_stage_io_csr_addr_bits == 12'hb13; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_66 = cmm_stage_csrfiles_mcounteren_hpm[19]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_67 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_66; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_16_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_67; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_117 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_16_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_342 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_341 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_117; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_2 = cmm_stage_io_csr_addr_bits == 12'hb14; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_70 = cmm_stage_csrfiles_mcounteren_hpm[20]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_71 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_70; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_17_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_71; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_118 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_17_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_343 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_342 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_118; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_2 = cmm_stage_io_csr_addr_bits == 12'hb15; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_74 = cmm_stage_csrfiles_mcounteren_hpm[21]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_75 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_74; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_18_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_75; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_119 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_18_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_344 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_343 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_119; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_2 = cmm_stage_io_csr_addr_bits == 12'hb16; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_78 = cmm_stage_csrfiles_mcounteren_hpm[22]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_79 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_78; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_19_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_79; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_120 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_19_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_345 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_344 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_120; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_2 = cmm_stage_io_csr_addr_bits == 12'hb17; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_82 = cmm_stage_csrfiles_mcounteren_hpm[23]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_83 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_82; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_20_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_83; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_121 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_20_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_346 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_345 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_121; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_2 = cmm_stage_io_csr_addr_bits == 12'hb18; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_86 = cmm_stage_csrfiles_mcounteren_hpm[24]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_87 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_86; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_21_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_87; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_122 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_21_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_347 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_346 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_122; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_2 = cmm_stage_io_csr_addr_bits == 12'hb19; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_90 = cmm_stage_csrfiles_mcounteren_hpm[25]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_91 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_90; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_22_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_91; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_123 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_22_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_348 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_347 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_123; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_2 = cmm_stage_io_csr_addr_bits == 12'hb1a; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_94 = cmm_stage_csrfiles_mcounteren_hpm[26]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_95 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_94; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_23_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_95; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_124 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_23_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_349 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_348 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_124; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_2 = cmm_stage_io_csr_addr_bits == 12'hb1b; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_98 = cmm_stage_csrfiles_mcounteren_hpm[27]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_99 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_98; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_24_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_99; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_125 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_24_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_350 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_349 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_125; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_2 = cmm_stage_io_csr_addr_bits == 12'hb1c; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_102 = cmm_stage_csrfiles_mcounteren_hpm[28]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_103 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_102; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_25_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_103; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_126 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_25_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_351 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_350 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_126; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_2 = cmm_stage_io_csr_addr_bits == 12'hb1d; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_106 = cmm_stage_csrfiles_mcounteren_hpm[29]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_107 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_106; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_26_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_107; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_127 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_26_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_352 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_351 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_127; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_2 = cmm_stage_io_csr_addr_bits == 12'hb1e; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_110 = cmm_stage_csrfiles_mcounteren_hpm[30]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_111 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_110; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_27_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_111; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_128 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_27_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_353 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_352 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_128; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_2 = cmm_stage_io_csr_addr_bits == 12'hb1f; // @[CsrFiles.scala 332:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_114 = cmm_stage_csrfiles_mcounteren_hpm[31]; // @[CsrFiles.scala 333:118]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_115 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_114; // @[CsrFiles.scala 333:99]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_28_1 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_reg_sel_T_115; // @[CsrFiles.scala 333:75]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_129 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_28_1; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_354 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_353 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_129; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_4 = cmm_stage_io_csr_addr_bits == 12'h323; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_130 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_0_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_355 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_354 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_130; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_4 = cmm_stage_io_csr_addr_bits == 12'h324; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_131 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_1_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_356 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_355 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_131; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_4 = cmm_stage_io_csr_addr_bits == 12'h325; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_132 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_2_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_357 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_356 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_132; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_4 = cmm_stage_io_csr_addr_bits == 12'h326; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_133 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_3_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_358 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_357 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_133; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_4 = cmm_stage_io_csr_addr_bits == 12'h327; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_134 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_4_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_359 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_358 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_134; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_4 = cmm_stage_io_csr_addr_bits == 12'h328; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_135 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_5_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_360 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_359 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_135; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_4 = cmm_stage_io_csr_addr_bits == 12'h329; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_136 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_6_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_361 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_360 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_136; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_4 = cmm_stage_io_csr_addr_bits == 12'h32a; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_137 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_7_4 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_362 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_361 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_137; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_3 = cmm_stage_io_csr_addr_bits == 12'h32b; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_138 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_8_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_363 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_362 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_138; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_3 = cmm_stage_io_csr_addr_bits == 12'h32c; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_139 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_9_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_364 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_363 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_139; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_3 = cmm_stage_io_csr_addr_bits == 12'h32d; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_140 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_10_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_365 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_364 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_140; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_3 = cmm_stage_io_csr_addr_bits == 12'h32e; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_141 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_11_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_366 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_365 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_141; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_3 = cmm_stage_io_csr_addr_bits == 12'h32f; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_142 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_12_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_367 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_366 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_142; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_3 = cmm_stage_io_csr_addr_bits == 12'h330; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_143 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_13_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_368 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_367 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_143; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_3 = cmm_stage_io_csr_addr_bits == 12'h331; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_144 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_14_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_369 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_368 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_144; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_3 = cmm_stage_io_csr_addr_bits == 12'h332; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_145 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_15_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_370 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_369 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_145; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_3 = cmm_stage_io_csr_addr_bits == 12'h333; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_146 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_16_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_371 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_370 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_146; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_3 = cmm_stage_io_csr_addr_bits == 12'h334; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_147 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_17_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_372 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_371 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_147; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_3 = cmm_stage_io_csr_addr_bits == 12'h335; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_148 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_18_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_373 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_372 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_148; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_3 = cmm_stage_io_csr_addr_bits == 12'h336; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_149 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_19_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_374 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_373 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_149; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_3 = cmm_stage_io_csr_addr_bits == 12'h337; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_150 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_20_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_375 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_374 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_150; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_3 = cmm_stage_io_csr_addr_bits == 12'h338; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_151 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_21_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_376 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_375 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_151; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_3 = cmm_stage_io_csr_addr_bits == 12'h339; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_152 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_22_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_377 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_376 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_152; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_3 = cmm_stage_io_csr_addr_bits == 12'h33a; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_153 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_23_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_378 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_377 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_153; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_3 = cmm_stage_io_csr_addr_bits == 12'h33b; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_154 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_24_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_379 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_378 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_154; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_3 = cmm_stage_io_csr_addr_bits == 12'h33c; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_155 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_25_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_380 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_379 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_155; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_3 = cmm_stage_io_csr_addr_bits == 12'h33d; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_156 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_26_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_381 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_380 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_156; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_3 = cmm_stage_io_csr_addr_bits == 12'h33e; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_157 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_27_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_382 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_381 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_157; // @[Mux.scala 27:73]
  wire  cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_3 = cmm_stage_io_csr_addr_bits == 12'h33f; // @[CsrFiles.scala 338:59]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_158 = cmm_stage_cmm_state_0_is_csrr_illegal_addr_chk_28_3 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_383 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_382 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_158; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T = cmm_stage_io_csr_addr_bits == 12'h1; // @[CsrFiles.scala 352:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_384 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_383 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_2 = cmm_stage_io_csr_addr_bits == 12'h2; // @[CsrFiles.scala 353:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_385 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_384 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_2; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_4 = cmm_stage_io_csr_addr_bits == 12'h3; // @[CsrFiles.scala 354:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_386 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_385 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_4; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_6 = cmm_stage_io_csr_addr_bits == 12'hc00; // @[CsrFiles.scala 355:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_387 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_386 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_6; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_8 = cmm_stage_io_csr_addr_bits == 12'hc01; // @[CsrFiles.scala 356:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_388 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_387 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_8; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_10 = cmm_stage_io_csr_addr_bits == 12'hc02; // @[CsrFiles.scala 357:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_389 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_388 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_10; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_12 = cmm_stage_io_csr_addr_bits == 12'h100; // @[CsrFiles.scala 358:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_390 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_389 |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_12; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_14 = cmm_stage_io_csr_addr_bits == 12'h104; // @[CsrFiles.scala 361:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_15 = cmm_stage_csrfiles_priv_lvl >= 2'h1; // @[CsrFiles.scala 361:46]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_166 = cmm_stage__cmm_state_0_is_csrr_illegal_T_14 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_391 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_390 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_166; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_16 = cmm_stage_io_csr_addr_bits == 12'h105; // @[CsrFiles.scala 362:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_167 = cmm_stage__cmm_state_0_is_csrr_illegal_T_16 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_392 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_391 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_167; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_18 = cmm_stage_io_csr_addr_bits == 12'h106; // @[CsrFiles.scala 363:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_168 = cmm_stage__cmm_state_0_is_csrr_illegal_T_18 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_393 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_392 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_168; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_20 = cmm_stage_io_csr_addr_bits == 12'h140; // @[CsrFiles.scala 364:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_169 = cmm_stage__cmm_state_0_is_csrr_illegal_T_20 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_394 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_393 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_169; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_22 = cmm_stage_io_csr_addr_bits == 12'h141; // @[CsrFiles.scala 365:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_170 = cmm_stage__cmm_state_0_is_csrr_illegal_T_22 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_395 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_394 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_170; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_24 = cmm_stage_io_csr_addr_bits == 12'h142; // @[CsrFiles.scala 366:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_171 = cmm_stage__cmm_state_0_is_csrr_illegal_T_24 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_396 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_395 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_171; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_26 = cmm_stage_io_csr_addr_bits == 12'h143; // @[CsrFiles.scala 367:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_172 = cmm_stage__cmm_state_0_is_csrr_illegal_T_26 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_397 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_396 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_172; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_28 = cmm_stage_io_csr_addr_bits == 12'h144; // @[CsrFiles.scala 368:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_173 = cmm_stage__cmm_state_0_is_csrr_illegal_T_28 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_398 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_397 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_173; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_30 = cmm_stage_io_csr_addr_bits == 12'h180; // @[CsrFiles.scala 369:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_33 = ~cmm_stage_csrfiles_mstatus_tvm; // @[CsrFiles.scala 369:98]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_34 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_33; // @[CsrFiles.scala 369:84]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_35 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_34; // @[CsrFiles.scala 369:60]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_174 = cmm_stage__cmm_state_0_is_csrr_illegal_T_30 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_35; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_399 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_398 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_174; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_58 = cmm_stage_io_csr_addr_bits == 12'hf11; // @[CsrFiles.scala 392:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_197 = cmm_stage__cmm_state_0_is_csrr_illegal_T_58 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_422 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_399 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_197; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_60 = cmm_stage_io_csr_addr_bits == 12'hf12; // @[CsrFiles.scala 393:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_198 = cmm_stage__cmm_state_0_is_csrr_illegal_T_60 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_423 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_422 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_198; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_62 = cmm_stage_io_csr_addr_bits == 12'hf13; // @[CsrFiles.scala 394:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_199 = cmm_stage__cmm_state_0_is_csrr_illegal_T_62 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_424 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_423 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_199; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_64 = cmm_stage_io_csr_addr_bits == 12'hf14; // @[CsrFiles.scala 395:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_200 = cmm_stage__cmm_state_0_is_csrr_illegal_T_64 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_425 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_424 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_200; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_66 = cmm_stage_io_csr_addr_bits == 12'h300; // @[CsrFiles.scala 396:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_201 = cmm_stage__cmm_state_0_is_csrr_illegal_T_66 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_426 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_425 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_201; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_68 = cmm_stage_io_csr_addr_bits == 12'h301; // @[CsrFiles.scala 397:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_202 = cmm_stage__cmm_state_0_is_csrr_illegal_T_68 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_427 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_426 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_202; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_70 = cmm_stage_io_csr_addr_bits == 12'h302; // @[CsrFiles.scala 398:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_203 = cmm_stage__cmm_state_0_is_csrr_illegal_T_70 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_428 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_427 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_203; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_72 = cmm_stage_io_csr_addr_bits == 12'h303; // @[CsrFiles.scala 399:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_204 = cmm_stage__cmm_state_0_is_csrr_illegal_T_72 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_429 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_428 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_204; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_74 = cmm_stage_io_csr_addr_bits == 12'h304; // @[CsrFiles.scala 400:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_205 = cmm_stage__cmm_state_0_is_csrr_illegal_T_74 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_430 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_429 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_205; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_76 = cmm_stage_io_csr_addr_bits == 12'h305; // @[CsrFiles.scala 401:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_206 = cmm_stage__cmm_state_0_is_csrr_illegal_T_76 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_431 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_430 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_206; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_78 = cmm_stage_io_csr_addr_bits == 12'h306; // @[CsrFiles.scala 402:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_207 = cmm_stage__cmm_state_0_is_csrr_illegal_T_78 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_432 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_431 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_207; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_80 = cmm_stage_io_csr_addr_bits == 12'h340; // @[CsrFiles.scala 403:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_208 = cmm_stage__cmm_state_0_is_csrr_illegal_T_80 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_433 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_432 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_208; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_82 = cmm_stage_io_csr_addr_bits == 12'h341; // @[CsrFiles.scala 404:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_209 = cmm_stage__cmm_state_0_is_csrr_illegal_T_82 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_434 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_433 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_209; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_84 = cmm_stage_io_csr_addr_bits == 12'h342; // @[CsrFiles.scala 405:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_210 = cmm_stage__cmm_state_0_is_csrr_illegal_T_84 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_435 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_434 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_210; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_86 = cmm_stage_io_csr_addr_bits == 12'h343; // @[CsrFiles.scala 406:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_211 = cmm_stage__cmm_state_0_is_csrr_illegal_T_86 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_436 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_435 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_211; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_88 = cmm_stage_io_csr_addr_bits == 12'h344; // @[CsrFiles.scala 407:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_212 = cmm_stage__cmm_state_0_is_csrr_illegal_T_88 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_437 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_436 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_212; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_90 = cmm_stage_io_csr_addr_bits == 12'h34a; // @[CsrFiles.scala 408:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_213 = cmm_stage__cmm_state_0_is_csrr_illegal_T_90 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_438 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_437 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_213; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_92 = cmm_stage_io_csr_addr_bits == 12'h34b; // @[CsrFiles.scala 409:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_214 = cmm_stage__cmm_state_0_is_csrr_illegal_T_92 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_439 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_438 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_214; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_94 = cmm_stage_io_csr_addr_bits == 12'hb00; // @[CsrFiles.scala 411:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_97 = cmm_stage_csrfiles_mcounteren_hpm[0]; // @[CsrFiles.scala 137:15]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_98 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_97; // @[CsrFiles.scala 411:82]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_99 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_98; // @[CsrFiles.scala 411:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_215 = cmm_stage__cmm_state_0_is_csrr_illegal_T_94 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_99; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_440 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_439 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_215; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_100 = cmm_stage_io_csr_addr_bits == 12'hb02; // @[CsrFiles.scala 412:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_103 = cmm_stage_csrfiles_mcounteren_hpm[2]; // @[CsrFiles.scala 135:15]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_104 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_103; // @[CsrFiles.scala 412:82]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_105 = cmm_stage__is_xRet_is_mRet_T |
    cmm_stage__cmm_state_0_is_csrr_illegal_T_104; // @[CsrFiles.scala 412:58]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_216 = cmm_stage__cmm_state_0_is_csrr_illegal_T_100 &
    cmm_stage__cmm_state_0_is_csrr_illegal_T_105; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_441 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_440 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_216; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_106 = cmm_stage_io_csr_addr_bits == 12'h320; // @[CsrFiles.scala 413:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_217 = cmm_stage__cmm_state_0_is_csrr_illegal_T_106 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_442 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_441 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_217; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_108 = cmm_stage_io_csr_addr_bits == 12'h7a0; // @[CsrFiles.scala 414:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_218 = cmm_stage__cmm_state_0_is_csrr_illegal_T_108 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_443 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_442 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_218; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_110 = cmm_stage_io_csr_addr_bits == 12'h7a1; // @[CsrFiles.scala 415:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_219 = cmm_stage__cmm_state_0_is_csrr_illegal_T_110 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_444 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_443 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_219; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_112 = cmm_stage_io_csr_addr_bits == 12'h7a2; // @[CsrFiles.scala 416:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_220 = cmm_stage__cmm_state_0_is_csrr_illegal_T_112 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_445 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_444 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_220; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_114 = cmm_stage_io_csr_addr_bits == 12'h7a3; // @[CsrFiles.scala 417:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_221 = cmm_stage__cmm_state_0_is_csrr_illegal_T_114 &
    cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_446 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_445 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_221; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_116 = cmm_stage_io_csr_addr_bits == 12'h7b0; // @[CsrFiles.scala 418:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_222 = cmm_stage__cmm_state_0_is_csrr_illegal_T_116 &
    cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_447 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_446 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_222; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_117 = cmm_stage_io_csr_addr_bits == 12'h7b1; // @[CsrFiles.scala 419:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_223 = cmm_stage__cmm_state_0_is_csrr_illegal_T_117 &
    cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_448 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_447 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_223; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_118 = cmm_stage_io_csr_addr_bits == 12'h7b2; // @[CsrFiles.scala 420:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_224 = cmm_stage__cmm_state_0_is_csrr_illegal_T_118 &
    cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_449 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_448 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_224; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_119 = cmm_stage_io_csr_addr_bits == 12'h7b3; // @[CsrFiles.scala 421:18]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_225 = cmm_stage__cmm_state_0_is_csrr_illegal_T_119 &
    cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_res_T_450 = cmm_stage__cmm_state_0_is_csrr_illegal_res_T_449 |
    cmm_stage__cmm_state_0_is_csrr_illegal_res_T_225; // @[Mux.scala 27:73]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_120 = ~cmm_stage__cmm_state_0_is_csrr_illegal_res_T_450; // @[CsrFiles.scala 425:5]
  wire  cmm_stage__cmm_state_0_is_csrr_illegal_T_121 = cmm_stage__cmm_state_0_is_csrr_illegal_T_120 &
    cmm_stage_io_csr_addr_valid; // @[Commit.scala 647:101]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T = cmm_stage__cmm_state_0_is_csrr_illegal_T_121 &
    cmm_stage_io_rod_0_bits_is_csr; // @[Commit.scala 148:25]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_1 = ~cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 148:40]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_2 = cmm_stage__is_trap_is_exception_is_csr_illegal_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 148:38]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc |
    cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs; // @[Commit.scala 135:42]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_1 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T | cmm_stage_csrExe_mdl_io_deq_0_bits_op_rw; // @[Commit.scala 135:57]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3a0; // @[CsrFiles.scala 431:58]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3a2; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_226 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3a4; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_227 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_226 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3a6; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_228 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_227 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3a8; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_229 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_228 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3aa; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_230 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_229 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ac; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_231 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_230 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ae; // @[CsrFiles.scala 431:58]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_232 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_231 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b0; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_233 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_232 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b1; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_234 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_233 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b2; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_235 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_234 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b3; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_236 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_235 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b4; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_237 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_236 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b5; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_238 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_237 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b6; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_239 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_238 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b7; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_240 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_239 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b8; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_241 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_240 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3b9; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_242 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_241 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ba; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_243 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_242 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3bb; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_244 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_243 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3bc; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_245 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_244 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3bd; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_246 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_245 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3be; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_247 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_246 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3bf; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_248 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_247 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c0; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_249 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_248 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c1; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_250 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_249 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c2; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_251 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_250 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c3; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_252 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_251 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c4; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_253 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_252 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c5; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_254 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_253 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c6; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_255 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_254 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c7; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_256 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_255 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c8; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_257 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_256 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3c9; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_258 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_257 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ca; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_259 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_258 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3cb; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_260 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_259 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3cc; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_261 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_260 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3cd; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_262 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_261 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ce; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_263 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_262 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3cf; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_264 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_263 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d0; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_265 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_264 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d1; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_266 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_265 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d2; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_267 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_266 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d3; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_268 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_267 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d4; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_269 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_268 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d5; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_270 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_269 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d6; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_271 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_270 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d7; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_272 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_271 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d8; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_273 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_272 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3d9; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_274 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_273 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3da; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_275 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_274 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3db; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_276 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_275 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3dc; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_277 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_276 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3dd; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_278 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_277 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3de; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_279 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_278 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3df; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_280 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_279 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e0; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_281 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_280 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e1; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_282 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_281 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e2; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_283 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_282 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e3; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_284 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_283 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e4; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_285 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_284 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e5; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_286 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_285 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e6; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_287 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_286 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e7; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_288 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_287 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e8; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_289 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_288 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3e9; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_290 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_289 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ea; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_291 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_290 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3eb; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_292 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_291 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ec; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_293 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_292 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ed; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_294 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_293 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ee; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_295 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_294 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3ef; // @[CsrFiles.scala 437:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_296 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_295 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc03; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_297 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_296 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc04; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_298 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_297 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc05; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_299 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_298 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc06; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_300 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_299 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc07; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_301 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_300 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc08; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_302 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_301 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc09; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_303 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_302 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0a; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_304 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_303 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0b; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_305 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_304 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0c; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_306 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_305 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0d; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_307 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_306 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0e; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_308 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_307 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc0f; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_309 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_308 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc10; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_310 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_309 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc11; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_311 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_310 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc12; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_312 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_311 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc13; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_313 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_312 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc14; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_314 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_313 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc15; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_315 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_314 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc16; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_316 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_315 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc17; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_317 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_316 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc18; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_318 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_317 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc19; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_319 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_318 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1a; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_320 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_319 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1b; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_321 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_320 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1c; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_322 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_321 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1d; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_323 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_322 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1e; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_324 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_323 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc1f; // @[CsrFiles.scala 443:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_325 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_324 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb03; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_326 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_325 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb04; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_327 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_326 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb05; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_328 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_327 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb06; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_329 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_328 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb07; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_330 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_329 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb08; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_331 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_330 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb09; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_332 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_331 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0a; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_333 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_332 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0b; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_334 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_333 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0c; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_335 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_334 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0d; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_336 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_335 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0e; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_337 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_336 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb0f; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_338 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_337 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb10; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_339 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_338 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb11; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_340 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_339 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb12; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_341 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_340 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb13; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_342 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_341 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb14; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_343 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_342 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb15; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_344 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_343 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb16; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_345 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_344 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb17; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_346 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_345 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb18; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_347 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_346 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb19; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_348 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_347 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1a; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_349 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_348 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1b; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_350 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_349 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1c; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_351 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_350 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1d; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_352 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_351 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1e; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_353 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_352 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hb1f; // @[CsrFiles.scala 449:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_354 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_353 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h323; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_355 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_354 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h324; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_356 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_355 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h325; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_357 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_356 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h326; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_358 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_357 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h327; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_359 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_358 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h328; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_360 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_359 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h329; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_361 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_360 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32a; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_362 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_361 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32b; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_363 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_362 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32c; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_364 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_363 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32d; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_365 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_364 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32e; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_366 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_365 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h32f; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_367 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_366 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h330; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_368 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_367 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h331; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_369 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_368 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h332; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_370 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_369 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h333; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_371 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_370 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h334; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_372 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_371 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h335; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_373 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_372 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h336; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_374 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_373 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h337; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_375 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_374 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h338; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_376 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_375 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h339; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_377 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_376 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33a; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_378 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_377 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33b; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_379 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_378 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33c; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_380 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_379 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33d; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_381 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_380 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33e; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_382 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_381 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3; // @[Mux.scala 27:73]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3 =
    cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h33f; // @[CsrFiles.scala 455:59]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_383 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_382 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h1
    ; // @[CsrFiles.scala 469:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_384 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_383 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h2
    ; // @[CsrFiles.scala 470:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_385 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_384 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h3
    ; // @[CsrFiles.scala 471:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_386 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_385 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc00
    ; // @[CsrFiles.scala 472:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_6 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc01
    ; // @[CsrFiles.scala 473:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_7 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'hc02
    ; // @[CsrFiles.scala 474:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h100
    ; // @[CsrFiles.scala 475:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_390 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_386 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h104
    ; // @[CsrFiles.scala 478:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_391 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_390 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h105; // @[CsrFiles.scala 479:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_392 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_391 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h106; // @[CsrFiles.scala 480:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_393 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_392 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h140; // @[CsrFiles.scala 481:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_394 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_393 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h141; // @[CsrFiles.scala 482:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_395 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_394 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h142; // @[CsrFiles.scala 483:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_396 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_395 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h143; // @[CsrFiles.scala 484:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_397 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_396 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h144; // @[CsrFiles.scala 485:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_398 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_397 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h180; // @[CsrFiles.scala 486:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_399 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_398 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hf11; // @[CsrFiles.scala 509:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_422 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_399 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hf12; // @[CsrFiles.scala 510:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_423 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_422 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hf13; // @[CsrFiles.scala 511:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_424 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_423 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hf14; // @[CsrFiles.scala 512:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_425 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_424 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h300; // @[CsrFiles.scala 513:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_426 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_425 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h301; // @[CsrFiles.scala 514:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_427 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_426 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h302; // @[CsrFiles.scala 515:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_428 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_427 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h303; // @[CsrFiles.scala 516:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_429 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_428 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h304; // @[CsrFiles.scala 517:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_430 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_429 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h305; // @[CsrFiles.scala 518:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_431 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_430 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h306; // @[CsrFiles.scala 519:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_432 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_431 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h340; // @[CsrFiles.scala 520:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_433 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_432 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h341; // @[CsrFiles.scala 521:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_434 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_433 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h342; // @[CsrFiles.scala 522:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_435 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_434 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h343; // @[CsrFiles.scala 523:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_436 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_435 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h344; // @[CsrFiles.scala 524:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_437 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_436 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h34a; // @[CsrFiles.scala 525:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_438 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_437 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h34b; // @[CsrFiles.scala 526:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_439 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_438 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hb00; // @[CsrFiles.scala 528:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_440 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_439 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'hb02; // @[CsrFiles.scala 529:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_441 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_440 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h320; // @[CsrFiles.scala 530:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_442 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_441 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7a0; // @[CsrFiles.scala 531:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_443 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_442 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7a1; // @[CsrFiles.scala 532:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_444 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_443 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7a2; // @[CsrFiles.scala 533:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_445 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_444 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7a3; // @[CsrFiles.scala 534:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_446 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_445 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7b0; // @[CsrFiles.scala 535:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_222 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65 & cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_447 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_446 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_222; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7b1; // @[CsrFiles.scala 536:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_223 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66 & cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_448 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_447 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_223; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7b2; // @[CsrFiles.scala 537:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_224 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 & cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_449 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_448 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_224; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 = cmm_stage_csrExe_mdl_io_deq_0_bits_addr
     == 12'h7b3; // @[CsrFiles.scala 538:18]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_225 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 & cmm_stage_csrfiles_DMode; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_450 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_449 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_225; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_69 = ~
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_450; // @[CsrFiles.scala 542:5]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_451 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_452 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_677 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_451 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_452; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_453 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_678 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_677 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_453; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_454 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_679 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_678 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_454; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_455 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_680 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_679 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_455; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_456 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_681 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_680 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_456; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_457 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_682 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_681 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_457; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_458 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_683 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_682 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_458; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_459 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_684 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_683 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_459; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_460 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_685 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_684 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_460; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_461 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_686 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_685 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_461; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_462 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_687 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_686 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_462; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_463 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_688 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_687 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_463; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_464 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_689 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_688 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_464; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_465 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_690 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_689 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_465; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_466 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_1 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_691 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_690 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_466; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_467 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_692 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_691 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_467; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_468 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_693 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_692 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_468; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_469 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_694 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_693 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_469; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_470 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_695 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_694 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_470; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_471 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_696 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_695 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_471; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_472 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_697 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_696 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_472; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_473 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_698 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_697 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_473; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_474 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_699 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_698 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_474; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_475 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_700 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_699 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_475; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_476 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_701 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_700 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_476; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_477 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_702 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_701 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_477; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_478 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_703 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_702 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_478; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_479 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_704 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_703 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_479; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_480 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_705 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_704 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_480; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_481 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_706 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_705 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_481; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_482 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_707 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_706 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_482; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_483 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_708 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_707 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_483; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_484 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_709 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_708 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_484; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_485 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_710 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_709 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_485; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_486 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_711 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_710 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_486; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_487 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_712 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_711 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_487; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_488 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_29 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_713 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_712 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_488; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_489 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_30 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_714 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_713 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_489; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_490 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_31 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_715 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_714 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_490; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_491 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_32 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_716 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_715 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_491; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_492 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_33 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_717 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_716 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_492; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_493 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_34 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_718 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_717 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_493; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_494 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_35 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_719 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_718 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_494; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_495 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_36 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_720 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_719 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_495; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_496 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_37 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_721 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_720 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_496; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_497 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_38 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_722 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_721 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_497; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_498 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_39 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_723 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_722 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_498; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_499 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_40 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_724 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_723 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_499; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_500 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_41 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_725 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_724 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_500; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_501 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_42 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_726 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_725 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_501; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_502 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_43 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_727 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_726 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_502; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_503 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_44 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_728 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_727 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_503; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_504 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_45 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_729 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_728 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_504; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_505 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_46 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_730 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_729 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_505; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_506 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_47 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_731 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_730 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_506; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_507 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_48 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_732 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_731 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_507; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_508 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_49 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_733 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_732 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_508; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_509 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_50 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_734 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_733 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_509; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_510 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_51 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_735 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_734 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_510; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_511 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_52 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_736 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_735 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_511; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_512 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_53 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_737 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_736 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_512; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_513 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_54 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_738 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_737 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_513; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_514 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_55 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_739 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_738 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_514; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_515 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_56 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_740 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_739 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_515; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_516 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_57 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_741 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_740 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_516; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_517 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_58 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_742 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_741 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_517; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_518 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_59 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_743 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_742 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_518; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_519 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_60 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_744 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_743 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_519; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_520 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_61 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_745 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_744 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_520; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_521 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_62 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_746 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_745 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_521; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_522 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_63 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_747 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_746 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_522; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_748 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_747 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_749 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_748 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_750 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_749 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_751 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_750 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_752 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_751 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_753 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_752 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_754 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_753 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_755 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_754 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_756 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_755 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_757 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_756 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_758 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_757 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_759 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_758 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_760 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_759 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_761 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_760 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_762 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_761 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_763 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_762 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_764 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_763 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_765 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_764 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_766 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_765 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_767 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_766 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_768 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_767 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_769 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_768 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_770 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_769 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_771 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_770 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_772 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_771 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_773 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_772 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_774 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_773 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_775 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_774 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_776 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_775 |
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_552 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_0_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_777 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_776 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_552; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_553 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_1_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_778 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_777 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_553; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_554 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_2_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_779 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_778 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_554; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_555 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_3_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_780 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_779 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_555; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_556 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_4_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_781 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_780 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_556; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_557 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_5_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_782 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_781 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_557; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_558 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_6_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_783 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_782 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_558; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_559 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_3 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_7_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_784 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_783 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_559; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_560 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_8_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_785 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_784 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_560; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_561 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_9_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_786 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_785 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_561; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_562 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_10_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_787 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_786 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_562; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_563 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_11_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_788 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_787 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_563; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_564 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_12_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_789 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_788 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_564; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_565 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_13_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_790 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_789 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_565; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_566 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_14_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_791 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_790 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_566; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_567 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_15_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_792 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_791 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_567; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_568 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_16_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_793 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_792 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_568; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_569 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_17_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_794 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_793 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_569; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_570 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_18_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_795 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_794 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_570; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_571 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_19_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_796 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_795 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_571; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_572 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_20_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_797 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_796 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_572; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_573 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_21_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_798 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_797 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_573; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_574 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_22_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_799 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_798 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_574; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_575 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_23_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_800 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_799 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_575; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_576 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_24_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_801 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_800 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_576; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_577 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_25_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_802 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_801 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_577; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_578 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_26_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_803 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_802 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_578; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_579 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_27_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_804 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_803 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_579; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_580 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_2 &
    cmm_stage_cmm_state_0_is_csrr_illegal_reg_sel_28_1; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_805 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_804 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_580; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_581 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_0_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_806 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_805 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_581; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_582 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_1_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_807 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_806 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_582; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_583 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_2_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_808 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_807 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_583; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_584 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_3_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_809 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_808 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_584; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_585 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_4_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_810 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_809 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_585; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_586 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_5_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_811 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_810 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_586; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_587 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_6_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_812 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_811 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_587; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_588 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_7_4 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_813 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_812 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_588; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_589 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_8_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_814 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_813 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_589; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_590 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_9_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_815 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_814 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_590; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_591 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_10_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_816 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_815 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_591; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_592 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_11_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_817 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_816 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_592; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_593 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_12_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_818 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_817 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_593; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_594 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_13_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_819 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_818 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_594; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_595 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_14_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_820 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_819 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_595; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_596 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_15_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_821 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_820 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_596; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_597 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_16_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_822 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_821 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_597; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_598 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_17_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_823 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_822 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_598; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_599 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_18_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_824 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_823 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_599; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_600 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_19_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_825 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_824 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_600; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_601 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_20_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_826 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_825 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_601; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_602 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_21_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_827 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_826 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_602; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_603 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_22_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_828 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_827 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_603; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_604 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_23_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_829 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_828 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_604; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_605 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_24_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_830 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_829 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_605; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_606 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_25_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_831 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_830 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_606; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_607 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_26_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_832 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_831 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_607; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_608 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_27_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_833 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_832 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_608; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_609 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal_addr_chk_28_3 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_834 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_833 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_609; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_835 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_834 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_2; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_836 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_835 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_3; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_837 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_836 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_4; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_838 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_837 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_839 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_838 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_6; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_840 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_839 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_7; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_841 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_840 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_617 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_842 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_841 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_617; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_618 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_843 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_842 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_618; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_619 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_11 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_844 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_843 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_619; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_620 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_845 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_844 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_620; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_621 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_846 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_845 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_621; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_622 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_847 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_846 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_622; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_623 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_848 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_847 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_623; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_624 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_16 & cmm_stage__cmm_state_0_is_csrr_illegal_T_15; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_849 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_848 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_624; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_625 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17 & cmm_stage__cmm_state_0_is_csrr_illegal_T_35; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_850 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_849 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_625; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_648 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_40 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_873 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_850 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_648; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_649 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_41 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_874 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_873 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_649; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_650 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_42 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_875 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_874 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_650; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_651 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_43 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_876 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_875 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_651; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_652 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_877 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_876 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_652; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_653 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_45 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_878 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_877 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_653; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_654 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_879 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_878 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_654; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_655 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_880 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_879 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_655; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_656 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_881 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_880 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_656; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_657 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_882 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_881 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_657; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_658 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_883 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_882 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_658; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_659 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_884 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_883 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_659; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_660 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_885 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_884 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_660; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_661 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_886 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_885 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_661; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_662 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_887 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_886 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_662; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_663 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_55 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_888 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_887 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_663; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_664 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_889 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_888 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_664; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_665 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_890 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_889 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_665; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_666 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 & cmm_stage__cmm_state_0_is_csrr_illegal_T_99; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_891 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_890 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_666; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_667 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 & cmm_stage__cmm_state_0_is_csrr_illegal_T_105; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_892 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_891 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_667; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_668 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_60 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_893 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_892 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_668; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_669 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_894 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_893 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_669; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_670 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_895 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_894 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_670; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_671 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_896 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_895 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_671; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_672 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 & cmm_stage__is_xRet_is_mRet_T; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_897 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_896 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_672; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_898 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_897 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_222; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_899 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_898 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_223; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_900 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_899 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_224; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_901 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_900 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_225; // @[Mux.scala 27:73]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_190 = ~
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_res_T_901; // @[CsrFiles.scala 425:5]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_191 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_69 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_190; // @[Commit.scala 135:117]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_1 &
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_191; // @[Commit.scala 135:74]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_3 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_csrw_illegal & cmm_stage_io_rod_0_bits_is_csr; // @[Commit.scala 149:25]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_4 = cmm_stage__is_trap_is_exception_is_csr_illegal_T_3 &
    cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 149:38]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_5 = cmm_stage__is_trap_is_exception_is_csr_illegal_T_2 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_4; // @[Commit.scala 148:48]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc |
    cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs; // @[Commit.scala 140:44]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_1 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T | cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rw; // @[Commit.scala 140:60]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_2 = cmm_stage_csrfiles_mstatus_fs == 2'h0; // @[Commit.scala 140:101]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_1 &
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_2; // @[Commit.scala 140:78]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_6 =
    cmm_stage_is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal & cmm_stage_io_rod_0_bits_is_fcsr; // @[Commit.scala 150:25]
  wire  cmm_stage__is_trap_is_exception_is_csr_illegal_T_7 = cmm_stage__is_trap_is_exception_is_csr_illegal_T_6 &
    cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 150:39]
  wire  cmm_stage_is_trap_is_exception_is_csr_illegal = cmm_stage__is_trap_is_exception_is_csr_illegal_T_5 |
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_7; // @[Commit.scala 149:48]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T = cmm_stage_io_rod_0_bits_is_illeage |
    cmm_stage_is_trap_is_exception_is_csr_illegal; // @[Commit.scala 160:37]
  wire  cmm_stage__is_trap_is_exception_is_ill_sfence_T = cmm_stage_io_cm_op_0_is_writeback &
    cmm_stage_io_rod_0_bits_is_sfence_vma; // @[Commit.scala 152:31]
  wire  cmm_stage__is_trap_is_exception_is_ill_sfence_T_2 = cmm_stage_csrfiles_mstatus_tvm &
    cmm_stage__is_xRet_is_sRet_T_1; // @[Commit.scala 152:77]
  wire  cmm_stage__is_trap_is_exception_is_ill_sfence_T_4 = cmm_stage__is_trap_is_exception_is_ill_sfence_T_2 |
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3; // @[Commit.scala 152:110]
  wire  cmm_stage_is_trap_is_exception_is_ill_sfence = cmm_stage__is_trap_is_exception_is_ill_sfence_T &
    cmm_stage__is_trap_is_exception_is_ill_sfence_T_4; // @[Commit.scala 152:51]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T_1 = cmm_stage__is_trap_is_exception_is_illeage_T |
    cmm_stage_is_trap_is_exception_is_ill_sfence; // @[Commit.scala 160:54]
  wire  cmm_stage__is_trap_is_exception_is_ill_wfi_T = cmm_stage_io_cm_op_0_is_writeback &
    cmm_stage_io_rod_0_bits_is_wfi; // @[Commit.scala 153:29]
  wire  cmm_stage__is_trap_is_exception_is_ill_wfi_T_1 = cmm_stage_csrfiles_priv_lvl < 2'h3; // @[Commit.scala 153:94]
  wire  cmm_stage__is_trap_is_exception_is_ill_wfi_T_2 = cmm_stage_csrfiles_mstatus_tw &
    cmm_stage__is_trap_is_exception_is_ill_wfi_T_1; // @[Commit.scala 153:74]
  wire  cmm_stage_is_trap_is_exception_is_ill_wfi = cmm_stage__is_trap_is_exception_is_ill_wfi_T &
    cmm_stage__is_trap_is_exception_is_ill_wfi_T_2; // @[Commit.scala 153:49]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T_2 = cmm_stage__is_trap_is_exception_is_illeage_T_1 |
    cmm_stage_is_trap_is_exception_is_ill_wfi; // @[Commit.scala 160:70]
  wire  cmm_stage__is_trap_is_exception_is_ill_mRet_T = cmm_stage_csrfiles_priv_lvl != 2'h3; // @[Commit.scala 155:59]
  wire  cmm_stage_is_trap_is_exception_is_ill_mRet = cmm_stage_io_rod_0_bits_privil_mret &
    cmm_stage__is_trap_is_exception_is_ill_mRet_T; // @[Commit.scala 155:39]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T_3 = cmm_stage__is_trap_is_exception_is_illeage_T_2 |
    cmm_stage_is_trap_is_exception_is_ill_mRet; // @[Commit.scala 160:83]
  wire  cmm_stage__is_trap_is_exception_is_ill_sRet_T_2 = cmm_stage__is_xRet_is_sRet_T_1 &
    cmm_stage_csrfiles_mstatus_tsr; // @[Commit.scala 156:107]
  wire  cmm_stage__is_trap_is_exception_is_ill_sRet_T_3 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 |
    cmm_stage__is_trap_is_exception_is_ill_sRet_T_2; // @[Commit.scala 156:73]
  wire  cmm_stage_is_trap_is_exception_is_ill_sRet = cmm_stage_io_rod_0_bits_privil_sret &
    cmm_stage__is_trap_is_exception_is_ill_sRet_T_3; // @[Commit.scala 156:39]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T_4 = cmm_stage__is_trap_is_exception_is_illeage_T_3 |
    cmm_stage_is_trap_is_exception_is_ill_sRet; // @[Commit.scala 160:97]
  wire  cmm_stage_is_trap_is_exception_is_ill_dRet = cmm_stage_io_rod_0_bits_privil_dret &
    cmm_stage__is_trap_is_interrupt_T_2; // @[Commit.scala 157:39]
  wire  cmm_stage__is_trap_is_exception_is_illeage_T_5 = cmm_stage__is_trap_is_exception_is_illeage_T_4 |
    cmm_stage_is_trap_is_exception_is_ill_dRet; // @[Commit.scala 160:111]
  wire  cmm_stage__is_trap_is_exception_is_ill_fpus_T = cmm_stage_io_cm_op_0_is_writeback &
    cmm_stage_io_rod_0_bits_is_fpu; // @[Commit.scala 158:30]
  wire  cmm_stage_is_trap_is_exception_is_ill_fpus = cmm_stage__is_trap_is_exception_is_ill_fpus_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_fcsrw_illegal_T_2; // @[Commit.scala 158:45]
  wire  cmm_stage_is_trap_is_exception_is_illeage = cmm_stage__is_trap_is_exception_is_illeage_T_5 |
    cmm_stage_is_trap_is_exception_is_ill_fpus; // @[Commit.scala 160:125]
  wire  cmm_stage__is_trap_is_exception_T_4 = cmm_stage__is_trap_is_exception_T_2 |
    cmm_stage_is_trap_is_exception_is_illeage; // @[Commit.scala 195:32]
  wire  cmm_stage__is_trap_is_exception_is_load_accessFault_T = cmm_stage_io_lsu_cmm_is_access_fault &
    cmm_stage_io_rod_0_bits_is_lu; // @[Commit.scala 66:55]
  wire  cmm_stage_is_trap_is_exception_is_load_accessFault = cmm_stage__is_trap_is_exception_is_load_accessFault_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 66:67]
  wire  cmm_stage__is_trap_is_exception_T_5 = cmm_stage__is_trap_is_exception_T_4 |
    cmm_stage_is_trap_is_exception_is_load_accessFault; // @[Commit.scala 196:32]
  wire  cmm_stage__is_trap_is_exception_is_store_accessFault_T = cmm_stage_io_rod_0_bits_is_su |
    cmm_stage_io_rod_0_bits_is_amo; // @[Commit.scala 71:70]
  wire  cmm_stage__is_trap_is_exception_is_store_accessFault_T_1 = cmm_stage_io_lsu_cmm_is_access_fault &
    cmm_stage__is_trap_is_exception_is_store_accessFault_T; // @[Commit.scala 71:56]
  wire  cmm_stage_is_trap_is_exception_is_store_accessFault = cmm_stage__is_trap_is_exception_is_store_accessFault_T_1
     & cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 71:85]
  wire  cmm_stage__is_trap_is_exception_T_6 = cmm_stage__is_trap_is_exception_T_5 |
    cmm_stage_is_trap_is_exception_is_store_accessFault; // @[Commit.scala 197:32]
  wire  cmm_stage__is_trap_is_exception_is_load_misAlign_T = cmm_stage_io_lsu_cmm_is_misAlign &
    cmm_stage_io_rod_0_bits_is_lu; // @[Commit.scala 86:48]
  wire  cmm_stage_is_trap_is_exception_is_load_misAlign = cmm_stage__is_trap_is_exception_is_load_misAlign_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 86:60]
  wire  cmm_stage__is_trap_is_exception_T_7 = cmm_stage__is_trap_is_exception_T_6 |
    cmm_stage_is_trap_is_exception_is_load_misAlign; // @[Commit.scala 198:32]
  wire  cmm_stage__is_trap_is_exception_is_store_misAlign_T_1 = cmm_stage_io_lsu_cmm_is_misAlign &
    cmm_stage__is_trap_is_exception_is_store_accessFault_T; // @[Commit.scala 95:49]
  wire  cmm_stage_is_trap_is_exception_is_store_misAlign = cmm_stage__is_trap_is_exception_is_store_misAlign_T_1 &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 95:76]
  wire  cmm_stage__is_trap_is_exception_T_8 = cmm_stage__is_trap_is_exception_T_7 |
    cmm_stage_is_trap_is_exception_is_store_misAlign; // @[Commit.scala 199:32]
  wire  cmm_stage__is_trap_is_exception_is_load_pagingFault_T = cmm_stage_io_lsu_cmm_is_paging_fault &
    cmm_stage_io_rod_0_bits_is_lu; // @[Commit.scala 76:55]
  wire  cmm_stage_is_trap_is_exception_is_load_pagingFault = cmm_stage__is_trap_is_exception_is_load_pagingFault_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 76:67]
  wire  cmm_stage__is_trap_is_exception_T_9 = cmm_stage__is_trap_is_exception_T_8 |
    cmm_stage_is_trap_is_exception_is_load_pagingFault; // @[Commit.scala 200:32]
  wire  cmm_stage__is_trap_is_exception_is_store_pagingFault_T_1 = cmm_stage_io_lsu_cmm_is_paging_fault &
    cmm_stage__is_trap_is_exception_is_store_accessFault_T; // @[Commit.scala 81:56]
  wire  cmm_stage_is_trap_is_exception_is_store_pagingFault = cmm_stage__is_trap_is_exception_is_store_pagingFault_T_1
     & cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 81:85]
  wire  cmm_stage_is_trap_is_exception = cmm_stage__is_trap_is_exception_T_9 |
    cmm_stage_is_trap_is_exception_is_store_pagingFault; // @[Commit.scala 201:32]
  wire  cmm_stage_is_trap = cmm_stage_is_trap_is_interrupt | cmm_stage_is_trap_is_exception; // @[Commit.scala 212:32]
  wire  cmm_stage__T_7 = cmm_stage_is_xRet | cmm_stage_is_trap; // @[Commit.scala 426:32]
  wire  cmm_stage_is_fence_i = cmm_stage_io_rod_0_bits_is_fence_i & cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 180:37]
  wire  cmm_stage__T_8 = cmm_stage__T_7 | cmm_stage_is_fence_i; // @[Commit.scala 426:55]
  wire  cmm_stage__is_sfence_vma_T = cmm_stage_io_rod_0_bits_is_sfence_vma & cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 185:43]
  wire  cmm_stage__is_sfence_vma_T_4 = cmm_stage__cmm_state_0_is_csrr_illegal_T_33 & cmm_stage__is_xRet_is_sRet_T_1; // @[Commit.scala 185:85]
  wire  cmm_stage__is_sfence_vma_T_6 = cmm_stage__is_sfence_vma_T_4 | cmm_stage__is_xRet_is_mRet_T; // @[Commit.scala 185:118]
  wire  cmm_stage_is_sfence_vma = cmm_stage__is_sfence_vma_T & cmm_stage__is_sfence_vma_T_6; // @[Commit.scala 185:51]
  wire  cmm_stage__T_9 = cmm_stage__T_8 | cmm_stage_is_sfence_vma; // @[Commit.scala 426:81]
  wire  cmm_stage__T_10 = cmm_stage_bctq_mdl_io_deq_0_bits_isPredictTaken !=
    cmm_stage_bctq_mdl_io_deq_0_bits_isFinalTaken; // @[frontend.scala 245:37]
  wire  cmm_stage__T_11 = cmm_stage_io_rod_0_bits_is_branch & cmm_stage__T_10; // @[Commit.scala 431:47]
  wire  cmm_stage__T_12 = cmm_stage__T_11 & cmm_stage_bctq_mdl_io_deq_0_valid; // @[Commit.scala 431:75]
  wire [63:0] _GEN_643 = {{25'd0}, cmm_stage_jctq_mdl_io_deq_0_bits_rasResp_target}; // @[frontend.scala 250:48]
  wire  cmm_stage__T_13 = _GEN_643 != cmm_stage_jctq_mdl_io_deq_0_bits_finalTarget; // @[frontend.scala 250:48]
  wire [63:0] _GEN_644 = {{25'd0}, cmm_stage_jctq_mdl_io_deq_0_bits_btbResp_target}; // @[frontend.scala 250:80]
  wire  cmm_stage__T_14 = _GEN_644 != cmm_stage_jctq_mdl_io_deq_0_bits_finalTarget; // @[frontend.scala 250:80]
  wire  cmm_stage__T_15 = cmm_stage_jctq_mdl_io_deq_0_bits_isRas ? cmm_stage__T_13 : cmm_stage__T_14; // @[frontend.scala 250:25]
  wire  cmm_stage__T_16 = cmm_stage_io_rod_0_bits_is_jalr & cmm_stage__T_15; // @[Commit.scala 431:121]
  wire  cmm_stage__T_17 = cmm_stage__T_16 & cmm_stage_jctq_mdl_io_deq_0_valid; // @[Commit.scala 431:149]
  wire  cmm_stage__T_18 = cmm_stage__T_12 | cmm_stage__T_17; // @[Commit.scala 431:93]
  wire  cmm_stage__T_19 = cmm_stage__T_18 & cmm_stage_io_cm_op_0_is_writeback; // @[Commit.scala 431:167]
  wire  cmm_stage_is_step_1 = cmm_stage_csrfiles_dcsr_step & cmm_stage__is_trap_is_interrupt_T_2; // @[Commit.scala 243:38]
  wire  cmm_stage__T_21 = ~cmm_stage_is_step_1; // @[Commit.scala 431:190]
  wire  cmm_stage__T_22 = cmm_stage__T_19 & cmm_stage__T_21; // @[Commit.scala 431:188]
  wire  cmm_stage__T_23 = ~cmm_stage_csrExe_mdl_io_deq_0_valid; // @[Commit.scala 435:40]
  wire  cmm_stage__T_24 = cmm_stage_io_rod_0_bits_is_csr & cmm_stage__T_23; // @[Commit.scala 435:38]
  wire  cmm_stage__T_25 = ~cmm_stage_fcsrExe_mdl_io_deq_0_valid; // @[Commit.scala 435:87]
  wire  cmm_stage__T_26 = cmm_stage_io_rod_0_bits_is_fcsr & cmm_stage__T_25; // @[Commit.scala 435:85]
  wire  cmm_stage__T_27 = cmm_stage__T_24 | cmm_stage__T_26; // @[Commit.scala 435:58]
  wire  cmm_stage__T_28 = ~cmm_stage_bctq_mdl_io_deq_0_valid; // @[Commit.scala 435:137]
  wire  cmm_stage__T_29 = cmm_stage_io_rod_0_bits_is_branch & cmm_stage__T_28; // @[Commit.scala 435:135]
  wire  cmm_stage__T_30 = cmm_stage__T_27 | cmm_stage__T_29; // @[Commit.scala 435:106]
  wire  cmm_stage__T_31 = ~cmm_stage_jctq_mdl_io_deq_0_valid; // @[Commit.scala 435:182]
  wire  cmm_stage__T_32 = cmm_stage_io_rod_0_bits_is_jalr & cmm_stage__T_31; // @[Commit.scala 435:180]
  wire  cmm_stage__T_33 = cmm_stage__T_30 | cmm_stage__T_32; // @[Commit.scala 435:153]
  wire [1:0] cmm_stage__GEN_462 = cmm_stage__T_33 ? 2'h0 : 2'h3; // @[Commit.scala 435:200 436:27 438:27]
  wire [1:0] cmm_stage__GEN_463 = cmm_stage_io_cm_op_0_is_writeback ? cmm_stage__GEN_462 : 2'h0; // @[Commit.scala 434:41 442:25]
  wire [1:0] cmm_stage__GEN_464 = cmm_stage__T_22 ? 2'h2 : cmm_stage__GEN_463; // @[Commit.scala 431:213 432:27]
  wire [1:0] cmm_stage__GEN_465 = cmm_stage__T_9 ? 2'h1 : cmm_stage__GEN_464; // @[Commit.scala 427:11 428:25]
  wire [1:0] cmm_stage__GEN_467 = cmm_stage__T_6 ? 2'h0 : cmm_stage__GEN_465; // @[Commit.scala 419:33 420:23]
  wire  cmm_stage_commit_state_is_comfirm_0 = cmm_stage__GEN_467 == 2'h3; // @[Commit.scala 324:87]
  wire  cmm_stage_commit_state_is_misPredict_0 = cmm_stage__GEN_467 == 2'h2; // @[Commit.scala 325:87]
  wire  cmm_stage_commit_state_is_abort_0 = cmm_stage__GEN_467 == 2'h1; // @[Commit.scala 326:87]
  wire  cmm_stage_is_retired_0 = cmm_stage_commit_state_is_comfirm_0 | cmm_stage_commit_state_is_misPredict_0; // @[Commit.scala 333:77]
  wire  cmm_stage__GEN_0 = cmm_stage_emu_reset ? 1'h0 : cmm_stage_emu_reset; // @[Commit.scala 363:26 365:{26,38}]
  wire  cmm_stage__GEN_1 = cmm_stage_io_dm_hartResetReq | cmm_stage__GEN_0; // @[Commit.scala 364:{30,42}]
  wire [63:0] cmm_stage__csrfiles_mcycle_T_1 = cmm_stage_csrfiles_mcycle + 64'h1; // @[Commit.scala 395:38]
  reg  cmm_stage_rtc_0; // @[Reg.scala 35:20]
  reg  cmm_stage_rtc_1; // @[Reg.scala 35:20]
  reg  cmm_stage_rtc_2; // @[Reg.scala 35:20]
  reg  cmm_stage_rtc_3; // @[Reg.scala 35:20]
  wire  cmm_stage__T = cmm_stage_rtc_3 ^ cmm_stage_rtc_2; // @[Commit.scala 396:77]
  wire [63:0] cmm_stage__csrfiles_time_T_1 = cmm_stage_csrfiles_time + 64'h1; // @[Commit.scala 396:120]
  wire  cmm_stage__T_1 = cmm_stage_is_retired_0 | cmm_stage_commit_state_is_abort_0; // @[Commit.scala 398:59]
  wire [1:0] cmm_stage__GEN_469 = cmm_stage_emu_reset ? 2'h3 : cmm_stage_csrfiles_priv_lvl; // @[CsrFiles.scala 707:{30,41}]
  wire [1:0] cmm_stage__GEN_470 = cmm_stage_is_xRet_is_dRet ? cmm_stage_csrfiles_dcsr_prv : cmm_stage__GEN_469; // @[CsrFiles.scala 710:{24,35}]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_72 = cmm_stage_csrfiles_medeleg[15]; // @[CsrFiles.scala 736:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_73 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_72
    ; // @[CsrFiles.scala 736:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_74 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_73 ? 2'h3 : 2'h1; // @[CsrFiles.scala 736:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_74; // @[CsrFiles.scala 736:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_67 = cmm_stage_csrfiles_medeleg[13]; // @[CsrFiles.scala 735:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_68 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_67
    ; // @[CsrFiles.scala 735:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_69 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_68 ? 2'h3 : 2'h1; // @[CsrFiles.scala 735:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_70 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_69; // @[CsrFiles.scala 735:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_62 = cmm_stage_csrfiles_medeleg[12]; // @[CsrFiles.scala 734:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_63 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_62
    ; // @[CsrFiles.scala 734:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_64 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_63 ? 2'h3 : 2'h1; // @[CsrFiles.scala 734:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_65 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_64; // @[CsrFiles.scala 734:58]
  wire  cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_M = cmm_stage_io_rod_0_bits_privil_ecall &
    cmm_stage__is_xRet_is_mRet_T; // @[Commit.scala 115:31]
  wire  cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_S = cmm_stage_io_rod_0_bits_privil_ecall &
    cmm_stage__is_xRet_is_sRet_T_1; // @[Commit.scala 110:31]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_58 = cmm_stage_csrfiles_medeleg[9]; // @[CsrFiles.scala 732:79]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_59 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_58
    ; // @[CsrFiles.scala 732:59]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_60 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_59 ? 2'h3 : 2'h1; // @[CsrFiles.scala 732:58]
  wire  cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_U = cmm_stage_io_rod_0_bits_privil_ecall &
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3; // @[Commit.scala 105:31]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_55 = cmm_stage_csrfiles_medeleg[8]; // @[CsrFiles.scala 731:79]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_56 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_55
    ; // @[CsrFiles.scala 731:59]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_57 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_56 ? 2'h3 : 2'h1; // @[CsrFiles.scala 731:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_51 = cmm_stage_csrfiles_medeleg[7]; // @[CsrFiles.scala 730:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_52 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_51
    ; // @[CsrFiles.scala 730:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_53 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_52 ? 2'h3 : 2'h1; // @[CsrFiles.scala 730:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_54 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_53; // @[CsrFiles.scala 730:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_46 = cmm_stage_csrfiles_medeleg[6]; // @[CsrFiles.scala 729:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_47 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_46
    ; // @[CsrFiles.scala 729:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_48 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_47 ? 2'h3 : 2'h1; // @[CsrFiles.scala 729:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_49 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_48; // @[CsrFiles.scala 729:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_41 = cmm_stage_csrfiles_medeleg[5]; // @[CsrFiles.scala 728:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_42 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_41
    ; // @[CsrFiles.scala 728:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_43 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_42 ? 2'h3 : 2'h1; // @[CsrFiles.scala 728:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_44 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_43; // @[CsrFiles.scala 728:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_36 = cmm_stage_csrfiles_medeleg[4]; // @[CsrFiles.scala 727:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_37 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_36
    ; // @[CsrFiles.scala 727:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_38 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_37 ? 2'h3 : 2'h1; // @[CsrFiles.scala 727:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_39 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_38; // @[CsrFiles.scala 727:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_31 = cmm_stage_csrfiles_medeleg[3]; // @[CsrFiles.scala 726:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_32 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_31
    ; // @[CsrFiles.scala 726:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_33 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_32 ? 2'h3 : 2'h1; // @[CsrFiles.scala 726:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_34 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_33; // @[CsrFiles.scala 726:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_26 = cmm_stage_csrfiles_medeleg[2]; // @[CsrFiles.scala 725:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_27 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_26
    ; // @[CsrFiles.scala 725:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_28 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_27 ? 2'h3 : 2'h1; // @[CsrFiles.scala 725:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_29 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_28; // @[CsrFiles.scala 725:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_21 = cmm_stage_csrfiles_medeleg[1]; // @[CsrFiles.scala 724:127]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_22 = ~cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_21
    ; // @[CsrFiles.scala 724:107]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_23 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_22 ? 2'h3 : 2'h1; // @[CsrFiles.scala 724:106]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_24 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_23; // @[CsrFiles.scala 724:58]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_12 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sei_T_3; // @[CsrFiles.scala 719:99]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_13 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_12 ? 2'h3 : 2'h1; // @[CsrFiles.scala 719:97]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_14 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_13; // @[CsrFiles.scala 719:49]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_7 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_sti_T_3; // @[CsrFiles.scala 717:99]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_8 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_7 ? 2'h3 : 2'h1; // @[CsrFiles.scala 717:97]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_9 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_8; // @[CsrFiles.scala 717:49]
  wire  cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_2 = ~
    cmm_stage__is_trap_is_interrupt_is_s_interrupt_is_ssi_T_3; // @[CsrFiles.scala 715:99]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_3 =
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_2 ? 2'h3 : 2'h1; // @[CsrFiles.scala 715:97]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_4 = cmm_stage__is_xRet_is_mRet_T ? 2'h3 :
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_3; // @[CsrFiles.scala 715:49]
  wire [1:0] cmm_stage__GEN_471 = cmm_stage_is_xRet_is_mRet ? cmm_stage_csrfiles_mstatus_mpp : cmm_stage__GEN_469; // @[CsrFiles.scala 712:{24,35}]
  wire [1:0] cmm_stage__GEN_472 = cmm_stage_is_xRet_is_sRet ? {{1'd0}, cmm_stage_csrfiles_mstatus_spp} :
    cmm_stage__GEN_471; // @[CsrFiles.scala 713:{24,35}]
  wire [1:0] cmm_stage__GEN_473 = cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_ssi ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_4 : cmm_stage__GEN_472; // @[CsrFiles.scala 715:{32,43}]
  wire [1:0] cmm_stage__GEN_474 = cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_msi ? 2'h3 : cmm_stage__GEN_473; // @[CsrFiles.scala 716:{32,43}]
  wire [1:0] cmm_stage__GEN_475 = cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sti ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_9 : cmm_stage__GEN_474; // @[CsrFiles.scala 717:{32,43}]
  wire [1:0] cmm_stage__GEN_476 = cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mti ? 2'h3 : cmm_stage__GEN_475; // @[CsrFiles.scala 718:{32,43}]
  wire [1:0] cmm_stage__GEN_477 = cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sei ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_14 : cmm_stage__GEN_476; // @[CsrFiles.scala 719:{32,43}]
  wire [1:0] cmm_stage__GEN_478 = cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mei ? 2'h3 : cmm_stage__GEN_477; // @[CsrFiles.scala 720:{32,43}]
  wire [1:0] cmm_stage__GEN_480 = cmm_stage_io_rod_0_bits_privil_is_access_fault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_24 : cmm_stage__GEN_478; // @[CsrFiles.scala 724:{41,52}]
  wire [1:0] cmm_stage__GEN_481 = cmm_stage_is_trap_is_exception_is_illeage ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_29 : cmm_stage__GEN_480; // @[CsrFiles.scala 725:{41,52}]
  wire [1:0] cmm_stage__GEN_482 = cmm_stage_is_trap_is_exception_is_ebreak_exc ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_34 : cmm_stage__GEN_481; // @[CsrFiles.scala 726:{41,52}]
  wire [1:0] cmm_stage__GEN_483 = cmm_stage_is_trap_is_exception_is_load_misAlign ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_39 : cmm_stage__GEN_482; // @[CsrFiles.scala 727:{41,52}]
  wire [1:0] cmm_stage__GEN_484 = cmm_stage_is_trap_is_exception_is_load_accessFault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_44 : cmm_stage__GEN_483; // @[CsrFiles.scala 728:{41,52}]
  wire [1:0] cmm_stage__GEN_485 = cmm_stage_is_trap_is_exception_is_store_misAlign ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_49 : cmm_stage__GEN_484; // @[CsrFiles.scala 729:{41,52}]
  wire [1:0] cmm_stage__GEN_486 = cmm_stage_is_trap_is_exception_is_store_accessFault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_54 : cmm_stage__GEN_485; // @[CsrFiles.scala 730:{41,52}]
  wire [1:0] cmm_stage__GEN_487 = cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_U ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_57 : cmm_stage__GEN_486; // @[CsrFiles.scala 731:{41,52}]
  wire [1:0] cmm_stage__GEN_488 = cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_S ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_60 : cmm_stage__GEN_487; // @[CsrFiles.scala 732:{41,52}]
  wire [1:0] cmm_stage__GEN_489 = cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_M ? 2'h3 : cmm_stage__GEN_488; // @[CsrFiles.scala 733:{41,52}]
  wire [1:0] cmm_stage__GEN_490 = cmm_stage_io_rod_0_bits_privil_is_paging_fault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_65 : cmm_stage__GEN_489; // @[CsrFiles.scala 734:{41,52}]
  wire [1:0] cmm_stage__GEN_491 = cmm_stage_is_trap_is_exception_is_load_pagingFault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_70 : cmm_stage__GEN_490; // @[CsrFiles.scala 735:{41,52}]
  wire [1:0] cmm_stage__GEN_492 = cmm_stage_is_trap_is_exception_is_store_pagingFault ?
    cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75 : cmm_stage__GEN_491; // @[CsrFiles.scala 736:{41,52}]
  wire [1:0] cmm_stage__GEN_493 = cmm_stage_csrfiles_DMode ? cmm_stage__GEN_470 : cmm_stage__GEN_492; // @[CsrFiles.scala 709:31]
  wire  cmm_stage__GEN_494 = cmm_stage_is_xRet_is_dRet ? 1'h0 : cmm_stage_csrfiles_DMode; // @[CsrFiles.scala 1872:{31,39}]
  wire  cmm_stage__GEN_495 = cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt | cmm_stage__GEN_494; // @[CsrFiles.scala 1871:{37,45}]
  wire  cmm_stage__csr_state_0_csrfiles_fcsr_enable_T = cmm_stage_fcsrExe_mdl_io_deq_0_bits_addr == 12'h1; // @[CsrFiles.scala 42:27]
  wire  cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_1 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rw |
    cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs; // @[CsrFiles.scala 42:49]
  wire  cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_2 = cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_1 |
    cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc; // @[CsrFiles.scala 42:60]
  wire  cmm_stage_csr_state_0_csrfiles_fcsr_enable0 = cmm_stage__csr_state_0_csrfiles_fcsr_enable_T &
    cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_2; // @[CsrFiles.scala 42:37]
  wire  cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_3 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_addr == 12'h2; // @[CsrFiles.scala 42:27]
  wire  cmm_stage_csr_state_0_csrfiles_fcsr_enable1 = cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_3 &
    cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_11 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rw ?
    cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _GEN_645 = {{61'd0}, cmm_stage_csrfiles_fcsr_frm}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_8 = _GEN_645 | cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_12 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_8 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_14 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_11 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_12; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_9 = ~cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 46:32]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_10 = _GEN_645 & cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_9; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_13 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_10 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_15 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_14 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_13; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_6 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_addr == 12'h3; // @[CsrFiles.scala 42:27]
  wire  cmm_stage_csr_state_0_csrfiles_fcsr_enable2 = cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_6 &
    cmm_stage__csr_state_0_csrfiles_fcsr_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [7:0] cmm_stage__csr_state_0_csrfiles_fcsr_T = {cmm_stage_csrfiles_fcsr_frm,cmm_stage_csrfiles_fcsr_fflags}; // @[CsrFiles.scala 675:59]
  wire [63:0] _GEN_647 = {{56'd0}, cmm_stage__csr_state_0_csrfiles_fcsr_T}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_16 = _GEN_647 | cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_20 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_16 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_22 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_11 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_20; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_18 = _GEN_647 & cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_9; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_21 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_18 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_23 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_22 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_21; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_fcsr_fcsr_frm_T = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_23[7:5]; // @[CsrFiles.scala 680:70]
  wire [2:0] cmm_stage__GEN_497 = cmm_stage_csr_state_0_csrfiles_fcsr_enable2 ?
    cmm_stage__csr_state_0_csrfiles_fcsr_fcsr_frm_T : cmm_stage_csrfiles_fcsr_frm; // @[CsrFiles.scala 680:{24,62}]
  wire [63:0] cmm_stage__GEN_498 = cmm_stage_csr_state_0_csrfiles_fcsr_enable1 ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_15 : {{61'd0}, cmm_stage__GEN_497}; // @[CsrFiles.scala 679:{24,35}]
  wire [63:0] cmm_stage__GEN_501 = cmm_stage_csr_state_0_csrfiles_fcsr_enable0 ? {{61'd0}, cmm_stage_csrfiles_fcsr_frm}
     : cmm_stage__GEN_498; // @[CsrFiles.scala 678:19]
  wire [2:0] cmm_stage_csr_state_0_csrfiles_fcsr_fcsr_frm = cmm_stage__GEN_501[2:0];
  wire [63:0] _GEN_649 = {{59'd0}, cmm_stage_csrfiles_fcsr_fflags}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T = _GEN_649 | cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_4 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_11 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_2 = _GEN_649 & cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_9; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_5 = cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_5; // @[Mux.scala 27:73]
  wire [4:0] cmm_stage__csr_state_0_csrfiles_fcsr_fcsr_fflags_T = cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_23[4:0]; // @[CsrFiles.scala 680:46]
  wire [4:0] cmm_stage__GEN_496 = cmm_stage_csr_state_0_csrfiles_fcsr_enable2 ?
    cmm_stage__csr_state_0_csrfiles_fcsr_fcsr_fflags_T : cmm_stage_csrfiles_fcsr_fflags; // @[CsrFiles.scala 680:{24,38}]
  wire [4:0] cmm_stage__GEN_499 = cmm_stage_csr_state_0_csrfiles_fcsr_enable1 ? cmm_stage_csrfiles_fcsr_fflags :
    cmm_stage__GEN_496; // @[CsrFiles.scala 679:24]
  wire [63:0] cmm_stage__GEN_500 = cmm_stage_csr_state_0_csrfiles_fcsr_enable0 ?
    cmm_stage__csr_state_0_csrfiles_fcsr_dnxt_T_7 : {{59'd0}, cmm_stage__GEN_499}; // @[CsrFiles.scala 678:{19,33}]
  wire [4:0] cmm_stage_csr_state_0_csrfiles_fcsr_fcsr_fflags = cmm_stage__GEN_500[4:0];
  wire  cmm_stage__csr_state_0_csrfiles_stvec_enable_T_1 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rw |
    cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs; // @[CsrFiles.scala 42:49]
  wire  cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2 = cmm_stage__csr_state_0_csrfiles_stvec_enable_T_1 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc; // @[CsrFiles.scala 42:60]
  wire  cmm_stage_csr_state_0_csrfiles_stvec_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_10 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rw ?
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_T = {cmm_stage_csrfiles_stvec_base,2'h0}; // @[CsrFiles.scala 1321:58]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T = cmm_stage__csr_state_0_csrfiles_stvec_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1 = ~cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 46:32]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_stvec_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_5; // @[Mux.scala 27:73]
  wire [61:0] cmm_stage__csr_state_0_csrfiles_stvec_stvec_base_T = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_7[63:2]; // @[CsrFiles.scala 1322:38]
  wire  cmm_stage_csr_state_0_csrfiles_scounteren_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_50 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] _GEN_651 = {{32'd0}, cmm_stage_csrfiles_scounteren_hpm}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T = _GEN_651 | cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_2 = _GEN_651 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_6
     | cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_5; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__GEN_503 = cmm_stage_csr_state_0_csrfiles_scounteren_enable ?
    cmm_stage__csr_state_0_csrfiles_scounteren_dnxt_T_7 : {{32'd0}, cmm_stage_csrfiles_scounteren_hpm}; // @[CsrFiles.scala 1342:{20,37}]
  wire [31:0] cmm_stage_csr_state_0_csrfiles_scounteren_scounteren_hpm = cmm_stage__GEN_503[31:0];
  wire  cmm_stage_csr_state_0_csrfiles_sscratch_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_12 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T = cmm_stage_csrfiles_sscratch |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_2 = cmm_stage_csrfiles_sscratch &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_sepc_T_7 = cmm_stage__GEN_493 == 2'h1; // @[CsrFiles.scala 1373:44]
  wire  cmm_stage__csr_state_0_csrfiles_sepc_T_8 = cmm_stage_is_trap & cmm_stage__csr_state_0_csrfiles_sepc_T_7; // @[CsrFiles.scala 1373:22]
  wire  cmm_stage__csr_state_0_csrfiles_sepc_T_10 = cmm_stage__csr_state_0_csrfiles_sepc_T_8 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 1373:56]
  wire  cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T = cmm_stage_io_rod_0_bits_pc[38]; // @[Util.scala 47:31]
  wire [24:0] cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_2 =
    cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4 = {
    cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_2,cmm_stage_io_rod_0_bits_pc}; // @[Cat.scala 33:92]
  wire  cmm_stage_csr_state_0_csrfiles_sepc_enable = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_13
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T = cmm_stage_csrfiles_sepc |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_2 = cmm_stage_csrfiles_sepc &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_scause_T_10 = cmm_stage__is_trap_is_interrupt_T &
    cmm_stage__csr_state_0_csrfiles_sepc_T_7; // @[CsrFiles.scala 1388:71]
  wire  cmm_stage__csr_state_0_csrfiles_scause_T_12 = cmm_stage__csr_state_0_csrfiles_scause_T_10 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 1388:105]
  wire  cmm_stage__csr_state_0_csrfiles_scause_T_21 = cmm_stage_is_trap_is_exception &
    cmm_stage__csr_state_0_csrfiles_sepc_T_7; // @[CsrFiles.scala 1399:32]
  wire  cmm_stage__csr_state_0_csrfiles_scause_T_23 = cmm_stage__csr_state_0_csrfiles_scause_T_21 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 1399:66]
  wire  cmm_stage_csr_state_0_csrfiles_scause_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_14 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_T = {cmm_stage_csrfiles_scause_interrupt,
    cmm_stage_csrfiles_scause_exception_code}; // @[CsrFiles.scala 1386:59]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T = cmm_stage__csr_state_0_csrfiles_scause_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_scause_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_scause_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_scause_scause_interrupt_T = cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_7[63]; // @[CsrFiles.scala 1419:36]
  wire  cmm_stage__GEN_579 = cmm_stage_csr_state_0_csrfiles_scause_enable ?
    cmm_stage__csr_state_0_csrfiles_scause_scause_interrupt_T : cmm_stage_csrfiles_scause_interrupt; // @[CsrFiles.scala 1418:23 1419:29]
  wire  cmm_stage__GEN_581 = cmm_stage__csr_state_0_csrfiles_scause_T_23 ? 1'h0 : cmm_stage__GEN_579; // @[CsrFiles.scala 1399:89 1400:24]
  wire  cmm_stage__GEN_583 = cmm_stage__csr_state_0_csrfiles_scause_T_12 | cmm_stage__GEN_581; // @[CsrFiles.scala 1388:128 1389:24]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_7 =
    cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_msi ? 2'h3 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_653 = {{1'd0}, cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_ssi}; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_12 = _GEN_653 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_7; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_8 =
    cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sti ? 3'h5 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _GEN_654 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_12}; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_13 = _GEN_654 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_8; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_9 =
    cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mti ? 3'h7 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_14 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_13 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_9; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_10 =
    cmm_stage_is_trap_is_interrupt_is_s_interrupt_is_sei ? 4'h9 : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _GEN_655 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_14}; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_15 = _GEN_655 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_10; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_11 =
    cmm_stage_is_trap_is_interrupt_is_m_interrupt_is_mei ? 4'hb : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_16 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_15 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_11; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_20 =
    cmm_stage_is_trap_is_exception_is_illeage ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _GEN_656 = {{1'd0}, cmm_stage_io_rod_0_bits_privil_is_access_fault}; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_33 = _GEN_656 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_20; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_21 =
    cmm_stage_is_trap_is_exception_is_ebreak_exc ? 2'h3 : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_34 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_33 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_21; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_22 =
    cmm_stage_is_trap_is_exception_is_load_misAlign ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _GEN_657 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_34}; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_35 = _GEN_657 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_22; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_23 =
    cmm_stage_is_trap_is_exception_is_load_accessFault ? 3'h5 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_36 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_35 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_23; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_24 =
    cmm_stage_is_trap_is_exception_is_store_misAlign ? 3'h6 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_37 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_36 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_24; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_25 =
    cmm_stage_is_trap_is_exception_is_store_accessFault ? 3'h7 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_38 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_37 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_25; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_26 =
    cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_U ? 4'h8 : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _GEN_658 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_38}; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_39 = _GEN_658 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_26; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_27 =
    cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_S ? 4'h9 : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_40 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_39 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_27; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_28 =
    cmm_stage_csr_state_0_csrfiles_priv_lvl_is_ecall_M ? 4'hb : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_41 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_40 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_28; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_29 =
    cmm_stage_io_rod_0_bits_privil_is_paging_fault ? 4'hc : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_42 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_41 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_29; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_30 =
    cmm_stage_is_trap_is_exception_is_load_pagingFault ? 4'hd : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_43 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_42 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_30; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_31 =
    cmm_stage_is_trap_is_exception_is_store_pagingFault ? 4'hf : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_44 =
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_43 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_31; // @[Mux.scala 27:73]
  wire [62:0] cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_45 =
    cmm_stage__csr_state_0_csrfiles_scause_dnxt_T_7[62:0]; // @[CsrFiles.scala 1420:36]
  wire [62:0] cmm_stage__GEN_580 = cmm_stage_csr_state_0_csrfiles_scause_enable ?
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_45 : cmm_stage_csrfiles_scause_exception_code; // @[CsrFiles.scala 1418:23 1420:29]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_1 = cmm_stage_io_rod_0_bits_privil_is_access_fault ?
    cmm_stage_io_if_cmm_ill_vaddr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_2 = cmm_stage_io_rod_0_bits_privil_is_paging_fault ?
    cmm_stage_io_if_cmm_ill_vaddr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_11 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_1 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_2; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_5 = cmm_stage_is_trap_is_exception_is_load_misAlign ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_14 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_11 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_5; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_6 = cmm_stage_is_trap_is_exception_is_load_accessFault ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_15 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_14 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_6; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_7 = cmm_stage_is_trap_is_exception_is_store_misAlign ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_16 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_15 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_7; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_8 = cmm_stage_is_trap_is_exception_is_store_accessFault ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_17 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_16 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_8; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_9 = cmm_stage_is_trap_is_exception_is_load_pagingFault ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_18 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_17 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_9; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_10 = cmm_stage_is_trap_is_exception_is_store_pagingFault ?
    cmm_stage_io_lsu_cmm_trap_addr : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_stval_T_19 = cmm_stage__csr_state_0_csrfiles_stval_stval_T_18 |
    cmm_stage__csr_state_0_csrfiles_stval_stval_T_10; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_stval_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_15 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T = cmm_stage_csrfiles_stval |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_stval_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_2 = cmm_stage_csrfiles_stval &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_satp_enable = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_17
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [19:0] cmm_stage_csr_state_0_csrfiles_satp_hi = {cmm_stage_csrfiles_satp_mode,cmm_stage_csrfiles_satp_asid}; // @[CsrFiles.scala 1494:57]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_T = {cmm_stage_csrfiles_satp_mode,cmm_stage_csrfiles_satp_asid,
    cmm_stage_csrfiles_satp_ppn}; // @[CsrFiles.scala 1494:57]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T = cmm_stage__csr_state_0_csrfiles_satp_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_satp_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_satp_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_5; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_satp_satp_mode_T = cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_7[63:60]; // @[CsrFiles.scala 1497:24]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_satp_satp_mode_T_1 = cmm_stage__csr_state_0_csrfiles_satp_satp_mode_T & 4'h8
    ; // @[CsrFiles.scala 1497:32]
  wire [15:0] cmm_stage__csr_state_0_csrfiles_satp_satp_asid_T = cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_7[59:44]; // @[CsrFiles.scala 1498:24]
  wire [43:0] cmm_stage__csr_state_0_csrfiles_satp_satp_ppn_T = cmm_stage__csr_state_0_csrfiles_satp_dnxt_T_7[43:0]; // @[CsrFiles.scala 1499:24]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_is_fpu_state_change_T = ~cmm_stage_is_trap; // @[Commit.scala 222:31]
  wire  cmm_stage_csr_state_0_csrfiles_mstatus_is_fpu_state_change =
    cmm_stage__csr_state_0_csrfiles_mstatus_is_fpu_state_change_T & cmm_stage_io_rod_0_bits_is_fpu; // @[Commit.scala 222:40]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_24 = cmm_stage_csrfiles_mstatus_fs != 2'h0; // @[CsrFiles.scala 808:58]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_25 = cmm_stage_csr_state_0_csrfiles_mstatus_is_fpu_state_change &
    cmm_stage__csr_state_0_csrfiles_mstatus_T_24; // @[CsrFiles.scala 808:33]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_3 = cmm_stage_is_trap & cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 758:22]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_21 = cmm_stage_is_xRet_is_mRet & cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 770:27]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_23 = cmm_stage_is_xRet_is_sRet & cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 777:27]
  wire  cmm_stage_csr_state_0_csrfiles_mstatus_enable0 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_8 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [46:0] cmm_stage_csr_state_0_csrfiles_mstatus_hi = {cmm_stage_csrfiles_mstatus_sd,25'h0,2'h0,13'h1400,
    cmm_stage_csrfiles_mstatus_tsr,cmm_stage_csrfiles_mstatus_tw,cmm_stage_csrfiles_mstatus_tvm,
    cmm_stage_csrfiles_mstatus_mxr,cmm_stage_csrfiles_mstatus_sum,cmm_stage_csrfiles_mstatus_mprv}; // @[CsrFiles.scala 755:62]
  wire [5:0] cmm_stage_csr_state_0_csrfiles_mstatus_lo_lo = {cmm_stage_csrfiles_mstatus_spie,1'h0,
    cmm_stage_csrfiles_mstatus_mie,1'h0,cmm_stage_csrfiles_mstatus_sie,1'h0}; // @[CsrFiles.scala 755:62]
  wire [16:0] cmm_stage_csr_state_0_csrfiles_mstatus_lo = {2'h0,cmm_stage_csrfiles_mstatus_fs,
    cmm_stage_csrfiles_mstatus_mpp,2'h0,cmm_stage_csrfiles_mstatus_spp,cmm_stage_csrfiles_mstatus_mpie,1'h0,
    cmm_stage_csr_state_0_csrfiles_mstatus_lo_lo}; // @[CsrFiles.scala 755:62]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_T = {cmm_stage_csr_state_0_csrfiles_mstatus_hi,2'h0,
    cmm_stage_csrfiles_mstatus_fs,cmm_stage_csrfiles_mstatus_mpp,2'h0,cmm_stage_csrfiles_mstatus_spp,
    cmm_stage_csrfiles_mstatus_mpie,1'h0,cmm_stage_csr_state_0_csrfiles_mstatus_lo_lo}; // @[CsrFiles.scala 755:62]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T = cmm_stage__csr_state_0_csrfiles_mstatus_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_mstatus_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_5; // @[Mux.scala 27:73]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_fs_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[14:
    13]; // @[CsrFiles.scala 787:28]
  wire  cmm_stage_csr_state_0_csrfiles_mstatus_enable1 =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_44 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [1:0] cmm_stage__GEN_722 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_fs_T : cmm_stage_csrfiles_mstatus_fs; // @[CsrFiles.scala 792:24 799:20]
  wire [1:0] cmm_stage__GEN_731 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_fs_T : cmm_stage__GEN_722; // @[CsrFiles.scala 783:24 787:20]
  wire [1:0] cmm_stage__GEN_747 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_fs :
    cmm_stage__GEN_731; // @[CsrFiles.scala 777:51]
  wire [1:0] cmm_stage__GEN_763 = cmm_stage__csr_state_0_csrfiles_mstatus_T_21 ? cmm_stage_csrfiles_mstatus_fs :
    cmm_stage__GEN_747; // @[CsrFiles.scala 770:50]
  wire [1:0] cmm_stage__GEN_777 = cmm_stage__csr_state_0_csrfiles_mstatus_T_3 ? cmm_stage_csrfiles_mstatus_fs :
    cmm_stage__GEN_763; // @[CsrFiles.scala 758:45]
  wire [1:0] cmm_stage__GEN_781 = cmm_stage__csr_state_0_csrfiles_mstatus_T_25 ? 2'h3 : cmm_stage__GEN_777; // @[CsrFiles.scala 808:67 809:18]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sd_T_1 = cmm_stage__GEN_781 == 2'h3; // @[CsrFiles.scala 747:57]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tsr_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[22]; // @[CsrFiles.scala 793:28]
  wire  cmm_stage__GEN_716 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tsr_T : cmm_stage_csrfiles_mstatus_tsr; // @[CsrFiles.scala 792:24 793:20]
  wire  cmm_stage__GEN_735 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_tsr :
    cmm_stage__GEN_716; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_749 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_tsr :
    cmm_stage__GEN_735; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tw_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[21]; // @[CsrFiles.scala 794:28]
  wire  cmm_stage__GEN_717 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tw_T : cmm_stage_csrfiles_mstatus_tw; // @[CsrFiles.scala 792:24 794:20]
  wire  cmm_stage__GEN_736 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_tw :
    cmm_stage__GEN_717; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_750 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_tw :
    cmm_stage__GEN_736; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tvm_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[20]; // @[CsrFiles.scala 795:28]
  wire  cmm_stage__GEN_718 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_tvm_T : cmm_stage_csrfiles_mstatus_tvm; // @[CsrFiles.scala 792:24 795:20]
  wire  cmm_stage__GEN_737 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_tvm :
    cmm_stage__GEN_718; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_751 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_tvm :
    cmm_stage__GEN_737; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mxr_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[19]; // @[CsrFiles.scala 785:28]
  wire  cmm_stage__GEN_719 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mxr_T : cmm_stage_csrfiles_mstatus_mxr; // @[CsrFiles.scala 792:24 796:20]
  wire  cmm_stage__GEN_729 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mxr_T : cmm_stage__GEN_719; // @[CsrFiles.scala 783:24 785:20]
  wire  cmm_stage__GEN_745 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_mxr :
    cmm_stage__GEN_729; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sum_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[18]; // @[CsrFiles.scala 786:28]
  wire  cmm_stage__GEN_720 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sum_T : cmm_stage_csrfiles_mstatus_sum; // @[CsrFiles.scala 792:24 797:20]
  wire  cmm_stage__GEN_730 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sum_T : cmm_stage__GEN_720; // @[CsrFiles.scala 783:24 786:20]
  wire  cmm_stage__GEN_746 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_sum :
    cmm_stage__GEN_730; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_7 = cmm_stage__GEN_493 != 2'h3; // @[CsrFiles.scala 775:48]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8 =
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_7 ? 1'h0 : cmm_stage_csrfiles_mstatus_mprv; // @[CsrFiles.scala 775:26]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_18 = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[17]
    ; // @[CsrFiles.scala 798:28]
  wire  cmm_stage__GEN_721 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_18 : cmm_stage_csrfiles_mstatus_mprv; // @[CsrFiles.scala 792:24 798:20]
  wire  cmm_stage__GEN_738 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_mprv :
    cmm_stage__GEN_721; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_744 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8 : cmm_stage__GEN_738; // @[CsrFiles.scala 777:51 781:20]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_T_11 = cmm_stage__GEN_493 == 2'h3; // @[CsrFiles.scala 759:33]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mpp_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[12
    :11]; // @[CsrFiles.scala 800:28]
  wire [1:0] cmm_stage__GEN_723 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mpp_T : cmm_stage_csrfiles_mstatus_mpp; // @[CsrFiles.scala 792:24 800:20]
  wire [1:0] cmm_stage__GEN_739 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_mpp :
    cmm_stage__GEN_723; // @[CsrFiles.scala 783:24]
  wire [1:0] cmm_stage__GEN_752 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_mpp :
    cmm_stage__GEN_739; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spp_T_1 =
    cmm_stage__is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm_is_ebreak_breakpointn_T_3 ? 1'h0
     : 1'h1; // @[CsrFiles.scala 765:28]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spp_T_2 = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[8]; // @[CsrFiles.scala 788:28]
  wire  cmm_stage__GEN_724 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spp_T_2 : cmm_stage_csrfiles_mstatus_spp; // @[CsrFiles.scala 792:24 801:20]
  wire  cmm_stage__GEN_732 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spp_T_2 : cmm_stage__GEN_724; // @[CsrFiles.scala 783:24 788:20]
  wire  cmm_stage__GEN_748 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_spp :
    cmm_stage__GEN_732; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mpie_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[7]; // @[CsrFiles.scala 802:28]
  wire  cmm_stage__GEN_725 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mpie_T : cmm_stage_csrfiles_mstatus_mpie; // @[CsrFiles.scala 792:24 802:20]
  wire  cmm_stage__GEN_740 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_mpie :
    cmm_stage__GEN_725; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_753 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_mpie :
    cmm_stage__GEN_740; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__GEN_756 = cmm_stage__csr_state_0_csrfiles_mstatus_T_21 | cmm_stage__GEN_753; // @[CsrFiles.scala 770:50 772:20]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spie_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[5]; // @[CsrFiles.scala 789:28]
  wire  cmm_stage__GEN_726 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spie_T : cmm_stage_csrfiles_mstatus_spie; // @[CsrFiles.scala 792:24 803:20]
  wire  cmm_stage__GEN_733 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spie_T : cmm_stage__GEN_726; // @[CsrFiles.scala 783:24 789:20]
  wire  cmm_stage__GEN_742 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 | cmm_stage__GEN_733; // @[CsrFiles.scala 777:51 778:20]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mie_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[3]; // @[CsrFiles.scala 804:28]
  wire  cmm_stage__GEN_727 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mie_T : cmm_stage_csrfiles_mstatus_mie; // @[CsrFiles.scala 792:24 804:20]
  wire  cmm_stage__GEN_741 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ? cmm_stage_csrfiles_mstatus_mie :
    cmm_stage__GEN_727; // @[CsrFiles.scala 783:24]
  wire  cmm_stage__GEN_754 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_mie :
    cmm_stage__GEN_741; // @[CsrFiles.scala 777:51]
  wire  cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sie_T = cmm_stage__csr_state_0_csrfiles_mstatus_dnxt_T_7[1]; // @[CsrFiles.scala 790:28]
  wire  cmm_stage__GEN_728 = cmm_stage_csr_state_0_csrfiles_mstatus_enable1 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sie_T : cmm_stage_csrfiles_mstatus_sie; // @[CsrFiles.scala 792:24 805:20]
  wire  cmm_stage__GEN_734 = cmm_stage_csr_state_0_csrfiles_mstatus_enable0 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sie_T : cmm_stage__GEN_728; // @[CsrFiles.scala 783:24 790:20]
  wire  cmm_stage__GEN_743 = cmm_stage__csr_state_0_csrfiles_mstatus_T_23 ? cmm_stage_csrfiles_mstatus_spie :
    cmm_stage__GEN_734; // @[CsrFiles.scala 777:51 779:20]
  wire  cmm_stage_csr_state_0_csrfiles_medeleg_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_46 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T = cmm_stage_csrfiles_medeleg |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_2 = cmm_stage_csrfiles_medeleg &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_mideleg_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_47 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T = cmm_stage_csrfiles_mideleg |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_2 = cmm_stage_csrfiles_mideleg &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_mie_enable0 = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_48
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [5:0] cmm_stage_csr_state_0_csrfiles_mie_lo = {cmm_stage_csrfiles_mie_sti,1'h0,cmm_stage_csrfiles_mie_msi,1'h0,
    cmm_stage_csrfiles_mie_ssi,1'h0}; // @[CsrFiles.scala 879:58]
  wire [15:0] cmm_stage__csr_state_0_csrfiles_mie_T = {4'h0,cmm_stage_csrfiles_mie_mei,1'h0,cmm_stage_csrfiles_mie_sei,1'h0
    ,cmm_stage_csrfiles_mie_mti,1'h0,cmm_stage_csr_state_0_csrfiles_mie_lo}; // @[CsrFiles.scala 879:58]
  wire [63:0] _GEN_659 = {{48'd0}, cmm_stage__csr_state_0_csrfiles_mie_T}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T = _GEN_659 | cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mie_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_2 = _GEN_659 & cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_mei_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[11]; // @[CsrFiles.scala 883:23]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_sei_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[9]; // @[CsrFiles.scala 884:23]
  wire  cmm_stage_csr_state_0_csrfiles_mie_enable1 = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_9
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_mti_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[7]; // @[CsrFiles.scala 885:23]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_sti_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[5]; // @[CsrFiles.scala 886:23]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_msi_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[3]; // @[CsrFiles.scala 887:23]
  wire  cmm_stage__csr_state_0_csrfiles_mie_mie_ssi_T = cmm_stage__csr_state_0_csrfiles_mie_dnxt_T_7[1]; // @[CsrFiles.scala 888:23]
  wire  cmm_stage_csr_state_0_csrfiles_mtvec_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_49 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_T = {cmm_stage_csrfiles_mtvec_base,2'h0}; // @[CsrFiles.scala 911:58]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T = cmm_stage__csr_state_0_csrfiles_mtvec_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_mtvec_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_5; // @[Mux.scala 27:73]
  wire [61:0] cmm_stage__csr_state_0_csrfiles_mtvec_mtvec_base_T = cmm_stage__csr_state_0_csrfiles_mtvec_dnxt_T_7[63:2]; // @[CsrFiles.scala 912:38]
  wire [63:0] _GEN_663 = {{32'd0}, cmm_stage_csrfiles_mcounteren_hpm}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T = _GEN_663 | cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_2 = _GEN_663 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_6
     | cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_5; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__GEN_794 = cmm_stage_csr_state_0_csrfiles_scounteren_enable ?
    cmm_stage__csr_state_0_csrfiles_mcounteren_dnxt_T_7 : {{32'd0}, cmm_stage_csrfiles_mcounteren_hpm}; // @[CsrFiles.scala 933:{18,35}]
  wire [31:0] cmm_stage_csr_state_0_csrfiles_mcounteren_mcounteren_hpm = cmm_stage__GEN_794[31:0];
  wire  cmm_stage_csr_state_0_csrfiles_mscratch_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_51 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T = cmm_stage_csrfiles_mscratch |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_2 = cmm_stage_csrfiles_mscratch &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_mepc_T_8 = cmm_stage_is_trap & cmm_stage__csr_state_0_csrfiles_mstatus_T_11; // @[CsrFiles.scala 962:22]
  wire  cmm_stage__csr_state_0_csrfiles_mepc_T_10 = cmm_stage__csr_state_0_csrfiles_mepc_T_8 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 962:56]
  wire  cmm_stage_csr_state_0_csrfiles_mepc_enable = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_52
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T = cmm_stage_csrfiles_mepc |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_2 = cmm_stage_csrfiles_mepc &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_mcause_T_9 = cmm_stage_is_trap_is_interrupt_is_m_interrupt &
    cmm_stage__csr_state_0_csrfiles_mstatus_T_11; // @[CsrFiles.scala 978:38]
  wire  cmm_stage__csr_state_0_csrfiles_mcause_T_11 = cmm_stage__csr_state_0_csrfiles_mcause_T_9 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 978:72]
  wire  cmm_stage__csr_state_0_csrfiles_mcause_T_20 = cmm_stage_is_trap_is_exception &
    cmm_stage__csr_state_0_csrfiles_mstatus_T_11; // @[CsrFiles.scala 989:32]
  wire  cmm_stage__csr_state_0_csrfiles_mcause_T_22 = cmm_stage__csr_state_0_csrfiles_mcause_T_20 &
    cmm_stage__is_trap_is_interrupt_T_2; // @[CsrFiles.scala 989:66]
  wire  cmm_stage_csr_state_0_csrfiles_mcause_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_53 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_T = {cmm_stage_csrfiles_mcause_interrupt,
    cmm_stage_csrfiles_mcause_exception_code}; // @[CsrFiles.scala 976:59]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T = cmm_stage__csr_state_0_csrfiles_mcause_T |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_2 = cmm_stage__csr_state_0_csrfiles_mcause_T &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_mcause_mcause_interrupt_T = cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_7[63]; // @[CsrFiles.scala 1009:36]
  wire  cmm_stage__GEN_870 = cmm_stage_csr_state_0_csrfiles_mcause_enable ?
    cmm_stage__csr_state_0_csrfiles_mcause_mcause_interrupt_T : cmm_stage_csrfiles_mcause_interrupt; // @[CsrFiles.scala 1008:23 1009:29]
  wire  cmm_stage__GEN_872 = cmm_stage__csr_state_0_csrfiles_mcause_T_22 ? 1'h0 : cmm_stage__GEN_870; // @[CsrFiles.scala 989:89 990:24]
  wire  cmm_stage__GEN_874 = cmm_stage__csr_state_0_csrfiles_mcause_T_11 | cmm_stage__GEN_872; // @[CsrFiles.scala 978:95 979:24]
  wire [2:0] _GEN_665 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_7}; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_6 = _GEN_665 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_9; // @[Mux.scala 27:73]
  wire [3:0] _GEN_666 = {{1'd0}, cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_6}; // @[Mux.scala 27:73]
  wire [3:0] cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_7 = _GEN_666 |
    cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_11; // @[Mux.scala 27:73]
  wire [62:0] cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_36 =
    cmm_stage__csr_state_0_csrfiles_mcause_dnxt_T_7[62:0]; // @[CsrFiles.scala 1010:36]
  wire [62:0] cmm_stage__GEN_871 = cmm_stage_csr_state_0_csrfiles_mcause_enable ?
    cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_36 : cmm_stage_csrfiles_mcause_exception_code; // @[CsrFiles.scala 1008:23 1010:29]
  wire  cmm_stage_csr_state_0_csrfiles_mtval_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_54 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T = cmm_stage_csrfiles_mtval |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_2 = cmm_stage_csrfiles_mtval &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_mtinst_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_56 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T = cmm_stage_csrfiles_mtinst |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_2 = cmm_stage_csrfiles_mtinst &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_mtval2_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_57 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T = cmm_stage_csrfiles_mtval2 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_2 = cmm_stage_csrfiles_mtval2 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_mcycle_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_58 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T = cmm_stage_csrfiles_mcycle |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_2 = cmm_stage_csrfiles_mcycle &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_minstret_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_59 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T = cmm_stage_csrfiles_minstret |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_2 = cmm_stage_csrfiles_minstret &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_5; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_minstret_minstret_T_1 = cmm_stage_csrfiles_minstret + 64'h1; // @[CsrFiles.scala 1159:51]
  wire  cmm_stage_csr_state_0_csrfiles_tselect_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_61 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T = cmm_stage_csrfiles_tselect |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_2 = cmm_stage_csrfiles_tselect &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_5; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tselect_tselect_T_1 = ~cmm_stage__csr_state_0_csrfiles_tselect_dnxt_T_7; // @[CsrFiles.scala 1746:51]
  wire  cmm_stage_csr_state_0_csrfiles_tdata1_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_62 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T = cmm_stage_csrfiles_tdata1 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_2 = cmm_stage_csrfiles_tdata1 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_tdata2_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_63 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T = cmm_stage_csrfiles_tdata2 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_2 = cmm_stage_csrfiles_tdata2 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_tdata3_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_64 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T = cmm_stage_csrfiles_tdata3 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_2 = cmm_stage_csrfiles_tdata3 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_dcsr_enable = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_65
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [9:0] cmm_stage_csr_state_0_csrfiles_dcsr_lo = {1'h0,cmm_stage_csrfiles_dcsr_cause,2'h0,1'h0,
    cmm_stage_csrfiles_dcsr_step,cmm_stage_csrfiles_dcsr_prv}; // @[CsrFiles.scala 1794:59]
  wire [31:0] cmm_stage__csr_state_0_csrfiles_dcsr_T = {16'h4000,cmm_stage_csrfiles_dcsr_ebreakm,1'h0,
    cmm_stage_csrfiles_dcsr_ebreaks,cmm_stage_csrfiles_dcsr_ebreaku,2'h0,cmm_stage_csr_state_0_csrfiles_dcsr_lo}; // @[CsrFiles.scala 1794:59]
  wire [63:0] _GEN_670 = {{32'd0}, cmm_stage__csr_state_0_csrfiles_dcsr_T}; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T = _GEN_670 | cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_2 = _GEN_670 & cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreakm_T = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7[15]; // @[CsrFiles.scala 1809:31]
  wire  cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreaks_T = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7[13]; // @[CsrFiles.scala 1810:31]
  wire  cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreaku_T = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7[12]; // @[CsrFiles.scala 1811:31]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_cause_T = cmm_stage_is_single_step ? 3'h4 : 3'h0; // @[Mux.scala 101:16]
  wire [2:0] cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_cause_T_1 = cmm_stage_io_dm_hartHaltReq ? 3'h3 :
    cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_cause_T; // @[Mux.scala 101:16]
  wire  cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_step_T = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7[2]; // @[CsrFiles.scala 1812:26]
  wire [1:0] cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_prv_T = cmm_stage__csr_state_0_csrfiles_dcsr_dnxt_T_7[1:0]; // @[CsrFiles.scala 1813:26]
  wire  cmm_stage_csr_state_0_csrfiles_dpc_enable = cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_66
     & cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T = cmm_stage_csrfiles_dpc |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_2 = cmm_stage_csrfiles_dpc &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_dpc_T_2 = cmm_stage__is_trap_is_interrupt_T_2 & cmm_stage__GEN_495; // @[CsrFiles.scala 1827:50]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dpc_T =
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm ?
    cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_1 = cmm_stage_is_single_step ?
    cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_4 = cmm_stage__csr_state_0_csrfiles_dpc_dpc_T |
    cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_1; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_3 = cmm_stage_io_dm_hartHaltReq ?
    cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_6 = cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_4 |
    cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_3; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_dscratch0_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_67 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T = cmm_stage_csrfiles_dscratch0 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_2 = cmm_stage_csrfiles_dscratch0 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage_csr_state_0_csrfiles_dscratch1_enable =
    cmm_stage__is_trap_is_exception_is_csr_illegal_is_csrw_illegal_T_68 &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T = cmm_stage_csrfiles_dscratch1 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_2 = cmm_stage_csrfiles_dscratch1 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__csr_state_0_csrfiles_dscratch2_enable_T = cmm_stage_csrExe_mdl_io_deq_0_bits_addr == 12'h7b4; // @[CsrFiles.scala 42:27]
  wire  cmm_stage_csr_state_0_csrfiles_dscratch2_enable = cmm_stage__csr_state_0_csrfiles_dscratch2_enable_T &
    cmm_stage__csr_state_0_csrfiles_stvec_enable_T_2; // @[CsrFiles.scala 42:37]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T = cmm_stage_csrfiles_dscratch2 |
    cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i; // @[CsrFiles.scala 45:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_4 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs ?
    cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_6 = cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_3 |
    cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_4; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_2 = cmm_stage_csrfiles_dscratch2 &
    cmm_stage__csr_state_0_csrfiles_stvec_dnxt_T_1; // @[CsrFiles.scala 46:30]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_5 = cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc ?
    cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_7 = cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_6 |
    cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_5; // @[Mux.scala 27:73]
  wire  cmm_stage__T_5 = cmm_stage__T_1 & cmm_stage_is_step_1; // @[Commit.scala 404:91]
  wire  cmm_stage__GEN_460 = cmm_stage_csrfiles_DMode ? 1'h0 : cmm_stage_is_single_step; // @[Commit.scala 404:{171,188,31}]
  wire  cmm_stage__GEN_461 = cmm_stage__T_5 | cmm_stage__GEN_460; // @[Commit.scala 404:{115,132}]
  wire  cmm_stage__io_cmm_lsu_is_amo_pending_T = cmm_stage_io_rod_0_valid & cmm_stage_io_rod_0_bits_is_amo; // @[Commit.scala 547:21]
  wire  cmm_stage__mdl_io_deq_0_ready_T = cmm_stage_is_retired_0 & cmm_stage_io_rod_0_bits_is_branch; // @[Commit.scala 679:36]
  wire  cmm_stage__T_34 = cmm_stage_bctq_mdl_io_deq_0_ready & cmm_stage_bctq_mdl_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  cmm_stage__T_36 = cmm_stage__T_34 == cmm_stage__mdl_io_deq_0_ready_T; // @[Commit.scala 680:26]
  wire  cmm_stage__T_38 = ~cmm_stage_reset; // @[Commit.scala 680:11]
  wire  cmm_stage__T_39 = ~cmm_stage__T_36; // @[Commit.scala 680:11]
  wire  cmm_stage__T_41 = cmm_stage_io_bctq_ready & cmm_stage_io_bctq_valid; // @[Decoupled.scala 52:35]
  wire  cmm_stage__T_42 = cmm_stage__T_34 == cmm_stage__T_41; // @[Commit.scala 681:42]
  wire  cmm_stage__T_45 = ~cmm_stage__T_42; // @[Commit.scala 681:11]
  wire  cmm_stage__mdl_io_deq_0_ready_T_1 = cmm_stage_is_retired_0 & cmm_stage_io_rod_0_bits_is_jalr; // @[Commit.scala 685:36]
  wire  cmm_stage__T_46 = cmm_stage_jctq_mdl_io_deq_0_ready & cmm_stage_jctq_mdl_io_deq_0_valid; // @[Decoupled.scala 52:35]
  wire  cmm_stage__T_48 = cmm_stage__T_46 == cmm_stage__mdl_io_deq_0_ready_T_1; // @[Commit.scala 686:26]
  wire  cmm_stage__T_51 = ~cmm_stage__T_48; // @[Commit.scala 686:11]
  wire  cmm_stage__T_53 = cmm_stage_io_jctq_ready & cmm_stage_io_jctq_valid; // @[Decoupled.scala 52:35]
  wire  cmm_stage__T_54 = cmm_stage__T_46 == cmm_stage__T_53; // @[Commit.scala 687:42]
  wire  cmm_stage__T_57 = ~cmm_stage__T_54; // @[Commit.scala 687:11]
  wire  cmm_stage__T_60 = cmm_stage__T_11 & cmm_stage_is_retired_0; // @[Commit.scala 712:63]
  wire  cmm_stage__T_63 = cmm_stage__T_60 & cmm_stage__T_21; // @[Commit.scala 712:79]
  wire [63:0] cmm_stage__GEN_935 = cmm_stage__T_63 ? cmm_stage_bctq_mdl_io_deq_0_bits_finalTarget : 64'h0; // @[Commit.scala 712:104 709:26 714:30]
  wire  cmm_stage__T_68 = cmm_stage__T_16 & cmm_stage_is_retired_0; // @[Commit.scala 717:63]
  wire  cmm_stage__T_71 = cmm_stage__T_68 & cmm_stage__T_21; // @[Commit.scala 717:79]
  wire  cmm_stage__GEN_936 = cmm_stage__T_71 | cmm_stage__T_63; // @[Commit.scala 717:104 718:28]
  wire [63:0] cmm_stage__GEN_937 = cmm_stage__T_71 ? cmm_stage_jctq_mdl_io_deq_0_bits_finalTarget : cmm_stage__GEN_935; // @[Commit.scala 717:104 719:30]
  wire  cmm_stage__T_72 = cmm_stage_is_fence_i | cmm_stage_is_sfence_vma; // @[Commit.scala 725:39]
  wire [63:0] cmm_stage__io_cmmRedirect_bits_pc_T_1 = cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4 + 64'h4
    ; // @[Commit.scala 727:72]
  wire  cmm_stage__GEN_938 = cmm_stage__T_72 | cmm_stage__GEN_936; // @[Commit.scala 725:70 726:32]
  wire [63:0] cmm_stage__GEN_939 = cmm_stage__T_72 ? cmm_stage__io_cmmRedirect_bits_pc_T_1 : cmm_stage__GEN_937; // @[Commit.scala 725:70 727:34]
  wire [11:0] cmm_stage__GEN_941 = cmm_stage_is_trap_is_exception_is_ebreak_exc ? 12'h800 : 12'h808; // @[Commit.scala 733:46 735:36 738:36]
  wire  cmm_stage__GEN_942 = cmm_stage_is_trap_is_exception | cmm_stage__GEN_938; // @[Commit.scala 732:43]
  wire [63:0] cmm_stage__GEN_943 = cmm_stage_is_trap_is_exception ? {{52'd0}, cmm_stage__GEN_941} : cmm_stage__GEN_939; // @[Commit.scala 732:43]
  wire  cmm_stage__GEN_944 = cmm_stage_is_xRet_is_dRet | cmm_stage__GEN_942; // @[Commit.scala 741:38 742:32]
  wire [63:0] cmm_stage__GEN_945 = cmm_stage_is_xRet_is_dRet ? cmm_stage_csrfiles_dpc : cmm_stage__GEN_943; // @[Commit.scala 741:38 743:34]
  wire  cmm_stage__GEN_946 = cmm_stage_is_xRet_is_mRet | cmm_stage__GEN_936; // @[Commit.scala 746:38 747:32]
  wire [63:0] cmm_stage__GEN_947 = cmm_stage_is_xRet_is_mRet ? cmm_stage_csrfiles_mepc : cmm_stage__GEN_937; // @[Commit.scala 746:38 748:34]
  wire  cmm_stage__GEN_948 = cmm_stage_is_xRet_is_sRet | cmm_stage__GEN_946; // @[Commit.scala 750:38 751:32]
  wire [63:0] cmm_stage__GEN_949 = cmm_stage_is_xRet_is_sRet ? cmm_stage_csrfiles_sepc : cmm_stage__GEN_947; // @[Commit.scala 750:38 752:34]
  wire [63:0] cmm_stage__io_cmmRedirect_bits_pc_T_20 = cmm_stage__csr_state_0_csrfiles_sepc_T_7 ?
    cmm_stage__csr_state_0_csrfiles_stvec_T : 64'h80000000; // @[Mux.scala 101:16]
  wire [63:0] cmm_stage__io_cmmRedirect_bits_pc_T_21 = cmm_stage__csr_state_0_csrfiles_mstatus_T_11 ?
    cmm_stage__csr_state_0_csrfiles_mtvec_T : cmm_stage__io_cmmRedirect_bits_pc_T_20; // @[Mux.scala 101:16]
  wire [63:0] cmm_stage__io_cmmRedirect_bits_pc_T_22 =
    cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt ? 64'h800 :
    cmm_stage__io_cmmRedirect_bits_pc_T_21; // @[Mux.scala 101:16]
  wire [63:0] cmm_stage__io_cmmRedirect_bits_pc_T_23 = cmm_stage_emu_reset ? 64'h80000000 :
    cmm_stage__io_cmmRedirect_bits_pc_T_22; // @[Mux.scala 101:16]
  wire  cmm_stage__GEN_998 = cmm_stage_is_trap | cmm_stage__GEN_948; // @[Commit.scala 754:38 755:32]
  wire [63:0] cmm_stage__GEN_999 = cmm_stage_is_trap ? cmm_stage__io_cmmRedirect_bits_pc_T_23 : cmm_stage__GEN_949; // @[Commit.scala 754:38 756:34]
  wire  cmm_stage__GEN_1000 = cmm_stage__T_72 | cmm_stage__GEN_998; // @[Commit.scala 763:70 764:32]
  wire [63:0] cmm_stage__GEN_1001 = cmm_stage__T_72 ? cmm_stage__io_cmmRedirect_bits_pc_T_1 : cmm_stage__GEN_999; // @[Commit.scala 763:70 765:34]
  wire [1:0] cmm_stage__T_77 = cmm_stage_is_xRet + cmm_stage_is_trap; // @[Bitwise.scala 51:90]
  wire [1:0] cmm_stage__T_79 = cmm_stage_is_fence_i + cmm_stage_is_sfence_vma; // @[Bitwise.scala 51:90]
  wire [2:0] cmm_stage__T_81 = cmm_stage__T_77 + cmm_stage__T_79; // @[Bitwise.scala 51:90]
  wire  cmm_stage__T_83 = cmm_stage__T_81 <= 3'h1; // @[Commit.scala 768:129]
  wire  cmm_stage__T_86 = ~cmm_stage__T_83; // @[Commit.scala 768:15]
  wire  cmm_stage__GEN_1002 = cmm_stage_csrfiles_DMode ? cmm_stage__GEN_944 : cmm_stage__GEN_1000; // @[Commit.scala 724:43]
  wire [63:0] cmm_stage__GEN_1003 = cmm_stage_csrfiles_DMode ? cmm_stage__GEN_945 : cmm_stage__GEN_1001; // @[Commit.scala 724:43]
  wire [63:0] cmm_stage__io_csr_data_bits_T_10 = cmm_stage__csr_state_0_csrfiles_mstatus_T & 64'h80000003000de162; // @[CsrFiles.scala 272:33]
  wire  cmm_stage__io_csr_data_bits_T_11 = cmm_stage__io_csr_data_bits_T_10[0]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_12 = cmm_stage__io_csr_data_bits_T_10[1]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_13 = cmm_stage__io_csr_data_bits_T_10[2]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_14 = cmm_stage__io_csr_data_bits_T_10[3]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_15 = cmm_stage__io_csr_data_bits_T_10[4]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_16 = cmm_stage__io_csr_data_bits_T_10[5]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_17 = cmm_stage__io_csr_data_bits_T_10[6]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_18 = cmm_stage__io_csr_data_bits_T_10[7]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_19 = cmm_stage__io_csr_data_bits_T_10[8]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_20 = cmm_stage__io_csr_data_bits_T_10[10:9]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_21 = cmm_stage__io_csr_data_bits_T_10[12:11]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_22 = cmm_stage__io_csr_data_bits_T_10[14:13]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_23 = cmm_stage__io_csr_data_bits_T_10[16:15]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_24 = cmm_stage__io_csr_data_bits_T_10[17]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_25 = cmm_stage__io_csr_data_bits_T_10[18]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_26 = cmm_stage__io_csr_data_bits_T_10[19]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_27 = cmm_stage__io_csr_data_bits_T_10[20]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_28 = cmm_stage__io_csr_data_bits_T_10[21]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_29 = cmm_stage__io_csr_data_bits_T_10[22]; // @[CsrFiles.scala 272:116]
  wire [8:0] cmm_stage__io_csr_data_bits_T_30 = cmm_stage__io_csr_data_bits_T_10[31:23]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_31 = cmm_stage__io_csr_data_bits_T_10[33:32]; // @[CsrFiles.scala 272:116]
  wire [1:0] cmm_stage__io_csr_data_bits_T_32 = cmm_stage__io_csr_data_bits_T_10[35:34]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_33 = cmm_stage__io_csr_data_bits_T_10[36]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_34 = cmm_stage__io_csr_data_bits_T_10[37]; // @[CsrFiles.scala 272:116]
  wire [24:0] cmm_stage__io_csr_data_bits_T_35 = cmm_stage__io_csr_data_bits_T_10[62:38]; // @[CsrFiles.scala 272:116]
  wire  cmm_stage__io_csr_data_bits_T_36 = cmm_stage__io_csr_data_bits_T_10[63]; // @[CsrFiles.scala 272:116]
  wire [5:0] cmm_stage_io_csr_data_bits_lo_lo_1 = {cmm_stage__io_csr_data_bits_T_16,cmm_stage__io_csr_data_bits_T_15,
    cmm_stage__io_csr_data_bits_T_14,cmm_stage__io_csr_data_bits_T_13,cmm_stage__io_csr_data_bits_T_12,
    cmm_stage__io_csr_data_bits_T_11}; // @[CsrFiles.scala 591:44]
  wire [16:0] cmm_stage_io_csr_data_bits_lo_2 = {cmm_stage__io_csr_data_bits_T_23,cmm_stage__io_csr_data_bits_T_22,
    cmm_stage__io_csr_data_bits_T_21,cmm_stage__io_csr_data_bits_T_20,cmm_stage__io_csr_data_bits_T_19,
    cmm_stage__io_csr_data_bits_T_18,cmm_stage__io_csr_data_bits_T_17,cmm_stage_io_csr_data_bits_lo_lo_1}; // @[CsrFiles.scala 591:44]
  wire [5:0] cmm_stage_io_csr_data_bits_hi_lo_1 = {cmm_stage__io_csr_data_bits_T_29,cmm_stage__io_csr_data_bits_T_28,
    cmm_stage__io_csr_data_bits_T_27,cmm_stage__io_csr_data_bits_T_26,cmm_stage__io_csr_data_bits_T_25,
    cmm_stage__io_csr_data_bits_T_24}; // @[CsrFiles.scala 591:44]
  wire [46:0] cmm_stage_io_csr_data_bits_hi_2 = {cmm_stage__io_csr_data_bits_T_36,cmm_stage__io_csr_data_bits_T_35,
    cmm_stage__io_csr_data_bits_T_34,cmm_stage__io_csr_data_bits_T_33,cmm_stage__io_csr_data_bits_T_32,
    cmm_stage__io_csr_data_bits_T_31,cmm_stage__io_csr_data_bits_T_30,cmm_stage_io_csr_data_bits_hi_lo_1}; // @[CsrFiles.scala 591:44]
  wire [63:0] cmm_stage__io_csr_data_bits_T_37 = {cmm_stage__io_csr_data_bits_T_36,cmm_stage__io_csr_data_bits_T_35,
    cmm_stage__io_csr_data_bits_T_34,cmm_stage__io_csr_data_bits_T_33,cmm_stage__io_csr_data_bits_T_32,
    cmm_stage__io_csr_data_bits_T_31,cmm_stage__io_csr_data_bits_T_30,cmm_stage_io_csr_data_bits_hi_lo_1,
    cmm_stage_io_csr_data_bits_lo_2}; // @[CsrFiles.scala 591:44]
  wire [5:0] cmm_stage_io_csr_data_bits_lo_4 = {cmm_stage_csrfiles_mip_sti,1'h0,cmm_stage_csrfiles_mip_msi,1'h0,
    cmm_stage_csrfiles_mip_ssi,1'h0}; // @[CsrFiles.scala 601:40]
  wire [15:0] cmm_stage__io_csr_data_bits_T_49 = {4'h0,cmm_stage_csrfiles_mip_mei,1'h0,cmm_stage_csrfiles_mip_sei,1'h0,
    cmm_stage_csrfiles_mip_mti,1'h0,cmm_stage_io_csr_data_bits_lo_4}; // @[CsrFiles.scala 601:40]
  wire  cmm_stage__io_csr_data_bits_T_87 = cmm_stage_io_csr_addr_bits == 12'h7b4; // @[CsrFiles.scala 655:18]
  wire [4:0] cmm_stage__io_csr_data_bits_T_88 = cmm_stage__cmm_state_0_is_csrr_illegal_T ?
    cmm_stage_csrfiles_fcsr_fflags : 5'h0; // @[Mux.scala 27:73]
  wire [2:0] cmm_stage__io_csr_data_bits_T_89 = cmm_stage__cmm_state_0_is_csrr_illegal_T_2 ? cmm_stage_csrfiles_fcsr_frm
     : 3'h0; // @[Mux.scala 27:73]
  wire [7:0] cmm_stage__io_csr_data_bits_T_90 = cmm_stage__cmm_state_0_is_csrr_illegal_T_4 ?
    cmm_stage__csr_state_0_csrfiles_fcsr_T : 8'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_91 = cmm_stage__cmm_state_0_is_csrr_illegal_T_6 ? cmm_stage_csrfiles_mcycle
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_92 = cmm_stage__cmm_state_0_is_csrr_illegal_T_8 ? cmm_stage_csrfiles_time : 64'h0
    ; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_93 = cmm_stage__cmm_state_0_is_csrr_illegal_T_10 ?
    cmm_stage_csrfiles_minstret : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_94 = cmm_stage__cmm_state_0_is_csrr_illegal_T_12 ?
    cmm_stage__io_csr_data_bits_T_37 : 64'h0; // @[Mux.scala 27:73]
  wire [15:0] cmm_stage__io_csr_data_bits_T_95 = cmm_stage__cmm_state_0_is_csrr_illegal_T_14 ?
    cmm_stage__csr_state_0_csrfiles_mie_T : 16'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_96 = cmm_stage__cmm_state_0_is_csrr_illegal_T_16 ?
    cmm_stage__csr_state_0_csrfiles_stvec_T : 64'h0; // @[Mux.scala 27:73]
  wire [31:0] cmm_stage__io_csr_data_bits_T_97 = cmm_stage__cmm_state_0_is_csrr_illegal_T_18 ?
    cmm_stage_csrfiles_scounteren_hpm : 32'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_98 = cmm_stage__cmm_state_0_is_csrr_illegal_T_20 ?
    cmm_stage_csrfiles_sscratch : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_99 = cmm_stage__cmm_state_0_is_csrr_illegal_T_22 ? cmm_stage_csrfiles_sepc
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_100 = cmm_stage__cmm_state_0_is_csrr_illegal_T_24 ?
    cmm_stage__csr_state_0_csrfiles_scause_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_101 = cmm_stage__cmm_state_0_is_csrr_illegal_T_26 ? cmm_stage_csrfiles_stval
     : 64'h0; // @[Mux.scala 27:73]
  wire [15:0] cmm_stage__io_csr_data_bits_T_102 = cmm_stage__cmm_state_0_is_csrr_illegal_T_28 ?
    cmm_stage__io_csr_data_bits_T_49 : 16'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_103 = cmm_stage__cmm_state_0_is_csrr_illegal_T_30 ?
    cmm_stage__csr_state_0_csrfiles_satp_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_105 = cmm_stage__cmm_state_0_is_csrr_illegal_T_60 ?
    cmm_stage_csrfiles_marchid : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_108 = cmm_stage__cmm_state_0_is_csrr_illegal_T_66 ?
    cmm_stage__csr_state_0_csrfiles_mstatus_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_109 = cmm_stage__cmm_state_0_is_csrr_illegal_T_68 ? cmm_stage_csrfiles_misa
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_110 = cmm_stage__cmm_state_0_is_csrr_illegal_T_70 ?
    cmm_stage_csrfiles_medeleg : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_111 = cmm_stage__cmm_state_0_is_csrr_illegal_T_72 ?
    cmm_stage_csrfiles_mideleg : 64'h0; // @[Mux.scala 27:73]
  wire [15:0] cmm_stage__io_csr_data_bits_T_112 = cmm_stage__cmm_state_0_is_csrr_illegal_T_74 ?
    cmm_stage__csr_state_0_csrfiles_mie_T : 16'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_113 = cmm_stage__cmm_state_0_is_csrr_illegal_T_76 ?
    cmm_stage__csr_state_0_csrfiles_mtvec_T : 64'h0; // @[Mux.scala 27:73]
  wire [31:0] cmm_stage__io_csr_data_bits_T_114 = cmm_stage__cmm_state_0_is_csrr_illegal_T_78 ?
    cmm_stage_csrfiles_mcounteren_hpm : 32'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_115 = cmm_stage__cmm_state_0_is_csrr_illegal_T_80 ?
    cmm_stage_csrfiles_mscratch : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_116 = cmm_stage__cmm_state_0_is_csrr_illegal_T_82 ? cmm_stage_csrfiles_mepc
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_117 = cmm_stage__cmm_state_0_is_csrr_illegal_T_84 ?
    cmm_stage__csr_state_0_csrfiles_mcause_T : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_118 = cmm_stage__cmm_state_0_is_csrr_illegal_T_86 ? cmm_stage_csrfiles_mtval
     : 64'h0; // @[Mux.scala 27:73]
  wire [15:0] cmm_stage__io_csr_data_bits_T_119 = cmm_stage__cmm_state_0_is_csrr_illegal_T_88 ?
    cmm_stage__io_csr_data_bits_T_49 : 16'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_120 = cmm_stage__cmm_state_0_is_csrr_illegal_T_90 ?
    cmm_stage_csrfiles_mtinst : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_121 = cmm_stage__cmm_state_0_is_csrr_illegal_T_92 ?
    cmm_stage_csrfiles_mtval2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_122 = cmm_stage__cmm_state_0_is_csrr_illegal_T_94 ?
    cmm_stage_csrfiles_mcycle : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_123 = cmm_stage__cmm_state_0_is_csrr_illegal_T_100 ?
    cmm_stage_csrfiles_minstret : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_125 = cmm_stage__cmm_state_0_is_csrr_illegal_T_108 ?
    cmm_stage_csrfiles_tselect : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_126 = cmm_stage__cmm_state_0_is_csrr_illegal_T_110 ?
    cmm_stage_csrfiles_tdata1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_127 = cmm_stage__cmm_state_0_is_csrr_illegal_T_112 ?
    cmm_stage_csrfiles_tdata2 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_128 = cmm_stage__cmm_state_0_is_csrr_illegal_T_114 ?
    cmm_stage_csrfiles_tdata3 : 64'h0; // @[Mux.scala 27:73]
  wire [31:0] cmm_stage__io_csr_data_bits_T_129 = cmm_stage__cmm_state_0_is_csrr_illegal_T_116 ?
    cmm_stage__csr_state_0_csrfiles_dcsr_T : 32'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_130 = cmm_stage__cmm_state_0_is_csrr_illegal_T_117 ? cmm_stage_csrfiles_dpc
     : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_131 = cmm_stage__cmm_state_0_is_csrr_illegal_T_118 ?
    cmm_stage_csrfiles_dscratch0 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_132 = cmm_stage__cmm_state_0_is_csrr_illegal_T_119 ?
    cmm_stage_csrfiles_dscratch1 : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_133 = cmm_stage__io_csr_data_bits_T_87 ? cmm_stage_csrfiles_dscratch2 : 64'h0
    ; // @[Mux.scala 27:73]
  wire [4:0] _GEN_674 = {{2'd0}, cmm_stage__io_csr_data_bits_T_89}; // @[Mux.scala 27:73]
  wire [4:0] cmm_stage__io_csr_data_bits_T_134 = cmm_stage__io_csr_data_bits_T_88 | _GEN_674; // @[Mux.scala 27:73]
  wire [7:0] _GEN_675 = {{3'd0}, cmm_stage__io_csr_data_bits_T_134}; // @[Mux.scala 27:73]
  wire [7:0] cmm_stage__io_csr_data_bits_T_135 = _GEN_675 | cmm_stage__io_csr_data_bits_T_90; // @[Mux.scala 27:73]
  wire [63:0] _GEN_676 = {{56'd0}, cmm_stage__io_csr_data_bits_T_135}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_136 = _GEN_676 | cmm_stage__io_csr_data_bits_T_91; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_137 = cmm_stage__io_csr_data_bits_T_136 | cmm_stage__io_csr_data_bits_T_92; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_138 = cmm_stage__io_csr_data_bits_T_137 | cmm_stage__io_csr_data_bits_T_93; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_139 = cmm_stage__io_csr_data_bits_T_138 | cmm_stage__io_csr_data_bits_T_94; // @[Mux.scala 27:73]
  wire [63:0] _GEN_677 = {{48'd0}, cmm_stage__io_csr_data_bits_T_95}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_140 = cmm_stage__io_csr_data_bits_T_139 | _GEN_677; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_141 = cmm_stage__io_csr_data_bits_T_140 | cmm_stage__io_csr_data_bits_T_96; // @[Mux.scala 27:73]
  wire [63:0] _GEN_678 = {{32'd0}, cmm_stage__io_csr_data_bits_T_97}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_142 = cmm_stage__io_csr_data_bits_T_141 | _GEN_678; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_143 = cmm_stage__io_csr_data_bits_T_142 | cmm_stage__io_csr_data_bits_T_98; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_144 = cmm_stage__io_csr_data_bits_T_143 | cmm_stage__io_csr_data_bits_T_99; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_145 = cmm_stage__io_csr_data_bits_T_144 | cmm_stage__io_csr_data_bits_T_100; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_146 = cmm_stage__io_csr_data_bits_T_145 | cmm_stage__io_csr_data_bits_T_101; // @[Mux.scala 27:73]
  wire [63:0] _GEN_679 = {{48'd0}, cmm_stage__io_csr_data_bits_T_102}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_147 = cmm_stage__io_csr_data_bits_T_146 | _GEN_679; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_148 = cmm_stage__io_csr_data_bits_T_147 | cmm_stage__io_csr_data_bits_T_103; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_150 = cmm_stage__io_csr_data_bits_T_148 | cmm_stage__io_csr_data_bits_T_105; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_153 = cmm_stage__io_csr_data_bits_T_150 | cmm_stage__io_csr_data_bits_T_108; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_154 = cmm_stage__io_csr_data_bits_T_153 | cmm_stage__io_csr_data_bits_T_109; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_155 = cmm_stage__io_csr_data_bits_T_154 | cmm_stage__io_csr_data_bits_T_110; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_156 = cmm_stage__io_csr_data_bits_T_155 | cmm_stage__io_csr_data_bits_T_111; // @[Mux.scala 27:73]
  wire [63:0] _GEN_680 = {{48'd0}, cmm_stage__io_csr_data_bits_T_112}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_157 = cmm_stage__io_csr_data_bits_T_156 | _GEN_680; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_158 = cmm_stage__io_csr_data_bits_T_157 | cmm_stage__io_csr_data_bits_T_113; // @[Mux.scala 27:73]
  wire [63:0] _GEN_681 = {{32'd0}, cmm_stage__io_csr_data_bits_T_114}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_159 = cmm_stage__io_csr_data_bits_T_158 | _GEN_681; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_160 = cmm_stage__io_csr_data_bits_T_159 | cmm_stage__io_csr_data_bits_T_115; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_161 = cmm_stage__io_csr_data_bits_T_160 | cmm_stage__io_csr_data_bits_T_116; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_162 = cmm_stage__io_csr_data_bits_T_161 | cmm_stage__io_csr_data_bits_T_117; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_163 = cmm_stage__io_csr_data_bits_T_162 | cmm_stage__io_csr_data_bits_T_118; // @[Mux.scala 27:73]
  wire [63:0] _GEN_682 = {{48'd0}, cmm_stage__io_csr_data_bits_T_119}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_164 = cmm_stage__io_csr_data_bits_T_163 | _GEN_682; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_165 = cmm_stage__io_csr_data_bits_T_164 | cmm_stage__io_csr_data_bits_T_120; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_166 = cmm_stage__io_csr_data_bits_T_165 | cmm_stage__io_csr_data_bits_T_121; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_167 = cmm_stage__io_csr_data_bits_T_166 | cmm_stage__io_csr_data_bits_T_122; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_168 = cmm_stage__io_csr_data_bits_T_167 | cmm_stage__io_csr_data_bits_T_123; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_170 = cmm_stage__io_csr_data_bits_T_168 | cmm_stage__io_csr_data_bits_T_125; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_171 = cmm_stage__io_csr_data_bits_T_170 | cmm_stage__io_csr_data_bits_T_126; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_172 = cmm_stage__io_csr_data_bits_T_171 | cmm_stage__io_csr_data_bits_T_127; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_173 = cmm_stage__io_csr_data_bits_T_172 | cmm_stage__io_csr_data_bits_T_128; // @[Mux.scala 27:73]
  wire [63:0] _GEN_683 = {{32'd0}, cmm_stage__io_csr_data_bits_T_129}; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_174 = cmm_stage__io_csr_data_bits_T_173 | _GEN_683; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_175 = cmm_stage__io_csr_data_bits_T_174 | cmm_stage__io_csr_data_bits_T_130; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_176 = cmm_stage__io_csr_data_bits_T_175 | cmm_stage__io_csr_data_bits_T_131; // @[Mux.scala 27:73]
  wire [63:0] cmm_stage__io_csr_data_bits_T_177 = cmm_stage__io_csr_data_bits_T_176 | cmm_stage__io_csr_data_bits_T_132; // @[Mux.scala 27:73]
  wire  cmm_stage__io_csr_data_valid_T_121 = ~cmm_stage__cmm_state_0_is_csrr_illegal_T_120; // @[Commit.scala 798:44]
  wire  cmm_stage__T_88 = cmm_stage_csrExe_mdl_io_deq_0_ready & cmm_stage__T_23; // @[Commit.scala 803:31]
  wire  cmm_stage__T_89 = ~cmm_stage__T_88; // @[Commit.scala 803:13]
  wire  cmm_stage__T_92 = ~cmm_stage__T_89; // @[Commit.scala 803:11]
  wire  cmm_stage__T_94 = cmm_stage_fcsrExe_mdl_io_deq_0_ready & cmm_stage__T_25; // @[Commit.scala 814:32]
  wire  cmm_stage__T_95 = ~cmm_stage__T_94; // @[Commit.scala 814:13]
  wire  cmm_stage__T_98 = ~cmm_stage__T_95; // @[Commit.scala 814:11]
  wire  i_mmu_clock;
  wire  i_mmu_reset;
  wire  i_mmu_io_if_mmu_ready;
  wire  i_mmu_io_if_mmu_valid;
  wire  i_mmu_io_if_mmu_bits_is_X;
  wire [63:0] i_mmu_io_if_mmu_bits_vaddr;
  wire  i_mmu_io_mmu_if_ready;
  wire  i_mmu_io_mmu_if_valid;
  wire [63:0] i_mmu_io_mmu_if_bits_vaddr;
  wire [63:0] i_mmu_io_mmu_if_bits_paddr;
  wire  i_mmu_io_mmu_if_bits_is_paging_fault;
  wire  i_mmu_io_mmu_if_bits_is_access_fault;
  wire  i_mmu_io_if_flush;
  wire  i_mmu_io_lsu_mmu_ready;
  wire  i_mmu_io_lsu_mmu_valid;
  wire  i_mmu_io_lsu_mmu_bits_is_X;
  wire  i_mmu_io_lsu_mmu_bits_is_W;
  wire  i_mmu_io_lsu_mmu_bits_is_R;
  wire [63:0] i_mmu_io_lsu_mmu_bits_vaddr;
  wire  i_mmu_io_mmu_lsu_ready;
  wire  i_mmu_io_mmu_lsu_valid;
  wire [63:0] i_mmu_io_mmu_lsu_bits_paddr;
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault;
  wire  i_mmu_io_mmu_lsu_bits_is_access_fault;
  wire  i_mmu_io_lsu_flush;
  wire [63:0] i_mmu_io_cmm_mmu_satp;
  wire [1:0] i_mmu_io_cmm_mmu_priv_lvl_if;
  wire [1:0] i_mmu_io_cmm_mmu_priv_lvl_ls;
  wire [63:0] i_mmu_io_cmm_mmu_mstatus;
  wire [63:0] i_mmu_io_cmm_mmu_sstatus;
  wire  i_mmu_io_cmm_mmu_sfence_vma;
  wire  i_mmu_io_ptw_get_ready;
  wire  i_mmu_io_ptw_get_valid;
  wire [2:0] i_mmu_io_ptw_get_bits_opcode;
  wire [2:0] i_mmu_io_ptw_get_bits_param;
  wire [2:0] i_mmu_io_ptw_get_bits_size;
  wire  i_mmu_io_ptw_get_bits_source;
  wire [31:0] i_mmu_io_ptw_get_bits_address;
  wire [7:0] i_mmu_io_ptw_get_bits_mask;
  wire [63:0] i_mmu_io_ptw_get_bits_data;
  wire  i_mmu_io_ptw_get_bits_corrupt;
  wire  i_mmu_io_ptw_access_ready;
  wire  i_mmu_io_ptw_access_valid;
  wire [2:0] i_mmu_io_ptw_access_bits_opcode;
  wire [2:0] i_mmu_io_ptw_access_bits_size;
  wire  i_mmu_io_ptw_access_bits_source;
  wire [63:0] i_mmu_io_ptw_access_bits_data;
  wire  i_mmu_itlb_clock;
  wire  i_mmu_itlb_reset;
  wire  i_mmu_itlb_io_req_valid;
  wire [63:0] i_mmu_itlb_io_req_bits_vaddr;
  wire [63:0] i_mmu_itlb_io_pte_o_value;
  wire  i_mmu_itlb_io_pte_o_is_giga_page;
  wire  i_mmu_itlb_io_pte_o_is_mega_page;
  wire  i_mmu_itlb_io_is_hit;
  wire [15:0] i_mmu_itlb_io_asid_i;
  wire  i_mmu_itlb_io_tlb_renew_valid;
  wire [63:0] i_mmu_itlb_io_tlb_renew_bits_value;
  wire  i_mmu_itlb_io_tlb_renew_bits_is_giga_page;
  wire  i_mmu_itlb_io_tlb_renew_bits_is_mega_page;
  wire [15:0] i_mmu_itlb_io_tlb_renew_bits_asid;
  wire [8:0] i_mmu_itlb_io_tlb_renew_bits_vpn_0;
  wire [8:0] i_mmu_itlb_io_tlb_renew_bits_vpn_1;
  wire [8:0] i_mmu_itlb_io_tlb_renew_bits_vpn_2;
  wire  i_mmu_itlb_io_sfence_vma;
  wire  i_mmu_itlb_random_idx_prng_clock;
  wire  i_mmu_itlb_random_idx_prng_reset;
  wire  i_mmu_itlb_random_idx_prng_io_out_0;
  wire  i_mmu_itlb_random_idx_prng_io_out_1;
  reg  i_mmu_itlb_random_idx_prng_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_itlb_random_idx_prng_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_itlb_random_idx_prng__T = i_mmu_itlb_random_idx_prng_state_1 ^ i_mmu_itlb_random_idx_prng_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_itlb_random_idx_prng_1_clock;
  wire  i_mmu_itlb_random_idx_prng_1_reset;
  wire  i_mmu_itlb_random_idx_prng_1_io_out_0;
  wire  i_mmu_itlb_random_idx_prng_1_io_out_1;
  reg  i_mmu_itlb_random_idx_prng_1_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_itlb_random_idx_prng_1_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_itlb_random_idx_prng_1__T = i_mmu_itlb_random_idx_prng_1_state_1 ^ i_mmu_itlb_random_idx_prng_1_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_itlb_random_idx_prng_2_clock;
  wire  i_mmu_itlb_random_idx_prng_2_reset;
  wire  i_mmu_itlb_random_idx_prng_2_io_out_0;
  wire  i_mmu_itlb_random_idx_prng_2_io_out_1;
  reg  i_mmu_itlb_random_idx_prng_2_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_itlb_random_idx_prng_2_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_itlb_random_idx_prng_2__T = i_mmu_itlb_random_idx_prng_2_state_1 ^ i_mmu_itlb_random_idx_prng_2_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_itlb_random_idx_prng_3_clock;
  wire  i_mmu_itlb_random_idx_prng_3_reset;
  wire  i_mmu_itlb_random_idx_prng_3_io_out_0;
  wire  i_mmu_itlb_random_idx_prng_3_io_out_1;
  reg  i_mmu_itlb_random_idx_prng_3_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_itlb_random_idx_prng_3_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_itlb_random_idx_prng_3__T = i_mmu_itlb_random_idx_prng_3_state_1 ^ i_mmu_itlb_random_idx_prng_3_state_0; // @[LFSR.scala 15:41]
  reg  i_mmu_itlb_tag_0_is_valid; // @[TLB.scala 59:20]
  reg [15:0] i_mmu_itlb_tag_0_asid; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_0_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_0_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_0_vpn_2; // @[TLB.scala 59:20]
  reg  i_mmu_itlb_tag_1_is_valid; // @[TLB.scala 59:20]
  reg [15:0] i_mmu_itlb_tag_1_asid; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_1_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_1_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_itlb_tag_1_vpn_2; // @[TLB.scala 59:20]
  reg [63:0] i_mmu_itlb_pte_0_value; // @[TLB.scala 62:20]
  reg  i_mmu_itlb_pte_0_is_giga_page; // @[TLB.scala 62:20]
  reg  i_mmu_itlb_pte_0_is_mega_page; // @[TLB.scala 62:20]
  reg [63:0] i_mmu_itlb_pte_1_value; // @[TLB.scala 62:20]
  reg  i_mmu_itlb_pte_1_is_giga_page; // @[TLB.scala 62:20]
  reg  i_mmu_itlb_pte_1_is_mega_page; // @[TLB.scala 62:20]
  wire  i_mmu_itlb_is_runout = i_mmu_itlb_tag_0_is_valid & i_mmu_itlb_tag_1_is_valid; // @[TLB.scala 85:31]
  wire [1:0] i_mmu_itlb_random_idx = {i_mmu_itlb_random_idx_prng_io_out_1,i_mmu_itlb_random_idx_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire  i_mmu_itlb__empty_idx_T = ~i_mmu_itlb_tag_0_is_valid; // @[TLB.scala 88:70]
  wire  i_mmu_itlb_empty_idx = i_mmu_itlb__empty_idx_T ? 1'h0 : 1'h1; // @[TLB.scala 88:36]
  wire [1:0] i_mmu_itlb__T = i_mmu_itlb_is_runout ? i_mmu_itlb_random_idx : {{1'd0}, i_mmu_itlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_itlb__T_1 = i_mmu_itlb__T[0];
  wire  i_mmu_itlb__GEN_0 = ~i_mmu_itlb__T_1 | i_mmu_itlb_tag_0_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire  i_mmu_itlb__GEN_1 = i_mmu_itlb__T_1 | i_mmu_itlb_tag_1_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire [1:0] i_mmu_itlb_random_idx_1 = {i_mmu_itlb_random_idx_prng_1_io_out_1,i_mmu_itlb_random_idx_prng_1_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_itlb__T_2 = i_mmu_itlb_is_runout ? i_mmu_itlb_random_idx_1 : {{1'd0}, i_mmu_itlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_itlb__T_3 = i_mmu_itlb__T_2[0];
  wire [1:0] i_mmu_itlb_random_idx_2 = {i_mmu_itlb_random_idx_prng_2_io_out_1,i_mmu_itlb_random_idx_prng_2_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_itlb__T_4 = i_mmu_itlb_is_runout ? i_mmu_itlb_random_idx_2 : {{1'd0}, i_mmu_itlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_itlb__T_5 = i_mmu_itlb__T_4[0];
  wire [1:0] i_mmu_itlb_random_idx_3 = {i_mmu_itlb_random_idx_prng_3_io_out_1,i_mmu_itlb_random_idx_prng_3_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_itlb__T_6 = i_mmu_itlb_is_runout ? i_mmu_itlb_random_idx_3 : {{1'd0}, i_mmu_itlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_itlb__T_7 = i_mmu_itlb__T_6[0];
  wire  i_mmu_itlb__tlb_hit_lvl2_T = i_mmu_itlb_io_asid_i == i_mmu_itlb_tag_0_asid; // @[TLB.scala 102:46]
  wire  i_mmu_itlb__tlb_hit_lvl2_T_1 = i_mmu_itlb_tag_0_is_valid & i_mmu_itlb__tlb_hit_lvl2_T; // @[TLB.scala 102:34]
  wire [8:0] i_mmu_itlb__tlb_hit_lvl2_T_2 = i_mmu_itlb_io_req_bits_vaddr[38:30]; // @[TLB.scala 102:81]
  wire  i_mmu_itlb__tlb_hit_lvl2_T_3 = i_mmu_itlb__tlb_hit_lvl2_T_2 == i_mmu_itlb_tag_0_vpn_2; // @[TLB.scala 102:89]
  wire  i_mmu_itlb_tlb_hit_lvl2 = i_mmu_itlb__tlb_hit_lvl2_T_1 & i_mmu_itlb__tlb_hit_lvl2_T_3; // @[TLB.scala 102:62]
  wire [8:0] i_mmu_itlb__tlb_hit_lvl1_T = i_mmu_itlb_io_req_bits_vaddr[29:21]; // @[TLB.scala 103:35]
  wire  i_mmu_itlb_tlb_hit_lvl1 = i_mmu_itlb__tlb_hit_lvl1_T == i_mmu_itlb_tag_0_vpn_1; // @[TLB.scala 103:43]
  wire [8:0] i_mmu_itlb__tlb_hit_lvl0_T = i_mmu_itlb_io_req_bits_vaddr[20:12]; // @[TLB.scala 104:35]
  wire  i_mmu_itlb_tlb_hit_lvl0 = i_mmu_itlb__tlb_hit_lvl0_T == i_mmu_itlb_tag_0_vpn_0; // @[TLB.scala 104:43]
  wire  i_mmu_itlb__tlb_hit_T = i_mmu_itlb_pte_0_is_mega_page | i_mmu_itlb_tlb_hit_lvl0; // @[TLB.scala 106:68]
  wire  i_mmu_itlb__tlb_hit_T_1 = i_mmu_itlb_tlb_hit_lvl1 & i_mmu_itlb__tlb_hit_T; // @[TLB.scala 106:45]
  wire  i_mmu_itlb__tlb_hit_T_2 = i_mmu_itlb_pte_0_is_giga_page | i_mmu_itlb__tlb_hit_T_1; // @[TLB.scala 106:36]
  wire  i_mmu_itlb__tlb_hit_T_3 = i_mmu_itlb_tlb_hit_lvl2 & i_mmu_itlb__tlb_hit_T_2; // @[TLB.scala 106:12]
  wire  i_mmu_itlb__tlb_hit_lvl2_T_4 = i_mmu_itlb_io_asid_i == i_mmu_itlb_tag_1_asid; // @[TLB.scala 102:46]
  wire  i_mmu_itlb__tlb_hit_lvl2_T_5 = i_mmu_itlb_tag_1_is_valid & i_mmu_itlb__tlb_hit_lvl2_T_4; // @[TLB.scala 102:34]
  wire  i_mmu_itlb__tlb_hit_lvl2_T_7 = i_mmu_itlb__tlb_hit_lvl2_T_2 == i_mmu_itlb_tag_1_vpn_2; // @[TLB.scala 102:89]
  wire  i_mmu_itlb_tlb_hit_lvl2_1 = i_mmu_itlb__tlb_hit_lvl2_T_5 & i_mmu_itlb__tlb_hit_lvl2_T_7; // @[TLB.scala 102:62]
  wire  i_mmu_itlb_tlb_hit_lvl1_1 = i_mmu_itlb__tlb_hit_lvl1_T == i_mmu_itlb_tag_1_vpn_1; // @[TLB.scala 103:43]
  wire  i_mmu_itlb_tlb_hit_lvl0_1 = i_mmu_itlb__tlb_hit_lvl0_T == i_mmu_itlb_tag_1_vpn_0; // @[TLB.scala 104:43]
  wire  i_mmu_itlb__tlb_hit_T_4 = i_mmu_itlb_pte_1_is_mega_page | i_mmu_itlb_tlb_hit_lvl0_1; // @[TLB.scala 106:68]
  wire  i_mmu_itlb__tlb_hit_T_5 = i_mmu_itlb_tlb_hit_lvl1_1 & i_mmu_itlb__tlb_hit_T_4; // @[TLB.scala 106:45]
  wire  i_mmu_itlb__tlb_hit_T_6 = i_mmu_itlb_pte_1_is_giga_page | i_mmu_itlb__tlb_hit_T_5; // @[TLB.scala 106:36]
  wire  i_mmu_itlb__tlb_hit_T_7 = i_mmu_itlb_tlb_hit_lvl2_1 & i_mmu_itlb__tlb_hit_T_6; // @[TLB.scala 106:12]
  wire [1:0] i_mmu_itlb__T_8 = {i_mmu_itlb__tlb_hit_T_7,i_mmu_itlb__tlb_hit_T_3}; // @[TLB.scala 110:29]
  wire  i_mmu_itlb__T_9 = i_mmu_itlb__T_8[0]; // @[Bitwise.scala 53:100]
  wire  i_mmu_itlb__T_10 = i_mmu_itlb__T_8[1]; // @[Bitwise.scala 53:100]
  wire [1:0] i_mmu_itlb__T_11 = i_mmu_itlb__T_9 + i_mmu_itlb__T_10; // @[Bitwise.scala 51:90]
  wire  i_mmu_itlb__T_13 = i_mmu_itlb__T_11 <= 2'h1; // @[TLB.scala 110:38]
  wire  i_mmu_itlb__T_15 = ~i_mmu_itlb_reset; // @[TLB.scala 110:9]
  wire  i_mmu_itlb__T_16 = ~i_mmu_itlb__T_13; // @[TLB.scala 110:9]
  wire  i_mmu_itlb__io_pte_o_T = i_mmu_itlb__tlb_hit_T_3 & i_mmu_itlb_pte_0_is_mega_page; // @[Mux.scala 27:73]
  wire  i_mmu_itlb__io_pte_o_T_1 = i_mmu_itlb__tlb_hit_T_7 & i_mmu_itlb_pte_1_is_mega_page; // @[Mux.scala 27:73]
  wire  i_mmu_itlb__io_pte_o_T_3 = i_mmu_itlb__tlb_hit_T_3 & i_mmu_itlb_pte_0_is_giga_page; // @[Mux.scala 27:73]
  wire  i_mmu_itlb__io_pte_o_T_4 = i_mmu_itlb__tlb_hit_T_7 & i_mmu_itlb_pte_1_is_giga_page; // @[Mux.scala 27:73]
  wire [63:0] i_mmu_itlb__io_pte_o_T_9 = i_mmu_itlb__tlb_hit_T_3 ? i_mmu_itlb_pte_0_value : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] i_mmu_itlb__io_pte_o_T_10 = i_mmu_itlb__tlb_hit_T_7 ? i_mmu_itlb_pte_1_value : 64'h0; // @[Mux.scala 27:73]
  wire  i_mmu_itlb__io_is_hit_T_3 = i_mmu_itlb__tlb_hit_T_3 | i_mmu_itlb__tlb_hit_T_7; // @[TLB.scala 113:32]
  wire  i_mmu_dtlb_clock;
  wire  i_mmu_dtlb_reset;
  wire  i_mmu_dtlb_io_req_valid;
  wire [63:0] i_mmu_dtlb_io_req_bits_vaddr;
  wire [63:0] i_mmu_dtlb_io_pte_o_value;
  wire  i_mmu_dtlb_io_pte_o_is_giga_page;
  wire  i_mmu_dtlb_io_pte_o_is_mega_page;
  wire  i_mmu_dtlb_io_is_hit;
  wire [15:0] i_mmu_dtlb_io_asid_i;
  wire  i_mmu_dtlb_io_tlb_renew_valid;
  wire [63:0] i_mmu_dtlb_io_tlb_renew_bits_value;
  wire  i_mmu_dtlb_io_tlb_renew_bits_is_giga_page;
  wire  i_mmu_dtlb_io_tlb_renew_bits_is_mega_page;
  wire [15:0] i_mmu_dtlb_io_tlb_renew_bits_asid;
  wire [8:0] i_mmu_dtlb_io_tlb_renew_bits_vpn_0;
  wire [8:0] i_mmu_dtlb_io_tlb_renew_bits_vpn_1;
  wire [8:0] i_mmu_dtlb_io_tlb_renew_bits_vpn_2;
  wire  i_mmu_dtlb_io_sfence_vma;
  wire  i_mmu_dtlb_random_idx_prng_clock;
  wire  i_mmu_dtlb_random_idx_prng_reset;
  wire  i_mmu_dtlb_random_idx_prng_io_out_0;
  wire  i_mmu_dtlb_random_idx_prng_io_out_1;
  reg  i_mmu_dtlb_random_idx_prng_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_dtlb_random_idx_prng_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_dtlb_random_idx_prng__T = i_mmu_dtlb_random_idx_prng_state_1 ^ i_mmu_dtlb_random_idx_prng_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_dtlb_random_idx_prng_1_clock;
  wire  i_mmu_dtlb_random_idx_prng_1_reset;
  wire  i_mmu_dtlb_random_idx_prng_1_io_out_0;
  wire  i_mmu_dtlb_random_idx_prng_1_io_out_1;
  reg  i_mmu_dtlb_random_idx_prng_1_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_dtlb_random_idx_prng_1_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_dtlb_random_idx_prng_1__T = i_mmu_dtlb_random_idx_prng_1_state_1 ^ i_mmu_dtlb_random_idx_prng_1_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_dtlb_random_idx_prng_2_clock;
  wire  i_mmu_dtlb_random_idx_prng_2_reset;
  wire  i_mmu_dtlb_random_idx_prng_2_io_out_0;
  wire  i_mmu_dtlb_random_idx_prng_2_io_out_1;
  reg  i_mmu_dtlb_random_idx_prng_2_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_dtlb_random_idx_prng_2_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_dtlb_random_idx_prng_2__T = i_mmu_dtlb_random_idx_prng_2_state_1 ^ i_mmu_dtlb_random_idx_prng_2_state_0; // @[LFSR.scala 15:41]
  wire  i_mmu_dtlb_random_idx_prng_3_clock;
  wire  i_mmu_dtlb_random_idx_prng_3_reset;
  wire  i_mmu_dtlb_random_idx_prng_3_io_out_0;
  wire  i_mmu_dtlb_random_idx_prng_3_io_out_1;
  reg  i_mmu_dtlb_random_idx_prng_3_state_0; // @[PRNG.scala 55:49]
  reg  i_mmu_dtlb_random_idx_prng_3_state_1; // @[PRNG.scala 55:49]
  wire  i_mmu_dtlb_random_idx_prng_3__T = i_mmu_dtlb_random_idx_prng_3_state_1 ^ i_mmu_dtlb_random_idx_prng_3_state_0; // @[LFSR.scala 15:41]
  reg  i_mmu_dtlb_tag_0_is_valid; // @[TLB.scala 59:20]
  reg [15:0] i_mmu_dtlb_tag_0_asid; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_0_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_0_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_0_vpn_2; // @[TLB.scala 59:20]
  reg  i_mmu_dtlb_tag_1_is_valid; // @[TLB.scala 59:20]
  reg [15:0] i_mmu_dtlb_tag_1_asid; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_1_vpn_0; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_1_vpn_1; // @[TLB.scala 59:20]
  reg [8:0] i_mmu_dtlb_tag_1_vpn_2; // @[TLB.scala 59:20]
  reg [63:0] i_mmu_dtlb_pte_0_value; // @[TLB.scala 62:20]
  reg  i_mmu_dtlb_pte_0_is_giga_page; // @[TLB.scala 62:20]
  reg  i_mmu_dtlb_pte_0_is_mega_page; // @[TLB.scala 62:20]
  reg [63:0] i_mmu_dtlb_pte_1_value; // @[TLB.scala 62:20]
  reg  i_mmu_dtlb_pte_1_is_giga_page; // @[TLB.scala 62:20]
  reg  i_mmu_dtlb_pte_1_is_mega_page; // @[TLB.scala 62:20]
  wire  i_mmu_dtlb_is_runout = i_mmu_dtlb_tag_0_is_valid & i_mmu_dtlb_tag_1_is_valid; // @[TLB.scala 85:31]
  wire [1:0] i_mmu_dtlb_random_idx = {i_mmu_dtlb_random_idx_prng_io_out_1,i_mmu_dtlb_random_idx_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire  i_mmu_dtlb__empty_idx_T = ~i_mmu_dtlb_tag_0_is_valid; // @[TLB.scala 88:70]
  wire  i_mmu_dtlb_empty_idx = i_mmu_dtlb__empty_idx_T ? 1'h0 : 1'h1; // @[TLB.scala 88:36]
  wire [1:0] i_mmu_dtlb__T = i_mmu_dtlb_is_runout ? i_mmu_dtlb_random_idx : {{1'd0}, i_mmu_dtlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_dtlb__T_1 = i_mmu_dtlb__T[0];
  wire  i_mmu_dtlb__GEN_0 = ~i_mmu_dtlb__T_1 | i_mmu_dtlb_tag_0_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire  i_mmu_dtlb__GEN_1 = i_mmu_dtlb__T_1 | i_mmu_dtlb_tag_1_is_valid; // @[TLB.scala 59:20 68:{34,34}]
  wire [1:0] i_mmu_dtlb_random_idx_1 = {i_mmu_dtlb_random_idx_prng_1_io_out_1,i_mmu_dtlb_random_idx_prng_1_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_dtlb__T_2 = i_mmu_dtlb_is_runout ? i_mmu_dtlb_random_idx_1 : {{1'd0}, i_mmu_dtlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_dtlb__T_3 = i_mmu_dtlb__T_2[0];
  wire [1:0] i_mmu_dtlb_random_idx_2 = {i_mmu_dtlb_random_idx_prng_2_io_out_1,i_mmu_dtlb_random_idx_prng_2_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_dtlb__T_4 = i_mmu_dtlb_is_runout ? i_mmu_dtlb_random_idx_2 : {{1'd0}, i_mmu_dtlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_dtlb__T_5 = i_mmu_dtlb__T_4[0];
  wire [1:0] i_mmu_dtlb_random_idx_3 = {i_mmu_dtlb_random_idx_prng_3_io_out_1,i_mmu_dtlb_random_idx_prng_3_io_out_0}; // @[PRNG.scala 95:17]
  wire [1:0] i_mmu_dtlb__T_6 = i_mmu_dtlb_is_runout ? i_mmu_dtlb_random_idx_3 : {{1'd0}, i_mmu_dtlb_empty_idx}; // @[TLB.scala 90:15]
  wire  i_mmu_dtlb__T_7 = i_mmu_dtlb__T_6[0];
  wire  i_mmu_dtlb__tlb_hit_lvl2_T = i_mmu_dtlb_io_asid_i == i_mmu_dtlb_tag_0_asid; // @[TLB.scala 102:46]
  wire  i_mmu_dtlb__tlb_hit_lvl2_T_1 = i_mmu_dtlb_tag_0_is_valid & i_mmu_dtlb__tlb_hit_lvl2_T; // @[TLB.scala 102:34]
  wire [8:0] i_mmu_dtlb__tlb_hit_lvl2_T_2 = i_mmu_dtlb_io_req_bits_vaddr[38:30]; // @[TLB.scala 102:81]
  wire  i_mmu_dtlb__tlb_hit_lvl2_T_3 = i_mmu_dtlb__tlb_hit_lvl2_T_2 == i_mmu_dtlb_tag_0_vpn_2; // @[TLB.scala 102:89]
  wire  i_mmu_dtlb_tlb_hit_lvl2 = i_mmu_dtlb__tlb_hit_lvl2_T_1 & i_mmu_dtlb__tlb_hit_lvl2_T_3; // @[TLB.scala 102:62]
  wire [8:0] i_mmu_dtlb__tlb_hit_lvl1_T = i_mmu_dtlb_io_req_bits_vaddr[29:21]; // @[TLB.scala 103:35]
  wire  i_mmu_dtlb_tlb_hit_lvl1 = i_mmu_dtlb__tlb_hit_lvl1_T == i_mmu_dtlb_tag_0_vpn_1; // @[TLB.scala 103:43]
  wire [8:0] i_mmu_dtlb__tlb_hit_lvl0_T = i_mmu_dtlb_io_req_bits_vaddr[20:12]; // @[TLB.scala 104:35]
  wire  i_mmu_dtlb_tlb_hit_lvl0 = i_mmu_dtlb__tlb_hit_lvl0_T == i_mmu_dtlb_tag_0_vpn_0; // @[TLB.scala 104:43]
  wire  i_mmu_dtlb__tlb_hit_T = i_mmu_dtlb_pte_0_is_mega_page | i_mmu_dtlb_tlb_hit_lvl0; // @[TLB.scala 106:68]
  wire  i_mmu_dtlb__tlb_hit_T_1 = i_mmu_dtlb_tlb_hit_lvl1 & i_mmu_dtlb__tlb_hit_T; // @[TLB.scala 106:45]
  wire  i_mmu_dtlb__tlb_hit_T_2 = i_mmu_dtlb_pte_0_is_giga_page | i_mmu_dtlb__tlb_hit_T_1; // @[TLB.scala 106:36]
  wire  i_mmu_dtlb__tlb_hit_T_3 = i_mmu_dtlb_tlb_hit_lvl2 & i_mmu_dtlb__tlb_hit_T_2; // @[TLB.scala 106:12]
  wire  i_mmu_dtlb__tlb_hit_lvl2_T_4 = i_mmu_dtlb_io_asid_i == i_mmu_dtlb_tag_1_asid; // @[TLB.scala 102:46]
  wire  i_mmu_dtlb__tlb_hit_lvl2_T_5 = i_mmu_dtlb_tag_1_is_valid & i_mmu_dtlb__tlb_hit_lvl2_T_4; // @[TLB.scala 102:34]
  wire  i_mmu_dtlb__tlb_hit_lvl2_T_7 = i_mmu_dtlb__tlb_hit_lvl2_T_2 == i_mmu_dtlb_tag_1_vpn_2; // @[TLB.scala 102:89]
  wire  i_mmu_dtlb_tlb_hit_lvl2_1 = i_mmu_dtlb__tlb_hit_lvl2_T_5 & i_mmu_dtlb__tlb_hit_lvl2_T_7; // @[TLB.scala 102:62]
  wire  i_mmu_dtlb_tlb_hit_lvl1_1 = i_mmu_dtlb__tlb_hit_lvl1_T == i_mmu_dtlb_tag_1_vpn_1; // @[TLB.scala 103:43]
  wire  i_mmu_dtlb_tlb_hit_lvl0_1 = i_mmu_dtlb__tlb_hit_lvl0_T == i_mmu_dtlb_tag_1_vpn_0; // @[TLB.scala 104:43]
  wire  i_mmu_dtlb__tlb_hit_T_4 = i_mmu_dtlb_pte_1_is_mega_page | i_mmu_dtlb_tlb_hit_lvl0_1; // @[TLB.scala 106:68]
  wire  i_mmu_dtlb__tlb_hit_T_5 = i_mmu_dtlb_tlb_hit_lvl1_1 & i_mmu_dtlb__tlb_hit_T_4; // @[TLB.scala 106:45]
  wire  i_mmu_dtlb__tlb_hit_T_6 = i_mmu_dtlb_pte_1_is_giga_page | i_mmu_dtlb__tlb_hit_T_5; // @[TLB.scala 106:36]
  wire  i_mmu_dtlb__tlb_hit_T_7 = i_mmu_dtlb_tlb_hit_lvl2_1 & i_mmu_dtlb__tlb_hit_T_6; // @[TLB.scala 106:12]
  wire [1:0] i_mmu_dtlb__T_8 = {i_mmu_dtlb__tlb_hit_T_7,i_mmu_dtlb__tlb_hit_T_3}; // @[TLB.scala 110:29]
  wire  i_mmu_dtlb__T_9 = i_mmu_dtlb__T_8[0]; // @[Bitwise.scala 53:100]
  wire  i_mmu_dtlb__T_10 = i_mmu_dtlb__T_8[1]; // @[Bitwise.scala 53:100]
  wire [1:0] i_mmu_dtlb__T_11 = i_mmu_dtlb__T_9 + i_mmu_dtlb__T_10; // @[Bitwise.scala 51:90]
  wire  i_mmu_dtlb__T_13 = i_mmu_dtlb__T_11 <= 2'h1; // @[TLB.scala 110:38]
  wire  i_mmu_dtlb__T_15 = ~i_mmu_dtlb_reset; // @[TLB.scala 110:9]
  wire  i_mmu_dtlb__T_16 = ~i_mmu_dtlb__T_13; // @[TLB.scala 110:9]
  wire  i_mmu_dtlb__io_pte_o_T = i_mmu_dtlb__tlb_hit_T_3 & i_mmu_dtlb_pte_0_is_mega_page; // @[Mux.scala 27:73]
  wire  i_mmu_dtlb__io_pte_o_T_1 = i_mmu_dtlb__tlb_hit_T_7 & i_mmu_dtlb_pte_1_is_mega_page; // @[Mux.scala 27:73]
  wire  i_mmu_dtlb__io_pte_o_T_3 = i_mmu_dtlb__tlb_hit_T_3 & i_mmu_dtlb_pte_0_is_giga_page; // @[Mux.scala 27:73]
  wire  i_mmu_dtlb__io_pte_o_T_4 = i_mmu_dtlb__tlb_hit_T_7 & i_mmu_dtlb_pte_1_is_giga_page; // @[Mux.scala 27:73]
  wire [63:0] i_mmu_dtlb__io_pte_o_T_9 = i_mmu_dtlb__tlb_hit_T_3 ? i_mmu_dtlb_pte_0_value : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] i_mmu_dtlb__io_pte_o_T_10 = i_mmu_dtlb__tlb_hit_T_7 ? i_mmu_dtlb_pte_1_value : 64'h0; // @[Mux.scala 27:73]
  wire  i_mmu_dtlb__io_is_hit_T_3 = i_mmu_dtlb__tlb_hit_T_3 | i_mmu_dtlb__tlb_hit_T_7; // @[TLB.scala 113:32]
  wire  i_mmu_iptw_clock;
  wire  i_mmu_iptw_reset;
  wire  i_mmu_iptw_io_ptw_i_ready;
  wire  i_mmu_iptw_io_ptw_i_valid;
  wire  i_mmu_iptw_io_ptw_i_bits_is_X;
  wire [63:0] i_mmu_iptw_io_ptw_i_bits_vaddr;
  wire  i_mmu_iptw_io_ptw_o_ready;
  wire  i_mmu_iptw_io_ptw_o_valid;
  wire  i_mmu_iptw_io_ptw_o_bits_is_X;
  wire [63:0] i_mmu_iptw_io_ptw_o_bits_renew_value;
  wire  i_mmu_iptw_io_ptw_o_bits_renew_is_giga_page;
  wire  i_mmu_iptw_io_ptw_o_bits_renew_is_mega_page;
  wire [15:0] i_mmu_iptw_io_ptw_o_bits_renew_asid;
  wire [8:0] i_mmu_iptw_io_ptw_o_bits_renew_vpn_0;
  wire [8:0] i_mmu_iptw_io_ptw_o_bits_renew_vpn_1;
  wire [8:0] i_mmu_iptw_io_ptw_o_bits_renew_vpn_2;
  wire  i_mmu_iptw_io_ptw_o_bits_is_ptw_fail;
  wire  i_mmu_iptw_io_ptw_o_bits_is_access_fault;
  wire [63:0] i_mmu_iptw_io_cmm_mmu_satp;
  wire  i_mmu_iptw_io_cmm_mmu_sfence_vma;
  wire  i_mmu_iptw_io_ptw_get_ready;
  wire  i_mmu_iptw_io_ptw_get_valid;
  wire [2:0] i_mmu_iptw_io_ptw_get_bits_opcode;
  wire [2:0] i_mmu_iptw_io_ptw_get_bits_param;
  wire [2:0] i_mmu_iptw_io_ptw_get_bits_size;
  wire  i_mmu_iptw_io_ptw_get_bits_source;
  wire [31:0] i_mmu_iptw_io_ptw_get_bits_address;
  wire [7:0] i_mmu_iptw_io_ptw_get_bits_mask;
  wire [63:0] i_mmu_iptw_io_ptw_get_bits_data;
  wire  i_mmu_iptw_io_ptw_get_bits_corrupt;
  wire  i_mmu_iptw_io_ptw_access_ready;
  wire  i_mmu_iptw_io_ptw_access_valid;
  wire [2:0] i_mmu_iptw_io_ptw_access_bits_opcode;
  wire [2:0] i_mmu_iptw_io_ptw_access_bits_size;
  wire [63:0] i_mmu_iptw_io_ptw_access_bits_data;
  wire  i_mmu_iptw_walkRspBits_is_access_fault_mdl_io_is_fault;
  reg [1:0] i_mmu_iptw_currState; // @[PTW.scala 87:26]
  reg  i_mmu_iptw_kill_trans; // @[PTW.scala 89:27]
  wire  i_mmu_iptw__T = i_mmu_iptw_io_ptw_access_ready & i_mmu_iptw_io_ptw_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] i_mmu_iptw__beats1_decode_T_1 = 11'hf << i_mmu_iptw_io_ptw_access_bits_size; // @[package.scala 234:77]
  wire [3:0] i_mmu_iptw__beats1_decode_T_2 = i_mmu_iptw__beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] i_mmu_iptw__beats1_decode_T_3 = ~i_mmu_iptw__beats1_decode_T_2; // @[package.scala 234:46]
  wire  i_mmu_iptw_beats1_decode = i_mmu_iptw__beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  i_mmu_iptw_beats1_opdata = i_mmu_iptw_io_ptw_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  i_mmu_iptw_beats1 = i_mmu_iptw_beats1_opdata & i_mmu_iptw_beats1_decode; // @[Edges.scala 220:14]
  reg  i_mmu_iptw_counter; // @[Edges.scala 228:27]
  wire  i_mmu_iptw_counter1 = i_mmu_iptw_counter - 1'h1; // @[Edges.scala 229:28]
  wire  i_mmu_iptw_first = ~i_mmu_iptw_counter; // @[Edges.scala 230:25]
  wire  i_mmu_iptw__last_T_1 = ~i_mmu_iptw_beats1; // @[Edges.scala 231:47]
  wire  i_mmu_iptw_last = i_mmu_iptw_counter | i_mmu_iptw__last_T_1; // @[Edges.scala 231:37]
  wire  i_mmu_iptw_is_trans_done = i_mmu_iptw_last & i_mmu_iptw__T; // @[Edges.scala 232:22]
  reg [31:0] i_mmu_iptw_addr_qout; // @[PTW.scala 95:26]
  wire  i_mmu_iptw__walkReq_T = i_mmu_iptw_currState == 2'h0; // @[PTW.scala 102:63]
  wire  i_mmu_iptw__T_1 = 2'h0 == i_mmu_iptw_currState; // @[PTW.scala 110:23]
  wire  i_mmu_iptw__nextState_T = i_mmu_iptw_io_ptw_i_ready & i_mmu_iptw_io_ptw_i_valid; // @[Decoupled.scala 52:35]
  wire [1:0] i_mmu_iptw__nextState_T_1 = i_mmu_iptw__nextState_T ? 2'h1 : 2'h0; // @[PTW.scala 112:23]
  wire  i_mmu_iptw__T_2 = 2'h1 == i_mmu_iptw_currState; // @[PTW.scala 110:23]
  reg [63:0] i_mmu_iptw_ptw_access_data_lo_0; // @[PTW.scala 218:31]
  wire [127:0] i_mmu_iptw_ptw_access_data = {i_mmu_iptw_io_ptw_access_bits_data,i_mmu_iptw_ptw_access_data_lo_0}; // @[Cat.scala 33:92]
  wire [127:0] i_mmu_iptw__GEN_26 = i_mmu_iptw_is_trans_done ? i_mmu_iptw_ptw_access_data : 128'h0; // @[PTW.scala 226:27 227:12]
  wire  i_mmu_iptw__pte_value_data_sel_T = i_mmu_iptw_addr_qout[3]; // @[PTW.scala 231:31]
  wire [6:0] i_mmu_iptw__pte_value_data_sel_T_1 = {i_mmu_iptw__pte_value_data_sel_T, 6'h0}; // @[PTW.scala 231:54]
  wire [127:0] i_mmu_iptw__pte_value_data_sel_T_2 = i_mmu_iptw__GEN_26 >> i_mmu_iptw__pte_value_data_sel_T_1; // @[PTW.scala 230:22]
  wire [63:0] i_mmu_iptw_pte_value_data_sel = i_mmu_iptw__pte_value_data_sel_T_2[63:0]; // @[PTW.scala 224:24 230:14]
  reg [63:0] i_mmu_iptw_pte_value_value; // @[PTW.scala 234:24]
  wire [63:0] i_mmu_iptw__pte_value_T = i_mmu_iptw_is_trans_done ? i_mmu_iptw_pte_value_data_sel :
    i_mmu_iptw_pte_value_value; // @[PTW.scala 240:8]
  wire  i_mmu_iptw__is_ptw_end_T = i_mmu_iptw__pte_value_T[1]; // @[MMU.scala 36:16]
  wire  i_mmu_iptw__is_ptw_end_T_3 = i_mmu_iptw__pte_value_T[3]; // @[MMU.scala 38:16]
  wire  i_mmu_iptw__is_ptw_end_T_6 = i_mmu_iptw__is_ptw_end_T & i_mmu_iptw__is_ptw_end_T_3; // @[PTW.scala 164:22]
  wire  i_mmu_iptw__is_ptw_fail_T_1 = i_mmu_iptw_currState == 2'h1; // @[PTW.scala 172:20]
  wire [8:0] i_mmu_iptw__is_ptw_fail_T_2 = i_mmu_iptw__pte_value_T[18:10]; // @[MMU.scala 44:37]
  wire  i_mmu_iptw__is_ptw_fail_T_5 = i_mmu_iptw__is_ptw_fail_T_2 != 9'h0; // @[PTW.scala 172:57]
  wire [8:0] i_mmu_iptw__is_ptw_fail_T_7 = i_mmu_iptw__pte_value_T[27:19]; // @[MMU.scala 44:51]
  wire  i_mmu_iptw__is_ptw_fail_T_9 = i_mmu_iptw__is_ptw_fail_T_7 != 9'h0; // @[PTW.scala 172:78]
  wire  i_mmu_iptw__is_ptw_fail_T_10 = i_mmu_iptw__is_ptw_fail_T_5 | i_mmu_iptw__is_ptw_fail_T_9; // @[PTW.scala 172:65]
  wire  i_mmu_iptw__is_ptw_fail_T_18 = i_mmu_iptw__is_ptw_fail_T_1 & i_mmu_iptw__is_ptw_fail_T_10; // @[Mux.scala 27:73]
  wire  i_mmu_iptw__is_ptw_fail_T_11 = i_mmu_iptw_currState == 2'h2; // @[PTW.scala 173:20]
  wire  i_mmu_iptw__is_ptw_fail_T_19 = i_mmu_iptw__is_ptw_fail_T_11 & i_mmu_iptw__is_ptw_fail_T_5; // @[Mux.scala 27:73]
  wire  i_mmu_iptw__is_ptw_fail_T_22 = i_mmu_iptw__is_ptw_fail_T_18 | i_mmu_iptw__is_ptw_fail_T_19; // @[Mux.scala 27:73]
  wire  i_mmu_iptw__is_ptw_fail_T_16 = i_mmu_iptw_currState == 2'h3; // @[PTW.scala 174:20]
  wire  i_mmu_iptw__is_ptw_fail_T_24 = i_mmu_iptw__is_ptw_end_T_6 & i_mmu_iptw__is_ptw_fail_T_22; // @[PTW.scala 169:18]
  wire  i_mmu_iptw__is_ptw_fail_T_25 = i_mmu_iptw__pte_value_T[0]; // @[MMU.scala 35:16]
  wire  i_mmu_iptw__is_ptw_fail_T_27 = ~i_mmu_iptw__is_ptw_fail_T_25; // @[PTW.scala 178:14]
  wire  i_mmu_iptw__is_ptw_fail_T_30 = ~i_mmu_iptw__is_ptw_end_T; // @[PTW.scala 179:14]
  wire  i_mmu_iptw__is_ptw_fail_T_31 = i_mmu_iptw__pte_value_T[2]; // @[MMU.scala 37:16]
  wire  i_mmu_iptw__is_ptw_fail_T_34 = i_mmu_iptw__is_ptw_fail_T_30 & i_mmu_iptw__is_ptw_fail_T_31; // @[PTW.scala 179:26]
  wire  i_mmu_iptw__is_ptw_fail_T_35 = i_mmu_iptw__is_ptw_fail_T_27 | i_mmu_iptw__is_ptw_fail_T_34; // @[PTW.scala 178:27]
  wire  i_mmu_iptw__is_ptw_fail_T_36 = i_mmu_iptw__is_ptw_fail_T_24 | i_mmu_iptw__is_ptw_fail_T_35; // @[PTW.scala 176:7]
  wire  i_mmu_iptw__nextState_T_3 = i_mmu_iptw__is_ptw_end_T_6 | i_mmu_iptw__is_ptw_fail_T_36; // @[PTW.scala 118:27]
  wire  i_mmu_iptw__nextState_T_4 = i_mmu_iptw__nextState_T_3 | i_mmu_iptw_kill_trans; // @[PTW.scala 118:41]
  wire [1:0] i_mmu_iptw__nextState_T_5 = i_mmu_iptw__nextState_T_4 ? 2'h0 : 2'h2; // @[PTW.scala 118:14]
  wire [1:0] i_mmu_iptw__nextState_T_6 = i_mmu_iptw_is_trans_done ? i_mmu_iptw__nextState_T_5 : 2'h1; // @[PTW.scala 116:12]
  wire  i_mmu_iptw__T_3 = 2'h2 == i_mmu_iptw_currState; // @[PTW.scala 110:23]
  wire [1:0] i_mmu_iptw__nextState_T_10 = i_mmu_iptw__nextState_T_4 ? 2'h0 : 2'h3; // @[PTW.scala 126:14]
  wire [1:0] i_mmu_iptw__nextState_T_11 = i_mmu_iptw_is_trans_done ? i_mmu_iptw__nextState_T_10 : 2'h2; // @[PTW.scala 124:12]
  wire  i_mmu_iptw__T_4 = 2'h3 == i_mmu_iptw_currState; // @[PTW.scala 110:23]
  wire [1:0] i_mmu_iptw__nextState_T_16 = i_mmu_iptw_is_trans_done ? 2'h0 : 2'h3; // @[PTW.scala 132:12]
  wire [1:0] i_mmu_iptw__GEN_6 = i_mmu_iptw__T_4 ? i_mmu_iptw__nextState_T_16 : 2'h0; // @[PTW.scala 110:23 131:17]
  wire [1:0] i_mmu_iptw__GEN_7 = i_mmu_iptw__T_3 ? i_mmu_iptw__nextState_T_11 : i_mmu_iptw__GEN_6; // @[PTW.scala 110:23 123:17]
  wire [1:0] i_mmu_iptw__GEN_8 = i_mmu_iptw__T_2 ? i_mmu_iptw__nextState_T_6 : i_mmu_iptw__GEN_7; // @[PTW.scala 110:23 115:17]
  wire [1:0] i_mmu_iptw__GEN_9 = i_mmu_iptw__T_1 ? i_mmu_iptw__nextState_T_1 : i_mmu_iptw__GEN_8; // @[PTW.scala 110:23 112:17]
  wire  i_mmu_iptw__walkReq_T_1 = i_mmu_iptw__GEN_9 != 2'h0; // @[PTW.scala 102:95]
  wire  i_mmu_iptw__walkReq_T_2 = i_mmu_iptw__walkReq_T & i_mmu_iptw__walkReq_T_1; // @[PTW.scala 102:83]
  reg  i_mmu_iptw_walkReq_is_X; // @[Reg.scala 19:16]
  reg [63:0] i_mmu_iptw_walkReq_vaddr; // @[Reg.scala 19:16]
  wire [15:0] i_mmu_iptw__asidReq_T = i_mmu_iptw_io_cmm_mmu_satp[59:44]; // @[PTW.scala 103:43]
  reg [15:0] i_mmu_iptw_asidReq; // @[Reg.scala 19:16]
  reg  i_mmu_iptw_walkRspBits_is_X; // @[PTW.scala 104:28]
  reg [63:0] i_mmu_iptw_walkRspBits_renew_value; // @[PTW.scala 104:28]
  reg  i_mmu_iptw_walkRspBits_renew_is_giga_page; // @[PTW.scala 104:28]
  reg  i_mmu_iptw_walkRspBits_renew_is_mega_page; // @[PTW.scala 104:28]
  reg [15:0] i_mmu_iptw_walkRspBits_renew_asid; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_iptw_walkRspBits_renew_vpn_0; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_iptw_walkRspBits_renew_vpn_1; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_iptw_walkRspBits_renew_vpn_2; // @[PTW.scala 104:28]
  reg  i_mmu_iptw_walkRspBits_is_ptw_fail; // @[PTW.scala 104:28]
  reg  i_mmu_iptw_walkRspBits_is_access_fault; // @[PTW.scala 104:28]
  reg  i_mmu_iptw_walkRspValid; // @[PTW.scala 105:29]
  wire  i_mmu_iptw__a_T = i_mmu_iptw__GEN_9 == 2'h1; // @[PTW.scala 148:19]
  wire [43:0] i_mmu_iptw__a_T_1 = i_mmu_iptw_io_cmm_mmu_satp[43:0]; // @[PTW.scala 148:59]
  wire  i_mmu_iptw__a_T_2 = i_mmu_iptw__GEN_9 == 2'h2; // @[PTW.scala 149:19]
  wire [25:0] i_mmu_iptw__a_T_5 = i_mmu_iptw__pte_value_T[53:28]; // @[MMU.scala 44:65]
  wire [43:0] i_mmu_iptw__a_T_12 = {i_mmu_iptw__a_T_5,i_mmu_iptw__is_ptw_fail_T_7,i_mmu_iptw__is_ptw_fail_T_2}; // @[Cat.scala 33:92]
  wire  i_mmu_iptw__a_T_13 = i_mmu_iptw__GEN_9 == 2'h3; // @[PTW.scala 150:19]
  wire [43:0] i_mmu_iptw__a_T_24 = i_mmu_iptw__a_T ? i_mmu_iptw__a_T_1 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_iptw__a_T_25 = i_mmu_iptw__a_T_2 ? i_mmu_iptw__a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_iptw__a_T_26 = i_mmu_iptw__a_T_13 ? i_mmu_iptw__a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_iptw__a_T_27 = i_mmu_iptw__a_T_24 | i_mmu_iptw__a_T_25; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_iptw__a_T_28 = i_mmu_iptw__a_T_27 | i_mmu_iptw__a_T_26; // @[Mux.scala 27:73]
  wire [8:0] i_mmu_iptw__addr_dnxt_T_1 = i_mmu_iptw_io_ptw_i_bits_vaddr[38:30]; // @[PTW.scala 155:66]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_2 = {i_mmu_iptw__addr_dnxt_T_1,3'h0}; // @[Cat.scala 33:92]
  wire [8:0] i_mmu_iptw__addr_dnxt_T_4 = i_mmu_iptw_walkReq_vaddr[29:21]; // @[PTW.scala 156:60]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_5 = {i_mmu_iptw__addr_dnxt_T_4,3'h0}; // @[Cat.scala 33:92]
  wire [8:0] i_mmu_iptw__addr_dnxt_T_7 = i_mmu_iptw_walkReq_vaddr[20:12]; // @[PTW.scala 157:60]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_8 = {i_mmu_iptw__addr_dnxt_T_7,3'h0}; // @[Cat.scala 33:92]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_9 = i_mmu_iptw__a_T ? i_mmu_iptw__addr_dnxt_T_2 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_10 = i_mmu_iptw__a_T_2 ? i_mmu_iptw__addr_dnxt_T_5 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_11 = i_mmu_iptw__a_T_13 ? i_mmu_iptw__addr_dnxt_T_8 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_12 = i_mmu_iptw__addr_dnxt_T_9 | i_mmu_iptw__addr_dnxt_T_10; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_iptw__addr_dnxt_T_13 = i_mmu_iptw__addr_dnxt_T_12 | i_mmu_iptw__addr_dnxt_T_11; // @[Mux.scala 27:73]
  wire [55:0] i_mmu_iptw__addr_dnxt_T_14 = {i_mmu_iptw__a_T_28,i_mmu_iptw__addr_dnxt_T_13}; // @[Cat.scala 33:92]
  wire  i_mmu_iptw__pte_is_mega_page_T_1 = i_mmu_iptw__is_ptw_end_T_6 & i_mmu_iptw__is_ptw_fail_T_11; // @[PTW.scala 184:34]
  wire  i_mmu_iptw__pte_is_giga_page_T_1 = i_mmu_iptw__is_ptw_end_T_6 & i_mmu_iptw__is_ptw_fail_T_1; // @[PTW.scala 185:34]
  wire  i_mmu_iptw__T_7 = i_mmu_iptw__walkReq_T & i_mmu_iptw__a_T; // @[PTW.scala 188:39]
  wire  i_mmu_iptw__T_8 = i_mmu_iptw_io_ptw_get_ready & i_mmu_iptw_io_ptw_get_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu_iptw__walkRspBits_is_access_fault_T_1 = i_mmu_iptw_walkRspBits_is_access_fault |
    i_mmu_iptw_walkRspBits_is_access_fault_mdl_io_is_fault; // @[PTW.scala 193:35]
  wire  i_mmu_iptw__T_9 = i_mmu_iptw__GEN_9 == 2'h0; // @[PTW.scala 197:19]
  wire  i_mmu_iptw__T_10 = i_mmu_iptw_currState != 2'h0; // @[PTW.scala 197:51]
  wire  i_mmu_iptw__T_11 = i_mmu_iptw__T_9 & i_mmu_iptw__T_10; // @[PTW.scala 197:39]
  wire [8:0] i_mmu_iptw__walkRspBits_renew_vpn_2_T = i_mmu_iptw_walkReq_vaddr[38:30]; // @[PTW.scala 205:46]
  wire  i_mmu_iptw__T_12 = ~i_mmu_iptw_io_ptw_o_valid; // @[PTW.scala 210:28]
  wire  i_mmu_iptw__T_14 = ~i_mmu_iptw_reset; // @[PTW.scala 210:11]
  wire  i_mmu_iptw__T_15 = ~i_mmu_iptw__T_12; // @[PTW.scala 210:11]
  wire  i_mmu_iptw__T_16 = i_mmu_iptw_io_ptw_o_ready & i_mmu_iptw_io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu_iptw__GEN_12 = i_mmu_iptw__T_16 ? 1'h0 : i_mmu_iptw_walkRspValid; // @[PTW.scala 211:32 212:18 105:29]
  wire  i_mmu_iptw__GEN_25 = i_mmu_iptw__T_11 | i_mmu_iptw__GEN_12; // @[PTW.scala 197:73 208:18]
  wire  i_mmu_iptw__T_18 = ~i_mmu_iptw_is_trans_done; // @[PTW.scala 243:30]
  wire  i_mmu_iptw__T_19 = i_mmu_iptw__T & i_mmu_iptw__T_18; // @[PTW.scala 243:28]
  reg  i_mmu_iptw_ptw_get_valid; // @[PTW.scala 342:30]
  reg  i_mmu_iptw_ptw_access_ready; // @[PTW.scala 343:33]
  reg  i_mmu_iptw_is_get_reqed; // @[PTW.scala 348:29]
  wire  i_mmu_iptw__T_21 = i_mmu_iptw__GEN_9 != i_mmu_iptw_currState; // @[PTW.scala 350:24]
  wire  i_mmu_iptw__GEN_29 = i_mmu_iptw__T_21 ? 1'h0 : i_mmu_iptw_is_get_reqed; // @[PTW.scala 348:29 350:{40,55}]
  wire  i_mmu_iptw__GEN_30 = i_mmu_iptw__T_8 | i_mmu_iptw__GEN_29; // @[PTW.scala 349:{27,42}]
  wire  i_mmu_iptw__T_24 = i_mmu_iptw__is_ptw_fail_T_1 | i_mmu_iptw__is_ptw_fail_T_11; // @[PTW.scala 353:40]
  wire  i_mmu_iptw__T_26 = i_mmu_iptw__T_24 | i_mmu_iptw__is_ptw_fail_T_16; // @[PTW.scala 353:72]
  wire  i_mmu_iptw__T_29 = ~i_mmu_iptw_io_ptw_get_valid; // @[PTW.scala 353:117]
  wire  i_mmu_iptw__T_30 = i_mmu_iptw__T_26 & i_mmu_iptw__T_29; // @[PTW.scala 353:115]
  wire  i_mmu_iptw__T_31 = ~i_mmu_iptw_is_get_reqed; // @[PTW.scala 353:137]
  wire  i_mmu_iptw__T_32 = i_mmu_iptw__T_30 & i_mmu_iptw__T_31; // @[PTW.scala 353:135]
  wire  i_mmu_iptw__GEN_31 = i_mmu_iptw__T_8 ? 1'h0 : i_mmu_iptw_ptw_get_valid; // @[PTW.scala 355:34 356:19 342:30]
  wire  i_mmu_iptw__GEN_32 = i_mmu_iptw__T_32 | i_mmu_iptw__GEN_31; // @[PTW.scala 353:153 354:19]
  wire  i_mmu_iptw__T_34 = ~i_mmu_iptw_io_ptw_access_ready; // @[PTW.scala 359:31]
  wire  i_mmu_iptw__T_35 = i_mmu_iptw_io_ptw_access_valid & i_mmu_iptw__T_34; // @[PTW.scala 359:29]
  wire  i_mmu_iptw__GEN_33 = i_mmu_iptw__T ? 1'h0 : i_mmu_iptw_ptw_access_ready; // @[PTW.scala 361:37 362:22 343:33]
  wire  i_mmu_iptw__GEN_34 = i_mmu_iptw__T_35 | i_mmu_iptw__GEN_33; // @[PTW.scala 359:53 360:22]
  wire [35:0] _GEN_695 = {{4'd0}, i_mmu_iptw_addr_qout}; // @[PTW.scala 365:74]
  wire [35:0] i_mmu_iptw__io_ptw_get_bits_T_1 = _GEN_695 & 36'hffffffff0; // @[PTW.scala 365:74]
  wire  i_mmu_iptw__T_38 = i_mmu_iptw_io_cmm_mmu_sfence_vma & i_mmu_iptw__T_10; // @[PTW.scala 382:31]
  wire  i_mmu_iptw__GEN_35 = i_mmu_iptw__walkReq_T ? 1'h0 : i_mmu_iptw_kill_trans; // @[PTW.scala 384:48 385:16 89:27]
  wire  i_mmu_iptw__GEN_36 = i_mmu_iptw__T_38 | i_mmu_iptw__GEN_35; // @[PTW.scala 382:65 383:16]
  wire  i_mmu_iptw__io_ptw_o_valid_T = ~i_mmu_iptw_kill_trans; // @[PTW.scala 390:36]
  wire  i_mmu_iptw__io_ptw_i_ready_T_2 = i_mmu_iptw__walkReq_T & i_mmu_iptw__T_12; // @[PTW.scala 393:51]
  wire  i_mmu_iptw__io_ptw_i_ready_T_3 = ~i_mmu_iptw_io_cmm_mmu_sfence_vma; // @[PTW.scala 393:71]
  wire  i_mmu_iptw__io_ptw_i_ready_T_4 = i_mmu_iptw__io_ptw_i_ready_T_2 & i_mmu_iptw__io_ptw_i_ready_T_3; // @[PTW.scala 393:69]
  wire [31:0] i_mmu_iptw_addr_dnxt = i_mmu_iptw__addr_dnxt_T_14[31:0]; // @[PTW.scala 153:13 94:23]
  wire  i_mmu_dptw_clock;
  wire  i_mmu_dptw_reset;
  wire  i_mmu_dptw_io_ptw_i_ready;
  wire  i_mmu_dptw_io_ptw_i_valid;
  wire  i_mmu_dptw_io_ptw_i_bits_is_X;
  wire [63:0] i_mmu_dptw_io_ptw_i_bits_vaddr;
  wire  i_mmu_dptw_io_ptw_o_ready;
  wire  i_mmu_dptw_io_ptw_o_valid;
  wire  i_mmu_dptw_io_ptw_o_bits_is_X;
  wire [63:0] i_mmu_dptw_io_ptw_o_bits_renew_value;
  wire  i_mmu_dptw_io_ptw_o_bits_renew_is_giga_page;
  wire  i_mmu_dptw_io_ptw_o_bits_renew_is_mega_page;
  wire [15:0] i_mmu_dptw_io_ptw_o_bits_renew_asid;
  wire [8:0] i_mmu_dptw_io_ptw_o_bits_renew_vpn_0;
  wire [8:0] i_mmu_dptw_io_ptw_o_bits_renew_vpn_1;
  wire [8:0] i_mmu_dptw_io_ptw_o_bits_renew_vpn_2;
  wire  i_mmu_dptw_io_ptw_o_bits_is_ptw_fail;
  wire  i_mmu_dptw_io_ptw_o_bits_is_access_fault;
  wire [63:0] i_mmu_dptw_io_cmm_mmu_satp;
  wire  i_mmu_dptw_io_cmm_mmu_sfence_vma;
  wire  i_mmu_dptw_io_ptw_get_ready;
  wire  i_mmu_dptw_io_ptw_get_valid;
  wire [2:0] i_mmu_dptw_io_ptw_get_bits_opcode;
  wire [2:0] i_mmu_dptw_io_ptw_get_bits_param;
  wire [2:0] i_mmu_dptw_io_ptw_get_bits_size;
  wire  i_mmu_dptw_io_ptw_get_bits_source;
  wire [31:0] i_mmu_dptw_io_ptw_get_bits_address;
  wire [7:0] i_mmu_dptw_io_ptw_get_bits_mask;
  wire [63:0] i_mmu_dptw_io_ptw_get_bits_data;
  wire  i_mmu_dptw_io_ptw_get_bits_corrupt;
  wire  i_mmu_dptw_io_ptw_access_ready;
  wire  i_mmu_dptw_io_ptw_access_valid;
  wire [2:0] i_mmu_dptw_io_ptw_access_bits_opcode;
  wire [2:0] i_mmu_dptw_io_ptw_access_bits_size;
  wire [63:0] i_mmu_dptw_io_ptw_access_bits_data;
  wire  i_mmu_dptw_walkRspBits_is_access_fault_mdl_io_is_fault;
  reg [1:0] i_mmu_dptw_currState; // @[PTW.scala 87:26]
  reg  i_mmu_dptw_kill_trans; // @[PTW.scala 89:27]
  wire  i_mmu_dptw__T = i_mmu_dptw_io_ptw_access_ready & i_mmu_dptw_io_ptw_access_valid; // @[Decoupled.scala 52:35]
  wire [10:0] i_mmu_dptw__beats1_decode_T_1 = 11'hf << i_mmu_dptw_io_ptw_access_bits_size; // @[package.scala 234:77]
  wire [3:0] i_mmu_dptw__beats1_decode_T_2 = i_mmu_dptw__beats1_decode_T_1[3:0]; // @[package.scala 234:82]
  wire [3:0] i_mmu_dptw__beats1_decode_T_3 = ~i_mmu_dptw__beats1_decode_T_2; // @[package.scala 234:46]
  wire  i_mmu_dptw_beats1_decode = i_mmu_dptw__beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  i_mmu_dptw_beats1_opdata = i_mmu_dptw_io_ptw_access_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  i_mmu_dptw_beats1 = i_mmu_dptw_beats1_opdata & i_mmu_dptw_beats1_decode; // @[Edges.scala 220:14]
  reg  i_mmu_dptw_counter; // @[Edges.scala 228:27]
  wire  i_mmu_dptw_counter1 = i_mmu_dptw_counter - 1'h1; // @[Edges.scala 229:28]
  wire  i_mmu_dptw_first = ~i_mmu_dptw_counter; // @[Edges.scala 230:25]
  wire  i_mmu_dptw__last_T_1 = ~i_mmu_dptw_beats1; // @[Edges.scala 231:47]
  wire  i_mmu_dptw_last = i_mmu_dptw_counter | i_mmu_dptw__last_T_1; // @[Edges.scala 231:37]
  wire  i_mmu_dptw_is_trans_done = i_mmu_dptw_last & i_mmu_dptw__T; // @[Edges.scala 232:22]
  reg [31:0] i_mmu_dptw_addr_qout; // @[PTW.scala 95:26]
  wire  i_mmu_dptw__walkReq_T = i_mmu_dptw_currState == 2'h0; // @[PTW.scala 102:63]
  wire  i_mmu_dptw__T_1 = 2'h0 == i_mmu_dptw_currState; // @[PTW.scala 110:23]
  wire  i_mmu_dptw__nextState_T = i_mmu_dptw_io_ptw_i_ready & i_mmu_dptw_io_ptw_i_valid; // @[Decoupled.scala 52:35]
  wire [1:0] i_mmu_dptw__nextState_T_1 = i_mmu_dptw__nextState_T ? 2'h1 : 2'h0; // @[PTW.scala 112:23]
  wire  i_mmu_dptw__T_2 = 2'h1 == i_mmu_dptw_currState; // @[PTW.scala 110:23]
  reg [63:0] i_mmu_dptw_ptw_access_data_lo_0; // @[PTW.scala 218:31]
  wire [127:0] i_mmu_dptw_ptw_access_data = {i_mmu_dptw_io_ptw_access_bits_data,i_mmu_dptw_ptw_access_data_lo_0}; // @[Cat.scala 33:92]
  wire [127:0] i_mmu_dptw__GEN_26 = i_mmu_dptw_is_trans_done ? i_mmu_dptw_ptw_access_data : 128'h0; // @[PTW.scala 226:27 227:12]
  wire  i_mmu_dptw__pte_value_data_sel_T = i_mmu_dptw_addr_qout[3]; // @[PTW.scala 231:31]
  wire [6:0] i_mmu_dptw__pte_value_data_sel_T_1 = {i_mmu_dptw__pte_value_data_sel_T, 6'h0}; // @[PTW.scala 231:54]
  wire [127:0] i_mmu_dptw__pte_value_data_sel_T_2 = i_mmu_dptw__GEN_26 >> i_mmu_dptw__pte_value_data_sel_T_1; // @[PTW.scala 230:22]
  wire [63:0] i_mmu_dptw_pte_value_data_sel = i_mmu_dptw__pte_value_data_sel_T_2[63:0]; // @[PTW.scala 224:24 230:14]
  reg [63:0] i_mmu_dptw_pte_value_value; // @[PTW.scala 234:24]
  wire [63:0] i_mmu_dptw__pte_value_T = i_mmu_dptw_is_trans_done ? i_mmu_dptw_pte_value_data_sel :
    i_mmu_dptw_pte_value_value; // @[PTW.scala 240:8]
  wire  i_mmu_dptw__is_ptw_end_T = i_mmu_dptw__pte_value_T[1]; // @[MMU.scala 36:16]
  wire  i_mmu_dptw__is_ptw_end_T_3 = i_mmu_dptw__pte_value_T[3]; // @[MMU.scala 38:16]
  wire  i_mmu_dptw__is_ptw_end_T_6 = i_mmu_dptw__is_ptw_end_T & i_mmu_dptw__is_ptw_end_T_3; // @[PTW.scala 164:22]
  wire  i_mmu_dptw__is_ptw_fail_T_1 = i_mmu_dptw_currState == 2'h1; // @[PTW.scala 172:20]
  wire [8:0] i_mmu_dptw__is_ptw_fail_T_2 = i_mmu_dptw__pte_value_T[18:10]; // @[MMU.scala 44:37]
  wire  i_mmu_dptw__is_ptw_fail_T_5 = i_mmu_dptw__is_ptw_fail_T_2 != 9'h0; // @[PTW.scala 172:57]
  wire [8:0] i_mmu_dptw__is_ptw_fail_T_7 = i_mmu_dptw__pte_value_T[27:19]; // @[MMU.scala 44:51]
  wire  i_mmu_dptw__is_ptw_fail_T_9 = i_mmu_dptw__is_ptw_fail_T_7 != 9'h0; // @[PTW.scala 172:78]
  wire  i_mmu_dptw__is_ptw_fail_T_10 = i_mmu_dptw__is_ptw_fail_T_5 | i_mmu_dptw__is_ptw_fail_T_9; // @[PTW.scala 172:65]
  wire  i_mmu_dptw__is_ptw_fail_T_18 = i_mmu_dptw__is_ptw_fail_T_1 & i_mmu_dptw__is_ptw_fail_T_10; // @[Mux.scala 27:73]
  wire  i_mmu_dptw__is_ptw_fail_T_11 = i_mmu_dptw_currState == 2'h2; // @[PTW.scala 173:20]
  wire  i_mmu_dptw__is_ptw_fail_T_19 = i_mmu_dptw__is_ptw_fail_T_11 & i_mmu_dptw__is_ptw_fail_T_5; // @[Mux.scala 27:73]
  wire  i_mmu_dptw__is_ptw_fail_T_22 = i_mmu_dptw__is_ptw_fail_T_18 | i_mmu_dptw__is_ptw_fail_T_19; // @[Mux.scala 27:73]
  wire  i_mmu_dptw__is_ptw_fail_T_16 = i_mmu_dptw_currState == 2'h3; // @[PTW.scala 174:20]
  wire  i_mmu_dptw__is_ptw_fail_T_24 = i_mmu_dptw__is_ptw_end_T_6 & i_mmu_dptw__is_ptw_fail_T_22; // @[PTW.scala 169:18]
  wire  i_mmu_dptw__is_ptw_fail_T_25 = i_mmu_dptw__pte_value_T[0]; // @[MMU.scala 35:16]
  wire  i_mmu_dptw__is_ptw_fail_T_27 = ~i_mmu_dptw__is_ptw_fail_T_25; // @[PTW.scala 178:14]
  wire  i_mmu_dptw__is_ptw_fail_T_30 = ~i_mmu_dptw__is_ptw_end_T; // @[PTW.scala 179:14]
  wire  i_mmu_dptw__is_ptw_fail_T_31 = i_mmu_dptw__pte_value_T[2]; // @[MMU.scala 37:16]
  wire  i_mmu_dptw__is_ptw_fail_T_34 = i_mmu_dptw__is_ptw_fail_T_30 & i_mmu_dptw__is_ptw_fail_T_31; // @[PTW.scala 179:26]
  wire  i_mmu_dptw__is_ptw_fail_T_35 = i_mmu_dptw__is_ptw_fail_T_27 | i_mmu_dptw__is_ptw_fail_T_34; // @[PTW.scala 178:27]
  wire  i_mmu_dptw__is_ptw_fail_T_36 = i_mmu_dptw__is_ptw_fail_T_24 | i_mmu_dptw__is_ptw_fail_T_35; // @[PTW.scala 176:7]
  wire  i_mmu_dptw__nextState_T_3 = i_mmu_dptw__is_ptw_end_T_6 | i_mmu_dptw__is_ptw_fail_T_36; // @[PTW.scala 118:27]
  wire  i_mmu_dptw__nextState_T_4 = i_mmu_dptw__nextState_T_3 | i_mmu_dptw_kill_trans; // @[PTW.scala 118:41]
  wire [1:0] i_mmu_dptw__nextState_T_5 = i_mmu_dptw__nextState_T_4 ? 2'h0 : 2'h2; // @[PTW.scala 118:14]
  wire [1:0] i_mmu_dptw__nextState_T_6 = i_mmu_dptw_is_trans_done ? i_mmu_dptw__nextState_T_5 : 2'h1; // @[PTW.scala 116:12]
  wire  i_mmu_dptw__T_3 = 2'h2 == i_mmu_dptw_currState; // @[PTW.scala 110:23]
  wire [1:0] i_mmu_dptw__nextState_T_10 = i_mmu_dptw__nextState_T_4 ? 2'h0 : 2'h3; // @[PTW.scala 126:14]
  wire [1:0] i_mmu_dptw__nextState_T_11 = i_mmu_dptw_is_trans_done ? i_mmu_dptw__nextState_T_10 : 2'h2; // @[PTW.scala 124:12]
  wire  i_mmu_dptw__T_4 = 2'h3 == i_mmu_dptw_currState; // @[PTW.scala 110:23]
  wire [1:0] i_mmu_dptw__nextState_T_16 = i_mmu_dptw_is_trans_done ? 2'h0 : 2'h3; // @[PTW.scala 132:12]
  wire [1:0] i_mmu_dptw__GEN_6 = i_mmu_dptw__T_4 ? i_mmu_dptw__nextState_T_16 : 2'h0; // @[PTW.scala 110:23 131:17]
  wire [1:0] i_mmu_dptw__GEN_7 = i_mmu_dptw__T_3 ? i_mmu_dptw__nextState_T_11 : i_mmu_dptw__GEN_6; // @[PTW.scala 110:23 123:17]
  wire [1:0] i_mmu_dptw__GEN_8 = i_mmu_dptw__T_2 ? i_mmu_dptw__nextState_T_6 : i_mmu_dptw__GEN_7; // @[PTW.scala 110:23 115:17]
  wire [1:0] i_mmu_dptw__GEN_9 = i_mmu_dptw__T_1 ? i_mmu_dptw__nextState_T_1 : i_mmu_dptw__GEN_8; // @[PTW.scala 110:23 112:17]
  wire  i_mmu_dptw__walkReq_T_1 = i_mmu_dptw__GEN_9 != 2'h0; // @[PTW.scala 102:95]
  wire  i_mmu_dptw__walkReq_T_2 = i_mmu_dptw__walkReq_T & i_mmu_dptw__walkReq_T_1; // @[PTW.scala 102:83]
  reg  i_mmu_dptw_walkReq_is_X; // @[Reg.scala 19:16]
  reg [63:0] i_mmu_dptw_walkReq_vaddr; // @[Reg.scala 19:16]
  wire [15:0] i_mmu_dptw__asidReq_T = i_mmu_dptw_io_cmm_mmu_satp[59:44]; // @[PTW.scala 103:43]
  reg [15:0] i_mmu_dptw_asidReq; // @[Reg.scala 19:16]
  reg  i_mmu_dptw_walkRspBits_is_X; // @[PTW.scala 104:28]
  reg [63:0] i_mmu_dptw_walkRspBits_renew_value; // @[PTW.scala 104:28]
  reg  i_mmu_dptw_walkRspBits_renew_is_giga_page; // @[PTW.scala 104:28]
  reg  i_mmu_dptw_walkRspBits_renew_is_mega_page; // @[PTW.scala 104:28]
  reg [15:0] i_mmu_dptw_walkRspBits_renew_asid; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_dptw_walkRspBits_renew_vpn_0; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_dptw_walkRspBits_renew_vpn_1; // @[PTW.scala 104:28]
  reg [8:0] i_mmu_dptw_walkRspBits_renew_vpn_2; // @[PTW.scala 104:28]
  reg  i_mmu_dptw_walkRspBits_is_ptw_fail; // @[PTW.scala 104:28]
  reg  i_mmu_dptw_walkRspBits_is_access_fault; // @[PTW.scala 104:28]
  reg  i_mmu_dptw_walkRspValid; // @[PTW.scala 105:29]
  wire  i_mmu_dptw__a_T = i_mmu_dptw__GEN_9 == 2'h1; // @[PTW.scala 148:19]
  wire [43:0] i_mmu_dptw__a_T_1 = i_mmu_dptw_io_cmm_mmu_satp[43:0]; // @[PTW.scala 148:59]
  wire  i_mmu_dptw__a_T_2 = i_mmu_dptw__GEN_9 == 2'h2; // @[PTW.scala 149:19]
  wire [25:0] i_mmu_dptw__a_T_5 = i_mmu_dptw__pte_value_T[53:28]; // @[MMU.scala 44:65]
  wire [43:0] i_mmu_dptw__a_T_12 = {i_mmu_dptw__a_T_5,i_mmu_dptw__is_ptw_fail_T_7,i_mmu_dptw__is_ptw_fail_T_2}; // @[Cat.scala 33:92]
  wire  i_mmu_dptw__a_T_13 = i_mmu_dptw__GEN_9 == 2'h3; // @[PTW.scala 150:19]
  wire [43:0] i_mmu_dptw__a_T_24 = i_mmu_dptw__a_T ? i_mmu_dptw__a_T_1 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_dptw__a_T_25 = i_mmu_dptw__a_T_2 ? i_mmu_dptw__a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_dptw__a_T_26 = i_mmu_dptw__a_T_13 ? i_mmu_dptw__a_T_12 : 44'h0; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_dptw__a_T_27 = i_mmu_dptw__a_T_24 | i_mmu_dptw__a_T_25; // @[Mux.scala 27:73]
  wire [43:0] i_mmu_dptw__a_T_28 = i_mmu_dptw__a_T_27 | i_mmu_dptw__a_T_26; // @[Mux.scala 27:73]
  wire [8:0] i_mmu_dptw__addr_dnxt_T_1 = i_mmu_dptw_io_ptw_i_bits_vaddr[38:30]; // @[PTW.scala 155:66]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_2 = {i_mmu_dptw__addr_dnxt_T_1,3'h0}; // @[Cat.scala 33:92]
  wire [8:0] i_mmu_dptw__addr_dnxt_T_4 = i_mmu_dptw_walkReq_vaddr[29:21]; // @[PTW.scala 156:60]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_5 = {i_mmu_dptw__addr_dnxt_T_4,3'h0}; // @[Cat.scala 33:92]
  wire [8:0] i_mmu_dptw__addr_dnxt_T_7 = i_mmu_dptw_walkReq_vaddr[20:12]; // @[PTW.scala 157:60]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_8 = {i_mmu_dptw__addr_dnxt_T_7,3'h0}; // @[Cat.scala 33:92]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_9 = i_mmu_dptw__a_T ? i_mmu_dptw__addr_dnxt_T_2 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_10 = i_mmu_dptw__a_T_2 ? i_mmu_dptw__addr_dnxt_T_5 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_11 = i_mmu_dptw__a_T_13 ? i_mmu_dptw__addr_dnxt_T_8 : 12'h0; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_12 = i_mmu_dptw__addr_dnxt_T_9 | i_mmu_dptw__addr_dnxt_T_10; // @[Mux.scala 27:73]
  wire [11:0] i_mmu_dptw__addr_dnxt_T_13 = i_mmu_dptw__addr_dnxt_T_12 | i_mmu_dptw__addr_dnxt_T_11; // @[Mux.scala 27:73]
  wire [55:0] i_mmu_dptw__addr_dnxt_T_14 = {i_mmu_dptw__a_T_28,i_mmu_dptw__addr_dnxt_T_13}; // @[Cat.scala 33:92]
  wire  i_mmu_dptw__pte_is_mega_page_T_1 = i_mmu_dptw__is_ptw_end_T_6 & i_mmu_dptw__is_ptw_fail_T_11; // @[PTW.scala 184:34]
  wire  i_mmu_dptw__pte_is_giga_page_T_1 = i_mmu_dptw__is_ptw_end_T_6 & i_mmu_dptw__is_ptw_fail_T_1; // @[PTW.scala 185:34]
  wire  i_mmu_dptw__T_7 = i_mmu_dptw__walkReq_T & i_mmu_dptw__a_T; // @[PTW.scala 188:39]
  wire  i_mmu_dptw__T_8 = i_mmu_dptw_io_ptw_get_ready & i_mmu_dptw_io_ptw_get_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu_dptw__walkRspBits_is_access_fault_T_1 = i_mmu_dptw_walkRspBits_is_access_fault |
    i_mmu_dptw_walkRspBits_is_access_fault_mdl_io_is_fault; // @[PTW.scala 193:35]
  wire  i_mmu_dptw__T_9 = i_mmu_dptw__GEN_9 == 2'h0; // @[PTW.scala 197:19]
  wire  i_mmu_dptw__T_10 = i_mmu_dptw_currState != 2'h0; // @[PTW.scala 197:51]
  wire  i_mmu_dptw__T_11 = i_mmu_dptw__T_9 & i_mmu_dptw__T_10; // @[PTW.scala 197:39]
  wire [8:0] i_mmu_dptw__walkRspBits_renew_vpn_2_T = i_mmu_dptw_walkReq_vaddr[38:30]; // @[PTW.scala 205:46]
  wire  i_mmu_dptw__T_12 = ~i_mmu_dptw_io_ptw_o_valid; // @[PTW.scala 210:28]
  wire  i_mmu_dptw__T_14 = ~i_mmu_dptw_reset; // @[PTW.scala 210:11]
  wire  i_mmu_dptw__T_15 = ~i_mmu_dptw__T_12; // @[PTW.scala 210:11]
  wire  i_mmu_dptw__T_16 = i_mmu_dptw_io_ptw_o_ready & i_mmu_dptw_io_ptw_o_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu_dptw__GEN_12 = i_mmu_dptw__T_16 ? 1'h0 : i_mmu_dptw_walkRspValid; // @[PTW.scala 211:32 212:18 105:29]
  wire  i_mmu_dptw__GEN_25 = i_mmu_dptw__T_11 | i_mmu_dptw__GEN_12; // @[PTW.scala 197:73 208:18]
  wire  i_mmu_dptw__T_18 = ~i_mmu_dptw_is_trans_done; // @[PTW.scala 243:30]
  wire  i_mmu_dptw__T_19 = i_mmu_dptw__T & i_mmu_dptw__T_18; // @[PTW.scala 243:28]
  reg  i_mmu_dptw_ptw_get_valid; // @[PTW.scala 342:30]
  reg  i_mmu_dptw_ptw_access_ready; // @[PTW.scala 343:33]
  reg  i_mmu_dptw_is_get_reqed; // @[PTW.scala 348:29]
  wire  i_mmu_dptw__T_21 = i_mmu_dptw__GEN_9 != i_mmu_dptw_currState; // @[PTW.scala 350:24]
  wire  i_mmu_dptw__GEN_29 = i_mmu_dptw__T_21 ? 1'h0 : i_mmu_dptw_is_get_reqed; // @[PTW.scala 348:29 350:{40,55}]
  wire  i_mmu_dptw__GEN_30 = i_mmu_dptw__T_8 | i_mmu_dptw__GEN_29; // @[PTW.scala 349:{27,42}]
  wire  i_mmu_dptw__T_24 = i_mmu_dptw__is_ptw_fail_T_1 | i_mmu_dptw__is_ptw_fail_T_11; // @[PTW.scala 353:40]
  wire  i_mmu_dptw__T_26 = i_mmu_dptw__T_24 | i_mmu_dptw__is_ptw_fail_T_16; // @[PTW.scala 353:72]
  wire  i_mmu_dptw__T_29 = ~i_mmu_dptw_io_ptw_get_valid; // @[PTW.scala 353:117]
  wire  i_mmu_dptw__T_30 = i_mmu_dptw__T_26 & i_mmu_dptw__T_29; // @[PTW.scala 353:115]
  wire  i_mmu_dptw__T_31 = ~i_mmu_dptw_is_get_reqed; // @[PTW.scala 353:137]
  wire  i_mmu_dptw__T_32 = i_mmu_dptw__T_30 & i_mmu_dptw__T_31; // @[PTW.scala 353:135]
  wire  i_mmu_dptw__GEN_31 = i_mmu_dptw__T_8 ? 1'h0 : i_mmu_dptw_ptw_get_valid; // @[PTW.scala 355:34 356:19 342:30]
  wire  i_mmu_dptw__GEN_32 = i_mmu_dptw__T_32 | i_mmu_dptw__GEN_31; // @[PTW.scala 353:153 354:19]
  wire  i_mmu_dptw__T_34 = ~i_mmu_dptw_io_ptw_access_ready; // @[PTW.scala 359:31]
  wire  i_mmu_dptw__T_35 = i_mmu_dptw_io_ptw_access_valid & i_mmu_dptw__T_34; // @[PTW.scala 359:29]
  wire  i_mmu_dptw__GEN_33 = i_mmu_dptw__T ? 1'h0 : i_mmu_dptw_ptw_access_ready; // @[PTW.scala 361:37 362:22 343:33]
  wire  i_mmu_dptw__GEN_34 = i_mmu_dptw__T_35 | i_mmu_dptw__GEN_33; // @[PTW.scala 359:53 360:22]
  wire [35:0] _GEN_697 = {{4'd0}, i_mmu_dptw_addr_qout}; // @[PTW.scala 365:74]
  wire [35:0] i_mmu_dptw__io_ptw_get_bits_T_1 = _GEN_697 & 36'hffffffff0; // @[PTW.scala 365:74]
  wire  i_mmu_dptw__T_38 = i_mmu_dptw_io_cmm_mmu_sfence_vma & i_mmu_dptw__T_10; // @[PTW.scala 382:31]
  wire  i_mmu_dptw__GEN_35 = i_mmu_dptw__walkReq_T ? 1'h0 : i_mmu_dptw_kill_trans; // @[PTW.scala 384:48 385:16 89:27]
  wire  i_mmu_dptw__GEN_36 = i_mmu_dptw__T_38 | i_mmu_dptw__GEN_35; // @[PTW.scala 382:65 383:16]
  wire  i_mmu_dptw__io_ptw_o_valid_T = ~i_mmu_dptw_kill_trans; // @[PTW.scala 390:36]
  wire  i_mmu_dptw__io_ptw_i_ready_T_2 = i_mmu_dptw__walkReq_T & i_mmu_dptw__T_12; // @[PTW.scala 393:51]
  wire  i_mmu_dptw__io_ptw_i_ready_T_3 = ~i_mmu_dptw_io_cmm_mmu_sfence_vma; // @[PTW.scala 393:71]
  wire  i_mmu_dptw__io_ptw_i_ready_T_4 = i_mmu_dptw__io_ptw_i_ready_T_2 & i_mmu_dptw__io_ptw_i_ready_T_3; // @[PTW.scala 393:69]
  wire [31:0] i_mmu_dptw_addr_dnxt = i_mmu_dptw__addr_dnxt_T_14[31:0]; // @[PTW.scala 153:13 94:23]
  wire  i_mmu_io_mmu_if_bits_is_access_fault_mdl_io_is_fault;
  wire  i_mmu_io_mmu_lsu_bits_is_access_fault_mdl_io_is_fault;
  wire  i_mmu_ptwGetArb_io_in_0_ready;
  wire  i_mmu_ptwGetArb_io_in_0_valid;
  wire [2:0] i_mmu_ptwGetArb_io_in_0_bits_opcode;
  wire [2:0] i_mmu_ptwGetArb_io_in_0_bits_param;
  wire [2:0] i_mmu_ptwGetArb_io_in_0_bits_size;
  wire  i_mmu_ptwGetArb_io_in_0_bits_source;
  wire [31:0] i_mmu_ptwGetArb_io_in_0_bits_address;
  wire [7:0] i_mmu_ptwGetArb_io_in_0_bits_mask;
  wire [63:0] i_mmu_ptwGetArb_io_in_0_bits_data;
  wire  i_mmu_ptwGetArb_io_in_0_bits_corrupt;
  wire  i_mmu_ptwGetArb_io_in_1_ready;
  wire  i_mmu_ptwGetArb_io_in_1_valid;
  wire [2:0] i_mmu_ptwGetArb_io_in_1_bits_opcode;
  wire [2:0] i_mmu_ptwGetArb_io_in_1_bits_param;
  wire [2:0] i_mmu_ptwGetArb_io_in_1_bits_size;
  wire  i_mmu_ptwGetArb_io_in_1_bits_source;
  wire [31:0] i_mmu_ptwGetArb_io_in_1_bits_address;
  wire [7:0] i_mmu_ptwGetArb_io_in_1_bits_mask;
  wire [63:0] i_mmu_ptwGetArb_io_in_1_bits_data;
  wire  i_mmu_ptwGetArb_io_in_1_bits_corrupt;
  wire  i_mmu_ptwGetArb_io_out_ready;
  wire  i_mmu_ptwGetArb_io_out_valid;
  wire [2:0] i_mmu_ptwGetArb_io_out_bits_opcode;
  wire [2:0] i_mmu_ptwGetArb_io_out_bits_param;
  wire [2:0] i_mmu_ptwGetArb_io_out_bits_size;
  wire  i_mmu_ptwGetArb_io_out_bits_source;
  wire [31:0] i_mmu_ptwGetArb_io_out_bits_address;
  wire [7:0] i_mmu_ptwGetArb_io_out_bits_mask;
  wire [63:0] i_mmu_ptwGetArb_io_out_bits_data;
  wire  i_mmu_ptwGetArb_io_out_bits_corrupt;
  wire  i_mmu_ptwGetArb_grant_1 = ~i_mmu_ptwGetArb_io_in_0_valid; // @[Arbiter.scala 45:78]
  wire  i_mmu_ptwGetArb__io_out_valid_T = ~i_mmu_ptwGetArb_grant_1; // @[Arbiter.scala 147:19]
  wire [3:0] i_mmu__is_bypass_if_T = i_mmu_io_cmm_mmu_satp[63:60]; // @[MMU.scala 136:37]
  wire  i_mmu__is_bypass_if_T_1 = i_mmu__is_bypass_if_T == 4'h0; // @[MMU.scala 136:45]
  wire  i_mmu__is_bypass_if_T_2 = i_mmu_io_cmm_mmu_priv_lvl_if == 2'h3; // @[MMU.scala 136:78]
  wire  i_mmu_is_bypass_if = i_mmu__is_bypass_if_T_1 | i_mmu__is_bypass_if_T_2; // @[MMU.scala 136:53]
  wire  i_mmu__is_bypass_ls_T_2 = i_mmu_io_cmm_mmu_priv_lvl_ls == 2'h3; // @[MMU.scala 137:78]
  wire  i_mmu_is_bypass_ls = i_mmu__is_bypass_if_T_1 | i_mmu__is_bypass_ls_T_2; // @[MMU.scala 137:53]
  reg  i_mmu_kill_iptw; // @[MMU.scala 141:26]
  reg  i_mmu_kill_dptw; // @[MMU.scala 142:26]
  wire  i_mmu__GEN_0 = i_mmu_iptw_io_ptw_i_ready ? 1'h0 : i_mmu_kill_iptw; // @[MMU.scala 147:39 148:15 141:26]
  wire  i_mmu__GEN_1 = i_mmu_io_if_flush | i_mmu__GEN_0; // @[MMU.scala 145:23 146:15]
  wire  i_mmu__GEN_2 = i_mmu_dptw_io_ptw_i_ready ? 1'h0 : i_mmu_kill_dptw; // @[MMU.scala 152:39 153:15 142:26]
  wire  i_mmu__GEN_3 = i_mmu_io_lsu_flush | i_mmu__GEN_2; // @[MMU.scala 150:24 151:15]
  wire  i_mmu__io_if_mmu_ready_T = i_mmu_io_mmu_if_ready & i_mmu_io_mmu_if_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu__io_if_mmu_ready_T_1 = ~i_mmu_io_if_flush; // @[MMU.scala 160:22]
  wire  i_mmu__io_if_mmu_ready_T_2 = i_mmu__io_if_mmu_ready_T & i_mmu__io_if_mmu_ready_T_1; // @[MMU.scala 160:20]
  wire  i_mmu__io_if_mmu_ready_T_3 = ~i_mmu_kill_iptw; // @[MMU.scala 160:37]
  wire  i_mmu__io_lsu_mmu_ready_T = i_mmu_io_mmu_lsu_ready & i_mmu_io_mmu_lsu_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu__io_lsu_mmu_ready_T_1 = ~i_mmu_io_lsu_flush; // @[MMU.scala 168:23]
  wire  i_mmu__io_lsu_mmu_ready_T_2 = i_mmu__io_lsu_mmu_ready_T & i_mmu__io_lsu_mmu_ready_T_1; // @[MMU.scala 168:21]
  wire  i_mmu__io_lsu_mmu_ready_T_3 = ~i_mmu_kill_dptw; // @[MMU.scala 168:39]
  wire  i_mmu__T = i_mmu_io_lsu_mmu_ready & i_mmu_io_lsu_mmu_valid; // @[Decoupled.scala 52:35]
  wire  i_mmu__T_2 = i_mmu__T == i_mmu__io_lsu_mmu_ready_T; // @[MMU.scala 170:27]
  wire  i_mmu__T_4 = ~i_mmu_reset; // @[MMU.scala 170:9]
  wire  i_mmu__T_5 = ~i_mmu__T_2; // @[MMU.scala 170:9]
  wire  i_mmu__iptw_io_ptw_i_valid_T = ~i_mmu_itlb_io_is_hit; // @[MMU.scala 180:44]
  wire  i_mmu__iptw_io_ptw_i_valid_T_1 = i_mmu_io_if_mmu_valid & i_mmu__iptw_io_ptw_i_valid_T; // @[MMU.scala 180:42]
  wire  i_mmu__iptw_io_ptw_i_valid_T_2 = ~i_mmu_is_bypass_if; // @[MMU.scala 180:62]
  wire  i_mmu__iptw_io_ptw_i_valid_T_3 = i_mmu__iptw_io_ptw_i_valid_T_1 & i_mmu__iptw_io_ptw_i_valid_T_2; // @[MMU.scala 180:60]
  wire  i_mmu__dptw_io_ptw_i_valid_T = ~i_mmu_dtlb_io_is_hit; // @[MMU.scala 183:45]
  wire  i_mmu__dptw_io_ptw_i_valid_T_1 = i_mmu_io_lsu_mmu_valid & i_mmu__dptw_io_ptw_i_valid_T; // @[MMU.scala 183:43]
  wire  i_mmu__dptw_io_ptw_i_valid_T_2 = ~i_mmu_is_bypass_ls; // @[MMU.scala 183:63]
  wire  i_mmu__dptw_io_ptw_i_valid_T_3 = i_mmu__dptw_io_ptw_i_valid_T_1 & i_mmu__dptw_io_ptw_i_valid_T_2; // @[MMU.scala 183:61]
  wire [63:0] i_mmu_pte_value = i_mmu_itlb_io_is_hit ? i_mmu_itlb_io_pte_o_value : i_mmu_iptw_io_ptw_o_bits_renew_value; // @[MMU.scala 194:18]
  wire  i_mmu_pte_is_giga_page = i_mmu_itlb_io_is_hit ? i_mmu_itlb_io_pte_o_is_giga_page :
    i_mmu_iptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 194:18]
  wire  i_mmu_pte_is_mega_page = i_mmu_itlb_io_is_hit ? i_mmu_itlb_io_pte_o_is_mega_page :
    i_mmu_iptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 194:18]
  wire [25:0] i_mmu__ipaddr_pa_ppn_2_T_2 = i_mmu_pte_value[53:28]; // @[MMU.scala 44:65]
  wire [8:0] i_mmu__ipaddr_pa_ppn_1_T = i_mmu_io_if_mmu_bits_vaddr[29:21]; // @[MMU.scala 329:51]
  wire [8:0] i_mmu__ipaddr_pa_ppn_1_T_2 = i_mmu_pte_value[27:19]; // @[MMU.scala 44:51]
  wire [8:0] i_mmu_ipaddr_pa_ppn_1 = i_mmu_pte_is_giga_page ? i_mmu__ipaddr_pa_ppn_1_T : i_mmu__ipaddr_pa_ppn_1_T_2; // @[MMU.scala 329:23]
  wire  i_mmu__ipaddr_pa_ppn_0_T = i_mmu_pte_is_giga_page | i_mmu_pte_is_mega_page; // @[MMU.scala 330:43]
  wire [8:0] i_mmu__ipaddr_pa_ppn_0_T_1 = i_mmu_io_if_mmu_bits_vaddr[20:12]; // @[MMU.scala 330:69]
  wire [8:0] i_mmu__ipaddr_pa_ppn_0_T_2 = i_mmu_pte_value[18:10]; // @[MMU.scala 44:37]
  wire [8:0] i_mmu_ipaddr_pa_ppn_0 = i_mmu__ipaddr_pa_ppn_0_T ? i_mmu__ipaddr_pa_ppn_0_T_1 : i_mmu__ipaddr_pa_ppn_0_T_2; // @[MMU.scala 330:23]
  wire [11:0] i_mmu_ipaddr_pa_pgoff = i_mmu_io_if_mmu_bits_vaddr[11:0]; // @[MMU.scala 331:25]
  wire [55:0] i_mmu__ipaddr_paddr_T = {i_mmu__ipaddr_pa_ppn_2_T_2,i_mmu_ipaddr_pa_ppn_1,i_mmu_ipaddr_pa_ppn_0,
    i_mmu_ipaddr_pa_pgoff}; // @[Cat.scala 33:92]
  wire [63:0] i_mmu_ipaddr_paddr = {{8'd0}, i_mmu__ipaddr_paddr_T}; // @[MMU.scala 326:21 333:11]
  wire [63:0] i_mmu_ipaddr = i_mmu_is_bypass_if ? i_mmu_io_if_mmu_bits_vaddr : i_mmu_ipaddr_paddr; // @[MMU.scala 196:21]
  wire  i_mmu__io_mmu_if_bits_is_access_fault_T_1 = i_mmu_iptw_io_ptw_o_bits_is_access_fault &
    i_mmu_iptw_io_ptw_o_bits_is_X; // @[MMU.scala 203:43]
  wire  i_mmu__io_mmu_if_bits_is_access_fault_T_2 = i_mmu__io_mmu_if_bits_is_access_fault_T_1 &
    i_mmu_iptw_io_ptw_o_valid; // @[MMU.scala 203:69]
  wire  i_mmu__io_mmu_if_bits_is_access_fault_T_3 = i_mmu_io_mmu_if_bits_is_access_fault_mdl_io_is_fault |
    i_mmu__io_mmu_if_bits_is_access_fault_T_2; // @[MMU.scala 202:102]
  wire [31:0] i_mmu__io_mmu_if_bits_is_access_fault_T_4 = i_mmu_ipaddr[63:32]; // @[MMU.scala 204:13]
  wire  i_mmu__io_mmu_if_bits_is_access_fault_T_5 = i_mmu__io_mmu_if_bits_is_access_fault_T_4 != 32'h0; // @[MMU.scala 204:23]
  wire [24:0] i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T = i_mmu_io_if_mmu_bits_vaddr[63:39]; // @[MMU.scala 311:39]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T_1 = i_mmu_io_if_mmu_bits_vaddr[38]; // @[MMU.scala 311:68]
  wire [24:0] i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T_3 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T_1 ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire  i_mmu_io_mmu_if_bits_is_paging_fault_is_vaddr_illegal = i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T
     != i_mmu__io_mmu_if_bits_is_paging_fault_is_vaddr_illegal_T_3; // @[MMU.scala 311:47]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T = i_mmu_io_cmm_mmu_priv_lvl_if == 2'h0; // @[MMU.scala 313:19]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_1 = i_mmu_pte_value[4]; // @[MMU.scala 39:16]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_3 = ~
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 313:39]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_4 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_3; // @[MMU.scala 313:31]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_5 = i_mmu_io_cmm_mmu_priv_lvl_if == 2'h1; // @[MMU.scala 314:19]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_9 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_5 &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 314:31]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_10 = i_mmu_io_cmm_mmu_sstatus[18]; // @[MMU.scala 314:71]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_11 = ~
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_10; // @[MMU.scala 314:76]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_15 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_4 |
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_9; // @[MMU.scala 313:52]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_16 = i_mmu_io_cmm_mmu_mstatus[17]; // @[MMU.scala 315:29]
  wire [1:0] i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_17 = i_mmu_io_cmm_mmu_mstatus[12:11]; // @[MMU.scala 315:54]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_18 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_17 == 2'h1; // @[MMU.scala 315:62]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_19 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_16 &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_18; // @[MMU.scala 315:34]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_23 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_19 &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 315:74]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_26 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_23 &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_11; // @[MMU.scala 315:93]
  wire  i_mmu_io_mmu_if_bits_is_paging_fault_is_U_access_illegal =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_15 |
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_26; // @[MMU.scala 314:116]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_A_illegal_T = i_mmu_pte_value[6]; // @[MMU.scala 41:16]
  wire  i_mmu_io_mmu_if_bits_is_paging_fault_is_A_illegal = ~i_mmu__io_mmu_if_bits_is_paging_fault_is_A_illegal_T; // @[MMU.scala 317:32]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_MXR_illegal_T = i_mmu_io_cmm_mmu_mstatus[19]; // @[MMU.scala 319:46]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_is_MXR_illegal_T_1 = ~
    i_mmu__io_mmu_if_bits_is_paging_fault_is_MXR_illegal_T; // @[MMU.scala 319:51]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_T_1 = i_mmu_io_mmu_if_bits_is_paging_fault_is_vaddr_illegal |
    i_mmu_io_mmu_if_bits_is_paging_fault_is_U_access_illegal; // @[MMU.scala 321:31]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_T_2 = i_mmu__io_mmu_if_bits_is_paging_fault_T_1 |
    i_mmu_io_mmu_if_bits_is_paging_fault_is_A_illegal; // @[MMU.scala 321:53]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_T_5 = i_mmu_iptw_io_ptw_o_bits_is_ptw_fail & i_mmu_iptw_io_ptw_o_bits_is_X
    ; // @[MMU.scala 210:41]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_T_6 = i_mmu__io_mmu_if_bits_is_paging_fault_T_5 &
    i_mmu_iptw_io_ptw_o_valid; // @[MMU.scala 210:67]
  wire  i_mmu__io_mmu_if_bits_is_paging_fault_T_7 = i_mmu__io_mmu_if_bits_is_paging_fault_T_2 |
    i_mmu__io_mmu_if_bits_is_paging_fault_T_6; // @[MMU.scala 209:89]
  wire  i_mmu__io_mmu_if_valid_T_1 = i_mmu_io_if_mmu_valid & i_mmu_is_bypass_if; // @[MMU.scala 215:26]
  wire  i_mmu__io_mmu_if_valid_T_2 = i_mmu_io_if_mmu_valid & i_mmu_itlb_io_is_hit; // @[MMU.scala 216:26]
  wire  i_mmu__io_mmu_if_valid_T_3 = i_mmu__io_mmu_if_valid_T_1 | i_mmu__io_mmu_if_valid_T_2; // @[MMU.scala 215:42]
  wire  i_mmu__io_mmu_if_valid_T_4 = i_mmu_iptw_io_ptw_o_bits_is_X & i_mmu_iptw_io_ptw_o_valid; // @[MMU.scala 217:53]
  wire  i_mmu__io_mmu_if_valid_T_5 = i_mmu_io_if_mmu_valid & i_mmu__io_mmu_if_valid_T_4; // @[MMU.scala 217:26]
  wire  i_mmu__io_mmu_if_valid_T_6 = i_mmu__io_mmu_if_valid_T_3 | i_mmu__io_mmu_if_valid_T_5; // @[MMU.scala 216:44]
  wire  i_mmu__T_7 = i_mmu__io_mmu_if_valid_T_4 & i_mmu_itlb_io_is_hit; // @[MMU.scala 220:63]
  wire  i_mmu__T_9 = i_mmu__T_7 & i_mmu__io_if_mmu_ready_T_3; // @[MMU.scala 220:80]
  wire  i_mmu__T_10 = ~i_mmu__T_9; // @[MMU.scala 220:13]
  wire  i_mmu__T_13 = ~i_mmu__T_10; // @[MMU.scala 220:11]
  wire [63:0] i_mmu_pte_1_value = i_mmu_dtlb_io_is_hit ? i_mmu_dtlb_io_pte_o_value :
    i_mmu_dptw_io_ptw_o_bits_renew_value; // @[MMU.scala 225:18]
  wire  i_mmu_pte_1_is_giga_page = i_mmu_dtlb_io_is_hit ? i_mmu_dtlb_io_pte_o_is_giga_page :
    i_mmu_dptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 225:18]
  wire  i_mmu_pte_1_is_mega_page = i_mmu_dtlb_io_is_hit ? i_mmu_dtlb_io_pte_o_is_mega_page :
    i_mmu_dptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 225:18]
  wire [25:0] i_mmu__dpaddr_pa_ppn_2_T_2 = i_mmu_pte_1_value[53:28]; // @[MMU.scala 44:65]
  wire [8:0] i_mmu__dpaddr_pa_ppn_1_T = i_mmu_io_lsu_mmu_bits_vaddr[29:21]; // @[MMU.scala 329:51]
  wire [8:0] i_mmu__dpaddr_pa_ppn_1_T_2 = i_mmu_pte_1_value[27:19]; // @[MMU.scala 44:51]
  wire [8:0] i_mmu_dpaddr_pa_ppn_1 = i_mmu_pte_1_is_giga_page ? i_mmu__dpaddr_pa_ppn_1_T : i_mmu__dpaddr_pa_ppn_1_T_2; // @[MMU.scala 329:23]
  wire  i_mmu__dpaddr_pa_ppn_0_T = i_mmu_pte_1_is_giga_page | i_mmu_pte_1_is_mega_page; // @[MMU.scala 330:43]
  wire [8:0] i_mmu__dpaddr_pa_ppn_0_T_1 = i_mmu_io_lsu_mmu_bits_vaddr[20:12]; // @[MMU.scala 330:69]
  wire [8:0] i_mmu__dpaddr_pa_ppn_0_T_2 = i_mmu_pte_1_value[18:10]; // @[MMU.scala 44:37]
  wire [8:0] i_mmu_dpaddr_pa_ppn_0 = i_mmu__dpaddr_pa_ppn_0_T ? i_mmu__dpaddr_pa_ppn_0_T_1 : i_mmu__dpaddr_pa_ppn_0_T_2; // @[MMU.scala 330:23]
  wire [11:0] i_mmu_dpaddr_pa_pgoff = i_mmu_io_lsu_mmu_bits_vaddr[11:0]; // @[MMU.scala 331:25]
  wire [55:0] i_mmu__dpaddr_paddr_T = {i_mmu__dpaddr_pa_ppn_2_T_2,i_mmu_dpaddr_pa_ppn_1,i_mmu_dpaddr_pa_ppn_0,
    i_mmu_dpaddr_pa_pgoff}; // @[Cat.scala 33:92]
  wire [63:0] i_mmu_dpaddr_paddr = {{8'd0}, i_mmu__dpaddr_paddr_T}; // @[MMU.scala 326:21 333:11]
  wire [63:0] i_mmu_dpaddr = i_mmu_is_bypass_ls ? i_mmu_io_lsu_mmu_bits_vaddr : i_mmu_dpaddr_paddr; // @[MMU.scala 228:21]
  wire  i_mmu__io_mmu_lsu_bits_is_access_fault_T_1 = ~i_mmu_dptw_io_ptw_o_bits_is_X; // @[MMU.scala 235:46]
  wire  i_mmu__io_mmu_lsu_bits_is_access_fault_T_2 = i_mmu__io_mmu_lsu_bits_is_access_fault_T_1 &
    i_mmu_dptw_io_ptw_o_valid; // @[MMU.scala 235:71]
  wire  i_mmu__io_mmu_lsu_bits_is_access_fault_T_3 = i_mmu_dptw_io_ptw_o_bits_is_access_fault &
    i_mmu__io_mmu_lsu_bits_is_access_fault_T_2; // @[MMU.scala 235:43]
  wire  i_mmu__io_mmu_lsu_bits_is_access_fault_T_4 = i_mmu_io_mmu_lsu_bits_is_access_fault_mdl_io_is_fault |
    i_mmu__io_mmu_lsu_bits_is_access_fault_T_3; // @[MMU.scala 234:104]
  wire [31:0] i_mmu__io_mmu_lsu_bits_is_access_fault_T_5 = i_mmu_dpaddr[63:32]; // @[MMU.scala 236:13]
  wire  i_mmu__io_mmu_lsu_bits_is_access_fault_T_6 = i_mmu__io_mmu_lsu_bits_is_access_fault_T_5 != 32'h0; // @[MMU.scala 236:23]
  wire [2:0] i_mmu__io_mmu_lsu_bits_is_paging_fault_T_1 = {i_mmu_io_lsu_mmu_bits_is_X,i_mmu_io_lsu_mmu_bits_is_W,
    i_mmu_io_lsu_mmu_bits_is_R}; // @[Cat.scala 33:92]
  wire [24:0] i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T = i_mmu_io_lsu_mmu_bits_vaddr[63:39]; // @[MMU.scala 311:39]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T_1 = i_mmu_io_lsu_mmu_bits_vaddr[38]; // @[MMU.scala 311:68]
  wire [24:0] i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T_3 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T_1 ? 25'h1ffffff : 25'h0; // @[Bitwise.scala 77:12]
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T !=
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal_T_3; // @[MMU.scala 311:47]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T = i_mmu_io_cmm_mmu_priv_lvl_ls == 2'h0; // @[MMU.scala 313:19]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_1 = i_mmu_pte_1_value[4]; // @[MMU.scala 39:16]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_3 = ~
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 313:39]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_4 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_3; // @[MMU.scala 313:31]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_5 = i_mmu_io_cmm_mmu_priv_lvl_ls == 2'h1; // @[MMU.scala 314:19]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_9 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_5 &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 314:31]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_12 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_1[2]; // @[MMU.scala 314:98]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_14 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_11 |
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_12; // @[MMU.scala 314:88]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_15 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_9 &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_14; // @[MMU.scala 314:50]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_16 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_4 |
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_15; // @[MMU.scala 313:52]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_24 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_19 &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_1; // @[MMU.scala 315:74]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_27 =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_24 &
    i_mmu__io_mmu_if_bits_is_paging_fault_is_U_access_illegal_T_11; // @[MMU.scala 315:93]
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal =
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_16 |
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal_T_27; // @[MMU.scala 314:116]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_A_illegal_T = i_mmu_pte_1_value[6]; // @[MMU.scala 41:16]
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault_is_A_illegal = ~i_mmu__io_mmu_lsu_bits_is_paging_fault_is_A_illegal_T; // @[MMU.scala 317:32]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T = i_mmu_pte_1_value[7]; // @[MMU.scala 42:16]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T_2 = ~i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T
    ; // @[MMU.scala 318:32]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T_3 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_1[1]; // @[MMU.scala 318:54]
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault_is_D_illegal = i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T_2 &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_D_illegal_T_3; // @[MMU.scala 318:44]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_2 = i_mmu_pte_1_value[1]; // @[MMU.scala 36:16]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_4 = ~
    i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_2; // @[MMU.scala 319:71]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_5 =
    i_mmu__io_mmu_if_bits_is_paging_fault_is_MXR_illegal_T_1 & i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_4
    ; // @[MMU.scala 319:63]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_6 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_1[0]; // @[MMU.scala 319:93]
  wire  i_mmu_io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal = i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_5
     & i_mmu__io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal_T_6; // @[MMU.scala 319:83]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_2 = i_mmu_io_mmu_lsu_bits_is_paging_fault_is_vaddr_illegal |
    i_mmu_io_mmu_lsu_bits_is_paging_fault_is_U_access_illegal; // @[MMU.scala 321:31]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_3 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_2 |
    i_mmu_io_mmu_lsu_bits_is_paging_fault_is_A_illegal; // @[MMU.scala 321:53]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_4 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_3 |
    i_mmu_io_mmu_lsu_bits_is_paging_fault_is_D_illegal; // @[MMU.scala 321:68]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_5 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_4 |
    i_mmu_io_mmu_lsu_bits_is_paging_fault_is_MXR_illegal; // @[MMU.scala 321:83]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_7 = i_mmu_dptw_io_ptw_o_bits_is_ptw_fail &
    i_mmu__io_mmu_lsu_bits_is_access_fault_T_1; // @[MMU.scala 241:40]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_8 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_7 &
    i_mmu_dptw_io_ptw_o_valid; // @[MMU.scala 241:67]
  wire  i_mmu__io_mmu_lsu_bits_is_paging_fault_T_9 = i_mmu__io_mmu_lsu_bits_is_paging_fault_T_5 |
    i_mmu__io_mmu_lsu_bits_is_paging_fault_T_8; // @[MMU.scala 240:152]
  wire  i_mmu__io_mmu_lsu_valid_T_2 = i_mmu__io_lsu_mmu_ready_T_1 & i_mmu__io_lsu_mmu_ready_T_3; // @[MMU.scala 245:21]
  wire  i_mmu__io_mmu_lsu_valid_T_3 = i_mmu_io_lsu_mmu_valid & i_mmu_is_bypass_ls; // @[MMU.scala 246:27]
  wire  i_mmu__io_mmu_lsu_valid_T_4 = i_mmu_io_lsu_mmu_valid & i_mmu_dtlb_io_is_hit; // @[MMU.scala 247:27]
  wire  i_mmu__io_mmu_lsu_valid_T_5 = i_mmu__io_mmu_lsu_valid_T_3 | i_mmu__io_mmu_lsu_valid_T_4; // @[MMU.scala 246:43]
  wire  i_mmu__io_mmu_lsu_valid_T_8 = i_mmu_io_lsu_mmu_valid & i_mmu__io_mmu_lsu_bits_is_access_fault_T_2; // @[MMU.scala 248:27]
  wire  i_mmu__io_mmu_lsu_valid_T_9 = i_mmu__io_mmu_lsu_valid_T_5 | i_mmu__io_mmu_lsu_valid_T_8; // @[MMU.scala 247:45]
  wire  i_mmu__T_16 = i_mmu__io_mmu_lsu_bits_is_access_fault_T_2 & i_mmu_dtlb_io_is_hit; // @[MMU.scala 256:64]
  wire  i_mmu__T_18 = i_mmu__T_16 & i_mmu__io_lsu_mmu_ready_T_3; // @[MMU.scala 256:81]
  wire  i_mmu__T_19 = ~i_mmu__T_18; // @[MMU.scala 256:13]
  wire  i_mmu__T_22 = ~i_mmu__T_19; // @[MMU.scala 256:11]
  wire  i_mmu__iptw_io_ptw_o_ready_T = i_mmu_io_mmu_if_ready | i_mmu_kill_iptw; // @[MMU.scala 259:43]
  wire  i_mmu__dptw_io_ptw_o_ready_T = i_mmu_io_mmu_lsu_ready | i_mmu_kill_dptw; // @[MMU.scala 262:43]
  wire  i_mmu__itlb_io_tlb_renew_valid_T_1 = i_mmu_iptw__T_16 & i_mmu_iptw_io_ptw_o_bits_is_X; // @[MMU.scala 268:49]
  wire  i_mmu__itlb_io_tlb_renew_valid_T_2 = ~i_mmu_iptw_io_ptw_o_bits_is_ptw_fail; // @[MMU.scala 268:78]
  wire  i_mmu__itlb_io_tlb_renew_valid_T_3 = i_mmu__itlb_io_tlb_renew_valid_T_1 & i_mmu__itlb_io_tlb_renew_valid_T_2; // @[MMU.scala 268:76]
  wire  i_mmu__dtlb_io_tlb_renew_valid_T_2 = i_mmu_dptw__T_16 & i_mmu__io_mmu_lsu_bits_is_access_fault_T_1; // @[MMU.scala 269:49]
  wire  i_mmu__dtlb_io_tlb_renew_valid_T_3 = ~i_mmu_dptw_io_ptw_o_bits_is_ptw_fail; // @[MMU.scala 269:78]
  wire  i_mmu__dtlb_io_tlb_renew_valid_T_4 = i_mmu__dtlb_io_tlb_renew_valid_T_2 & i_mmu__dtlb_io_tlb_renew_valid_T_3; // @[MMU.scala 269:76]
  wire  i_mmu__T_23 = ~i_mmu_io_ptw_access_bits_source; // @[MMU.scala 292:35]
  wire  i_mmu__GEN_4 = i_mmu_io_ptw_access_bits_source & i_mmu_dptw_io_ptw_access_ready; // @[MMU.scala 283:23 294:52 295:24]
  wire  i_mmu__GEN_5 = i_mmu_io_ptw_access_bits_source & i_mmu_io_ptw_access_valid; // @[MMU.scala 294:52 295:24 280:28]
  wire [2:0] i_mmu__GEN_6 = i_mmu_io_ptw_access_bits_source ? i_mmu_io_ptw_access_bits_opcode : 3'h0; // @[MMU.scala 294:52 295:24 282:27]
  wire [2:0] i_mmu__GEN_8 = i_mmu_io_ptw_access_bits_source ? i_mmu_io_ptw_access_bits_size : 3'h0; // @[MMU.scala 294:52 295:24 282:27]
  wire [63:0] i_mmu__GEN_12 = i_mmu_io_ptw_access_bits_source ? i_mmu_io_ptw_access_bits_data : 64'h0; // @[MMU.scala 294:52 295:24 282:27]
  wire  i_mmu__T_25 = i_mmu_io_if_flush & i_mmu_io_lsu_flush; // @[MMU.scala 338:25]
  wire  i_mmu__T_28 = ~i_mmu__T_25; // @[MMU.scala 338:11]
  wire  prefetcher_io_intent_valid;
  wire [2:0] prefetcher_io_intent_bits_opcode;
  wire [2:0] prefetcher_io_intent_bits_param;
  wire [2:0] prefetcher_io_intent_bits_size;
  wire  prefetcher_io_intent_bits_source;
  wire [31:0] prefetcher_io_intent_bits_address;
  wire [7:0] prefetcher_io_intent_bits_mask;
  wire [63:0] prefetcher_io_intent_bits_data;
  wire  prefetcher_io_intent_bits_corrupt;
  wire  prefetcher_io_hintAck_ready;
  wire  _exe_stage_io_missUnit_dcache_grant_valid_T_2 = auto_dcache_client_out_d_bits_opcode == 3'h4 |
    auto_dcache_client_out_d_bits_opcode == 3'h5; // @[rift2Core.scala 274:122]
  wire  _exe_stage_io_writeBackUnit_dcache_grant_valid_T = auto_dcache_client_out_d_bits_opcode == 3'h6; // @[rift2Core.scala 277:106]
  assign if1_uBTB_io_resp_isActive_0 = 1'h1; // @[uBTB.scala 150:83]
  assign if1_uBTB_io_resp_isActive_1 = if1_uBTB__io_resp_isActive_0_T_2 >= 2'h1; // @[uBTB.scala 150:83]
  assign if1_uBTB_io_resp_isActive_2 = if1_uBTB__io_resp_isActive_0_T_2 >= 2'h2; // @[uBTB.scala 150:83]
  assign if1_uBTB_io_resp_isActive_3 = if1_uBTB__io_resp_isActive_0_T_2 >= 2'h3; // @[uBTB.scala 150:83]
  assign if1_io_pc_gen_valid = 1'h1; // @[IF1.scala 119:21]
  assign if1_io_pc_gen_bits_isActive_0 = if1_uBTB_io_resp_isActive_0; // @[IF1.scala 77:27]
  assign if1_io_pc_gen_bits_isActive_1 = if1_uBTB_io_resp_isActive_1; // @[IF1.scala 77:27]
  assign if1_io_pc_gen_bits_isActive_2 = if1_uBTB_io_resp_isActive_2; // @[IF1.scala 77:27]
  assign if1_io_pc_gen_bits_isActive_3 = if1_uBTB_io_resp_isActive_3; // @[IF1.scala 77:27]
  assign if1_io_pc_gen_bits_pc = if1_pc_qout; // @[IF1.scala 120:21]
  assign if2_ibuf_io_enq_0_ready = ~if2_ibuf__GEN_7; // @[MultiPortFifo.scala 64:94]
  assign if2_ibuf_io_enq_1_ready = ~if2_ibuf__GEN_15; // @[MultiPortFifo.scala 64:94]
  assign if2_ibuf_io_enq_2_ready = ~if2_ibuf__GEN_23; // @[MultiPortFifo.scala 64:94]
  assign if2_ibuf_io_enq_3_ready = ~if2_ibuf__GEN_31; // @[MultiPortFifo.scala 64:94]
  assign if2_ibuf_io_deq_0_valid = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_38; // @[MultiPortFifo.scala 65:{94,94}]
  assign if2_ibuf_io_deq_0_bits_pc = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_1936; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_0_bits_instr = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_1937
    ; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_0_bits_isRedirect = 3'h7 == if2_ibuf__io_deq_0_valid_T_1 ? if2_ibuf_buf_7_isRedirect :
    if2_ibuf__GEN_1939; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_1_valid = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_46; // @[MultiPortFifo.scala 65:{94,94}]
  assign if2_ibuf_io_deq_1_bits_pc = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_1976; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_1_bits_instr = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_1977
    ; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_1_bits_isFault = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_7_isFault :
    if2_ibuf__GEN_1978; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_1_bits_isRedirect = 3'h7 == if2_ibuf__io_deq_1_valid_T_1 ? if2_ibuf_buf_7_isRedirect :
    if2_ibuf__GEN_1979; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_2_valid = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_54; // @[MultiPortFifo.scala 65:{94,94}]
  assign if2_ibuf_io_deq_2_bits_pc = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_2016; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_2_bits_instr = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_2017
    ; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_2_bits_isFault = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_7_isFault :
    if2_ibuf__GEN_2018; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_2_bits_isRedirect = 3'h7 == if2_ibuf__io_deq_2_valid_T_1 ? if2_ibuf_buf_7_isRedirect :
    if2_ibuf__GEN_2019; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_3_valid = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_valid_7 : if2_ibuf__GEN_62; // @[MultiPortFifo.scala 65:{94,94}]
  assign if2_ibuf_io_deq_3_bits_pc = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_7_pc : if2_ibuf__GEN_2056; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_3_bits_instr = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_7_instr : if2_ibuf__GEN_2057
    ; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_3_bits_isFault = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_7_isFault :
    if2_ibuf__GEN_2058; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_ibuf_io_deq_3_bits_isRedirect = 3'h7 == if2_ibuf__io_deq_3_valid_T_1 ? if2_ibuf_buf_7_isRedirect :
    if2_ibuf__GEN_2059; // @[MultiPortFifo.scala 114:{14,14}]
  assign if2_datRAM_0_datMem_0_MPORT_en = if2_datRAM_0_datMem_0_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_0_MPORT_addr = if2_datRAM_0_datMem_0_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_0_MPORT_data = if2_datRAM_0_datMem_0[if2_datRAM_0_datMem_0_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_0_MPORT_1_data = if2_datRAM_0_io_dataw_0;
  assign if2_datRAM_0_datMem_0_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_0_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_0_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_1_MPORT_en = if2_datRAM_0_datMem_1_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_1_MPORT_addr = if2_datRAM_0_datMem_1_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_1_MPORT_data = if2_datRAM_0_datMem_1[if2_datRAM_0_datMem_1_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_1_MPORT_1_data = if2_datRAM_0_io_dataw_1;
  assign if2_datRAM_0_datMem_1_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_1_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_1_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_2_MPORT_en = if2_datRAM_0_datMem_2_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_2_MPORT_addr = if2_datRAM_0_datMem_2_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_2_MPORT_data = if2_datRAM_0_datMem_2[if2_datRAM_0_datMem_2_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_2_MPORT_1_data = if2_datRAM_0_io_dataw_2;
  assign if2_datRAM_0_datMem_2_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_2_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_2_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_3_MPORT_en = if2_datRAM_0_datMem_3_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_3_MPORT_addr = if2_datRAM_0_datMem_3_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_3_MPORT_data = if2_datRAM_0_datMem_3[if2_datRAM_0_datMem_3_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_3_MPORT_1_data = if2_datRAM_0_io_dataw_3;
  assign if2_datRAM_0_datMem_3_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_3_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_3_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_4_MPORT_en = if2_datRAM_0_datMem_4_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_4_MPORT_addr = if2_datRAM_0_datMem_4_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_4_MPORT_data = if2_datRAM_0_datMem_4[if2_datRAM_0_datMem_4_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_4_MPORT_1_data = if2_datRAM_0_io_dataw_4;
  assign if2_datRAM_0_datMem_4_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_4_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_4_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_5_MPORT_en = if2_datRAM_0_datMem_5_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_5_MPORT_addr = if2_datRAM_0_datMem_5_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_5_MPORT_data = if2_datRAM_0_datMem_5[if2_datRAM_0_datMem_5_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_5_MPORT_1_data = if2_datRAM_0_io_dataw_5;
  assign if2_datRAM_0_datMem_5_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_5_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_5_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_6_MPORT_en = if2_datRAM_0_datMem_6_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_6_MPORT_addr = if2_datRAM_0_datMem_6_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_6_MPORT_data = if2_datRAM_0_datMem_6[if2_datRAM_0_datMem_6_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_6_MPORT_1_data = if2_datRAM_0_io_dataw_6;
  assign if2_datRAM_0_datMem_6_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_6_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_6_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_7_MPORT_en = if2_datRAM_0_datMem_7_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_7_MPORT_addr = if2_datRAM_0_datMem_7_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_7_MPORT_data = if2_datRAM_0_datMem_7[if2_datRAM_0_datMem_7_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_7_MPORT_1_data = if2_datRAM_0_io_dataw_7;
  assign if2_datRAM_0_datMem_7_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_7_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_7_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_8_MPORT_en = if2_datRAM_0_datMem_8_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_8_MPORT_addr = if2_datRAM_0_datMem_8_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_8_MPORT_data = if2_datRAM_0_datMem_8[if2_datRAM_0_datMem_8_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_8_MPORT_1_data = if2_datRAM_0_io_dataw_8;
  assign if2_datRAM_0_datMem_8_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_8_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_8_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_9_MPORT_en = if2_datRAM_0_datMem_9_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_9_MPORT_addr = if2_datRAM_0_datMem_9_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_9_MPORT_data = if2_datRAM_0_datMem_9[if2_datRAM_0_datMem_9_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_9_MPORT_1_data = if2_datRAM_0_io_dataw_9;
  assign if2_datRAM_0_datMem_9_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_9_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_9_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_10_MPORT_en = if2_datRAM_0_datMem_10_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_10_MPORT_addr = if2_datRAM_0_datMem_10_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_10_MPORT_data = if2_datRAM_0_datMem_10[if2_datRAM_0_datMem_10_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_10_MPORT_1_data = if2_datRAM_0_io_dataw_10;
  assign if2_datRAM_0_datMem_10_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_10_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_10_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_11_MPORT_en = if2_datRAM_0_datMem_11_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_11_MPORT_addr = if2_datRAM_0_datMem_11_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_11_MPORT_data = if2_datRAM_0_datMem_11[if2_datRAM_0_datMem_11_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_11_MPORT_1_data = if2_datRAM_0_io_dataw_11;
  assign if2_datRAM_0_datMem_11_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_11_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_11_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_12_MPORT_en = if2_datRAM_0_datMem_12_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_12_MPORT_addr = if2_datRAM_0_datMem_12_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_12_MPORT_data = if2_datRAM_0_datMem_12[if2_datRAM_0_datMem_12_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_12_MPORT_1_data = if2_datRAM_0_io_dataw_12;
  assign if2_datRAM_0_datMem_12_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_12_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_12_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_13_MPORT_en = if2_datRAM_0_datMem_13_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_13_MPORT_addr = if2_datRAM_0_datMem_13_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_13_MPORT_data = if2_datRAM_0_datMem_13[if2_datRAM_0_datMem_13_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_13_MPORT_1_data = if2_datRAM_0_io_dataw_13;
  assign if2_datRAM_0_datMem_13_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_13_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_13_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_14_MPORT_en = if2_datRAM_0_datMem_14_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_14_MPORT_addr = if2_datRAM_0_datMem_14_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_14_MPORT_data = if2_datRAM_0_datMem_14[if2_datRAM_0_datMem_14_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_14_MPORT_1_data = if2_datRAM_0_io_dataw_14;
  assign if2_datRAM_0_datMem_14_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_14_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_14_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_datMem_15_MPORT_en = if2_datRAM_0_datMem_15_MPORT_en_pipe_0;
  assign if2_datRAM_0_datMem_15_MPORT_addr = if2_datRAM_0_datMem_15_MPORT_addr_pipe_0;
  assign if2_datRAM_0_datMem_15_MPORT_data = if2_datRAM_0_datMem_15[if2_datRAM_0_datMem_15_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_0_datMem_15_MPORT_1_data = if2_datRAM_0_io_dataw_15;
  assign if2_datRAM_0_datMem_15_MPORT_1_addr = if2_datRAM_0_io_addrw;
  assign if2_datRAM_0_datMem_15_MPORT_1_mask = 1'h1;
  assign if2_datRAM_0_datMem_15_MPORT_1_en = if2_datRAM_0_io_enw;
  assign if2_datRAM_0_io_datar_0 = if2_datRAM_0_datMem_0_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_1 = if2_datRAM_0_datMem_1_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_2 = if2_datRAM_0_datMem_2_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_3 = if2_datRAM_0_datMem_3_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_4 = if2_datRAM_0_datMem_4_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_5 = if2_datRAM_0_datMem_5_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_6 = if2_datRAM_0_datMem_6_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_7 = if2_datRAM_0_datMem_7_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_8 = if2_datRAM_0_datMem_8_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_9 = if2_datRAM_0_datMem_9_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_10 = if2_datRAM_0_datMem_10_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_11 = if2_datRAM_0_datMem_11_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_12 = if2_datRAM_0_datMem_12_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_13 = if2_datRAM_0_datMem_13_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_14 = if2_datRAM_0_datMem_14_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_0_io_datar_15 = if2_datRAM_0_datMem_15_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_datMem_0_MPORT_en = if2_datRAM_1_datMem_0_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_0_MPORT_addr = if2_datRAM_1_datMem_0_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_0_MPORT_data = if2_datRAM_1_datMem_0[if2_datRAM_1_datMem_0_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_0_MPORT_1_data = if2_datRAM_1_io_dataw_0;
  assign if2_datRAM_1_datMem_0_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_0_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_0_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_1_MPORT_en = if2_datRAM_1_datMem_1_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_1_MPORT_addr = if2_datRAM_1_datMem_1_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_1_MPORT_data = if2_datRAM_1_datMem_1[if2_datRAM_1_datMem_1_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_1_MPORT_1_data = if2_datRAM_1_io_dataw_1;
  assign if2_datRAM_1_datMem_1_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_1_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_1_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_2_MPORT_en = if2_datRAM_1_datMem_2_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_2_MPORT_addr = if2_datRAM_1_datMem_2_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_2_MPORT_data = if2_datRAM_1_datMem_2[if2_datRAM_1_datMem_2_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_2_MPORT_1_data = if2_datRAM_1_io_dataw_2;
  assign if2_datRAM_1_datMem_2_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_2_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_2_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_3_MPORT_en = if2_datRAM_1_datMem_3_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_3_MPORT_addr = if2_datRAM_1_datMem_3_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_3_MPORT_data = if2_datRAM_1_datMem_3[if2_datRAM_1_datMem_3_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_3_MPORT_1_data = if2_datRAM_1_io_dataw_3;
  assign if2_datRAM_1_datMem_3_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_3_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_3_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_4_MPORT_en = if2_datRAM_1_datMem_4_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_4_MPORT_addr = if2_datRAM_1_datMem_4_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_4_MPORT_data = if2_datRAM_1_datMem_4[if2_datRAM_1_datMem_4_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_4_MPORT_1_data = if2_datRAM_1_io_dataw_4;
  assign if2_datRAM_1_datMem_4_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_4_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_4_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_5_MPORT_en = if2_datRAM_1_datMem_5_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_5_MPORT_addr = if2_datRAM_1_datMem_5_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_5_MPORT_data = if2_datRAM_1_datMem_5[if2_datRAM_1_datMem_5_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_5_MPORT_1_data = if2_datRAM_1_io_dataw_5;
  assign if2_datRAM_1_datMem_5_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_5_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_5_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_6_MPORT_en = if2_datRAM_1_datMem_6_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_6_MPORT_addr = if2_datRAM_1_datMem_6_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_6_MPORT_data = if2_datRAM_1_datMem_6[if2_datRAM_1_datMem_6_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_6_MPORT_1_data = if2_datRAM_1_io_dataw_6;
  assign if2_datRAM_1_datMem_6_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_6_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_6_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_7_MPORT_en = if2_datRAM_1_datMem_7_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_7_MPORT_addr = if2_datRAM_1_datMem_7_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_7_MPORT_data = if2_datRAM_1_datMem_7[if2_datRAM_1_datMem_7_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_7_MPORT_1_data = if2_datRAM_1_io_dataw_7;
  assign if2_datRAM_1_datMem_7_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_7_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_7_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_8_MPORT_en = if2_datRAM_1_datMem_8_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_8_MPORT_addr = if2_datRAM_1_datMem_8_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_8_MPORT_data = if2_datRAM_1_datMem_8[if2_datRAM_1_datMem_8_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_8_MPORT_1_data = if2_datRAM_1_io_dataw_8;
  assign if2_datRAM_1_datMem_8_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_8_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_8_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_9_MPORT_en = if2_datRAM_1_datMem_9_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_9_MPORT_addr = if2_datRAM_1_datMem_9_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_9_MPORT_data = if2_datRAM_1_datMem_9[if2_datRAM_1_datMem_9_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_9_MPORT_1_data = if2_datRAM_1_io_dataw_9;
  assign if2_datRAM_1_datMem_9_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_9_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_9_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_10_MPORT_en = if2_datRAM_1_datMem_10_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_10_MPORT_addr = if2_datRAM_1_datMem_10_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_10_MPORT_data = if2_datRAM_1_datMem_10[if2_datRAM_1_datMem_10_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_10_MPORT_1_data = if2_datRAM_1_io_dataw_10;
  assign if2_datRAM_1_datMem_10_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_10_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_10_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_11_MPORT_en = if2_datRAM_1_datMem_11_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_11_MPORT_addr = if2_datRAM_1_datMem_11_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_11_MPORT_data = if2_datRAM_1_datMem_11[if2_datRAM_1_datMem_11_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_11_MPORT_1_data = if2_datRAM_1_io_dataw_11;
  assign if2_datRAM_1_datMem_11_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_11_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_11_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_12_MPORT_en = if2_datRAM_1_datMem_12_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_12_MPORT_addr = if2_datRAM_1_datMem_12_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_12_MPORT_data = if2_datRAM_1_datMem_12[if2_datRAM_1_datMem_12_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_12_MPORT_1_data = if2_datRAM_1_io_dataw_12;
  assign if2_datRAM_1_datMem_12_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_12_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_12_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_13_MPORT_en = if2_datRAM_1_datMem_13_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_13_MPORT_addr = if2_datRAM_1_datMem_13_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_13_MPORT_data = if2_datRAM_1_datMem_13[if2_datRAM_1_datMem_13_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_13_MPORT_1_data = if2_datRAM_1_io_dataw_13;
  assign if2_datRAM_1_datMem_13_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_13_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_13_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_14_MPORT_en = if2_datRAM_1_datMem_14_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_14_MPORT_addr = if2_datRAM_1_datMem_14_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_14_MPORT_data = if2_datRAM_1_datMem_14[if2_datRAM_1_datMem_14_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_14_MPORT_1_data = if2_datRAM_1_io_dataw_14;
  assign if2_datRAM_1_datMem_14_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_14_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_14_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_datMem_15_MPORT_en = if2_datRAM_1_datMem_15_MPORT_en_pipe_0;
  assign if2_datRAM_1_datMem_15_MPORT_addr = if2_datRAM_1_datMem_15_MPORT_addr_pipe_0;
  assign if2_datRAM_1_datMem_15_MPORT_data = if2_datRAM_1_datMem_15[if2_datRAM_1_datMem_15_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign if2_datRAM_1_datMem_15_MPORT_1_data = if2_datRAM_1_io_dataw_15;
  assign if2_datRAM_1_datMem_15_MPORT_1_addr = if2_datRAM_1_io_addrw;
  assign if2_datRAM_1_datMem_15_MPORT_1_mask = 1'h1;
  assign if2_datRAM_1_datMem_15_MPORT_1_en = if2_datRAM_1_io_enw;
  assign if2_datRAM_1_io_datar_0 = if2_datRAM_1_datMem_0_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_1 = if2_datRAM_1_datMem_1_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_2 = if2_datRAM_1_datMem_2_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_3 = if2_datRAM_1_datMem_3_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_4 = if2_datRAM_1_datMem_4_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_5 = if2_datRAM_1_datMem_5_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_6 = if2_datRAM_1_datMem_6_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_7 = if2_datRAM_1_datMem_7_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_8 = if2_datRAM_1_datMem_8_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_9 = if2_datRAM_1_datMem_9_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_10 = if2_datRAM_1_datMem_10_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_11 = if2_datRAM_1_datMem_11_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_12 = if2_datRAM_1_datMem_12_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_13 = if2_datRAM_1_datMem_13_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_14 = if2_datRAM_1_datMem_14_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_datRAM_1_io_datar_15 = if2_datRAM_1_datMem_15_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign if2_tagRAM_0_tagMem_io_datar_MPORT_en = if2_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0;
  assign if2_tagRAM_0_tagMem_io_datar_MPORT_addr = if2_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0;
  assign if2_tagRAM_0_tagMem_io_datar_MPORT_data = if2_tagRAM_0_tagMem[if2_tagRAM_0_tagMem_io_datar_MPORT_addr]; // @[CacheRAM.scala 152:27]
  assign if2_tagRAM_0_tagMem_MPORT_data = if2_tagRAM_0_io_dataw;
  assign if2_tagRAM_0_tagMem_MPORT_addr = if2_tagRAM_0_io_addrw;
  assign if2_tagRAM_0_tagMem_MPORT_mask = 1'h1;
  assign if2_tagRAM_0_tagMem_MPORT_en = if2_tagRAM_0_io_enw;
  assign if2_tagRAM_0_io_datar = if2_tagRAM_0_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 164:18 165:14]
  assign if2_tagRAM_1_tagMem_io_datar_MPORT_en = if2_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0;
  assign if2_tagRAM_1_tagMem_io_datar_MPORT_addr = if2_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0;
  assign if2_tagRAM_1_tagMem_io_datar_MPORT_data = if2_tagRAM_1_tagMem[if2_tagRAM_1_tagMem_io_datar_MPORT_addr]; // @[CacheRAM.scala 152:27]
  assign if2_tagRAM_1_tagMem_MPORT_data = if2_tagRAM_1_io_dataw;
  assign if2_tagRAM_1_tagMem_MPORT_addr = if2_tagRAM_1_io_addrw;
  assign if2_tagRAM_1_tagMem_MPORT_mask = 1'h1;
  assign if2_tagRAM_1_tagMem_MPORT_en = if2_tagRAM_1_io_enw;
  assign if2_tagRAM_1_io_datar = if2_tagRAM_1_tagMem_io_datar_MPORT_data; // @[CacheRAM.scala 164:18 165:14]
  assign if2_rpl_sel_rpl_prng_io_out_0 = if2_rpl_sel_rpl_prng_state_0; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_1 = if2_rpl_sel_rpl_prng_state_1; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_2 = if2_rpl_sel_rpl_prng_state_2; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_3 = if2_rpl_sel_rpl_prng_state_3; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_4 = if2_rpl_sel_rpl_prng_state_4; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_5 = if2_rpl_sel_rpl_prng_state_5; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_6 = if2_rpl_sel_rpl_prng_state_6; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_7 = if2_rpl_sel_rpl_prng_state_7; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_8 = if2_rpl_sel_rpl_prng_state_8; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_9 = if2_rpl_sel_rpl_prng_state_9; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_10 = if2_rpl_sel_rpl_prng_state_10; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_11 = if2_rpl_sel_rpl_prng_state_11; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_12 = if2_rpl_sel_rpl_prng_state_12; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_13 = if2_rpl_sel_rpl_prng_state_13; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_14 = if2_rpl_sel_rpl_prng_state_14; // @[PRNG.scala 78:10]
  assign if2_rpl_sel_rpl_prng_io_out_15 = if2_rpl_sel_rpl_prng_state_15; // @[PRNG.scala 78:10]
  assign if2_io_if2_req_ready = if2_io_if_mmu_ready; // @[IF2.scala 111:20]
  assign if2_io_if2_resp_0_valid = if2_ibuf_io_deq_0_valid; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_0_bits_pc = if2_ibuf_io_deq_0_bits_pc; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_0_bits_instr = if2_ibuf_io_deq_0_bits_instr; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_0_bits_isRedirect = if2_ibuf_io_deq_0_bits_isRedirect; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_1_valid = if2_ibuf_io_deq_1_valid; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_1_bits_pc = if2_ibuf_io_deq_1_bits_pc; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_1_bits_instr = if2_ibuf_io_deq_1_bits_instr; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_1_bits_isFault = if2_ibuf_io_deq_1_bits_isFault; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_1_bits_isRedirect = if2_ibuf_io_deq_1_bits_isRedirect; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_2_valid = if2_ibuf_io_deq_2_valid; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_2_bits_pc = if2_ibuf_io_deq_2_bits_pc; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_2_bits_instr = if2_ibuf_io_deq_2_bits_instr; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_2_bits_isFault = if2_ibuf_io_deq_2_bits_isFault; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_2_bits_isRedirect = if2_ibuf_io_deq_2_bits_isRedirect; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_3_valid = if2_ibuf_io_deq_3_valid; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_3_bits_pc = if2_ibuf_io_deq_3_bits_pc; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_3_bits_instr = if2_ibuf_io_deq_3_bits_instr; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_3_bits_isFault = if2_ibuf_io_deq_3_bits_isFault; // @[IF2.scala 75:15]
  assign if2_io_if2_resp_3_bits_isRedirect = if2_ibuf_io_deq_3_bits_isRedirect; // @[IF2.scala 75:15]
  assign if2_io_if_mmu_valid = if2_io_if2_req_valid; // @[IF2.scala 106:19]
  assign if2_io_if_mmu_bits_is_X = 1'h1; // @[IF2.scala 110:23]
  assign if2_io_if_mmu_bits_vaddr = if2_io_if2_req_bits_pc; // @[IF2.scala 107:24]
  assign if2_io_mmu_if_ready = if2__io_mmu_if_ready_T_2 & if2__io_mmu_if_ready_T_4; // @[IF2.scala 113:56]
  assign if2_io_if_cmm_ill_vaddr = if2_io_mmu_if_bits_vaddr; // @[IF2.scala 125:23]
  assign if2_io_icache_get_valid = if2__io_icache_get_valid_T_2 & if2__T_3; // @[IF2.scala 282:62]
  assign if2_io_icache_get_bits_opcode = 3'h4; // @[Edges.scala 447:17 448:15]
  assign if2_io_icache_get_bits_param = 3'h0; // @[Edges.scala 447:17 449:15]
  assign if2_io_icache_get_bits_size = 3'h4; // @[Edges.scala 447:17 450:15]
  assign if2_io_icache_get_bits_source = 1'h0; // @[Edges.scala 447:17 451:15]
  assign if2_io_icache_get_bits_address = if2__io_icache_get_bits_T_2[31:0]; // @[Edges.scala 447:17 452:15]
  assign if2_io_icache_get_bits_mask = 8'hff; // @[Cat.scala 33:92]
  assign if2_io_icache_get_bits_data = 64'h0; // @[Edges.scala 447:17 454:15]
  assign if2_io_icache_get_bits_corrupt = 1'h0; // @[Edges.scala 447:17 455:15]
  assign if2_io_icache_access_ready = 1'h1; // @[IF2.scala 290:26]
  assign if2_ibuf_clock = if2_clock;
  assign if2_ibuf_reset = if2_reset;
  assign if2_ibuf_io_enq_0_valid = if2__ibuf_io_enq_0_valid_T_10 | if2__ibuf_io_enq_0_valid_T_16; // @[IF2.scala 361:222]
  assign if2_ibuf_io_enq_0_bits_pc = if2__GEN_41[38:0];
  assign if2_ibuf_io_enq_0_bits_instr = if2__GEN_40[15:0];
  assign if2_ibuf_io_enq_0_bits_isFault = if2__is_access_fault_T | if2__is_paging_fault_T; // @[IF2.scala 343:60 348:33]
  assign if2_ibuf_io_enq_1_valid = if2__ibuf_io_enq_1_valid_T_9 & if2_io_if2_req_bits_isActive_1; // @[IF2.scala 365:217]
  assign if2_ibuf_io_enq_1_bits_pc = if2__ibuf_io_enq_1_bits_pc_T_1[38:0]; // @[IF2.scala 332:31]
  assign if2_ibuf_io_enq_1_bits_instr = if2__ibuf_io_enq_1_bits_instr_T[15:0]; // @[IF2.scala 331:31]
  assign if2_ibuf_io_enq_2_valid = if2__ibuf_io_enq_2_valid_T_9 & if2_io_if2_req_bits_isActive_2; // @[IF2.scala 365:217]
  assign if2_ibuf_io_enq_2_bits_pc = if2__ibuf_io_enq_2_bits_pc_T_1[38:0]; // @[IF2.scala 332:31]
  assign if2_ibuf_io_enq_2_bits_instr = if2__ibuf_io_enq_2_bits_instr_T[15:0]; // @[IF2.scala 331:31]
  assign if2_ibuf_io_enq_3_valid = if2__ibuf_io_enq_3_valid_T_9 & if2_io_if2_req_bits_isActive_3; // @[IF2.scala 365:217]
  assign if2_ibuf_io_enq_3_bits_pc = if2__ibuf_io_enq_3_bits_pc_T_1[38:0]; // @[IF2.scala 332:31]
  assign if2_ibuf_io_enq_3_bits_instr = if2__reAlign_instr_res_T[63:48]; // @[IF2.scala 331:48]
  assign if2_ibuf_io_deq_0_ready = if2_io_if2_resp_0_ready; // @[IF2.scala 75:15]
  assign if2_ibuf_io_deq_1_ready = if2_io_if2_resp_1_ready; // @[IF2.scala 75:15]
  assign if2_ibuf_io_deq_2_ready = if2_io_if2_resp_2_ready; // @[IF2.scala 75:15]
  assign if2_ibuf_io_deq_3_ready = if2_io_if2_resp_3_ready; // @[IF2.scala 75:15]
  assign if2_ibuf_io_flush = if2_io_flush; // @[IF2.scala 74:17]
  assign if2_datRAM_0_clock = if2_clock;
  assign if2_datRAM_0_io_addrr = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 236:47]
  assign if2_datRAM_0_io_addrw = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 237:47]
  assign if2_datRAM_0_io_dataw_0 = if2__icache_access_data_T[7:0]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_1 = if2__icache_access_data_T[15:8]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_2 = if2__icache_access_data_T[23:16]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_3 = if2__icache_access_data_T[31:24]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_4 = if2__icache_access_data_T[39:32]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_5 = if2__icache_access_data_T[47:40]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_6 = if2__icache_access_data_T[55:48]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_7 = if2__icache_access_data_T[63:56]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_8 = if2__icache_access_data_T[71:64]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_9 = if2__icache_access_data_T[79:72]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_10 = if2__icache_access_data_T[87:80]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_11 = if2__icache_access_data_T[95:88]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_12 = if2__icache_access_data_T[103:96]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_13 = if2__icache_access_data_T[111:104]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_14 = if2__icache_access_data_T[119:112]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_dataw_15 = if2__icache_access_data_T[127:120]; // @[IF2.scala 249:65]
  assign if2_datRAM_0_io_enw = if2__datRAM_0_io_enw_T_6 & if2__T_3; // @[IF2.scala 244:115]
  assign if2_datRAM_0_io_enr = if2__icache_state_dnxt_T | if2__icache_state_dnxt_T_10; // @[IF2.scala 241:52]
  assign if2_datRAM_1_clock = if2_clock;
  assign if2_datRAM_1_io_addrr = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 236:47]
  assign if2_datRAM_1_io_addrw = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 237:47]
  assign if2_datRAM_1_io_dataw_0 = if2__icache_access_data_T[7:0]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_1 = if2__icache_access_data_T[15:8]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_2 = if2__icache_access_data_T[23:16]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_3 = if2__icache_access_data_T[31:24]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_4 = if2__icache_access_data_T[39:32]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_5 = if2__icache_access_data_T[47:40]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_6 = if2__icache_access_data_T[55:48]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_7 = if2__icache_access_data_T[63:56]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_8 = if2__icache_access_data_T[71:64]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_9 = if2__icache_access_data_T[79:72]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_10 = if2__icache_access_data_T[87:80]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_11 = if2__icache_access_data_T[95:88]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_12 = if2__icache_access_data_T[103:96]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_13 = if2__icache_access_data_T[111:104]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_14 = if2__icache_access_data_T[119:112]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_dataw_15 = if2__icache_access_data_T[127:120]; // @[IF2.scala 249:65]
  assign if2_datRAM_1_io_enw = if2__datRAM_1_io_enw_T_6 & if2__T_3; // @[IF2.scala 244:115]
  assign if2_datRAM_1_io_enr = if2__icache_state_dnxt_T | if2__icache_state_dnxt_T_10; // @[IF2.scala 241:52]
  assign if2_tagRAM_0_clock = if2_clock;
  assign if2_tagRAM_0_io_addrr = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 238:47]
  assign if2_tagRAM_0_io_addrw = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 239:47]
  assign if2_tagRAM_0_io_dataw = if2_io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  assign if2_tagRAM_0_io_enw = if2__datRAM_0_io_enw_T_6 & if2__T_3; // @[IF2.scala 245:115]
  assign if2_tagRAM_0_io_enr = if2__icache_state_dnxt_T | if2__icache_state_dnxt_T_10; // @[IF2.scala 242:52]
  assign if2_tagRAM_1_clock = if2_clock;
  assign if2_tagRAM_1_io_addrr = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 238:47]
  assign if2_tagRAM_1_io_addrw = if2_io_mmu_if_bits_paddr[5:4]; // @[IF2.scala 239:47]
  assign if2_tagRAM_1_io_dataw = if2_io_mmu_if_bits_paddr[31:6]; // @[IF2.scala 80:37]
  assign if2_tagRAM_1_io_enw = if2__datRAM_1_io_enw_T_6 & if2__T_3; // @[IF2.scala 245:115]
  assign if2_tagRAM_1_io_enr = if2__icache_state_dnxt_T | if2__icache_state_dnxt_T_10; // @[IF2.scala 242:52]
  assign if2_rpl_sel_rpl_prng_clock = if2_clock;
  assign if2_rpl_sel_rpl_prng_reset = if2_reset;
  assign if2_rpl_sel_rpl_prng_io_increment = if2_icache_state_qout != 4'h2; // @[IF2.scala 225:37]
  assign if3_combPDT_io_enq_0_ready = if3_combPDT_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if3_combPDT_io_enq_1_ready = if3_combPDT_io_deq_1_ready; // @[RePort.scala 80:91]
  assign if3_combPDT_io_enq_2_ready = if3_combPDT_io_deq_2_ready; // @[RePort.scala 80:91]
  assign if3_combPDT_io_enq_3_ready = if3_combPDT_io_deq_3_ready; // @[RePort.scala 80:91]
  assign if3_combPDT_io_deq_0_valid = if3_combPDT__T_8 > 3'h0; // @[RePort.scala 79:81]
  assign if3_combPDT_io_deq_0_bits_isRVC = if3_combPDT__T_24 & if3_combPDT__GEN_3; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_0_bits_instr = if3_combPDT__T_24 ? if3_combPDT__GEN_43 : 32'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_0_bits_pc = if3_combPDT__T_24 ? if3_combPDT__GEN_47 : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_0_bits_isRedirect = 1'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_0_bits_target = 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_1_valid = if3_combPDT__T_8 > 3'h1; // @[RePort.scala 79:81]
  assign if3_combPDT_io_deq_1_bits_isRVC = if3_combPDT__T_25 & if3_combPDT__GEN_78; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_1_bits_instr = if3_combPDT__T_25 ? if3_combPDT__GEN_118 : 32'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_1_bits_pc = if3_combPDT__T_25 ? if3_combPDT__GEN_122 : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_1_bits_isRedirect = 1'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_1_bits_target = 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_2_valid = if3_combPDT__T_8 > 3'h2; // @[RePort.scala 79:81]
  assign if3_combPDT_io_deq_2_bits_isRVC = if3_combPDT__T_26 & if3_combPDT__GEN_153; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_2_bits_instr = if3_combPDT__T_26 ? if3_combPDT__GEN_193 : 32'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_2_bits_pc = if3_combPDT__T_26 ? if3_combPDT__GEN_197 : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_2_bits_isRedirect = 1'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_2_bits_target = 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_3_valid = if3_combPDT__T_8 > 3'h3; // @[RePort.scala 79:81]
  assign if3_combPDT_io_deq_3_bits_isRVC = if3_combPDT__T_27 & if3_combPDT__GEN_228; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_3_bits_instr = if3_combPDT__T_27 ? if3_combPDT__GEN_268 : 32'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_3_bits_pc = if3_combPDT__T_27 ? if3_combPDT__GEN_272 : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_3_bits_isRedirect = 1'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_combPDT_io_deq_3_bits_target = 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_en = 1'h1;
  assign if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_addr = 1'h0;
  assign if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_data =
    if3_btb_bypassFifo_ram_target[if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign if3_btb_bypassFifo_ram_target_MPORT_data = if3_btb_bypassFifo_io_enq_bits_target;
  assign if3_btb_bypassFifo_ram_target_MPORT_addr = 1'h0;
  assign if3_btb_bypassFifo_ram_target_MPORT_mask = 1'h1;
  assign if3_btb_bypassFifo_ram_target_MPORT_en = if3_btb_bypassFifo__empty_T ? if3_btb_bypassFifo__GEN_9 :
    if3_btb_bypassFifo__do_enq_T;
  assign if3_btb_bypassFifo_io_enq_ready = ~if3_btb_bypassFifo_maybe_full; // @[Decoupled.scala 305:19]
  assign if3_btb_bypassFifo_io_deq_valid = if3_btb_bypassFifo_io_enq_valid | if3_btb_bypassFifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign if3_btb_bypassFifo_io_deq_bits_target = if3_btb_bypassFifo__empty_T ? if3_btb_bypassFifo_io_enq_bits_target :
    if3_btb_bypassFifo_ram_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en =
    if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en_pipe_0;
  assign if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr =
    if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr_pipe_0;
  assign if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_data =
    if3_btb_btb_table_target[if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr]; // @[BTB.scala 54:32]
  assign if3_btb_btb_table_target_MPORT_data = if3_btb_por_reset ? 39'h80000000 : if3_btb_io_update_bits_target;
  assign if3_btb_btb_table_target_MPORT_addr = if3_btb_por_reset ? if3_btb_reset_cl :
    if3_btb_wr_cl_sel_out_out_out_out_out_1;
  assign if3_btb_btb_table_target_MPORT_mask = 1'h1;
  assign if3_btb_btb_table_target_MPORT_en = if3_btb_por_reset | if3_btb_io_update_valid;
  assign if3_btb_io_req_ready = if3_btb_bypassFifo_io_enq_ready; // @[BTB.scala 75:16]
  assign if3_btb_io_resp_valid = if3_btb_bypassFifo_io_deq_valid; // @[BTB.scala 77:17]
  assign if3_btb_io_resp_bits_target = if3_btb_bypassFifo_io_deq_bits_target; // @[BTB.scala 67:18]
  assign if3_btb_io_isReady = ~if3_btb_por_reset; // @[BTB.scala 49:19]
  assign if3_btb_bypassFifo_clock = if3_btb_clock;
  assign if3_btb_bypassFifo_reset = if3_btb_reset;
  assign if3_btb_bypassFifo_io_enq_valid = if3_btb_bypassFifo_io_enq_valid_REG; // @[BTB.scala 74:27]
  assign if3_btb_bypassFifo_io_enq_bits_target = if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_data; // @[BTB.scala 66:28]
  assign if3_btb_bypassFifo_io_deq_ready = if3_btb_io_resp_ready; // @[BTB.scala 78:27]
  assign if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en = if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en_pipe_0;
  assign if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr = if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr_pipe_0;
  assign if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_data =
    if3_bim_bim_P[if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr]; // @[BIM.scala 46:26]
  assign if3_bim_bim_P_MPORT_data = if3_bim_por_reset | if3_bim__T_6;
  assign if3_bim_bim_P_MPORT_addr = if3_bim_por_reset ? if3_bim_reset_cl : if3_bim_wr_cl_out_out_out_out_1;
  assign if3_bim_bim_P_MPORT_mask = 1'h1;
  assign if3_bim_bim_P_MPORT_en = if3_bim_por_reset | if3_bim__T_3;
  assign if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en = if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en_pipe_0;
  assign if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr = if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr_pipe_0;
  assign if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_data =
    if3_bim_bim_H[if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr]; // @[BIM.scala 52:26]
  assign if3_bim_bim_H_MPORT_1_data = if3_bim_por_reset ? 1'h0 : if3_bim__T_12;
  assign if3_bim_bim_H_MPORT_1_addr = if3_bim_por_reset ? if3_bim_reset_cl : if3_bim_wr_cl_out_out_out_out_1;
  assign if3_bim_bim_H_MPORT_1_mask = 1'h1;
  assign if3_bim_bim_H_MPORT_1_en = if3_bim_por_reset | if3_bim_io_update_valid;
  assign if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_en = 1'h1;
  assign if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_addr = 1'h0;
  assign if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_data =
    if3_bim_bypassFifo_ram_0[if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign if3_bim_bypassFifo_ram_0_MPORT_data = if3_bim_bypassFifo_io_enq_bits_0;
  assign if3_bim_bypassFifo_ram_0_MPORT_addr = 1'h0;
  assign if3_bim_bypassFifo_ram_0_MPORT_mask = 1'h1;
  assign if3_bim_bypassFifo_ram_0_MPORT_en = if3_bim_bypassFifo__empty_T ? if3_bim_bypassFifo__GEN_10 :
    if3_bim_bypassFifo__do_enq_T;
  assign if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_en = 1'h1;
  assign if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_addr = 1'h0;
  assign if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_data =
    if3_bim_bypassFifo_ram_1[if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign if3_bim_bypassFifo_ram_1_MPORT_data = if3_bim_bypassFifo_io_enq_bits_1;
  assign if3_bim_bypassFifo_ram_1_MPORT_addr = 1'h0;
  assign if3_bim_bypassFifo_ram_1_MPORT_mask = 1'h1;
  assign if3_bim_bypassFifo_ram_1_MPORT_en = if3_bim_bypassFifo__empty_T ? if3_bim_bypassFifo__GEN_10 :
    if3_bim_bypassFifo__do_enq_T;
  assign if3_bim_bypassFifo_io_enq_ready = ~if3_bim_bypassFifo_maybe_full; // @[Decoupled.scala 305:19]
  assign if3_bim_bypassFifo_io_deq_valid = if3_bim_bypassFifo_io_enq_valid | if3_bim_bypassFifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign if3_bim_bypassFifo_io_deq_bits_0 = if3_bim_bypassFifo__empty_T ? if3_bim_bypassFifo_io_enq_bits_0 :
    if3_bim_bypassFifo_ram_0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign if3_bim_bypassFifo_io_deq_bits_1 = if3_bim_bypassFifo__empty_T ? if3_bim_bypassFifo_io_enq_bits_1 :
    if3_bim_bypassFifo_ram_1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign if3_bim_io_req_ready = if3_bim_bypassFifo_io_enq_ready; // @[BIM.scala 89:161]
  assign if3_bim_io_resp_valid = if3_bim_bypassFifo_io_deq_valid; // @[BIM.scala 90:17]
  assign if3_bim_io_resp_bits_bim_p = if3_bim_bypassFifo_io_deq_bits_0; // @[BIM.scala 90:64]
  assign if3_bim_io_resp_bits_bim_h = if3_bim_bypassFifo_io_deq_bits_1; // @[BIM.scala 90:113]
  assign if3_bim_io_isReady = ~if3_bim_por_reset; // @[BIM.scala 40:17]
  assign if3_bim_bypassFifo_clock = if3_bim_clock;
  assign if3_bim_bypassFifo_reset = if3_bim_reset;
  assign if3_bim_bypassFifo_io_enq_valid = if3_bim_bypassFifo_io_enq_valid_REG; // @[BIM.scala 89:27]
  assign if3_bim_bypassFifo_io_enq_bits_0 = if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_data; // @[BIM.scala 89:78]
  assign if3_bim_bypassFifo_io_enq_bits_1 = if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_data; // @[BIM.scala 89:126]
  assign if3_bim_bypassFifo_io_deq_ready = if3_bim_io_resp_ready; // @[BIM.scala 90:167]
  assign if3_tage_io_resp_valid = 1'h0; // @[TAGE.scala 204:19]
  assign if3_btbFifo_fifo_io_enq_0_ready = ~if3_btbFifo_fifo__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if3_btbFifo_fifo_io_deq_0_valid = if3_btbFifo_fifo__io_deq_0_valid_T_1 ? if3_btbFifo_fifo_buf_valid_1 :
    if3_btbFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if3_btbFifo_fifo_io_deq_0_bits_target = if3_btbFifo_fifo__io_deq_0_valid_T_1 ? if3_btbFifo_fifo_buf_1_target :
    if3_btbFifo_fifo_buf_0_target; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_btbFifo_rePortIn_io_enq_0_ready = if3_btbFifo_rePortIn_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if3_btbFifo_rePortIn_io_deq_0_valid = if3_btbFifo_rePortIn__T > 1'h0; // @[RePort.scala 79:81]
  assign if3_btbFifo_rePortIn_io_deq_0_bits_target = if3_btbFifo_rePortIn__T_6 ?
    if3_btbFifo_rePortIn_io_enq_0_bits_target : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_btbFifo_zipPort_io_enq_0_ready = if3_btbFifo_zipPort__T_2 ? 1'h0 : if3_btbFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 242:23]
  assign if3_btbFifo_zipPort_io_enq_1_ready = if3_btbFifo_zipPort__T_2 & if3_btbFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 243:23]
  assign if3_btbFifo_zipPort_io_deq_0_valid = if3_btbFifo_zipPort__T_2 | if3_btbFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:64 236:23]
  assign if3_btbFifo_zipPort_io_deq_0_bits_target = if3_btbFifo_zipPort__T_2 ? if3_btbFifo_zipPort_io_enq_1_bits_target
     : if3_btbFifo_zipPort_io_enq_0_bits_target; // @[RePort.scala 235:64 239:23]
  assign if3_btbFifo_io_enq_0_ready = if3_btbFifo_rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 128:23]
  assign if3_btbFifo_io_deq_0_valid = if3_btbFifo_zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 142:27]
  assign if3_btbFifo_io_deq_0_bits_target = if3_btbFifo_zipPort_io_deq_0_bits_target; // @[MultiPortFifo.scala 142:27]
  assign if3_btbFifo_fifo_clock = if3_btbFifo_clock;
  assign if3_btbFifo_fifo_reset = if3_btbFifo_reset;
  assign if3_btbFifo_fifo_io_enq_0_valid = if3_btbFifo_rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 129:23]
  assign if3_btbFifo_fifo_io_enq_0_bits_target = if3_btbFifo_rePortIn_io_deq_0_bits_target; // @[MultiPortFifo.scala 129:23]
  assign if3_btbFifo_fifo_io_deq_0_ready = if3_btbFifo_zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 132:27]
  assign if3_btbFifo_fifo_io_flush = if3_btbFifo_io_flush; // @[MultiPortFifo.scala 148:21]
  assign if3_btbFifo_rePortIn_clock = if3_btbFifo_clock;
  assign if3_btbFifo_rePortIn_reset = if3_btbFifo_reset;
  assign if3_btbFifo_rePortIn_io_enq_0_valid = if3_btbFifo__T ? 1'h0 : if3_btbFifo_io_enq_0_valid; // @[MultiPortFifo.scala 128:23 151:44 152:36]
  assign if3_btbFifo_rePortIn_io_enq_0_bits_target = if3_btbFifo__T ? 39'h0 : if3_btbFifo_io_enq_0_bits_target; // @[MultiPortFifo.scala 128:23 151:44 153:36]
  assign if3_btbFifo_rePortIn_io_deq_0_ready = if3_btbFifo_fifo_io_enq_0_ready; // @[MultiPortFifo.scala 129:23]
  assign if3_btbFifo_zipPort_io_enq_0_valid = if3_btbFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 132:27]
  assign if3_btbFifo_zipPort_io_enq_0_bits_target = if3_btbFifo_fifo_io_deq_0_bits_target; // @[MultiPortFifo.scala 132:27]
  assign if3_btbFifo_zipPort_io_enq_1_valid = if3_btbFifo_io_enq_0_valid; // @[MultiPortFifo.scala 136:33]
  assign if3_btbFifo_zipPort_io_enq_1_bits_target = if3_btbFifo_io_enq_0_bits_target; // @[MultiPortFifo.scala 137:33]
  assign if3_btbFifo_zipPort_io_deq_0_ready = if3_btbFifo_io_deq_0_ready; // @[MultiPortFifo.scala 142:27]
  assign if3_bimFifo_fifo_io_enq_0_ready = ~if3_bimFifo_fifo__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if3_bimFifo_fifo_io_deq_0_valid = if3_bimFifo_fifo__io_deq_0_valid_T_1 ? if3_bimFifo_fifo_buf_valid_1 :
    if3_bimFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if3_bimFifo_fifo_io_deq_0_bits_bim_p = if3_bimFifo_fifo__io_deq_0_valid_T_1 ? if3_bimFifo_fifo_buf_1_bim_p :
    if3_bimFifo_fifo_buf_0_bim_p; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_bimFifo_fifo_io_deq_0_bits_bim_h = if3_bimFifo_fifo__io_deq_0_valid_T_1 ? if3_bimFifo_fifo_buf_1_bim_h :
    if3_bimFifo_fifo_buf_0_bim_h; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_bimFifo_rePortIn_io_enq_0_ready = if3_bimFifo_rePortIn_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if3_bimFifo_rePortIn_io_deq_0_valid = if3_bimFifo_rePortIn__T > 1'h0; // @[RePort.scala 79:81]
  assign if3_bimFifo_rePortIn_io_deq_0_bits_bim_p = if3_bimFifo_rePortIn__T_6 & if3_bimFifo_rePortIn_io_enq_0_bits_bim_p
    ; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_bimFifo_rePortIn_io_deq_0_bits_bim_h = if3_bimFifo_rePortIn__T_6 & if3_bimFifo_rePortIn_io_enq_0_bits_bim_h
    ; // @[RePort.scala 37:21 75:24 76:22]
  assign if3_bimFifo_zipPort_io_enq_0_ready = if3_bimFifo_zipPort__T_2 ? 1'h0 : if3_bimFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 242:23]
  assign if3_bimFifo_zipPort_io_enq_1_ready = if3_bimFifo_zipPort__T_2 & if3_bimFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 243:23]
  assign if3_bimFifo_zipPort_io_deq_0_valid = if3_bimFifo_zipPort__T_2 | if3_bimFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:64 236:23]
  assign if3_bimFifo_zipPort_io_deq_0_bits_bim_p = if3_bimFifo_zipPort__T_2 ? if3_bimFifo_zipPort_io_enq_1_bits_bim_p :
    if3_bimFifo_zipPort_io_enq_0_bits_bim_p; // @[RePort.scala 235:64 239:23]
  assign if3_bimFifo_zipPort_io_deq_0_bits_bim_h = if3_bimFifo_zipPort__T_2 ? if3_bimFifo_zipPort_io_enq_1_bits_bim_h :
    if3_bimFifo_zipPort_io_enq_0_bits_bim_h; // @[RePort.scala 235:64 239:23]
  assign if3_bimFifo_io_enq_0_ready = if3_bimFifo_rePortIn_io_enq_0_ready; // @[MultiPortFifo.scala 128:23]
  assign if3_bimFifo_io_deq_0_valid = if3_bimFifo_zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 142:27]
  assign if3_bimFifo_io_deq_0_bits_bim_p = if3_bimFifo_zipPort_io_deq_0_bits_bim_p; // @[MultiPortFifo.scala 142:27]
  assign if3_bimFifo_io_deq_0_bits_bim_h = if3_bimFifo_zipPort_io_deq_0_bits_bim_h; // @[MultiPortFifo.scala 142:27]
  assign if3_bimFifo_fifo_clock = if3_bimFifo_clock;
  assign if3_bimFifo_fifo_reset = if3_bimFifo_reset;
  assign if3_bimFifo_fifo_io_enq_0_valid = if3_bimFifo_rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 129:23]
  assign if3_bimFifo_fifo_io_enq_0_bits_bim_p = if3_bimFifo_rePortIn_io_deq_0_bits_bim_p; // @[MultiPortFifo.scala 129:23]
  assign if3_bimFifo_fifo_io_enq_0_bits_bim_h = if3_bimFifo_rePortIn_io_deq_0_bits_bim_h; // @[MultiPortFifo.scala 129:23]
  assign if3_bimFifo_fifo_io_deq_0_ready = if3_bimFifo_zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 132:27]
  assign if3_bimFifo_fifo_io_flush = if3_bimFifo_io_flush; // @[MultiPortFifo.scala 148:21]
  assign if3_bimFifo_rePortIn_clock = if3_bimFifo_clock;
  assign if3_bimFifo_rePortIn_reset = if3_bimFifo_reset;
  assign if3_bimFifo_rePortIn_io_enq_0_valid = if3_bimFifo__T ? 1'h0 : if3_bimFifo_io_enq_0_valid; // @[MultiPortFifo.scala 128:23 151:44 152:36]
  assign if3_bimFifo_rePortIn_io_enq_0_bits_bim_p = if3_bimFifo__T ? 1'h0 : if3_bimFifo_io_enq_0_bits_bim_p; // @[MultiPortFifo.scala 128:23 151:44 153:36]
  assign if3_bimFifo_rePortIn_io_enq_0_bits_bim_h = if3_bimFifo__T ? 1'h0 : if3_bimFifo_io_enq_0_bits_bim_h; // @[MultiPortFifo.scala 128:23 151:44 153:36]
  assign if3_bimFifo_rePortIn_io_deq_0_ready = if3_bimFifo_fifo_io_enq_0_ready; // @[MultiPortFifo.scala 129:23]
  assign if3_bimFifo_zipPort_io_enq_0_valid = if3_bimFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 132:27]
  assign if3_bimFifo_zipPort_io_enq_0_bits_bim_p = if3_bimFifo_fifo_io_deq_0_bits_bim_p; // @[MultiPortFifo.scala 132:27]
  assign if3_bimFifo_zipPort_io_enq_0_bits_bim_h = if3_bimFifo_fifo_io_deq_0_bits_bim_h; // @[MultiPortFifo.scala 132:27]
  assign if3_bimFifo_zipPort_io_enq_1_valid = if3_bimFifo_io_enq_0_valid; // @[MultiPortFifo.scala 136:33]
  assign if3_bimFifo_zipPort_io_enq_1_bits_bim_p = if3_bimFifo_io_enq_0_bits_bim_p; // @[MultiPortFifo.scala 137:33]
  assign if3_bimFifo_zipPort_io_enq_1_bits_bim_h = if3_bimFifo_io_enq_0_bits_bim_h; // @[MultiPortFifo.scala 137:33]
  assign if3_bimFifo_zipPort_io_deq_0_ready = if3_bimFifo_io_deq_0_ready; // @[MultiPortFifo.scala 142:27]
  assign if3_tageFifo_fifo_io_enq_0_ready = ~if3_tageFifo_fifo__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if3_tageFifo_fifo_io_deq_0_valid = if3_tageFifo_fifo__io_deq_0_valid_T_1 ? if3_tageFifo_fifo_buf_valid_1 :
    if3_tageFifo_fifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if3_tageFifo_rePortIn_io_enq_0_ready = if3_tageFifo_rePortIn_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if3_tageFifo_rePortIn_io_deq_0_valid = if3_tageFifo_rePortIn__T > 1'h0; // @[RePort.scala 79:81]
  assign if3_tageFifo_zipPort_io_enq_0_ready = if3_tageFifo_zipPort__T_2 ? 1'h0 : if3_tageFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 242:23]
  assign if3_tageFifo_zipPort_io_enq_1_ready = if3_tageFifo_zipPort__T_2 & if3_tageFifo_zipPort_io_deq_0_ready; // @[RePort.scala 235:64 243:23]
  assign if3_tageFifo_zipPort_io_deq_0_valid = if3_tageFifo_zipPort__T_2 | if3_tageFifo_zipPort_io_enq_0_valid; // @[RePort.scala 235:64 236:23]
  assign if3_tageFifo_io_deq_0_valid = if3_tageFifo_zipPort_io_deq_0_valid; // @[MultiPortFifo.scala 142:27]
  assign if3_tageFifo_fifo_clock = if3_tageFifo_clock;
  assign if3_tageFifo_fifo_reset = if3_tageFifo_reset;
  assign if3_tageFifo_fifo_io_enq_0_valid = if3_tageFifo_rePortIn_io_deq_0_valid; // @[MultiPortFifo.scala 129:23]
  assign if3_tageFifo_fifo_io_deq_0_ready = if3_tageFifo_zipPort_io_enq_0_ready; // @[MultiPortFifo.scala 132:27]
  assign if3_tageFifo_fifo_io_flush = if3_tageFifo_io_flush; // @[MultiPortFifo.scala 148:21]
  assign if3_tageFifo_rePortIn_clock = if3_tageFifo_clock;
  assign if3_tageFifo_rePortIn_reset = if3_tageFifo_reset;
  assign if3_tageFifo_rePortIn_io_enq_0_valid = if3_tageFifo__T ? 1'h0 : if3_tageFifo_io_enq_0_valid; // @[MultiPortFifo.scala 128:23 151:44 152:36]
  assign if3_tageFifo_rePortIn_io_deq_0_ready = if3_tageFifo_fifo_io_enq_0_ready; // @[MultiPortFifo.scala 129:23]
  assign if3_tageFifo_zipPort_io_enq_0_valid = if3_tageFifo_fifo_io_deq_0_valid; // @[MultiPortFifo.scala 132:27]
  assign if3_tageFifo_zipPort_io_enq_1_valid = if3_tageFifo_io_enq_0_valid; // @[MultiPortFifo.scala 136:33]
  assign if3_tageFifo_zipPort_io_deq_0_ready = if3_tageFifo_io_deq_0_ready; // @[MultiPortFifo.scala 142:27]
  assign if3_if3_resp_fifo_io_enq_0_ready = ~if3_if3_resp_fifo__GEN_3; // @[MultiPortFifo.scala 64:94]
  assign if3_if3_resp_fifo_io_enq_1_ready = ~if3_if3_resp_fifo__GEN_7; // @[MultiPortFifo.scala 64:94]
  assign if3_if3_resp_fifo_io_enq_2_ready = ~if3_if3_resp_fifo__GEN_11; // @[MultiPortFifo.scala 64:94]
  assign if3_if3_resp_fifo_io_enq_3_ready = ~if3_if3_resp_fifo__GEN_15; // @[MultiPortFifo.scala 64:94]
  assign if3_if3_resp_fifo_io_deq_0_valid = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_valid_3 : if3_if3_resp_fifo__GEN_18; // @[MultiPortFifo.scala 65:{94,94}]
  assign if3_if3_resp_fifo_io_deq_0_bits_isRVC = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_3_isRVC : if3_if3_resp_fifo__GEN_660; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_if3_resp_fifo_io_deq_0_bits_instr = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_3_instr : if3_if3_resp_fifo__GEN_670; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_if3_resp_fifo_io_deq_0_bits_pc = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ? if3_if3_resp_fifo_buf_3_pc
     : if3_if3_resp_fifo__GEN_671; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_if3_resp_fifo_io_deq_0_bits_isRedirect = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_3_isRedirect : if3_if3_resp_fifo__GEN_673; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_if3_resp_fifo_io_deq_0_bits_target = 2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1 ?
    if3_if3_resp_fifo_buf_3_target : if3_if3_resp_fifo__GEN_674; // @[MultiPortFifo.scala 114:{14,14}]
  assign if3_io_if3_req_0_ready = if3_is_instr32_0 ? if3__io_if3_req_0_ready_T_3 : if3__io_if3_req_0_ready_T_2; // @[IF3.scala 102:31]
  assign if3_io_if3_req_1_ready = if3__T_3 ? if3__GEN_83 : if3__GEN_34; // @[IF3.scala 101:33]
  assign if3_io_if3_req_2_ready = if3__T_6 ? if3__GEN_130 : if3__GEN_102; // @[IF3.scala 101:33]
  assign if3_io_if3_req_3_ready = if3__T_72 ? if3__GEN_166 : if3__GEN_148; // @[IF3.scala 101:33]
  assign if3_io_if3_resp_0_valid = if3_if3_resp_fifo_io_deq_0_valid; // @[IF3.scala 71:15]
  assign if3_io_if3_resp_0_bits_isRVC = if3_if3_resp_fifo_io_deq_0_bits_isRVC; // @[IF3.scala 71:15]
  assign if3_io_if3_resp_0_bits_instr = if3_if3_resp_fifo_io_deq_0_bits_instr; // @[IF3.scala 71:15]
  assign if3_io_if3_resp_0_bits_pc = if3_if3_resp_fifo_io_deq_0_bits_pc; // @[IF3.scala 71:15]
  assign if3_io_if3_resp_0_bits_isRedirect = if3_if3_resp_fifo_io_deq_0_bits_isRedirect; // @[IF3.scala 71:15]
  assign if3_io_if3_resp_0_bits_target = if3_if3_resp_fifo_io_deq_0_bits_target; // @[IF3.scala 71:15]
  assign if3_io_btbResp_0_valid = if3_btbFifo_io_deq_0_valid; // @[IF3.scala 397:19]
  assign if3_io_btbResp_0_bits_target = if3_btbFifo_io_deq_0_bits_target; // @[IF3.scala 397:19]
  assign if3_io_bimResp_0_valid = if3_bimFifo_io_deq_0_valid; // @[IF3.scala 398:19]
  assign if3_io_bimResp_0_bits_bim_p = if3_bimFifo_io_deq_0_bits_bim_p; // @[IF3.scala 398:19]
  assign if3_io_bimResp_0_bits_bim_h = if3_bimFifo_io_deq_0_bits_bim_h; // @[IF3.scala 398:19]
  assign if3_combPDT_clock = if3_clock;
  assign if3_combPDT_reset = if3_reset;
  assign if3_combPDT_io_enq_0_valid = if3_is_instr32_0 ? if3__reAlign_0_valid_T_5 : if3__reAlign_0_valid_T_21; // @[IF3.scala 102:31]
  assign if3_combPDT_io_enq_0_bits_isRVC = if3_is_instr32_0 ? if3_io_if3_req_1_bits_isFault : 1'h1; // @[IF3.scala 102:31 107:31 138:31]
  assign if3_combPDT_io_enq_0_bits_instr = if3_is_instr32_0 ? if3__reAlign_0_bits_instr_T_1 : {{16'd0},
    if3_io_if3_req_0_bits_instr}; // @[IF3.scala 102:31 106:38 137:33]
  assign if3_combPDT_io_enq_0_bits_pc = if3_io_if3_req_0_bits_pc; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_1_valid = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_308; // @[IF3.scala 234:29 236:26]
  assign if3_combPDT_io_enq_1_bits_isRVC = if3__T_3 & if3__GEN_95; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_1_bits_instr = if3__T_3 ? if3__GEN_71 : 32'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_1_bits_pc = if3__T_3 ? if3_io_if3_req_1_bits_pc : 39'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_2_valid = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_310; // @[IF3.scala 234:29 236:26]
  assign if3_combPDT_io_enq_2_bits_isRVC = if3__T_6 & if3__GEN_141; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_2_bits_instr = if3__T_6 ? if3__GEN_118 : 32'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_2_bits_pc = if3__T_6 ? if3_io_if3_req_2_bits_pc : 39'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_3_valid = if3_is_lock_pipe_0 ? 1'h0 : if3__GEN_312; // @[IF3.scala 234:29 236:26]
  assign if3_combPDT_io_enq_3_bits_isRVC = if3__T_72 & if3__GEN_164; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_3_bits_instr = if3__T_72 ? if3__GEN_154 : 32'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_enq_3_bits_pc = if3__T_72 ? if3__GEN_151 : 39'h0; // @[IF3.scala 101:33 96:22]
  assign if3_combPDT_io_deq_0_ready = if3_if3_resp_fifo_io_enq_0_ready; // @[IF3.scala 70:24]
  assign if3_combPDT_io_deq_1_ready = if3_if3_resp_fifo_io_enq_1_ready; // @[IF3.scala 70:24]
  assign if3_combPDT_io_deq_2_ready = if3_if3_resp_fifo_io_enq_2_ready; // @[IF3.scala 70:24]
  assign if3_combPDT_io_deq_3_ready = if3_if3_resp_fifo_io_enq_3_ready; // @[IF3.scala 70:24]
  assign if3_btb_clock = if3_clock;
  assign if3_btb_reset = if3_reset;
  assign if3_btb_io_req_valid = if3__GEN_23 ? if3__btb_io_req_valid_T_11 : if3__GEN_269; // @[IF3.scala 196:27]
  assign if3_btb_io_req_bits_pc = if3__GEN_23 ? if3_io_if3_req_0_bits_pc : if3__GEN_270; // @[IF3.scala 196:27]
  assign if3_btb_io_resp_ready = if3_btbFifo_io_enq_0_ready; // @[IF3.scala 393:22]
  assign if3_btb_io_update_valid = if3_io_jcmm_update_valid; // @[IF3.scala 284:33]
  assign if3_btb_io_update_bits_target = if3_io_jcmm_update_bits_finalTarget[38:0]; // @[IF3.scala 286:33]
  assign if3_btb_io_update_bits_pc = if3_io_jcmm_update_bits_pc; // @[IF3.scala 285:33]
  assign if3_bim_clock = if3_clock;
  assign if3_bim_reset = if3_reset;
  assign if3_bim_io_req_valid = if3__GEN_24 ? if3__btb_io_req_valid_T_11 : if3__GEN_275; // @[IF3.scala 207:27]
  assign if3_bim_io_req_bits_pc = if3__GEN_24 ? if3_io_if3_req_0_bits_pc : if3__GEN_276; // @[IF3.scala 207:27]
  assign if3_bim_io_resp_ready = if3_bimFifo_io_enq_0_ready; // @[IF3.scala 394:22]
  assign if3_bim_io_update_valid = if3_io_bcmm_update_valid; // @[IF3.scala 288:38]
  assign if3_bim_io_update_bits_bim_p = if3_io_bcmm_update_bits_bimResp_bim_p; // @[IF3.scala 289:60]
  assign if3_bim_io_update_bits_bim_h = if3_io_bcmm_update_bits_bimResp_bim_h; // @[IF3.scala 289:60]
  assign if3_bim_io_update_bits_pc = if3_io_bcmm_update_bits_pc; // @[IF3.scala 290:38]
  assign if3_bim_io_update_bits_isFinalTaken = if3_io_bcmm_update_bits_isFinalTaken; // @[IF3.scala 291:38]
  assign if3_btbFifo_clock = if3_clock;
  assign if3_btbFifo_reset = if3_reset;
  assign if3_btbFifo_io_enq_0_valid = if3_btb_io_resp_valid; // @[IF3.scala 393:22]
  assign if3_btbFifo_io_enq_0_bits_target = if3_btb_io_resp_bits_target; // @[IF3.scala 393:22]
  assign if3_btbFifo_io_deq_0_ready = if3_io_btbResp_0_ready; // @[IF3.scala 397:19]
  assign if3_btbFifo_io_flush = if3_io_flush | if3_io_if4Redirect_valid; // @[IF3.scala 401:33]
  assign if3_bimFifo_clock = if3_clock;
  assign if3_bimFifo_reset = if3_reset;
  assign if3_bimFifo_io_enq_0_valid = if3_bim_io_resp_valid; // @[IF3.scala 394:22]
  assign if3_bimFifo_io_enq_0_bits_bim_p = if3_bim_io_resp_bits_bim_p; // @[IF3.scala 394:22]
  assign if3_bimFifo_io_enq_0_bits_bim_h = if3_bim_io_resp_bits_bim_h; // @[IF3.scala 394:22]
  assign if3_bimFifo_io_deq_0_ready = if3_io_bimResp_0_ready; // @[IF3.scala 398:19]
  assign if3_bimFifo_io_flush = if3_io_flush | if3_io_if4Redirect_valid; // @[IF3.scala 402:33]
  assign if3_tageFifo_clock = if3_clock;
  assign if3_tageFifo_reset = if3_reset;
  assign if3_tageFifo_io_enq_0_valid = if3_tage_io_resp_valid; // @[IF3.scala 395:22]
  assign if3_tageFifo_io_deq_0_ready = if3_io_tageResp_0_ready; // @[IF3.scala 399:19]
  assign if3_tageFifo_io_flush = if3_io_flush | if3_io_if4Redirect_valid; // @[IF3.scala 403:33]
  assign if3_if3_resp_fifo_clock = if3_clock;
  assign if3_if3_resp_fifo_reset = if3_reset;
  assign if3_if3_resp_fifo_io_enq_0_valid = if3_combPDT_io_deq_0_valid; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_0_bits_isRVC = if3_combPDT_io_deq_0_bits_isRVC; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_0_bits_instr = if3_combPDT_io_deq_0_bits_instr; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_0_bits_pc = if3_combPDT_io_deq_0_bits_pc; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_0_bits_isRedirect = if3_combPDT_io_deq_0_bits_isRedirect; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_0_bits_target = if3_combPDT_io_deq_0_bits_target; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_valid = if3_combPDT_io_deq_1_valid; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_bits_isRVC = if3_combPDT_io_deq_1_bits_isRVC; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_bits_instr = if3_combPDT_io_deq_1_bits_instr; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_bits_pc = if3_combPDT_io_deq_1_bits_pc; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_bits_isRedirect = if3_combPDT_io_deq_1_bits_isRedirect; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_1_bits_target = if3_combPDT_io_deq_1_bits_target; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_valid = if3_combPDT_io_deq_2_valid; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_bits_isRVC = if3_combPDT_io_deq_2_bits_isRVC; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_bits_instr = if3_combPDT_io_deq_2_bits_instr; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_bits_pc = if3_combPDT_io_deq_2_bits_pc; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_bits_isRedirect = if3_combPDT_io_deq_2_bits_isRedirect; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_2_bits_target = if3_combPDT_io_deq_2_bits_target; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_valid = if3_combPDT_io_deq_3_valid; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_bits_isRVC = if3_combPDT_io_deq_3_bits_isRVC; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_bits_instr = if3_combPDT_io_deq_3_bits_instr; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_bits_pc = if3_combPDT_io_deq_3_bits_pc; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_bits_isRedirect = if3_combPDT_io_deq_3_bits_isRedirect; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_enq_3_bits_target = if3_combPDT_io_deq_3_bits_target; // @[IF3.scala 70:24]
  assign if3_if3_resp_fifo_io_deq_0_ready = if3_io_if3_resp_0_ready; // @[IF3.scala 71:15]
  assign if3_if3_resp_fifo_io_flush = if3_io_if4Redirect_valid | if3_io_flush; // @[IF3.scala 69:49]
  assign if4_ras_buf_target_io_deq_bits_MPORT_en = 1'h1;
  assign if4_ras_buf_target_io_deq_bits_MPORT_addr = if4_ras__rd_idx_T - 2'h1;
  assign if4_ras_buf_target_io_deq_bits_MPORT_data = if4_ras_buf_target[if4_ras_buf_target_io_deq_bits_MPORT_addr]; // @[RAS.scala 43:18]
  assign if4_ras_buf_target_MPORT_data = if4_ras_io_enq_bits_target;
  assign if4_ras_buf_target_MPORT_addr = if4_ras_top_ptr[1:0];
  assign if4_ras_buf_target_MPORT_mask = 1'h1;
  assign if4_ras_buf_target_MPORT_en = if4_ras_io_enq_valid;
  assign if4_ras_io_deq_valid = ~if4_ras_is_empty; // @[RAS.scala 75:22]
  assign if4_ras_io_deq_bits_target = if4_ras_io_deq_bits_REG_target; // @[RAS.scala 76:19]
  assign if4_instr_fifo_io_enq_0_ready = ~if4_instr_fifo__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if4_instr_fifo_io_deq_0_valid = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_valid_1 :
    if4_instr_fifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_lui = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_lui : if4_instr_fifo_buf_0_alu_isa_lui; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_auipc = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_auipc : if4_instr_fifo_buf_0_alu_isa_auipc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_addi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_addi : if4_instr_fifo_buf_0_alu_isa_addi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_addiw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_addiw : if4_instr_fifo_buf_0_alu_isa_addiw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_slti = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_slti : if4_instr_fifo_buf_0_alu_isa_slti; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sltiu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sltiu : if4_instr_fifo_buf_0_alu_isa_sltiu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_xori = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_xori : if4_instr_fifo_buf_0_alu_isa_xori; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_ori = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_ori : if4_instr_fifo_buf_0_alu_isa_ori; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_andi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_andi : if4_instr_fifo_buf_0_alu_isa_andi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_slli = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_slli : if4_instr_fifo_buf_0_alu_isa_slli; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_slliw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_slliw : if4_instr_fifo_buf_0_alu_isa_slliw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_srli = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_srli : if4_instr_fifo_buf_0_alu_isa_srli; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_srliw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_srliw : if4_instr_fifo_buf_0_alu_isa_srliw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_srai = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_srai : if4_instr_fifo_buf_0_alu_isa_srai; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sraiw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sraiw : if4_instr_fifo_buf_0_alu_isa_sraiw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_add = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_add : if4_instr_fifo_buf_0_alu_isa_add; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_addw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_addw : if4_instr_fifo_buf_0_alu_isa_addw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sub = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sub : if4_instr_fifo_buf_0_alu_isa_sub; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_subw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_subw : if4_instr_fifo_buf_0_alu_isa_subw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sll = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sll : if4_instr_fifo_buf_0_alu_isa_sll; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sllw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sllw : if4_instr_fifo_buf_0_alu_isa_sllw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_slt = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_slt : if4_instr_fifo_buf_0_alu_isa_slt; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sltu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sltu : if4_instr_fifo_buf_0_alu_isa_sltu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_xor = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_xor : if4_instr_fifo_buf_0_alu_isa_xor; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_srl = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_srl : if4_instr_fifo_buf_0_alu_isa_srl; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_srlw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_srlw : if4_instr_fifo_buf_0_alu_isa_srlw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sra = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sra : if4_instr_fifo_buf_0_alu_isa_sra; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_sraw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_sraw : if4_instr_fifo_buf_0_alu_isa_sraw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_or = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_alu_isa_or
     : if4_instr_fifo_buf_0_alu_isa_or; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_and = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_and : if4_instr_fifo_buf_0_alu_isa_and; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_alu_isa_wfi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_alu_isa_wfi : if4_instr_fifo_buf_0_alu_isa_wfi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_jal = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_jal : if4_instr_fifo_buf_0_bru_isa_jal; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_jalr = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_jalr : if4_instr_fifo_buf_0_bru_isa_jalr; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_beq = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_beq : if4_instr_fifo_buf_0_bru_isa_beq; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_bne = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_bne : if4_instr_fifo_buf_0_bru_isa_bne; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_blt = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_blt : if4_instr_fifo_buf_0_bru_isa_blt; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_bge = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_bge : if4_instr_fifo_buf_0_bru_isa_bge; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_bltu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_bltu : if4_instr_fifo_buf_0_bru_isa_bltu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_bru_isa_bgeu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_bru_isa_bgeu : if4_instr_fifo_buf_0_bru_isa_bgeu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lb = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_lb
     : if4_instr_fifo_buf_0_lsu_isa_lb; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lh = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_lh
     : if4_instr_fifo_buf_0_lsu_isa_lh; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lw = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_lw
     : if4_instr_fifo_buf_0_lsu_isa_lw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_ld = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_ld
     : if4_instr_fifo_buf_0_lsu_isa_ld; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lbu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_lbu : if4_instr_fifo_buf_0_lsu_isa_lbu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lhu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_lhu : if4_instr_fifo_buf_0_lsu_isa_lhu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lwu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_lwu : if4_instr_fifo_buf_0_lsu_isa_lwu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sb = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_sb
     : if4_instr_fifo_buf_0_lsu_isa_sb; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sh = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_sh
     : if4_instr_fifo_buf_0_lsu_isa_sh; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sw = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_sw
     : if4_instr_fifo_buf_0_lsu_isa_sw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sd = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_lsu_isa_sd
     : if4_instr_fifo_buf_0_lsu_isa_sd; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_fence = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_fence : if4_instr_fifo_buf_0_lsu_isa_fence; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_fence_i = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_fence_i : if4_instr_fifo_buf_0_lsu_isa_fence_i; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sfence_vma = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_sfence_vma : if4_instr_fifo_buf_0_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_lr_w : if4_instr_fifo_buf_0_lsu_isa_lr_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_sc_w : if4_instr_fifo_buf_0_lsu_isa_sc_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoswap_w : if4_instr_fifo_buf_0_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoadd_w : if4_instr_fifo_buf_0_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoxor_w : if4_instr_fifo_buf_0_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoand_w : if4_instr_fifo_buf_0_lsu_isa_amoand_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoor_w : if4_instr_fifo_buf_0_lsu_isa_amoor_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomin_w : if4_instr_fifo_buf_0_lsu_isa_amomin_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomax_w : if4_instr_fifo_buf_0_lsu_isa_amomax_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amominu_w : if4_instr_fifo_buf_0_lsu_isa_amominu_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomaxu_w : if4_instr_fifo_buf_0_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_lr_d : if4_instr_fifo_buf_0_lsu_isa_lr_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_sc_d : if4_instr_fifo_buf_0_lsu_isa_sc_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoswap_d : if4_instr_fifo_buf_0_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoadd_d : if4_instr_fifo_buf_0_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoxor_d : if4_instr_fifo_buf_0_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoand_d : if4_instr_fifo_buf_0_lsu_isa_amoand_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amoor_d : if4_instr_fifo_buf_0_lsu_isa_amoor_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomin_d : if4_instr_fifo_buf_0_lsu_isa_amomin_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomax_d : if4_instr_fifo_buf_0_lsu_isa_amomax_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amominu_d : if4_instr_fifo_buf_0_lsu_isa_amominu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_amomaxu_d : if4_instr_fifo_buf_0_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_flw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_flw : if4_instr_fifo_buf_0_lsu_isa_flw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_fsw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_fsw : if4_instr_fifo_buf_0_lsu_isa_fsw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_fld = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_fld : if4_instr_fifo_buf_0_lsu_isa_fld; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_lsu_isa_fsd = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_lsu_isa_fsd : if4_instr_fifo_buf_0_lsu_isa_fsd; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rw = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_csr_isa_rw
     : if4_instr_fifo_buf_0_csr_isa_rw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rs = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_csr_isa_rs
     : if4_instr_fifo_buf_0_csr_isa_rs; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rc = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_csr_isa_rc
     : if4_instr_fifo_buf_0_csr_isa_rc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rwi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_csr_isa_rwi : if4_instr_fifo_buf_0_csr_isa_rwi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rsi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_csr_isa_rsi : if4_instr_fifo_buf_0_csr_isa_rsi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_csr_isa_rci = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_csr_isa_rci : if4_instr_fifo_buf_0_csr_isa_rci; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_mul = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_mul : if4_instr_fifo_buf_0_mul_isa_mul; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_mulh = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_mulh : if4_instr_fifo_buf_0_mul_isa_mulh; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_mulhsu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_mulhsu : if4_instr_fifo_buf_0_mul_isa_mulhsu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_mulhu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_mulhu : if4_instr_fifo_buf_0_mul_isa_mulhu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_div = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_div : if4_instr_fifo_buf_0_mul_isa_div; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_divu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_divu : if4_instr_fifo_buf_0_mul_isa_divu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_rem = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_rem : if4_instr_fifo_buf_0_mul_isa_rem; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_remu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_remu : if4_instr_fifo_buf_0_mul_isa_remu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_mulw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_mulw : if4_instr_fifo_buf_0_mul_isa_mulw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_divw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_divw : if4_instr_fifo_buf_0_mul_isa_divw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_divuw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_divuw : if4_instr_fifo_buf_0_mul_isa_divuw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_remw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_remw : if4_instr_fifo_buf_0_mul_isa_remw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_mul_isa_remuw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_mul_isa_remuw : if4_instr_fifo_buf_0_mul_isa_remuw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_ecall = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_ecall : if4_instr_fifo_buf_0_privil_isa_ecall; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_ebreak = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_ebreak : if4_instr_fifo_buf_0_privil_isa_ebreak; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_mret = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_mret : if4_instr_fifo_buf_0_privil_isa_mret; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_uret = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_uret : if4_instr_fifo_buf_0_privil_isa_uret; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_sret = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_sret : if4_instr_fifo_buf_0_privil_isa_sret; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_dret = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_dret : if4_instr_fifo_buf_0_privil_isa_dret; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_vvma = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hfence_vvma : if4_instr_fifo_buf_0_privil_isa_hfence_vvma; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_gvma = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hfence_gvma : if4_instr_fifo_buf_0_privil_isa_hfence_gvma; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_b = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_b : if4_instr_fifo_buf_0_privil_isa_hlv_b; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_bu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_bu : if4_instr_fifo_buf_0_privil_isa_hlv_bu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_h = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_h : if4_instr_fifo_buf_0_privil_isa_hlv_h; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_hu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_hu : if4_instr_fifo_buf_0_privil_isa_hlv_hu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_hu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlvx_hu : if4_instr_fifo_buf_0_privil_isa_hlvx_hu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_w : if4_instr_fifo_buf_0_privil_isa_hlv_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_wu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlvx_wu : if4_instr_fifo_buf_0_privil_isa_hlvx_wu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_b = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hsv_b : if4_instr_fifo_buf_0_privil_isa_hsv_b; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_h = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hsv_h : if4_instr_fifo_buf_0_privil_isa_hsv_h; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hsv_w : if4_instr_fifo_buf_0_privil_isa_hsv_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_wu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_wu : if4_instr_fifo_buf_0_privil_isa_hlv_wu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hlv_d : if4_instr_fifo_buf_0_privil_isa_hlv_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_hsv_d : if4_instr_fifo_buf_0_privil_isa_hsv_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_is_access_fault = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_is_access_fault : if4_instr_fifo_buf_0_privil_isa_is_access_fault; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_privil_isa_is_paging_fault = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_privil_isa_is_paging_fault : if4_instr_fifo_buf_0_privil_isa_is_paging_fault; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmadd_s : if4_instr_fifo_buf_0_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmsub_s : if4_instr_fifo_buf_0_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fnmsub_s : if4_instr_fifo_buf_0_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fnmadd_s : if4_instr_fifo_buf_0_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fadd_s : if4_instr_fifo_buf_0_fpu_isa_fadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsub_s : if4_instr_fifo_buf_0_fpu_isa_fsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmul_s : if4_instr_fifo_buf_0_fpu_isa_fmul_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fdiv_s : if4_instr_fifo_buf_0_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsqrt_s : if4_instr_fifo_buf_0_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnj_s : if4_instr_fifo_buf_0_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s : if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s : if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmin_s : if4_instr_fifo_buf_0_fpu_isa_fmin_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmax_s : if4_instr_fifo_buf_0_fpu_isa_fmax_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s : if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s : if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmv_x_w : if4_instr_fifo_buf_0_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_feq_s : if4_instr_fifo_buf_0_fpu_isa_feq_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_flt_s : if4_instr_fifo_buf_0_fpu_isa_flt_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fle_s : if4_instr_fifo_buf_0_fpu_isa_fle_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fclass_s : if4_instr_fifo_buf_0_fpu_isa_fclass_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w : if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_wu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu : if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_w_x = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmv_w_x : if4_instr_fifo_buf_0_fpu_isa_fmv_w_x; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s : if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s : if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_l = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l : if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_lu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu : if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmadd_d : if4_instr_fifo_buf_0_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmsub_d : if4_instr_fifo_buf_0_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fnmsub_d : if4_instr_fifo_buf_0_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fnmadd_d : if4_instr_fifo_buf_0_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fadd_d : if4_instr_fifo_buf_0_fpu_isa_fadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsub_d : if4_instr_fifo_buf_0_fpu_isa_fsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmul_d : if4_instr_fifo_buf_0_fpu_isa_fmul_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fdiv_d : if4_instr_fifo_buf_0_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsqrt_d : if4_instr_fifo_buf_0_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnj_d : if4_instr_fifo_buf_0_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d : if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d : if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmin_d : if4_instr_fifo_buf_0_fpu_isa_fmin_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmax_d : if4_instr_fifo_buf_0_fpu_isa_fmax_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d : if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_s = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s : if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_feq_d : if4_instr_fifo_buf_0_fpu_isa_feq_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_flt_d : if4_instr_fifo_buf_0_fpu_isa_flt_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fle_d : if4_instr_fifo_buf_0_fpu_isa_fle_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fclass_d : if4_instr_fifo_buf_0_fpu_isa_fclass_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d : if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d : if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_w = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w : if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_wu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu : if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d : if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d : if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_d = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmv_x_d : if4_instr_fifo_buf_0_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_l = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l : if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_lu = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu : if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_d_x = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fmv_d_x : if4_instr_fifo_buf_0_fpu_isa_fmv_d_x; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rw = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rw : if4_instr_fifo_buf_0_fpu_isa_fcsr_rw; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rs = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rs : if4_instr_fifo_buf_0_fpu_isa_fcsr_rs; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rc = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rc : if4_instr_fifo_buf_0_fpu_isa_fcsr_rc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rwi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi : if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rsi = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi : if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rci = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_fpu_isa_fcsr_rci : if4_instr_fifo_buf_0_fpu_isa_fcsr_rci; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_is_rvc = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_param_is_rvc : if4_instr_fifo_buf_0_param_is_rvc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_pc = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_param_pc :
    if4_instr_fifo_buf_0_param_pc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_imm = if4_instr_fifo__io_deq_0_valid_T_1 ? if4_instr_fifo_buf_1_param_imm :
    if4_instr_fifo_buf_0_param_imm; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_raw_rs1 = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_param_raw_rs1 : if4_instr_fifo_buf_0_param_raw_rs1; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_raw_rs2 = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_param_raw_rs2 : if4_instr_fifo_buf_0_param_raw_rs2; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_instr_fifo_io_deq_0_bits_param_raw_rd0 = if4_instr_fifo__io_deq_0_valid_T_1 ?
    if4_instr_fifo_buf_1_param_raw_rd0 : if4_instr_fifo_buf_0_param_raw_rd0; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_bftq_io_enq_0_ready = ~if4_bftq__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if4_bftq_io_deq_0_valid = if4_bftq__io_deq_0_valid_T_1 ? if4_bftq_buf_valid_1 : if4_bftq_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if4_bftq_io_deq_0_bits_pc = if4_bftq__io_deq_0_valid_T_1 ? if4_bftq_buf_1_pc : if4_bftq_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_bftq_io_deq_0_bits_bimResp_bim_p = if4_bftq__io_deq_0_valid_T_1 ? if4_bftq_buf_1_bimResp_bim_p :
    if4_bftq_buf_0_bimResp_bim_p; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_bftq_io_deq_0_bits_bimResp_bim_h = if4_bftq__io_deq_0_valid_T_1 ? if4_bftq_buf_1_bimResp_bim_h :
    if4_bftq_buf_0_bimResp_bim_h; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_bftq_io_deq_0_bits_isPredictTaken = if4_bftq__io_deq_0_valid_T_1 ? if4_bftq_buf_1_isPredictTaken :
    if4_bftq_buf_0_isPredictTaken; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_jftq_io_enq_0_ready = ~if4_jftq__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign if4_jftq_io_deq_0_valid = if4_jftq__io_deq_0_valid_T_1 ? if4_jftq_buf_valid_1 : if4_jftq_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign if4_jftq_io_deq_0_bits_pc = if4_jftq__io_deq_0_valid_T_1 ? if4_jftq_buf_1_pc : if4_jftq_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_jftq_io_deq_0_bits_btbResp_target = if4_jftq__io_deq_0_valid_T_1 ? if4_jftq_buf_1_btbResp_target :
    if4_jftq_buf_0_btbResp_target; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_jftq_io_deq_0_bits_rasResp_target = if4_jftq__io_deq_0_valid_T_1 ? if4_jftq_buf_1_rasResp_target :
    if4_jftq_buf_0_rasResp_target; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_jftq_io_deq_0_bits_isRas = if4_jftq__io_deq_0_valid_T_1 ? if4_jftq_buf_1_isRas : if4_jftq_buf_0_isRas; // @[MultiPortFifo.scala 114:{14,14}]
  assign if4_bRePort_io_enq_0_ready = if4_bRePort_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if4_bRePort_io_deq_0_valid = if4_bRePort__T > 1'h0; // @[RePort.scala 79:81]
  assign if4_bRePort_io_deq_0_bits_pc = if4_bRePort__T_6 ? if4_bRePort_io_enq_0_bits_pc : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_bRePort_io_deq_0_bits_bimResp_bim_p = if4_bRePort__T_6 & if4_bRePort_io_enq_0_bits_bimResp_bim_p; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_bRePort_io_deq_0_bits_bimResp_bim_h = if4_bRePort__T_6 & if4_bRePort_io_enq_0_bits_bimResp_bim_h; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_bRePort_io_deq_0_bits_isPredictTaken = if4_bRePort__T_6 & if4_bRePort_io_enq_0_bits_isPredictTaken; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_jRePort_io_enq_0_ready = if4_jRePort_io_deq_0_ready; // @[RePort.scala 80:69]
  assign if4_jRePort_io_deq_0_valid = if4_jRePort__T > 1'h0; // @[RePort.scala 79:81]
  assign if4_jRePort_io_deq_0_bits_pc = if4_jRePort__T_6 ? if4_jRePort_io_enq_0_bits_pc : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_jRePort_io_deq_0_bits_btbResp_target = if4_jRePort__T_6 ? if4_jRePort_io_enq_0_bits_btbResp_target : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_jRePort_io_deq_0_bits_rasResp_target = if4_jRePort__T_6 ? if4_jRePort_io_enq_0_bits_rasResp_target : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_jRePort_io_deq_0_bits_isRas = if4_jRePort__T_6 & if4_jRePort_io_enq_0_bits_isRas; // @[RePort.scala 37:21 75:24 76:22]
  assign if4_tageRedirect_mdl_io_enq_0_ready = 1'h0; // @[RePort.scala 161:22 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_0_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_0_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_1_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_1_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_2_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_2_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_3_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_3_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_4_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_4_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_5_use = 2'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_tageRedirect_mdl_io_deq_0_bits_5_is_hit = 1'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_bimRedirect_mdl_io_enq_0_ready = if4_bimRedirect_mdl_io_mapper_0 & if4_bimRedirect_mdl_io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign if4_bimRedirect_mdl_io_deq_0_valid = if4_bimRedirect_mdl_io_mapper_0 & if4_bimRedirect_mdl_io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign if4_bimRedirect_mdl_io_deq_0_bits_bim_p = if4_bimRedirect_mdl_io_mapper_0 &
    if4_bimRedirect_mdl_io_enq_0_bits_bim_p; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_bimRedirect_mdl_io_deq_0_bits_bim_h = if4_bimRedirect_mdl_io_mapper_0 &
    if4_bimRedirect_mdl_io_enq_0_bits_bim_h; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_btbRedirect_mdl_io_enq_0_ready = if4_btbRedirect_mdl_io_mapper_0 & if4_btbRedirect_mdl_io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign if4_btbRedirect_mdl_io_deq_0_valid = if4_btbRedirect_mdl_io_mapper_0 & if4_btbRedirect_mdl_io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign if4_btbRedirect_mdl_io_deq_0_bits_target = if4_btbRedirect_mdl_io_mapper_0 ?
    if4_btbRedirect_mdl_io_enq_0_bits_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_lui =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_55 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_57; // @[Decoder.scala 73:94]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_auipc = 1'h0; // @[Decoder.scala 42:18 278:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addi =
    if4_instr_fifo_io_enq_0_bits_dec16__info_alu_isa_addi_T_19 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_50; // @[Decoder.scala 279:66]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addiw =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_30 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 70:74]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slti = 1'h0; // @[Decoder.scala 42:18 281:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltiu = 1'h0; // @[Decoder.scala 42:18 282:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xori = 1'h0; // @[Decoder.scala 42:18 283:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_ori = 1'h0; // @[Decoder.scala 42:18 284:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_andi = 16'h8801 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_60; // @[Decoder.scala 77:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slli =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_113 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_26; // @[Decoder.scala 87:74]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slliw = 1'h0; // @[Decoder.scala 42:18 287:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srli =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_61 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49; // @[Decoder.scala 74:74]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srliw = 1'h0; // @[Decoder.scala 42:18 289:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srai =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_70 &
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_49; // @[Decoder.scala 75:74]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraiw = 1'h0; // @[Decoder.scala 42:18 291:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_add =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_143 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_159; // @[Decoder.scala 292:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addw = 16'h9c21 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 83:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sub = 16'h8c01 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 78:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_subw = 16'h9c01 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 82:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sll = 1'h0; // @[Decoder.scala 42:18 296:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sllw = 1'h0; // @[Decoder.scala 42:18 297:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slt = 1'h0; // @[Decoder.scala 42:18 298:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltu = 1'h0; // @[Decoder.scala 42:18 299:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xor = 16'h8c21 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 79:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srl = 1'h0; // @[Decoder.scala 42:18 301:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srlw = 1'h0; // @[Decoder.scala 42:18 302:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sra = 1'h0; // @[Decoder.scala 42:18 303:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraw = 1'h0; // @[Decoder.scala 42:18 304:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_or = 16'h8c41 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 80:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_and = 16'h8c61 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_82; // @[Decoder.scala 81:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_wfi = 1'h0; // @[Decoder.scala 42:18 307:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jal = 16'ha001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 84:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jalr =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_135 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_151; // @[Decoder.scala 310:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_beq = 16'hc001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 85:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bne = 16'he001 ==
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T; // @[Decoder.scala 86:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_blt = 1'h0; // @[Decoder.scala 42:18 313:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bge = 1'h0; // @[Decoder.scala 42:18 314:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bltu = 1'h0; // @[Decoder.scala 42:18 315:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bgeu = 1'h0; // @[Decoder.scala 42:18 316:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lb = 1'h0; // @[Decoder.scala 42:18 318:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lh = 1'h0; // @[Decoder.scala 42:18 319:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lw =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_10 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_123; // @[Decoder.scala 320:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_ld =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_14 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_129; // @[Decoder.scala 321:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lbu = 1'h0; // @[Decoder.scala 42:18 322:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lhu = 1'h0; // @[Decoder.scala 42:18 323:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lwu = 1'h0; // @[Decoder.scala 42:18 324:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sb = 1'h0; // @[Decoder.scala 42:18 325:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sh = 1'h0; // @[Decoder.scala 42:18 326:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sw =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_18 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_162; // @[Decoder.scala 327:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sd =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_20 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_164; // @[Decoder.scala 328:36]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence = 1'h0; // @[Decoder.scala 42:18 329:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence_i = 1'h0; // @[Decoder.scala 42:18 330:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sfence_vma = 1'h0; // @[Decoder.scala 42:18 331:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_w = 1'h0; // @[Decoder.scala 42:18 380:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_w = 1'h0; // @[Decoder.scala 42:18 381:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_w = 1'h0; // @[Decoder.scala 42:18 382:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_w = 1'h0; // @[Decoder.scala 42:18 383:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_w = 1'h0; // @[Decoder.scala 42:18 384:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_w = 1'h0; // @[Decoder.scala 42:18 385:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_w = 1'h0; // @[Decoder.scala 42:18 386:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_w = 1'h0; // @[Decoder.scala 42:18 387:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_w = 1'h0; // @[Decoder.scala 42:18 388:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_w = 1'h0; // @[Decoder.scala 42:18 389:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_w = 1'h0; // @[Decoder.scala 42:18 390:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_d = 1'h0; // @[Decoder.scala 42:18 391:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_d = 1'h0; // @[Decoder.scala 42:18 392:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_d = 1'h0; // @[Decoder.scala 42:18 393:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_d = 1'h0; // @[Decoder.scala 42:18 394:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_d = 1'h0; // @[Decoder.scala 42:18 395:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_d = 1'h0; // @[Decoder.scala 42:18 396:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_d = 1'h0; // @[Decoder.scala 42:18 397:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_d = 1'h0; // @[Decoder.scala 42:18 398:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_d = 1'h0; // @[Decoder.scala 42:18 399:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_d = 1'h0; // @[Decoder.scala 42:18 400:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_d = 1'h0; // @[Decoder.scala 42:18 401:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_flw = 1'h0; // @[Decoder.scala 42:18 403:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsw = 1'h0; // @[Decoder.scala 42:18 404:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fld = 1'h0; // @[Decoder.scala 434:37]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsd = 1'h0; // @[Decoder.scala 435:37]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rw = 1'h0; // @[Decoder.scala 42:18 333:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rs = 1'h0; // @[Decoder.scala 42:18 334:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rc = 1'h0; // @[Decoder.scala 42:18 335:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rwi = 1'h0; // @[Decoder.scala 42:18 336:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rsi = 1'h0; // @[Decoder.scala 42:18 337:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rci = 1'h0; // @[Decoder.scala 42:18 338:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mul = 1'h0; // @[Decoder.scala 42:18 340:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulh = 1'h0; // @[Decoder.scala 42:18 341:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhsu = 1'h0; // @[Decoder.scala 42:18 342:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhu = 1'h0; // @[Decoder.scala 42:18 343:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_div = 1'h0; // @[Decoder.scala 42:18 344:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divu = 1'h0; // @[Decoder.scala 42:18 345:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_rem = 1'h0; // @[Decoder.scala 42:18 346:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remu = 1'h0; // @[Decoder.scala 42:18 347:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulw = 1'h0; // @[Decoder.scala 42:18 348:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divw = 1'h0; // @[Decoder.scala 42:18 349:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divuw = 1'h0; // @[Decoder.scala 42:18 350:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remw = 1'h0; // @[Decoder.scala 42:18 351:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remuw = 1'h0; // @[Decoder.scala 42:18 352:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ecall = 1'h0; // @[Decoder.scala 42:18 354:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ebreak = 16'h9002 ==
    if4_instr_fifo_io_enq_0_bits_dec16_io_x; // @[Decoder.scala 93:24]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_mret = 1'h0; // @[Decoder.scala 42:18 356:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_uret = 1'h0; // @[Decoder.scala 42:18 357:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_sret = 1'h0; // @[Decoder.scala 42:18 358:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_dret = 1'h0; // @[Decoder.scala 42:18 359:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_vvma = 1'h0; // @[Decoder.scala 42:18 363:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_gvma = 1'h0; // @[Decoder.scala 42:18 364:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_b = 1'h0; // @[Decoder.scala 42:18 366:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_bu = 1'h0; // @[Decoder.scala 42:18 367:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_h = 1'h0; // @[Decoder.scala 42:18 368:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_hu = 1'h0; // @[Decoder.scala 42:18 369:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_hu = 1'h0; // @[Decoder.scala 42:18 370:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_w = 1'h0; // @[Decoder.scala 42:18 371:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_wu = 1'h0; // @[Decoder.scala 42:18 372:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_b = 1'h0; // @[Decoder.scala 42:18 373:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_h = 1'h0; // @[Decoder.scala 42:18 374:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_w = 1'h0; // @[Decoder.scala 42:18 375:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_wu = 1'h0; // @[Decoder.scala 42:18 376:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_d = 1'h0; // @[Decoder.scala 42:18 377:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_d = 1'h0; // @[Decoder.scala 42:18 378:31]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_access_fault = 16'h9c41 ==
    if4_instr_fifo_io_enq_0_bits_dec16_io_x; // @[Decoder.scala 473:42]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_paging_fault = 16'h9c45 ==
    if4_instr_fifo_io_enq_0_bits_dec16_io_x; // @[Decoder.scala 474:42]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_s = 1'h0; // @[Decoder.scala 42:18 405:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_s = 1'h0; // @[Decoder.scala 42:18 406:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_s = 1'h0; // @[Decoder.scala 42:18 407:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_s = 1'h0; // @[Decoder.scala 42:18 408:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_s = 1'h0; // @[Decoder.scala 42:18 409:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_s = 1'h0; // @[Decoder.scala 42:18 410:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_s = 1'h0; // @[Decoder.scala 42:18 411:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_s = 1'h0; // @[Decoder.scala 42:18 412:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_s = 1'h0; // @[Decoder.scala 42:18 413:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_s = 1'h0; // @[Decoder.scala 42:18 414:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_s = 1'h0; // @[Decoder.scala 42:18 415:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_s = 1'h0; // @[Decoder.scala 42:18 416:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_s = 1'h0; // @[Decoder.scala 42:18 417:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_s = 1'h0; // @[Decoder.scala 42:18 418:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_s = 1'h0; // @[Decoder.scala 42:18 419:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_s = 1'h0; // @[Decoder.scala 42:18 420:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_w = 1'h0; // @[Decoder.scala 42:18 421:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_s = 1'h0; // @[Decoder.scala 42:18 422:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_s = 1'h0; // @[Decoder.scala 42:18 423:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_s = 1'h0; // @[Decoder.scala 42:18 424:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_s = 1'h0; // @[Decoder.scala 42:18 425:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_w = 1'h0; // @[Decoder.scala 42:18 426:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_wu = 1'h0; // @[Decoder.scala 42:18 427:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_w_x = 1'h0; // @[Decoder.scala 42:18 428:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_s = 1'h0; // @[Decoder.scala 42:18 429:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_s = 1'h0; // @[Decoder.scala 42:18 430:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_l = 1'h0; // @[Decoder.scala 42:18 431:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_lu = 1'h0; // @[Decoder.scala 42:18 432:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_d = 1'h0; // @[Decoder.scala 42:18 436:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_d = 1'h0; // @[Decoder.scala 42:18 437:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_d = 1'h0; // @[Decoder.scala 42:18 438:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_d = 1'h0; // @[Decoder.scala 42:18 439:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_d = 1'h0; // @[Decoder.scala 42:18 440:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_d = 1'h0; // @[Decoder.scala 42:18 441:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_d = 1'h0; // @[Decoder.scala 42:18 442:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_d = 1'h0; // @[Decoder.scala 42:18 443:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_d = 1'h0; // @[Decoder.scala 42:18 444:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_d = 1'h0; // @[Decoder.scala 42:18 445:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_d = 1'h0; // @[Decoder.scala 42:18 446:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_d = 1'h0; // @[Decoder.scala 42:18 447:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_d = 1'h0; // @[Decoder.scala 42:18 448:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_d = 1'h0; // @[Decoder.scala 42:18 449:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_d = 1'h0; // @[Decoder.scala 42:18 450:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_s = 1'h0; // @[Decoder.scala 42:18 451:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_d = 1'h0; // @[Decoder.scala 42:18 452:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_d = 1'h0; // @[Decoder.scala 42:18 453:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_d = 1'h0; // @[Decoder.scala 42:18 454:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_d = 1'h0; // @[Decoder.scala 42:18 455:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_d = 1'h0; // @[Decoder.scala 42:18 456:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_d = 1'h0; // @[Decoder.scala 42:18 457:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_w = 1'h0; // @[Decoder.scala 42:18 458:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_wu = 1'h0; // @[Decoder.scala 42:18 459:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_d = 1'h0; // @[Decoder.scala 42:18 460:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_d = 1'h0; // @[Decoder.scala 42:18 461:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_d = 1'h0; // @[Decoder.scala 42:18 462:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_l = 1'h0; // @[Decoder.scala 42:18 463:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_lu = 1'h0; // @[Decoder.scala 42:18 464:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_d_x = 1'h0; // @[Decoder.scala 42:18 465:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rw = 1'h0; // @[Decoder.scala 42:18 466:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rs = 1'h0; // @[Decoder.scala 42:18 467:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rc = 1'h0; // @[Decoder.scala 42:18 468:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rwi = 1'h0; // @[Decoder.scala 42:18 469:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rsi = 1'h0; // @[Decoder.scala 42:18 470:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rci = 1'h0; // @[Decoder.scala 42:18 471:28]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_is_rvc = 1'h1; // @[Decoder.scala 42:18 46:21]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_pc = if4_instr_fifo_io_enq_0_bits_dec16_io_pc[38:0]; // @[Decoder.scala 42:18 45:17]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_imm = if4_instr_fifo_io_enq_0_bits_dec16__info_param_imm_T_249
     | _GEN_229; // @[Mux.scala 27:73]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs1 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs1_T_240 | _GEN_226; // @[Mux.scala 27:73]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs2 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_223 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rs2_T_188; // @[Mux.scala 27:73]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rd0 =
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_233 |
    if4_instr_fifo_io_enq_0_bits_dec16__info_param_raw_rd0_T_198; // @[Mux.scala 27:73]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_lui = 32'h37 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 692:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_auipc = 32'h17 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 693:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addi = 32'h13 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 694:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addiw = 32'h1b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 695:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slti = 32'h2013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 696:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltiu = 32'h3013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 697:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xori = 32'h4013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 698:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_ori = 32'h6013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 699:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_andi = 32'h7013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 700:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slli = 32'h1013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 701:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slliw = 32'h101b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 702:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srli = 32'h5013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 703:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srliw = 32'h501b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 704:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srai = 32'h40005013 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slli_T; // @[Decoder.scala 705:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraiw = 32'h4000501b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 706:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_add = 32'h33 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 707:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addw = 32'h3b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 708:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sub = 32'h40000033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 709:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_subw = 32'h4000003b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 710:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sll = 32'h1033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 711:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sllw = 32'h103b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 712:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slt = 32'h2033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 713:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltu = 32'h3033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 714:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xor = 32'h4033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 715:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srl = 32'h5033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 716:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srlw = 32'h503b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 717:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sra = 32'h40005033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 718:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraw = 32'h4000503b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 719:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_or = 32'h6033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 720:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_and = 32'h7033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 721:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_wfi = 32'h10500073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 722:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jal = 32'h6f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T; // @[Decoder.scala 724:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jalr = 32'h67 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 725:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_beq = 32'h63 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 726:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bne = 32'h1063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 727:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_blt = 32'h4063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 728:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bge = 32'h5063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 729:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bltu = 32'h6063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 730:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bgeu = 32'h7063 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 731:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lb = 32'h3 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 733:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lh = 32'h1003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 734:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lw = 32'h2003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 735:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_ld = 32'h3003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 736:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lbu = 32'h4003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 737:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lhu = 32'h5003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 738:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lwu = 32'h6003 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 739:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sb = 32'h23 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 740:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sh = 32'h1023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 741:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sw = 32'h2023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 742:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sd = 32'h3023 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 743:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence = 32'hf ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 744:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence_i = 32'h100f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_bru_isa_jalr_T; // @[Decoder.scala 745:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sfence_vma = 32'h12000073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 746:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_w = 32'h1000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T; // @[Decoder.scala 812:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_w = 32'h1800202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 813:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_w = 32'h800202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 814:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_w = 32'h202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 815:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_w = 32'h2000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 816:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_w = 32'h6000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 817:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_w = 32'h4000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 818:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_w = 32'h8000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 819:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_w = 32'ha000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 820:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_w = 32'hc000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 821:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_w = 32'he000202f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 822:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_d = 32'h1000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_lr_d_T; // @[Decoder.scala 823:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_d = 32'h1800302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 824:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_d = 32'h800302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 825:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_d = 32'h302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 826:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_d = 32'h2000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 827:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_d = 32'h6000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 828:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_d = 32'h4000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 829:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_d = 32'h8000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 830:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_d = 32'ha000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 831:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_d = 32'hc000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 832:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_d = 32'he000302f ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_lsu_isa_sc_d_T; // @[Decoder.scala 833:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_flw = 1'h0; // @[Decoder.scala 498:20 901:24]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsw = 1'h0; // @[Decoder.scala 498:20 902:24]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fld = 1'h0; // @[Decoder.scala 498:20 903:24]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsd = 1'h0; // @[Decoder.scala 498:20 904:24]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rw = if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_1
     & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 748:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rs = if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rs_T_1
     & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 749:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rc = if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rc_T_1
     & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 750:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rwi =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rwi_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 751:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rsi =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rsi_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 752:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rci =
    if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rci_T_1 & if4_instr_fifo_io_enq_0_bits_dec32__info_csr_isa_rw_T_9; // @[Decoder.scala 753:87]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mul = 32'h2000033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 772:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulh = 32'h2001033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 773:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhsu = 32'h2002033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 774:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhu = 32'h2003033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 775:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_div = 32'h2004033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 776:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divu = 32'h2005033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 777:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_rem = 32'h2006033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 778:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remu = 32'h2007033 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 779:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulw = 32'h200003b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 780:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divw = 32'h200403b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 781:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divuw = 32'h200503b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 782:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remw = 32'h200603b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 783:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remuw = 32'h200703b ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_slliw_T; // @[Decoder.scala 784:37]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ecall = 32'h73 == if4_instr_fifo_io_enq_0_bits_dec32_io_x
    ; // @[Decoder.scala 786:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ebreak = 32'h100073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 787:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_mret = 32'h30200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 788:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_uret = 32'h200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 789:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_sret = 32'h10200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 790:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_dret = 32'h7b200073 ==
    if4_instr_fifo_io_enq_0_bits_dec32_io_x; // @[Decoder.scala 791:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_vvma = 32'h22000073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 795:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_gvma = 32'h62000073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 796:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_b = 32'h60004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 798:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_bu = 32'h60104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 799:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_h = 32'h64004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 800:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_hu = 32'h64104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 801:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_hu = 32'h64304073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 802:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_w = 32'h68004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 803:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_wu = 32'h68304073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 804:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_b = 32'h62004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 805:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_h = 32'h66004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 806:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_w = 32'h6a004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 807:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_wu = 32'h68104073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 808:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_d = 32'h6c004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hlv_d_T; // @[Decoder.scala 809:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_d = 32'h6e004073 ==
    if4_instr_fifo_io_enq_0_bits_dec32__info_privil_isa_hsv_d_T; // @[Decoder.scala 810:40]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_access_fault = 1'h0; // @[Decoder.scala 498:20 909:41]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_paging_fault = 1'h0; // @[Decoder.scala 498:20 910:41]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_w = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_w = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_wu = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_w_x = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_l = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_lu = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_s = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_w = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_wu = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_d = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_l = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_lu = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_d_x = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rw = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rs = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rc = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rwi = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rsi = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rci = 1'h0; // @[Decoder.scala 905:{39,39}]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_is_rvc = 1'h0; // @[Decoder.scala 498:20 502:23]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_pc = if4_instr_fifo_io_enq_0_bits_dec32_io_pc[38:0]; // @[Decoder.scala 498:20 501:19]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_imm = if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_21
     ? if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_34 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_imm_T_184; // @[Mux.scala 101:16]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs1 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs1_T_9; // @[Mux.scala 101:16]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs2 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_lui_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rs2_T_85; // @[Mux.scala 101:16]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rd0 =
    if4_instr_fifo_io_enq_0_bits_dec32__info_alu_isa_wfi_T_1 ? 5'h0 :
    if4_instr_fifo_io_enq_0_bits_dec32__info_param_raw_rd0_T_24; // @[Mux.scala 101:16]
  assign if4_io_if4_req_0_ready = if4__io_if4_req_0_ready_T & if4_instr_fifo_io_enq_0_ready; // @[IF4.scala 254:76]
  assign if4_io_btbResp_0_ready = if4_btbRedirect_mdl_io_enq_0_ready; // @[RePort.scala 190:9]
  assign if4_io_bimResp_0_ready = if4_bimRedirect_mdl_io_enq_0_ready; // @[RePort.scala 190:9]
  assign if4_io_tageResp_0_ready = if4_tageRedirect_mdl_io_enq_0_ready; // @[RePort.scala 190:9]
  assign if4_io_if4_resp_0_valid = if4_instr_fifo_io_deq_0_valid; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_lui = if4_instr_fifo_io_deq_0_bits_alu_isa_lui; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_auipc = if4_instr_fifo_io_deq_0_bits_alu_isa_auipc; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_addi = if4_instr_fifo_io_deq_0_bits_alu_isa_addi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_addiw = if4_instr_fifo_io_deq_0_bits_alu_isa_addiw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_slti = if4_instr_fifo_io_deq_0_bits_alu_isa_slti; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sltiu = if4_instr_fifo_io_deq_0_bits_alu_isa_sltiu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_xori = if4_instr_fifo_io_deq_0_bits_alu_isa_xori; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_ori = if4_instr_fifo_io_deq_0_bits_alu_isa_ori; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_andi = if4_instr_fifo_io_deq_0_bits_alu_isa_andi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_slli = if4_instr_fifo_io_deq_0_bits_alu_isa_slli; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_slliw = if4_instr_fifo_io_deq_0_bits_alu_isa_slliw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_srli = if4_instr_fifo_io_deq_0_bits_alu_isa_srli; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_srliw = if4_instr_fifo_io_deq_0_bits_alu_isa_srliw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_srai = if4_instr_fifo_io_deq_0_bits_alu_isa_srai; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sraiw = if4_instr_fifo_io_deq_0_bits_alu_isa_sraiw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_add = if4_instr_fifo_io_deq_0_bits_alu_isa_add; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_addw = if4_instr_fifo_io_deq_0_bits_alu_isa_addw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sub = if4_instr_fifo_io_deq_0_bits_alu_isa_sub; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_subw = if4_instr_fifo_io_deq_0_bits_alu_isa_subw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sll = if4_instr_fifo_io_deq_0_bits_alu_isa_sll; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sllw = if4_instr_fifo_io_deq_0_bits_alu_isa_sllw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_slt = if4_instr_fifo_io_deq_0_bits_alu_isa_slt; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sltu = if4_instr_fifo_io_deq_0_bits_alu_isa_sltu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_xor = if4_instr_fifo_io_deq_0_bits_alu_isa_xor; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_srl = if4_instr_fifo_io_deq_0_bits_alu_isa_srl; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_srlw = if4_instr_fifo_io_deq_0_bits_alu_isa_srlw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sra = if4_instr_fifo_io_deq_0_bits_alu_isa_sra; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_sraw = if4_instr_fifo_io_deq_0_bits_alu_isa_sraw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_or = if4_instr_fifo_io_deq_0_bits_alu_isa_or; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_and = if4_instr_fifo_io_deq_0_bits_alu_isa_and; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_alu_isa_wfi = if4_instr_fifo_io_deq_0_bits_alu_isa_wfi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_jal = if4_instr_fifo_io_deq_0_bits_bru_isa_jal; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_jalr = if4_instr_fifo_io_deq_0_bits_bru_isa_jalr; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_beq = if4_instr_fifo_io_deq_0_bits_bru_isa_beq; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_bne = if4_instr_fifo_io_deq_0_bits_bru_isa_bne; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_blt = if4_instr_fifo_io_deq_0_bits_bru_isa_blt; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_bge = if4_instr_fifo_io_deq_0_bits_bru_isa_bge; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_bltu = if4_instr_fifo_io_deq_0_bits_bru_isa_bltu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_bru_isa_bgeu = if4_instr_fifo_io_deq_0_bits_bru_isa_bgeu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lb = if4_instr_fifo_io_deq_0_bits_lsu_isa_lb; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lh = if4_instr_fifo_io_deq_0_bits_lsu_isa_lh; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lw = if4_instr_fifo_io_deq_0_bits_lsu_isa_lw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_ld = if4_instr_fifo_io_deq_0_bits_lsu_isa_ld; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lbu = if4_instr_fifo_io_deq_0_bits_lsu_isa_lbu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lhu = if4_instr_fifo_io_deq_0_bits_lsu_isa_lhu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lwu = if4_instr_fifo_io_deq_0_bits_lsu_isa_lwu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sb = if4_instr_fifo_io_deq_0_bits_lsu_isa_sb; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sh = if4_instr_fifo_io_deq_0_bits_lsu_isa_sh; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sw = if4_instr_fifo_io_deq_0_bits_lsu_isa_sw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sd = if4_instr_fifo_io_deq_0_bits_lsu_isa_sd; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_fence = if4_instr_fifo_io_deq_0_bits_lsu_isa_fence; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_fence_i = if4_instr_fifo_io_deq_0_bits_lsu_isa_fence_i; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sfence_vma = if4_instr_fifo_io_deq_0_bits_lsu_isa_sfence_vma; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lr_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sc_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoswap_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoadd_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoxor_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoand_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoor_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomin_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomax_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amominu_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomaxu_w = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_lr_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_lr_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_sc_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_sc_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoswap_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoswap_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoadd_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoadd_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoxor_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoxor_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoand_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoand_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amoor_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amoor_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomin_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomin_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomax_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomax_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amominu_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amominu_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_amomaxu_d = if4_instr_fifo_io_deq_0_bits_lsu_isa_amomaxu_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_flw = if4_instr_fifo_io_deq_0_bits_lsu_isa_flw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_fsw = if4_instr_fifo_io_deq_0_bits_lsu_isa_fsw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_fld = if4_instr_fifo_io_deq_0_bits_lsu_isa_fld; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_lsu_isa_fsd = if4_instr_fifo_io_deq_0_bits_lsu_isa_fsd; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rw = if4_instr_fifo_io_deq_0_bits_csr_isa_rw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rs = if4_instr_fifo_io_deq_0_bits_csr_isa_rs; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rc = if4_instr_fifo_io_deq_0_bits_csr_isa_rc; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rwi = if4_instr_fifo_io_deq_0_bits_csr_isa_rwi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rsi = if4_instr_fifo_io_deq_0_bits_csr_isa_rsi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_csr_isa_rci = if4_instr_fifo_io_deq_0_bits_csr_isa_rci; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_mul = if4_instr_fifo_io_deq_0_bits_mul_isa_mul; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_mulh = if4_instr_fifo_io_deq_0_bits_mul_isa_mulh; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_mulhsu = if4_instr_fifo_io_deq_0_bits_mul_isa_mulhsu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_mulhu = if4_instr_fifo_io_deq_0_bits_mul_isa_mulhu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_div = if4_instr_fifo_io_deq_0_bits_mul_isa_div; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_divu = if4_instr_fifo_io_deq_0_bits_mul_isa_divu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_rem = if4_instr_fifo_io_deq_0_bits_mul_isa_rem; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_remu = if4_instr_fifo_io_deq_0_bits_mul_isa_remu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_mulw = if4_instr_fifo_io_deq_0_bits_mul_isa_mulw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_divw = if4_instr_fifo_io_deq_0_bits_mul_isa_divw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_divuw = if4_instr_fifo_io_deq_0_bits_mul_isa_divuw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_remw = if4_instr_fifo_io_deq_0_bits_mul_isa_remw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_mul_isa_remuw = if4_instr_fifo_io_deq_0_bits_mul_isa_remuw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_ecall = if4_instr_fifo_io_deq_0_bits_privil_isa_ecall; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_ebreak = if4_instr_fifo_io_deq_0_bits_privil_isa_ebreak; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_mret = if4_instr_fifo_io_deq_0_bits_privil_isa_mret; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_uret = if4_instr_fifo_io_deq_0_bits_privil_isa_uret; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_sret = if4_instr_fifo_io_deq_0_bits_privil_isa_sret; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_dret = if4_instr_fifo_io_deq_0_bits_privil_isa_dret; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hfence_vvma = if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_vvma; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hfence_gvma = if4_instr_fifo_io_deq_0_bits_privil_isa_hfence_gvma; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_b = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_b; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_bu = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_bu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_h = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_h; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_hu = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_hu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlvx_hu = if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_hu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_w = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlvx_wu = if4_instr_fifo_io_deq_0_bits_privil_isa_hlvx_wu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hsv_b = if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_b; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hsv_h = if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_h; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hsv_w = if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_wu = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_wu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hlv_d = if4_instr_fifo_io_deq_0_bits_privil_isa_hlv_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_hsv_d = if4_instr_fifo_io_deq_0_bits_privil_isa_hsv_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_is_access_fault = if4_instr_fifo_io_deq_0_bits_privil_isa_is_access_fault; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_privil_isa_is_paging_fault = if4_instr_fifo_io_deq_0_bits_privil_isa_is_paging_fault; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmadd_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmsub_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fnmsub_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fnmadd_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fadd_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsub_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmul_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fdiv_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsqrt_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnj_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmin_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmax_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmv_x_w = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_feq_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_flt_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fle_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fclass_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_w = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_wu = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_wu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmv_w_x = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_w_x; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_l = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_l; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_lu = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_lu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmadd_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmadd_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmsub_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmsub_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fnmsub_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmsub_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fnmadd_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fnmadd_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fadd_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fadd_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsub_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsub_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmul_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmul_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fdiv_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fdiv_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsqrt_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsqrt_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnj_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnj_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjn_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fsgnjx_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmin_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmin_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmax_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmax_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_s_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_s = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_s; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_feq_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_feq_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_flt_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_flt_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fle_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fle_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fclass_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fclass_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_w_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_wu_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_w = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_w; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_wu = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_wu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_l_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_lu_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmv_x_d = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_x_d; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_l = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_l; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_lu = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcvt_d_lu; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fmv_d_x = if4_instr_fifo_io_deq_0_bits_fpu_isa_fmv_d_x; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rw = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rw; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rs = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rs; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rc = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rc; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rwi = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rwi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rsi = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rsi; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_fpu_isa_fcsr_rci = if4_instr_fifo_io_deq_0_bits_fpu_isa_fcsr_rci; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_is_rvc = if4_instr_fifo_io_deq_0_bits_param_is_rvc; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_pc = if4_instr_fifo_io_deq_0_bits_param_pc; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_imm = if4_instr_fifo_io_deq_0_bits_param_imm; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_raw_rs1 = if4_instr_fifo_io_deq_0_bits_param_raw_rs1; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_raw_rs2 = if4_instr_fifo_io_deq_0_bits_param_raw_rs2; // @[IF4.scala 237:15]
  assign if4_io_if4_resp_0_bits_param_raw_rd0 = if4_instr_fifo_io_deq_0_bits_param_raw_rd0; // @[IF4.scala 237:15]
  assign if4_io_if4Redirect_valid = if4__ras_io_deq_ready_T & if4__isDisAgreeWithIF1_0_T_4; // @[IF4.scala 171:44]
  assign if4_io_if4Redirect_bits_target = if4__io_if4Redirect_bits_target_T_4[38:0]; // @[IF4.scala 179:30]
  assign if4_io_bftq_valid = if4_bftq_io_deq_0_valid; // @[IF4.scala 238:11]
  assign if4_io_bftq_bits_pc = if4_bftq_io_deq_0_bits_pc; // @[IF4.scala 238:11]
  assign if4_io_bftq_bits_bimResp_bim_p = if4_bftq_io_deq_0_bits_bimResp_bim_p; // @[IF4.scala 238:11]
  assign if4_io_bftq_bits_bimResp_bim_h = if4_bftq_io_deq_0_bits_bimResp_bim_h; // @[IF4.scala 238:11]
  assign if4_io_bftq_bits_isPredictTaken = if4_bftq_io_deq_0_bits_isPredictTaken; // @[IF4.scala 238:11]
  assign if4_io_jftq_valid = if4_jftq_io_deq_0_valid; // @[IF4.scala 239:11]
  assign if4_io_jftq_bits_pc = if4_jftq_io_deq_0_bits_pc; // @[IF4.scala 239:11]
  assign if4_io_jftq_bits_btbResp_target = if4_jftq_io_deq_0_bits_btbResp_target; // @[IF4.scala 239:11]
  assign if4_io_jftq_bits_rasResp_target = if4_jftq_io_deq_0_bits_rasResp_target; // @[IF4.scala 239:11]
  assign if4_io_jftq_bits_isRas = if4_jftq_io_deq_0_bits_isRas; // @[IF4.scala 239:11]
  assign if4_ras_clock = if4_clock;
  assign if4_ras_reset = if4_reset;
  assign if4_ras_io_enq_valid = if4_preDecodeAgn_0_is_call & if4__ras_io_deq_ready_T; // @[IF4.scala 135:16]
  assign if4_ras_io_enq_bits_target = if4_preDecodeAgn_0_is_call ? if4__ras_io_enq_bits_target_T_2 : 39'h0; // @[Mux.scala 101:16]
  assign if4_ras_io_deq_ready = if4_preDecodeAgn_0_is_return & if4__ras_io_deq_ready_T; // @[IF4.scala 132:65]
  assign if4_ras_io_flush = if4_io_flush; // @[IF4.scala 212:16]
  assign if4_instr_fifo_clock = if4_clock;
  assign if4_instr_fifo_reset = if4_reset;
  assign if4_instr_fifo_io_enq_0_valid = if4_io_if4_req_0_ready & if4_io_if4_req_0_valid; // @[Decoupled.scala 52:35]
  assign if4_instr_fifo_io_deq_0_ready = if4_io_if4_resp_0_ready; // @[IF4.scala 237:15]
  assign if4_instr_fifo_io_flush = if4_io_flush; // @[IF4.scala 264:23]
  assign if4_bftq_clock = if4_clock;
  assign if4_bftq_reset = if4_reset;
  assign if4_bftq_io_enq_0_valid = if4_bRePort_io_deq_0_valid; // @[IF4.scala 241:15]
  assign if4_bftq_io_enq_0_bits_pc = if4_bRePort_io_deq_0_bits_pc; // @[IF4.scala 241:15]
  assign if4_bftq_io_enq_0_bits_bimResp_bim_p = if4_bRePort_io_deq_0_bits_bimResp_bim_p; // @[IF4.scala 241:15]
  assign if4_bftq_io_enq_0_bits_bimResp_bim_h = if4_bRePort_io_deq_0_bits_bimResp_bim_h; // @[IF4.scala 241:15]
  assign if4_bftq_io_enq_0_bits_isPredictTaken = if4_bRePort_io_deq_0_bits_isPredictTaken; // @[IF4.scala 241:15]
  assign if4_bftq_io_deq_0_ready = if4_io_bftq_ready; // @[IF4.scala 238:11]
  assign if4_bftq_io_flush = if4_io_flush; // @[IF4.scala 265:17]
  assign if4_jftq_clock = if4_clock;
  assign if4_jftq_reset = if4_reset;
  assign if4_jftq_io_enq_0_valid = if4_jRePort_io_deq_0_valid; // @[IF4.scala 242:15]
  assign if4_jftq_io_enq_0_bits_pc = if4_jRePort_io_deq_0_bits_pc; // @[IF4.scala 242:15]
  assign if4_jftq_io_enq_0_bits_btbResp_target = if4_jRePort_io_deq_0_bits_btbResp_target; // @[IF4.scala 242:15]
  assign if4_jftq_io_enq_0_bits_rasResp_target = if4_jRePort_io_deq_0_bits_rasResp_target; // @[IF4.scala 242:15]
  assign if4_jftq_io_enq_0_bits_isRas = if4_jRePort_io_deq_0_bits_isRas; // @[IF4.scala 242:15]
  assign if4_jftq_io_deq_0_ready = if4_io_jftq_ready; // @[IF4.scala 239:11]
  assign if4_jftq_io_flush = if4_io_flush; // @[IF4.scala 266:17]
  assign if4_bRePort_clock = if4_clock;
  assign if4_bRePort_reset = if4_reset;
  assign if4_bRePort_io_enq_0_valid = if4__ras_io_deq_ready_T & if4_preDecodeAgn_0_is_branch; // @[IF4.scala 247:51]
  assign if4_bRePort_io_enq_0_bits_pc = if4_io_if4_req_0_bits_pc; // @[IF4.scala 196:43]
  assign if4_bRePort_io_enq_0_bits_bimResp_bim_p = if4_bimRedirect_mdl_io_deq_0_bits_bim_p; // @[IF4.scala 198:43]
  assign if4_bRePort_io_enq_0_bits_bimResp_bim_h = if4_bimRedirect_mdl_io_deq_0_bits_bim_h; // @[IF4.scala 198:43]
  assign if4_bRePort_io_enq_0_bits_isPredictTaken = if4_bimRedirect_mdl_io_deq_0_bits_bim_p; // @[IF4.scala 200:43]
  assign if4_bRePort_io_deq_0_ready = if4_bftq_io_enq_0_ready; // @[IF4.scala 241:15]
  assign if4_jRePort_clock = if4_clock;
  assign if4_jRePort_reset = if4_reset;
  assign if4_jRePort_io_enq_0_valid = if4__ras_io_deq_ready_T & if4_preDecodeAgn_0_is_jalr; // @[IF4.scala 248:51]
  assign if4_jRePort_io_enq_0_bits_pc = if4_io_if4_req_0_bits_pc; // @[IF4.scala 202:36]
  assign if4_jRePort_io_enq_0_bits_btbResp_target = if4_btbRedirect_mdl_io_deq_0_bits_target; // @[IF4.scala 203:36]
  assign if4_jRePort_io_enq_0_bits_rasResp_target = if4_ras_io_deq_bits_target; // @[IF4.scala 204:36]
  assign if4_jRePort_io_enq_0_bits_isRas = if4_preDecodeAgn_0_is_return & if4_ras_io_deq_valid; // @[IF4.scala 205:52]
  assign if4_jRePort_io_deq_0_ready = if4_jftq_io_enq_0_ready; // @[IF4.scala 242:15]
  assign if4_bimRedirect_mdl_io_enq_0_valid = if4_io_bimResp_0_valid; // @[RePort.scala 190:9]
  assign if4_bimRedirect_mdl_io_enq_0_bits_bim_p = if4_io_bimResp_0_bits_bim_p; // @[RePort.scala 190:9]
  assign if4_bimRedirect_mdl_io_enq_0_bits_bim_h = if4_io_bimResp_0_bits_bim_h; // @[RePort.scala 190:9]
  assign if4_bimRedirect_mdl_io_deq_0_ready = if4_preDecodeAgn_0_is_branch & if4__ras_io_deq_ready_T; // @[IF4.scala 221:43]
  assign if4_bimRedirect_mdl_io_mapper_0 = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_branch_T_1 :
    if4__preDecodeAgn_info32_is_branch_T_1; // @[IF4.scala 58:46]
  assign if4_btbRedirect_mdl_io_enq_0_valid = if4_io_btbResp_0_valid; // @[RePort.scala 190:9]
  assign if4_btbRedirect_mdl_io_enq_0_bits_target = if4_io_btbResp_0_bits_target; // @[RePort.scala 190:9]
  assign if4_btbRedirect_mdl_io_deq_0_ready = if4_preDecodeAgn_0_is_jalr & if4__ras_io_deq_ready_T; // @[IF4.scala 220:43]
  assign if4_btbRedirect_mdl_io_mapper_0 = if4_io_if4_req_0_bits_isRVC ? if4__preDecodeAgn_info16_is_jalr_T_4 :
    if4__preDecodeAgn_info32_is_jalr_T_1; // @[IF4.scala 58:46]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_x = if4_io_if4_req_0_bits_instr[15:0]; // @[IF4.scala 94:46]
  assign if4_instr_fifo_io_enq_0_bits_dec16_io_pc = {{25'd0}, if4_io_if4_req_0_bits_pc}; // @[Decoder.scala 483:17]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_x = if4_io_if4_req_0_bits_instr; // @[Decoder.scala 922:16]
  assign if4_instr_fifo_io_enq_0_bits_dec32_io_pc = {{25'd0}, if4_io_if4_req_0_bits_pc}; // @[Decoder.scala 923:17]
  assign rnm_stage_rnRspReport_io_enq_0_ready = rnm_stage_rnRspReport_io_deq_0_ready; // @[RePort.scala 80:69]
  assign rnm_stage_rnRspReport_io_deq_0_valid = rnm_stage_rnRspReport__T > 1'h0; // @[RePort.scala 79:81]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_lui = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_lui; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_auipc = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_auipc; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addi = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addi; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addiw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addiw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slti = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slti; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltiu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltiu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xori = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xori; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_ori = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_ori; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_andi = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_andi; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slli = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slli; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slliw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slliw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srli = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srli; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srliw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srliw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srai = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srai; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraiw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraiw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_add = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_add; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sub = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sub; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_subw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_subw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sll = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sll; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sllw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sllw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slt = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slt; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xor = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xor; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srl = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srl; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srlw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srlw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sra = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sra; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_or = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_or; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_and = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_and; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_wfi = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_wfi; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jal = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jal; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jalr = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jalr; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_beq = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_beq; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bne = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bne; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_blt = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_blt; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bge = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bge; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bltu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bltu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bgeu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bgeu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lb = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lb; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lh = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lh; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_ld = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_ld; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lbu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lbu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lhu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lhu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lwu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lwu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sb = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sb; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sh = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sh; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sd = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sd; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence_i = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence_i; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sfence_vma = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sfence_vma; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_flw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_flw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fld = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fld; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsd = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsd; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rs = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rs; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rc = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rc; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rwi = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rwi; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rsi = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rsi; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rci = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rci; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mul = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mul; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulh = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulh; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhsu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhsu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_div = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_div; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_rem = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_rem; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remu = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remu; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divuw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divuw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remuw = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remuw; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_w = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_w; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_s_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_s_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_d_s = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_d_s; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_d = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_d; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_param_is_rvc = rnm_stage_rnRspReport__T_6 &
    rnm_stage_rnRspReport_io_enq_0_bits_param_is_rvc; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_param_pc = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_param_pc : 39'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_param_imm = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_param_imm : 64'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_param_raw_rs1 = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_param_raw_rs1 : 5'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_phy_rs1 = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_phy_rs1 : 6'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_phy_rs2 = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_phy_rs2 : 6'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_phy_rs3 = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_phy_rs3 : 6'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspReport_io_deq_0_bits_phy_rd0 = rnm_stage_rnRspReport__T_6 ?
    rnm_stage_rnRspReport_io_enq_0_bits_phy_rd0 : 6'h0; // @[RePort.scala 37:21 75:24 76:22]
  assign rnm_stage_rnRspFifo_io_enq_0_ready = ~rnm_stage_rnRspFifo__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign rnm_stage_rnRspFifo_io_deq_0_valid = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ? rnm_stage_rnRspFifo_buf_valid_1
     : rnm_stage_rnRspFifo_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_lui = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_lui : rnm_stage_rnRspFifo_buf_0_alu_isa_lui; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_auipc = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_auipc : rnm_stage_rnRspFifo_buf_0_alu_isa_auipc; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addi = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_addi : rnm_stage_rnRspFifo_buf_0_alu_isa_addi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addiw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_addiw : rnm_stage_rnRspFifo_buf_0_alu_isa_addiw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slti = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_slti : rnm_stage_rnRspFifo_buf_0_alu_isa_slti; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltiu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu : rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xori = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_xori : rnm_stage_rnRspFifo_buf_0_alu_isa_xori; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_ori = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_ori : rnm_stage_rnRspFifo_buf_0_alu_isa_ori; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_andi = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_andi : rnm_stage_rnRspFifo_buf_0_alu_isa_andi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slli = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_slli : rnm_stage_rnRspFifo_buf_0_alu_isa_slli; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slliw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_slliw : rnm_stage_rnRspFifo_buf_0_alu_isa_slliw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srli = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_srli : rnm_stage_rnRspFifo_buf_0_alu_isa_srli; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srliw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_srliw : rnm_stage_rnRspFifo_buf_0_alu_isa_srliw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srai = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_srai : rnm_stage_rnRspFifo_buf_0_alu_isa_srai; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraiw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw : rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_add = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_add : rnm_stage_rnRspFifo_buf_0_alu_isa_add; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_addw : rnm_stage_rnRspFifo_buf_0_alu_isa_addw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sub = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sub : rnm_stage_rnRspFifo_buf_0_alu_isa_sub; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_subw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_subw : rnm_stage_rnRspFifo_buf_0_alu_isa_subw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sll = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sll : rnm_stage_rnRspFifo_buf_0_alu_isa_sll; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sllw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sllw : rnm_stage_rnRspFifo_buf_0_alu_isa_sllw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slt = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_slt : rnm_stage_rnRspFifo_buf_0_alu_isa_slt; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sltu : rnm_stage_rnRspFifo_buf_0_alu_isa_sltu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xor = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_xor : rnm_stage_rnRspFifo_buf_0_alu_isa_xor; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srl = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_srl : rnm_stage_rnRspFifo_buf_0_alu_isa_srl; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srlw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_srlw : rnm_stage_rnRspFifo_buf_0_alu_isa_srlw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sra = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sra : rnm_stage_rnRspFifo_buf_0_alu_isa_sra; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_sraw : rnm_stage_rnRspFifo_buf_0_alu_isa_sraw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_or = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_or : rnm_stage_rnRspFifo_buf_0_alu_isa_or; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_and = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_and : rnm_stage_rnRspFifo_buf_0_alu_isa_and; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_wfi = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_alu_isa_wfi : rnm_stage_rnRspFifo_buf_0_alu_isa_wfi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jal = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_jal : rnm_stage_rnRspFifo_buf_0_bru_isa_jal; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jalr = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_jalr : rnm_stage_rnRspFifo_buf_0_bru_isa_jalr; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_beq = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_beq : rnm_stage_rnRspFifo_buf_0_bru_isa_beq; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bne = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_bne : rnm_stage_rnRspFifo_buf_0_bru_isa_bne; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_blt = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_blt : rnm_stage_rnRspFifo_buf_0_bru_isa_blt; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bge = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_bge : rnm_stage_rnRspFifo_buf_0_bru_isa_bge; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bltu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_bltu : rnm_stage_rnRspFifo_buf_0_bru_isa_bltu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bgeu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu : rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lb = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lb : rnm_stage_rnRspFifo_buf_0_lsu_isa_lb; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lh = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lh : rnm_stage_rnRspFifo_buf_0_lsu_isa_lh; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lw : rnm_stage_rnRspFifo_buf_0_lsu_isa_lw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_ld = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_ld : rnm_stage_rnRspFifo_buf_0_lsu_isa_ld; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lbu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu : rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lhu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu : rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lwu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu : rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sb = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sb : rnm_stage_rnRspFifo_buf_0_lsu_isa_sb; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sh = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sh : rnm_stage_rnRspFifo_buf_0_lsu_isa_sh; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sw : rnm_stage_rnRspFifo_buf_0_lsu_isa_sw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sd = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sd : rnm_stage_rnRspFifo_buf_0_lsu_isa_sd; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_fence : rnm_stage_rnRspFifo_buf_0_lsu_isa_fence; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence_i = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i : rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sfence_vma = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma : rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d : rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_flw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_flw : rnm_stage_rnRspFifo_buf_0_lsu_isa_flw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw : rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fld = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_fld : rnm_stage_rnRspFifo_buf_0_lsu_isa_fld; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsd = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd : rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rw : rnm_stage_rnRspFifo_buf_0_csr_isa_rw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rs = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rs : rnm_stage_rnRspFifo_buf_0_csr_isa_rs; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rc = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rc : rnm_stage_rnRspFifo_buf_0_csr_isa_rc; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rwi = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rwi : rnm_stage_rnRspFifo_buf_0_csr_isa_rwi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rsi = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rsi : rnm_stage_rnRspFifo_buf_0_csr_isa_rsi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rci = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_csr_isa_rci : rnm_stage_rnRspFifo_buf_0_csr_isa_rci; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mul = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_mul : rnm_stage_rnRspFifo_buf_0_mul_isa_mul; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulh = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_mulh : rnm_stage_rnRspFifo_buf_0_mul_isa_mulh; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhsu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu : rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu : rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_div = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_div : rnm_stage_rnRspFifo_buf_0_mul_isa_div; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_divu : rnm_stage_rnRspFifo_buf_0_mul_isa_divu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_rem = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_rem : rnm_stage_rnRspFifo_buf_0_mul_isa_rem; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remu = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_remu : rnm_stage_rnRspFifo_buf_0_mul_isa_remu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_mulw : rnm_stage_rnRspFifo_buf_0_mul_isa_mulw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_divw : rnm_stage_rnRspFifo_buf_0_mul_isa_divw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divuw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_divuw : rnm_stage_rnRspFifo_buf_0_mul_isa_divuw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_remw : rnm_stage_rnRspFifo_buf_0_mul_isa_remw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remuw = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_mul_isa_remuw : rnm_stage_rnRspFifo_buf_0_mul_isa_remuw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_w = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_s_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_d_s = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_d = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d : rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_param_is_rvc = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_param_is_rvc : rnm_stage_rnRspFifo_buf_0_param_is_rvc; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_param_pc = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_param_pc : rnm_stage_rnRspFifo_buf_0_param_pc; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_param_imm = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_param_imm : rnm_stage_rnRspFifo_buf_0_param_imm; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_param_raw_rs1 = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_param_raw_rs1 : rnm_stage_rnRspFifo_buf_0_param_raw_rs1; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs1 = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_phy_rs1 : rnm_stage_rnRspFifo_buf_0_phy_rs1; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs2 = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_phy_rs2 : rnm_stage_rnRspFifo_buf_0_phy_rs2; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs3 = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_phy_rs3 : rnm_stage_rnRspFifo_buf_0_phy_rs3; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_rnRspFifo_io_deq_0_bits_phy_rd0 = rnm_stage_rnRspFifo__io_deq_0_valid_T_1 ?
    rnm_stage_rnRspFifo_buf_1_phy_rd0 : rnm_stage_rnRspFifo_buf_0_phy_rd0; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_ready = ~rnm_stage_reOrder_fifo_i__GEN_1; // @[MultiPortFifo.scala 64:94]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_valid = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_valid_1 : rnm_stage_reOrder_fifo_i_buf_valid_0; // @[MultiPortFifo.scala 65:{94,94}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_pc = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_pc : rnm_stage_reOrder_fifo_i_buf_0_pc; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_raw = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_rd0_raw : rnm_stage_reOrder_fifo_i_buf_0_rd0_raw; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_phy = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_rd0_phy : rnm_stage_reOrder_fifo_i_buf_0_rd0_phy; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_branch = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_branch : rnm_stage_reOrder_fifo_i_buf_0_is_branch; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_jalr = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_jalr : rnm_stage_reOrder_fifo_i_buf_0_is_jalr; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_lu = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_lu : rnm_stage_reOrder_fifo_i_buf_0_is_lu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_su = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_su : rnm_stage_reOrder_fifo_i_buf_0_is_su; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_amo = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_amo : rnm_stage_reOrder_fifo_i_buf_0_is_amo; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fence_i = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_fence_i : rnm_stage_reOrder_fifo_i_buf_0_is_fence_i; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_sfence_vma = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma : rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_wfi = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_wfi : rnm_stage_reOrder_fifo_i_buf_0_is_wfi; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_csr = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_csr : rnm_stage_reOrder_fifo_i_buf_0_is_csr; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fpu = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_fpu : rnm_stage_reOrder_fifo_i_buf_0_is_fpu; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcsr = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_fcsr : rnm_stage_reOrder_fifo_i_buf_0_is_fcsr; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_xcmm = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_xcmm : rnm_stage_reOrder_fifo_i_buf_0_is_xcmm; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcmm = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_fcmm : rnm_stage_reOrder_fifo_i_buf_0_is_fcmm; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ecall = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_ecall : rnm_stage_reOrder_fifo_i_buf_0_privil_ecall; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ebreak = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak : rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_mret = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_mret : rnm_stage_reOrder_fifo_i_buf_0_privil_mret; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_sret = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_sret : rnm_stage_reOrder_fifo_i_buf_0_privil_sret; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_dret = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_dret : rnm_stage_reOrder_fifo_i_buf_0_privil_dret; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_access_fault = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault : rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_paging_fault = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault : rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_illeage = rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1 ?
    rnm_stage_reOrder_fifo_i_buf_1_is_illeage : rnm_stage_reOrder_fifo_i_buf_0_is_illeage; // @[MultiPortFifo.scala 114:{14,14}]
  assign rnm_stage_io_rnReq_0_ready = rnm_stage__io_rnReq_0_ready_T_1 & rnm_stage_rnRspFifo_io_enq_0_ready; // @[Rename.scala 91:92]
  assign rnm_stage_io_rnRsp_0_valid = rnm_stage_rnRspFifo_io_deq_0_valid; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_lui = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_lui; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_auipc = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_auipc; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_addi = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addi; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_addiw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addiw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_slti = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slti; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sltiu = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltiu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_xori = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xori; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_ori = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_ori; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_andi = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_andi; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_slli = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slli; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_slliw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slliw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_srli = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srli; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_srliw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srliw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_srai = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srai; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sraiw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraiw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_add = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_add; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_addw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_addw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sub = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sub; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_subw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_subw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sll = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sll; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sllw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sllw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_slt = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_slt; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sltu = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sltu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_xor = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_xor; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_srl = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srl; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_srlw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_srlw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sra = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sra; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_sraw = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_sraw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_or = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_or; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_and = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_and; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_alu_isa_wfi = rnm_stage_rnRspFifo_io_deq_0_bits_alu_isa_wfi; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_jal = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jal; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_jalr = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_jalr; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_beq = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_beq; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_bne = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bne; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_blt = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_blt; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_bge = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bge; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_bltu = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bltu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_bru_isa_bgeu = rnm_stage_rnRspFifo_io_deq_0_bits_bru_isa_bgeu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lb = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lb; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lh = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lh; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lw = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_ld = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_ld; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lbu = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lbu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lhu = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lhu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lwu = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lwu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sb = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sb; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sh = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sh; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sw = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sd = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sd; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_fence = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_fence_i = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fence_i; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sfence_vma = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sfence_vma; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_w = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_lr_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_sc_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoswap_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoadd_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoxor_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoand_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amoor_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomin_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomax_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amominu_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_d = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_amomaxu_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_flw = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_flw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_fsw = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_fld = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fld; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_lsu_isa_fsd = rnm_stage_rnRspFifo_io_deq_0_bits_lsu_isa_fsd; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rw = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rs = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rs; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rc = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rc; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rwi = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rwi; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rsi = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rsi; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_csr_isa_rci = rnm_stage_rnRspFifo_io_deq_0_bits_csr_isa_rci; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_mul = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mul; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_mulh = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulh; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_mulhsu = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhsu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_mulhu = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulhu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_div = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_div; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_divu = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_rem = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_rem; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_remu = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remu; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_mulw = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_mulw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_divw = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_divuw = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_divuw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_remw = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_mul_isa_remuw = rnm_stage_rnRspFifo_io_deq_0_bits_mul_isa_remuw; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_w = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_w; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmadd_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmsub_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmsub_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fnmadd_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fadd_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsub_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmul_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fdiv_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsqrt_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnj_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjn_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fsgnjx_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmin_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmax_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_s_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_s_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_d_s = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_d_s; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_feq_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_flt_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fle_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fclass_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_w_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_wu_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_l_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fcvt_lu_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_d = rnm_stage_rnRspFifo_io_deq_0_bits_fpu_isa_fmv_x_d; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_param_is_rvc = rnm_stage_rnRspFifo_io_deq_0_bits_param_is_rvc; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_param_pc = rnm_stage_rnRspFifo_io_deq_0_bits_param_pc; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_param_imm = rnm_stage_rnRspFifo_io_deq_0_bits_param_imm; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_param_raw_rs1 = rnm_stage_rnRspFifo_io_deq_0_bits_param_raw_rs1; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_phy_rs1 = rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs1; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_phy_rs2 = rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs2; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_phy_rs3 = rnm_stage_rnRspFifo_io_deq_0_bits_phy_rs3; // @[Rename.scala 45:20]
  assign rnm_stage_io_rnRsp_0_bits_phy_rd0 = rnm_stage_rnRspFifo_io_deq_0_bits_phy_rd0; // @[Rename.scala 45:20]
  assign rnm_stage_io_xLookup_0_req_rs1 = rnm_stage_io_rnReq_0_bits_param_raw_rs1; // @[Rename.scala 63:27]
  assign rnm_stage_io_xLookup_0_req_rs2 = rnm_stage_io_rnReq_0_bits_param_raw_rs2; // @[Rename.scala 64:27]
  assign rnm_stage_io_xRename_0_req_valid = rnm_stage__rnRspReport_io_enq_0_valid_T &
    rnm_stage__io_xRename_0_req_valid_T_42; // @[Rename.scala 60:52]
  assign rnm_stage_io_xRename_0_req_bits_rd0 = rnm_stage_io_rnReq_0_bits_param_raw_rd0; // @[Rename.scala 61:32]
  assign rnm_stage_io_fRename_0_req_valid = rnm_stage__rnRspReport_io_enq_0_valid_T &
    rnm_stage__io_xRename_0_req_valid_T_41; // @[Rename.scala 67:52]
  assign rnm_stage_io_rod_i_0_valid = rnm_stage_reOrder_fifo_i_io_deq_0_valid; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_pc = rnm_stage_reOrder_fifo_i_io_deq_0_bits_pc; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_rd0_raw = rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_raw; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_rd0_phy = rnm_stage_reOrder_fifo_i_io_deq_0_bits_rd0_phy; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_branch = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_branch; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_jalr = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_jalr; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_lu = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_lu; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_su = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_su; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_amo = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_amo; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_fence_i = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fence_i; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_sfence_vma = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_sfence_vma; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_wfi = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_wfi; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_csr = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_csr; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_fpu = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fpu; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_fcsr = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcsr; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_xcmm = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_xcmm; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_fcmm = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_fcmm; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_ecall = rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ecall; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_ebreak = rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_ebreak; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_mret = rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_mret; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_sret = rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_sret; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_dret = rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_dret; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_is_access_fault =
    rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_access_fault; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_privil_is_paging_fault =
    rnm_stage_reOrder_fifo_i_io_deq_0_bits_privil_is_paging_fault; // @[Rename.scala 49:16]
  assign rnm_stage_io_rod_i_0_bits_is_illeage = rnm_stage_reOrder_fifo_i_io_deq_0_bits_is_illeage; // @[Rename.scala 49:16]
  assign rnm_stage_rnRspReport_clock = rnm_stage_clock;
  assign rnm_stage_rnRspReport_reset = rnm_stage_reset;
  assign rnm_stage_rnRspReport_io_enq_0_valid = rnm_stage__rnRspReport_io_enq_0_valid_T &
    rnm_stage__rnRspReport_io_enq_0_valid_T_23; // @[Rename.scala 57:53]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_lui = rnm_stage_io_rnReq_0_bits_alu_isa_lui; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_auipc = rnm_stage_io_rnReq_0_bits_alu_isa_auipc; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addi = rnm_stage_io_rnReq_0_bits_alu_isa_addi; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addiw = rnm_stage_io_rnReq_0_bits_alu_isa_addiw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slti = rnm_stage_io_rnReq_0_bits_alu_isa_slti; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltiu = rnm_stage_io_rnReq_0_bits_alu_isa_sltiu; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xori = rnm_stage_io_rnReq_0_bits_alu_isa_xori; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_ori = rnm_stage_io_rnReq_0_bits_alu_isa_ori; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_andi = rnm_stage_io_rnReq_0_bits_alu_isa_andi; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slli = rnm_stage_io_rnReq_0_bits_alu_isa_slli; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slliw = rnm_stage_io_rnReq_0_bits_alu_isa_slliw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srli = rnm_stage_io_rnReq_0_bits_alu_isa_srli; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srliw = rnm_stage_io_rnReq_0_bits_alu_isa_srliw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srai = rnm_stage_io_rnReq_0_bits_alu_isa_srai; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraiw = rnm_stage_io_rnReq_0_bits_alu_isa_sraiw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_add = rnm_stage_io_rnReq_0_bits_alu_isa_add; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_addw = rnm_stage_io_rnReq_0_bits_alu_isa_addw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sub = rnm_stage_io_rnReq_0_bits_alu_isa_sub; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_subw = rnm_stage_io_rnReq_0_bits_alu_isa_subw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sll = rnm_stage_io_rnReq_0_bits_alu_isa_sll; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sllw = rnm_stage_io_rnReq_0_bits_alu_isa_sllw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_slt = rnm_stage_io_rnReq_0_bits_alu_isa_slt; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sltu = rnm_stage_io_rnReq_0_bits_alu_isa_sltu; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_xor = rnm_stage_io_rnReq_0_bits_alu_isa_xor; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srl = rnm_stage_io_rnReq_0_bits_alu_isa_srl; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_srlw = rnm_stage_io_rnReq_0_bits_alu_isa_srlw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sra = rnm_stage_io_rnReq_0_bits_alu_isa_sra; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_sraw = rnm_stage_io_rnReq_0_bits_alu_isa_sraw; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_or = rnm_stage_io_rnReq_0_bits_alu_isa_or; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_and = rnm_stage_io_rnReq_0_bits_alu_isa_and; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_alu_isa_wfi = rnm_stage_io_rnReq_0_bits_alu_isa_wfi; // @[Rename.scala 102:19 104:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jal = rnm_stage_io_rnReq_0_bits_bru_isa_jal; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_jalr = rnm_stage_io_rnReq_0_bits_bru_isa_jalr; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_beq = rnm_stage_io_rnReq_0_bits_bru_isa_beq; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bne = rnm_stage_io_rnReq_0_bits_bru_isa_bne; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_blt = rnm_stage_io_rnReq_0_bits_bru_isa_blt; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bge = rnm_stage_io_rnReq_0_bits_bru_isa_bge; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bltu = rnm_stage_io_rnReq_0_bits_bru_isa_bltu; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_bru_isa_bgeu = rnm_stage_io_rnReq_0_bits_bru_isa_bgeu; // @[Rename.scala 102:19 105:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lb = rnm_stage_io_rnReq_0_bits_lsu_isa_lb; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lh = rnm_stage_io_rnReq_0_bits_lsu_isa_lh; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lw = rnm_stage_io_rnReq_0_bits_lsu_isa_lw; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_ld = rnm_stage_io_rnReq_0_bits_lsu_isa_ld; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lbu = rnm_stage_io_rnReq_0_bits_lsu_isa_lbu; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lhu = rnm_stage_io_rnReq_0_bits_lsu_isa_lhu; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lwu = rnm_stage_io_rnReq_0_bits_lsu_isa_lwu; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sb = rnm_stage_io_rnReq_0_bits_lsu_isa_sb; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sh = rnm_stage_io_rnReq_0_bits_lsu_isa_sh; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sw = rnm_stage_io_rnReq_0_bits_lsu_isa_sw; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sd = rnm_stage_io_rnReq_0_bits_lsu_isa_sd; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence = rnm_stage_io_rnReq_0_bits_lsu_isa_fence; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fence_i = rnm_stage_io_rnReq_0_bits_lsu_isa_fence_i; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sfence_vma = rnm_stage_io_rnReq_0_bits_lsu_isa_sfence_vma; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_w = rnm_stage_io_rnReq_0_bits_lsu_isa_lr_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_w = rnm_stage_io_rnReq_0_bits_lsu_isa_sc_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_w = rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_w; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_lr_d = rnm_stage_io_rnReq_0_bits_lsu_isa_lr_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_sc_d = rnm_stage_io_rnReq_0_bits_lsu_isa_sc_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoswap_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoadd_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoxor_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoand_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amoor_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomin_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomax_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amominu_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_amomaxu_d = rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_d; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_flw = rnm_stage_io_rnReq_0_bits_lsu_isa_flw; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsw = rnm_stage_io_rnReq_0_bits_lsu_isa_fsw; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fld = rnm_stage_io_rnReq_0_bits_lsu_isa_fld; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_lsu_isa_fsd = rnm_stage_io_rnReq_0_bits_lsu_isa_fsd; // @[Rename.scala 102:19 106:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rw = rnm_stage_io_rnReq_0_bits_csr_isa_rw; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rs = rnm_stage_io_rnReq_0_bits_csr_isa_rs; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rc = rnm_stage_io_rnReq_0_bits_csr_isa_rc; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rwi = rnm_stage_io_rnReq_0_bits_csr_isa_rwi; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rsi = rnm_stage_io_rnReq_0_bits_csr_isa_rsi; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_csr_isa_rci = rnm_stage_io_rnReq_0_bits_csr_isa_rci; // @[Rename.scala 102:19 107:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mul = rnm_stage_io_rnReq_0_bits_mul_isa_mul; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulh = rnm_stage_io_rnReq_0_bits_mul_isa_mulh; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhsu = rnm_stage_io_rnReq_0_bits_mul_isa_mulhsu; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulhu = rnm_stage_io_rnReq_0_bits_mul_isa_mulhu; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_div = rnm_stage_io_rnReq_0_bits_mul_isa_div; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divu = rnm_stage_io_rnReq_0_bits_mul_isa_divu; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_rem = rnm_stage_io_rnReq_0_bits_mul_isa_rem; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remu = rnm_stage_io_rnReq_0_bits_mul_isa_remu; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_mulw = rnm_stage_io_rnReq_0_bits_mul_isa_mulw; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divw = rnm_stage_io_rnReq_0_bits_mul_isa_divw; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_divuw = rnm_stage_io_rnReq_0_bits_mul_isa_divuw; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remw = rnm_stage_io_rnReq_0_bits_mul_isa_remw; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_mul_isa_remuw = rnm_stage_io_rnReq_0_bits_mul_isa_remuw; // @[Rename.scala 102:19 108:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_w = rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_w; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_s = rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_s = rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmadd_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmsub_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmsub_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fnmadd_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fadd_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsub_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmul_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fdiv_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsqrt_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnj_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjn_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fsgnjx_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmin_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmax_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_s_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_d_s = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_feq_d = rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_flt_d = rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fle_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fclass_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_w_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_l_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_fpu_isa_fmv_x_d = rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_d; // @[Rename.scala 102:19 110:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_param_is_rvc = rnm_stage_io_rnReq_0_bits_param_is_rvc; // @[Rename.scala 102:19 111:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_param_pc = rnm_stage_io_rnReq_0_bits_param_pc; // @[Rename.scala 102:19 111:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_param_imm = rnm_stage_io_rnReq_0_bits_param_imm; // @[Rename.scala 102:19 111:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_param_raw_rs1 = rnm_stage_io_rnReq_0_bits_param_raw_rs1; // @[Rename.scala 102:19 111:20]
  assign rnm_stage_rnRspReport_io_enq_0_bits_phy_rs1 = rnm_stage__reg_phy_0_rs2_T_46 ? rnm_stage_io_fLookup_0_rsp_rs1 :
    rnm_stage_io_xLookup_0_rsp_rs1; // @[Rename.scala 75:26]
  assign rnm_stage_rnRspReport_io_enq_0_bits_phy_rs2 = rnm_stage__rnRspReport_io_enq_0_bits_T_62 ? rnm_stage__GEN_0 :
    rnm_stage__reg_phy_0_rs2_T_49; // @[Rename.scala 112:20 114:34]
  assign rnm_stage_rnRspReport_io_enq_0_bits_phy_rs3 = rnm_stage__rnRspReport_io_enq_0_bits_T_62 ? rnm_stage__GEN_1 :
    rnm_stage__reg_phy_0_rs3_T_47; // @[Rename.scala 112:20 114:34]
  assign rnm_stage_rnRspReport_io_enq_0_bits_phy_rd0 = rnm_stage__reg_phy_0_rd0_T_2 | rnm_stage__reg_phy_0_rd0_T_3; // @[Mux.scala 27:73]
  assign rnm_stage_rnRspReport_io_deq_0_ready = rnm_stage_rnRspFifo_io_enq_0_ready; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_clock = rnm_stage_clock;
  assign rnm_stage_rnRspFifo_reset = rnm_stage_reset;
  assign rnm_stage_rnRspFifo_io_enq_0_valid = rnm_stage_rnRspReport_io_deq_0_valid; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_lui = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_lui; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_auipc = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_auipc; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addi = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addi; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addiw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addiw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slti = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slti; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltiu = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltiu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xori = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xori; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_ori = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_ori; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_andi = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_andi; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slli = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slli; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slliw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slliw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srli = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srli; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srliw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srliw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srai = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srai; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraiw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraiw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_add = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_add; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_addw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sub = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sub; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_subw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_subw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sll = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sll; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sllw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sllw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slt = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_slt; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltu = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sltu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xor = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_xor; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srl = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srl; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srlw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_srlw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sra = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sra; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraw = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_sraw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_or = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_or; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_and = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_and; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_wfi = rnm_stage_rnRspReport_io_deq_0_bits_alu_isa_wfi; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jal = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jal; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jalr = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_jalr; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_beq = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_beq; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bne = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bne; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_blt = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_blt; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bge = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bge; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bltu = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bltu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bgeu = rnm_stage_rnRspReport_io_deq_0_bits_bru_isa_bgeu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lb = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lb; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lh = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lh; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lw = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_ld = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_ld; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lbu = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lbu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lhu = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lhu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lwu = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lwu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sb = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sb; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sh = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sh; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sw = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sd = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sd; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence_i = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fence_i; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sfence_vma = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sfence_vma; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_w = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_lr_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_sc_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoswap_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoadd_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoxor_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoand_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amoor_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomin_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomax_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amominu_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_d = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_amomaxu_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_flw = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_flw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsw = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fld = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fld; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsd = rnm_stage_rnRspReport_io_deq_0_bits_lsu_isa_fsd; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rw = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rs = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rs; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rc = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rc; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rwi = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rwi; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rsi = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rsi; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rci = rnm_stage_rnRspReport_io_deq_0_bits_csr_isa_rci; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mul = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mul; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulh = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulh; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhsu = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhsu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhu = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulhu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_div = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_div; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divu = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_rem = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_rem; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remu = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remu; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulw = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_mulw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divw = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divuw = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_divuw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remw = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remuw = rnm_stage_rnRspReport_io_deq_0_bits_mul_isa_remuw; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_w = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_w; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmadd_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmsub_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmsub_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fnmadd_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fadd_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsub_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmul_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fdiv_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsqrt_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnj_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjn_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fsgnjx_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmin_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmax_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_s_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_s_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_d_s = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_d_s; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_feq_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_flt_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fle_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fclass_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_w_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_wu_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_l_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fcvt_lu_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_d = rnm_stage_rnRspReport_io_deq_0_bits_fpu_isa_fmv_x_d; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_param_is_rvc = rnm_stage_rnRspReport_io_deq_0_bits_param_is_rvc; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_param_pc = rnm_stage_rnRspReport_io_deq_0_bits_param_pc; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_param_imm = rnm_stage_rnRspReport_io_deq_0_bits_param_imm; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_param_raw_rs1 = rnm_stage_rnRspReport_io_deq_0_bits_param_raw_rs1; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs1 = rnm_stage_rnRspReport_io_deq_0_bits_phy_rs1; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs2 = rnm_stage_rnRspReport_io_deq_0_bits_phy_rs2; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs3 = rnm_stage_rnRspReport_io_deq_0_bits_phy_rs3; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_enq_0_bits_phy_rd0 = rnm_stage_rnRspReport_io_deq_0_bits_phy_rd0; // @[Rename.scala 44:20]
  assign rnm_stage_rnRspFifo_io_deq_0_ready = rnm_stage_io_rnRsp_0_ready; // @[Rename.scala 45:20]
  assign rnm_stage_reOrder_fifo_i_clock = rnm_stage_clock;
  assign rnm_stage_reOrder_fifo_i_reset = rnm_stage_reset;
  assign rnm_stage_reOrder_fifo_i_io_enq_0_valid = rnm_stage_io_rnReq_0_ready & rnm_stage_io_rnReq_0_valid; // @[Decoupled.scala 52:35]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_pc = rnm_stage_io_rnReq_0_bits_param_pc; // @[Rename.scala 123:19 125:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_raw = rnm_stage_io_rnReq_0_bits_param_raw_rd0; // @[Rename.scala 123:19 126:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_phy = rnm_stage__reg_phy_0_rd0_T_2 | rnm_stage__reg_phy_0_rd0_T_3; // @[Mux.scala 27:73]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_branch = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_branch_T_3 |
    rnm_stage_io_rnReq_0_bits_bru_isa_bgeu; // @[riscv_isa.scala 93:48]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_jalr = rnm_stage_io_rnReq_0_bits_bru_isa_jalr; // @[Rename.scala 123:19 129:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_lu = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_7 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_lu_T_8; // @[riscv_isa.scala 143:65]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_su = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_su_T_3 |
    rnm_stage_io_rnReq_0_bits_lsu_isa_fsd; // @[riscv_isa.scala 144:40]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_amo = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_16 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_amo_T_17; // @[riscv_isa.scala 148:205]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fence_i = rnm_stage_io_rnReq_0_bits_lsu_isa_fence_i; // @[Rename.scala 123:19 134:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_sfence_vma = rnm_stage_io_rnReq_0_bits_lsu_isa_sfence_vma; // @[Rename.scala 123:19 135:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_wfi = rnm_stage_io_rnReq_0_bits_alu_isa_wfi; // @[Rename.scala 123:19 136:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_csr = rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_csr_T_3 |
    rnm_stage_io_rnReq_0_bits_csr_isa_rci; // @[riscv_isa.scala 179:41]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fpu = rnm_stage__rnRspReport_io_enq_0_bits_T_62 |
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_fpu_T_65; // @[Rename.scala 139:50]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcsr = rnm_stage__rnRspReport_io_enq_0_bits_T_61 |
    rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rci; // @[riscv_isa.scala 525:61]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_xcmm = ~rnm_stage__io_xRename_0_req_valid_T_41; // @[riscv_isa.scala 800:16]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcmm = rnm_stage__io_xRename_0_req_valid_T_1 |
    rnm_stage__io_xRename_0_req_valid_T_40; // @[riscv_isa.scala 794:20]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ecall = rnm_stage_io_rnReq_0_bits_privil_isa_ecall; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ebreak = rnm_stage_io_rnReq_0_bits_privil_isa_ebreak; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_mret = rnm_stage_io_rnReq_0_bits_privil_isa_mret; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_sret = rnm_stage_io_rnReq_0_bits_privil_isa_sret; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_dret = rnm_stage_io_rnReq_0_bits_privil_isa_dret; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_access_fault =
    rnm_stage_io_rnReq_0_bits_privil_isa_is_access_fault; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_paging_fault =
    rnm_stage_io_rnReq_0_bits_privil_isa_is_paging_fault; // @[Rename.scala 123:19 140:26]
  assign rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_illeage = ~
    rnm_stage__reOrder_fifo_i_io_enq_0_bits_res_is_illeage_T_185; // @[riscv_isa.scala 801:20]
  assign rnm_stage_reOrder_fifo_i_io_deq_0_ready = rnm_stage_io_rod_i_0_ready; // @[Rename.scala 49:16]
  assign iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_add[iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_add_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_add;
  assign iss_stage_aluIssFifo_0_ram_fun_add_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_add_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_add_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_slt[iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_slt;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_xor[iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_xor;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_or[iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_or_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_or;
  assign iss_stage_aluIssFifo_0_ram_fun_or_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_or_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_or_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_and[iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_and_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_and;
  assign iss_stage_aluIssFifo_0_ram_fun_and_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_and_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_and_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_sll[iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_sll;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_srl[iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_srl;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_fun_sra[iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_fun_sra;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_en = iss_stage_aluIssFifo_0__empty_T ? iss_stage_aluIssFifo_0__GEN_22
     : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_param_rd0[iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_param_rd0;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_en = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0__GEN_22 : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_param_is_32w[iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_param_is_32w;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_en = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0__GEN_22 : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_param_is_usi[iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_param_is_usi;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_en = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0__GEN_22 : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_param_dat_op1[iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op1;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_en = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0__GEN_22 : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data =
    iss_stage_aluIssFifo_0_ram_param_dat_op2[iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_data = iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op2;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_addr = 1'h0;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_mask = 1'h1;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_en = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0__GEN_22 : iss_stage_aluIssFifo_0__do_enq_T;
  assign iss_stage_aluIssFifo_0_io_enq_ready = ~iss_stage_aluIssFifo_0_maybe_full; // @[Decoupled.scala 305:19]
  assign iss_stage_aluIssFifo_0_io_deq_valid = iss_stage_aluIssFifo_0_io_enq_valid |
    iss_stage_aluIssFifo_0__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_add = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_add : iss_stage_aluIssFifo_0_ram_fun_add_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_slt = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_slt : iss_stage_aluIssFifo_0_ram_fun_slt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_xor = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_xor : iss_stage_aluIssFifo_0_ram_fun_xor_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_or = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_or : iss_stage_aluIssFifo_0_ram_fun_or_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_and = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_and : iss_stage_aluIssFifo_0_ram_fun_and_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_sll = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_sll : iss_stage_aluIssFifo_0_ram_fun_sll_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_srl = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_srl : iss_stage_aluIssFifo_0_ram_fun_srl_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_fun_sra = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_fun_sra : iss_stage_aluIssFifo_0_ram_fun_sra_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_param_rd0 = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_param_rd0 : iss_stage_aluIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_param_is_32w = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_param_is_32w : iss_stage_aluIssFifo_0_ram_param_is_32w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_param_is_usi = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_param_is_usi : iss_stage_aluIssFifo_0_ram_param_is_usi_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op1 = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op1 : iss_stage_aluIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op2 = iss_stage_aluIssFifo_0__empty_T ?
    iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op2 : iss_stage_aluIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_mul[iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_mul;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_mulh[iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_mulh;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_mulhsu[iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhsu;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_mulhu[iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhu;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_div[iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_div_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_div;
  assign iss_stage_mulIssFifo_0_ram_fun_div_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_div_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_div_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_divu[iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_divu;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_rem[iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_rem;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_remu[iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_remu;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_mulw[iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_mulw;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_divw[iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_divw;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_divuw[iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_divuw;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_remw[iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_remw;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_en = iss_stage_mulIssFifo_0__empty_T ? iss_stage_mulIssFifo_0__GEN_25
     : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_fun_remuw[iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_fun_remuw;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_param_rd0[iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_param_rd0;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_param_dat_op1[iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op1;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data =
    iss_stage_mulIssFifo_0_ram_param_dat_op2[iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_data = iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op2;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_addr = 1'h0;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_mask = 1'h1;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_en = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0__GEN_25 : iss_stage_mulIssFifo_0__do_enq_T;
  assign iss_stage_mulIssFifo_0_io_enq_ready = ~iss_stage_mulIssFifo_0_maybe_full; // @[Decoupled.scala 305:19]
  assign iss_stage_mulIssFifo_0_io_deq_valid = iss_stage_mulIssFifo_0_io_enq_valid |
    iss_stage_mulIssFifo_0__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_mul = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_mul : iss_stage_mulIssFifo_0_ram_fun_mul_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_mulh = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_mulh : iss_stage_mulIssFifo_0_ram_fun_mulh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhsu = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhsu : iss_stage_mulIssFifo_0_ram_fun_mulhsu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhu = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhu : iss_stage_mulIssFifo_0_ram_fun_mulhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_div = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_div : iss_stage_mulIssFifo_0_ram_fun_div_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_divu = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_divu : iss_stage_mulIssFifo_0_ram_fun_divu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_rem = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_rem : iss_stage_mulIssFifo_0_ram_fun_rem_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_remu = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_remu : iss_stage_mulIssFifo_0_ram_fun_remu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_mulw = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_mulw : iss_stage_mulIssFifo_0_ram_fun_mulw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_divw = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_divw : iss_stage_mulIssFifo_0_ram_fun_divw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_divuw = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_divuw : iss_stage_mulIssFifo_0_ram_fun_divuw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_remw = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_remw : iss_stage_mulIssFifo_0_ram_fun_remw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_fun_remuw = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_fun_remuw : iss_stage_mulIssFifo_0_ram_fun_remuw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_param_rd0 = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_param_rd0 : iss_stage_mulIssFifo_0_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op1 = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op1 : iss_stage_mulIssFifo_0_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op2 = iss_stage_mulIssFifo_0__empty_T ?
    iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op2 : iss_stage_mulIssFifo_0_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_jalr[iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_jalr_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_jalr;
  assign iss_stage_bruIssFifo_ram_fun_jalr_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_jalr_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_jalr_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_beq[iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_beq_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_beq;
  assign iss_stage_bruIssFifo_ram_fun_beq_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_beq_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_beq_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_bne[iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_bne_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_bne;
  assign iss_stage_bruIssFifo_ram_fun_bne_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bne_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bne_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_blt[iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_blt_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_blt;
  assign iss_stage_bruIssFifo_ram_fun_blt_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_blt_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_blt_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_bge[iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_bge_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_bge;
  assign iss_stage_bruIssFifo_ram_fun_bge_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bge_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bge_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_bltu[iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_bltu_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_bltu;
  assign iss_stage_bruIssFifo_ram_fun_bltu_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bltu_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bltu_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_fun_bgeu[iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_fun_bgeu;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_rd0[iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_rd0_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_rd0;
  assign iss_stage_bruIssFifo_ram_param_rd0_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_rd0_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_rd0_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_is_rvc[iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_is_rvc;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23
     : iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_pc[iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_pc_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_pc;
  assign iss_stage_bruIssFifo_ram_param_pc_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_pc_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_pc_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_imm[iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_imm_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_imm;
  assign iss_stage_bruIssFifo_ram_param_imm_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_imm_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_imm_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23 :
    iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_dat_op1[iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_dat_op1;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23
     : iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data =
    iss_stage_bruIssFifo_ram_param_dat_op2[iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_data = iss_stage_bruIssFifo_io_enq_bits_param_dat_op2;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_addr = 1'h0;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_mask = 1'h1;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_en = iss_stage_bruIssFifo__empty_T ? iss_stage_bruIssFifo__GEN_23
     : iss_stage_bruIssFifo__do_enq_T;
  assign iss_stage_bruIssFifo_io_enq_ready = ~iss_stage_bruIssFifo_maybe_full; // @[Decoupled.scala 305:19]
  assign iss_stage_bruIssFifo_io_deq_valid = iss_stage_bruIssFifo_io_enq_valid | iss_stage_bruIssFifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_jalr = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_jalr : iss_stage_bruIssFifo_ram_fun_jalr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_beq = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_beq : iss_stage_bruIssFifo_ram_fun_beq_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_bne = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_bne : iss_stage_bruIssFifo_ram_fun_bne_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_blt = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_blt : iss_stage_bruIssFifo_ram_fun_blt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_bge = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_bge : iss_stage_bruIssFifo_ram_fun_bge_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_bltu = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_bltu : iss_stage_bruIssFifo_ram_fun_bltu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_fun_bgeu = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_fun_bgeu : iss_stage_bruIssFifo_ram_fun_bgeu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_rd0 = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_rd0 : iss_stage_bruIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_is_rvc = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_is_rvc : iss_stage_bruIssFifo_ram_param_is_rvc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_pc = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_pc : iss_stage_bruIssFifo_ram_param_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_imm = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_imm : iss_stage_bruIssFifo_ram_param_imm_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_dat_op1 = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_dat_op1 : iss_stage_bruIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_bruIssFifo_io_deq_bits_param_dat_op2 = iss_stage_bruIssFifo__empty_T ?
    iss_stage_bruIssFifo_io_enq_bits_param_dat_op2 : iss_stage_bruIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_fun_rw[iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_fun_rw_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_fun_rw;
  assign iss_stage_csrIssFifo_ram_fun_rw_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rw_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rw_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15 :
    iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_fun_rs[iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_fun_rs_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_fun_rs;
  assign iss_stage_csrIssFifo_ram_fun_rs_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rs_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rs_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15 :
    iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_fun_rc[iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_fun_rc_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_fun_rc;
  assign iss_stage_csrIssFifo_ram_fun_rc_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_fun_rc_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_fun_rc_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15 :
    iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_param_rd0[iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_param_rd0_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_param_rd0;
  assign iss_stage_csrIssFifo_ram_param_rd0_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_rd0_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_rd0_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15 :
    iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_param_dat_op1[iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_param_dat_op1;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15
     : iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data =
    iss_stage_csrIssFifo_ram_param_dat_op2[iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_data = iss_stage_csrIssFifo_io_enq_bits_param_dat_op2;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_addr = 1'h0;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_mask = 1'h1;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_en = iss_stage_csrIssFifo__empty_T ? iss_stage_csrIssFifo__GEN_15
     : iss_stage_csrIssFifo__do_enq_T;
  assign iss_stage_csrIssFifo_io_enq_ready = ~iss_stage_csrIssFifo_maybe_full; // @[Decoupled.scala 305:19]
  assign iss_stage_csrIssFifo_io_deq_valid = iss_stage_csrIssFifo_io_enq_valid | iss_stage_csrIssFifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign iss_stage_csrIssFifo_io_deq_bits_fun_rw = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_fun_rw : iss_stage_csrIssFifo_ram_fun_rw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_io_deq_bits_fun_rs = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_fun_rs : iss_stage_csrIssFifo_ram_fun_rs_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_io_deq_bits_fun_rc = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_fun_rc : iss_stage_csrIssFifo_ram_fun_rc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_io_deq_bits_param_rd0 = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_param_rd0 : iss_stage_csrIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_io_deq_bits_param_dat_op1 = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_param_dat_op1 : iss_stage_csrIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_csrIssFifo_io_deq_bits_param_dat_op2 = iss_stage_csrIssFifo__empty_T ?
    iss_stage_csrIssFifo_io_enq_bits_param_dat_op2 : iss_stage_csrIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lb[iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lb_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lb;
  assign iss_stage_lsuIssFifo_ram_fun_lb_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lb_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lb_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lh[iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lh_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lh;
  assign iss_stage_lsuIssFifo_ram_fun_lh_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lh_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lh_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lw[iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lw_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lw;
  assign iss_stage_lsuIssFifo_ram_fun_lw_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lw_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lw_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_ld[iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_ld_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_ld;
  assign iss_stage_lsuIssFifo_ram_fun_ld_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_ld_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_ld_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lbu[iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lbu;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lhu[iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lhu;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lwu[iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lwu;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sb[iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sb_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sb;
  assign iss_stage_lsuIssFifo_ram_fun_sb_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sb_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sb_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sh[iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sh_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sh;
  assign iss_stage_lsuIssFifo_ram_fun_sh_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sh_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sh_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sw[iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sw_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sw;
  assign iss_stage_lsuIssFifo_ram_fun_sw_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sw_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sw_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sd[iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sd_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sd;
  assign iss_stage_lsuIssFifo_ram_fun_sd_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sd_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sd_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_fence[iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_fence_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_fence;
  assign iss_stage_lsuIssFifo_ram_fun_fence_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fence_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fence_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_fence_i[iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_fence_i;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sfence_vma[iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sfence_vma;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lr_w[iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lr_w;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sc_w[iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sc_w;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoswap_w[iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_w;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoadd_w[iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_w;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoxor_w[iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_w;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoand_w[iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_w;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoor_w[iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_w;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomin_w[iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_w;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomax_w[iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_w;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amominu_w[iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_w;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomaxu_w[iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_w;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_lr_d[iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_lr_d;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_sc_d[iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_sc_d;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoswap_d[iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_d;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoadd_d[iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_d;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoxor_d[iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_d;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoand_d[iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_d;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amoor_d[iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_d;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomin_d[iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_d;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomax_d[iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_d;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amominu_d[iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_d;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_amomaxu_d[iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_d;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_flw[iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_flw_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_flw;
  assign iss_stage_lsuIssFifo_ram_fun_flw_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_flw_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_flw_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_fsw[iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_fsw;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_fld[iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_fld_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_fld;
  assign iss_stage_lsuIssFifo_ram_fun_fld_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fld_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fld_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_fun_fsd[iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_fun_fsd;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_param_rd0[iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_param_rd0_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_param_rd0;
  assign iss_stage_lsuIssFifo_ram_param_rd0_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_rd0_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_rd0_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52 :
    iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_param_dat_op1[iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_param_dat_op1;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_en = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data =
    iss_stage_lsuIssFifo_ram_param_dat_op2[iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_data = iss_stage_lsuIssFifo_io_enq_bits_param_dat_op2;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_addr = 1'h0;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_mask = 1'h1;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_en = iss_stage_lsuIssFifo__empty_T ? iss_stage_lsuIssFifo__GEN_52
     : iss_stage_lsuIssFifo__do_enq_T;
  assign iss_stage_lsuIssFifo_io_enq_ready = ~iss_stage_lsuIssFifo_maybe_full; // @[Decoupled.scala 305:19]
  assign iss_stage_lsuIssFifo_io_deq_valid = iss_stage_lsuIssFifo_io_enq_valid | iss_stage_lsuIssFifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lb = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lb : iss_stage_lsuIssFifo_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lh = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lh : iss_stage_lsuIssFifo_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lw = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lw : iss_stage_lsuIssFifo_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_ld = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_ld : iss_stage_lsuIssFifo_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lbu = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lbu : iss_stage_lsuIssFifo_ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lhu = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lhu : iss_stage_lsuIssFifo_ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lwu = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lwu : iss_stage_lsuIssFifo_ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sb = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sb : iss_stage_lsuIssFifo_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sh = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sh : iss_stage_lsuIssFifo_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sw = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sw : iss_stage_lsuIssFifo_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sd = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sd : iss_stage_lsuIssFifo_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_fence = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_fence : iss_stage_lsuIssFifo_ram_fun_fence_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_fence_i = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_fence_i : iss_stage_lsuIssFifo_ram_fun_fence_i_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sfence_vma = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sfence_vma : iss_stage_lsuIssFifo_ram_fun_sfence_vma_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lr_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lr_w : iss_stage_lsuIssFifo_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sc_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sc_w : iss_stage_lsuIssFifo_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_w : iss_stage_lsuIssFifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_w : iss_stage_lsuIssFifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_w : iss_stage_lsuIssFifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_w : iss_stage_lsuIssFifo_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_w : iss_stage_lsuIssFifo_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_w : iss_stage_lsuIssFifo_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_w : iss_stage_lsuIssFifo_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_w : iss_stage_lsuIssFifo_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_w = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_w : iss_stage_lsuIssFifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_lr_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_lr_d : iss_stage_lsuIssFifo_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_sc_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_sc_d : iss_stage_lsuIssFifo_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_d : iss_stage_lsuIssFifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_d : iss_stage_lsuIssFifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_d : iss_stage_lsuIssFifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_d : iss_stage_lsuIssFifo_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_d : iss_stage_lsuIssFifo_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_d : iss_stage_lsuIssFifo_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_d : iss_stage_lsuIssFifo_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_d : iss_stage_lsuIssFifo_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_d = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_d : iss_stage_lsuIssFifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_flw = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_flw : iss_stage_lsuIssFifo_ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_fsw = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_fsw : iss_stage_lsuIssFifo_ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_fld = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_fld : iss_stage_lsuIssFifo_ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_fun_fsd = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_fun_fsd : iss_stage_lsuIssFifo_ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_param_rd0 = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_param_rd0 : iss_stage_lsuIssFifo_ram_param_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_param_dat_op1 = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_param_dat_op1 : iss_stage_lsuIssFifo_ram_param_dat_op1_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_lsuIssFifo_io_deq_bits_param_dat_op2 = iss_stage_lsuIssFifo__empty_T ?
    iss_stage_lsuIssFifo_io_enq_bits_param_dat_op2 : iss_stage_lsuIssFifo_ram_param_dat_op2_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign iss_stage_io_dptReq_0_ready = 1'h1; // @[Issue.scala 78:76]
  assign iss_stage_io_alu_iss_exe_0_valid = iss_stage_aluIssFifo_0_io_deq_valid; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_add = iss_stage_aluIssFifo_0_io_deq_bits_fun_add; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_slt = iss_stage_aluIssFifo_0_io_deq_bits_fun_slt; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_xor = iss_stage_aluIssFifo_0_io_deq_bits_fun_xor; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_or = iss_stage_aluIssFifo_0_io_deq_bits_fun_or; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_and = iss_stage_aluIssFifo_0_io_deq_bits_fun_and; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_sll = iss_stage_aluIssFifo_0_io_deq_bits_fun_sll; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_srl = iss_stage_aluIssFifo_0_io_deq_bits_fun_srl; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_fun_sra = iss_stage_aluIssFifo_0_io_deq_bits_fun_sra; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_param_rd0 = iss_stage_aluIssFifo_0_io_deq_bits_param_rd0; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_param_is_32w = iss_stage_aluIssFifo_0_io_deq_bits_param_is_32w; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_param_is_usi = iss_stage_aluIssFifo_0_io_deq_bits_param_is_usi; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_param_dat_op1 = iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op1; // @[Issue.scala 647:28]
  assign iss_stage_io_alu_iss_exe_0_bits_param_dat_op2 = iss_stage_aluIssFifo_0_io_deq_bits_param_dat_op2; // @[Issue.scala 647:28]
  assign iss_stage_io_mul_iss_exe_0_valid = iss_stage_mulIssFifo_0_io_deq_valid; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_mul = iss_stage_mulIssFifo_0_io_deq_bits_fun_mul; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_mulh = iss_stage_mulIssFifo_0_io_deq_bits_fun_mulh; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_mulhsu = iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhsu; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_mulhu = iss_stage_mulIssFifo_0_io_deq_bits_fun_mulhu; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_div = iss_stage_mulIssFifo_0_io_deq_bits_fun_div; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_divu = iss_stage_mulIssFifo_0_io_deq_bits_fun_divu; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_rem = iss_stage_mulIssFifo_0_io_deq_bits_fun_rem; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_remu = iss_stage_mulIssFifo_0_io_deq_bits_fun_remu; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_mulw = iss_stage_mulIssFifo_0_io_deq_bits_fun_mulw; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_divw = iss_stage_mulIssFifo_0_io_deq_bits_fun_divw; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_divuw = iss_stage_mulIssFifo_0_io_deq_bits_fun_divuw; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_remw = iss_stage_mulIssFifo_0_io_deq_bits_fun_remw; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_fun_remuw = iss_stage_mulIssFifo_0_io_deq_bits_fun_remuw; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_param_rd0 = iss_stage_mulIssFifo_0_io_deq_bits_param_rd0; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_param_dat_op1 = iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op1; // @[Issue.scala 712:30]
  assign iss_stage_io_mul_iss_exe_0_bits_param_dat_op2 = iss_stage_mulIssFifo_0_io_deq_bits_param_dat_op2; // @[Issue.scala 712:30]
  assign iss_stage_io_bru_iss_exe_valid = iss_stage_bruIssFifo_io_deq_valid; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_jalr = iss_stage_bruIssFifo_io_deq_bits_fun_jalr; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_beq = iss_stage_bruIssFifo_io_deq_bits_fun_beq; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_bne = iss_stage_bruIssFifo_io_deq_bits_fun_bne; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_blt = iss_stage_bruIssFifo_io_deq_bits_fun_blt; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_bge = iss_stage_bruIssFifo_io_deq_bits_fun_bge; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_bltu = iss_stage_bruIssFifo_io_deq_bits_fun_bltu; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_fun_bgeu = iss_stage_bruIssFifo_io_deq_bits_fun_bgeu; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_rd0 = iss_stage_bruIssFifo_io_deq_bits_param_rd0; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_is_rvc = iss_stage_bruIssFifo_io_deq_bits_param_is_rvc; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_pc = iss_stage_bruIssFifo_io_deq_bits_param_pc; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_imm = iss_stage_bruIssFifo_io_deq_bits_param_imm; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_dat_op1 = iss_stage_bruIssFifo_io_deq_bits_param_dat_op1; // @[Issue.scala 779:21]
  assign iss_stage_io_bru_iss_exe_bits_param_dat_op2 = iss_stage_bruIssFifo_io_deq_bits_param_dat_op2; // @[Issue.scala 779:21]
  assign iss_stage_io_csr_iss_exe_valid = iss_stage_csrIssFifo_io_deq_valid; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_fun_rw = iss_stage_csrIssFifo_io_deq_bits_fun_rw; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_fun_rs = iss_stage_csrIssFifo_io_deq_bits_fun_rs; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_fun_rc = iss_stage_csrIssFifo_io_deq_bits_fun_rc; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_param_rd0 = iss_stage_csrIssFifo_io_deq_bits_param_rd0; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_param_dat_op1 = iss_stage_csrIssFifo_io_deq_bits_param_dat_op1; // @[Issue.scala 845:21]
  assign iss_stage_io_csr_iss_exe_bits_param_dat_op2 = iss_stage_csrIssFifo_io_deq_bits_param_dat_op2; // @[Issue.scala 845:21]
  assign iss_stage_io_lsu_iss_exe_valid = iss_stage_lsuIssFifo_io_deq_valid; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lb = iss_stage_lsuIssFifo_io_deq_bits_fun_lb; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lh = iss_stage_lsuIssFifo_io_deq_bits_fun_lh; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lw = iss_stage_lsuIssFifo_io_deq_bits_fun_lw; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_ld = iss_stage_lsuIssFifo_io_deq_bits_fun_ld; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lbu = iss_stage_lsuIssFifo_io_deq_bits_fun_lbu; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lhu = iss_stage_lsuIssFifo_io_deq_bits_fun_lhu; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lwu = iss_stage_lsuIssFifo_io_deq_bits_fun_lwu; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sb = iss_stage_lsuIssFifo_io_deq_bits_fun_sb; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sh = iss_stage_lsuIssFifo_io_deq_bits_fun_sh; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sw = iss_stage_lsuIssFifo_io_deq_bits_fun_sw; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sd = iss_stage_lsuIssFifo_io_deq_bits_fun_sd; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_fence = iss_stage_lsuIssFifo_io_deq_bits_fun_fence; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_fence_i = iss_stage_lsuIssFifo_io_deq_bits_fun_fence_i; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sfence_vma = iss_stage_lsuIssFifo_io_deq_bits_fun_sfence_vma; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lr_w = iss_stage_lsuIssFifo_io_deq_bits_fun_lr_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sc_w = iss_stage_lsuIssFifo_io_deq_bits_fun_sc_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoswap_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoadd_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoxor_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoand_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoor_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomin_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomax_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amominu_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_w = iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_w; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_lr_d = iss_stage_lsuIssFifo_io_deq_bits_fun_lr_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_sc_d = iss_stage_lsuIssFifo_io_deq_bits_fun_sc_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoswap_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amoswap_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoadd_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amoadd_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoxor_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amoxor_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoand_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amoand_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amoor_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amoor_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomin_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amomin_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomax_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amomax_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amominu_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amominu_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_d = iss_stage_lsuIssFifo_io_deq_bits_fun_amomaxu_d; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_flw = iss_stage_lsuIssFifo_io_deq_bits_fun_flw; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_fsw = iss_stage_lsuIssFifo_io_deq_bits_fun_fsw; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_fld = iss_stage_lsuIssFifo_io_deq_bits_fun_fld; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_fun_fsd = iss_stage_lsuIssFifo_io_deq_bits_fun_fsd; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_param_rd0 = iss_stage_lsuIssFifo_io_deq_bits_param_rd0; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_param_dat_op1 = iss_stage_lsuIssFifo_io_deq_bits_param_dat_op1; // @[Issue.scala 908:21]
  assign iss_stage_io_lsu_iss_exe_bits_param_dat_op2 = iss_stage_lsuIssFifo_io_deq_bits_param_dat_op2; // @[Issue.scala 908:21]
  assign iss_stage_io_fpu_iss_exe_0_valid = 1'h0; // @[Issue.scala 987:29]
  assign iss_stage_io_irgReq_0_valid = iss_stage__rIOpNum_0_T | iss_stage__rIOpNum_0_T_1; // @[Issue.scala 318:49]
  assign iss_stage_io_irgReq_0_bits = iss_stage__rIOpNum_0_T ? iss_stage__selIRS1_0_T_58 : iss_stage__rIOpNum_0_T_2; // @[Issue.scala 313:26]
  assign iss_stage_io_irgReq_1_valid = iss_stage__rIOpNum_1_T_1 | iss_stage__rIOpNum_1_T; // @[Issue.scala 318:49]
  assign iss_stage_io_irgReq_1_bits = iss_stage__rIOpNum_1_T ? iss_stage__selIRS2_1_T_58 : iss_stage__rIOpNum_1_T_2; // @[Issue.scala 315:26]
  assign iss_stage_aluIssFifo_0_clock = iss_stage_clock;
  assign iss_stage_aluIssFifo_0_reset = iss_stage_io_flush | iss_stage_reset; // @[Issue.scala 648:39]
  assign iss_stage_aluIssFifo_0_io_enq_valid = ~iss_stage__T_1398; // @[Issue.scala 634:37]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_add = iss_stage__aluIssFifo_0_io_enq_bits_T_128 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_126; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_slt = iss_stage__aluIssFifo_0_io_enq_bits_T_121 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_119; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_xor = iss_stage__aluIssFifo_0_io_enq_bits_T_114 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_112; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_or = iss_stage__aluIssFifo_0_io_enq_bits_T_107 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_105; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_and = iss_stage__aluIssFifo_0_io_enq_bits_T_100 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_98; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_sll = iss_stage__aluIssFifo_0_io_enq_bits_T_93 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_91; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_srl = iss_stage__aluIssFifo_0_io_enq_bits_T_86 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_84; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_fun_sra = iss_stage__aluIssFifo_0_io_enq_bits_T_79 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_77; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_param_rd0 = iss_stage__aluIssFifo_0_io_enq_bits_T_72 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_70; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_param_is_32w = iss_stage__aluIssFifo_0_io_enq_bits_T_65 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_63; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_param_is_usi = iss_stage__aluIssFifo_0_io_enq_bits_T_58 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_56; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op1 = iss_stage__aluIssFifo_0_io_enq_bits_T_51 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_49; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_enq_bits_param_dat_op2 = iss_stage__aluIssFifo_0_io_enq_bits_T_44 |
    iss_stage__aluIssFifo_0_io_enq_bits_T_42; // @[Mux.scala 27:73]
  assign iss_stage_aluIssFifo_0_io_deq_ready = iss_stage_io_alu_iss_exe_0_ready; // @[Issue.scala 647:28]
  assign iss_stage_mulIssFifo_0_clock = iss_stage_clock;
  assign iss_stage_mulIssFifo_0_reset = iss_stage_io_flush | iss_stage_reset; // @[Issue.scala 713:41]
  assign iss_stage_mulIssFifo_0_io_enq_valid = ~iss_stage__T_1649; // @[Issue.scala 699:39]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_mul = iss_stage__mulIssFifo_0_io_enq_bits_T_149 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_147; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_mulh = iss_stage__mulIssFifo_0_io_enq_bits_T_142 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_140; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhsu = iss_stage__mulIssFifo_0_io_enq_bits_T_135 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_133; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_mulhu = iss_stage__mulIssFifo_0_io_enq_bits_T_128 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_126; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_div = iss_stage__mulIssFifo_0_io_enq_bits_T_121 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_119; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_divu = iss_stage__mulIssFifo_0_io_enq_bits_T_114 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_112; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_rem = iss_stage__mulIssFifo_0_io_enq_bits_T_107 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_105; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_remu = iss_stage__mulIssFifo_0_io_enq_bits_T_100 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_98; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_mulw = iss_stage__mulIssFifo_0_io_enq_bits_T_93 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_91; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_divw = iss_stage__mulIssFifo_0_io_enq_bits_T_86 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_84; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_divuw = iss_stage__mulIssFifo_0_io_enq_bits_T_79 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_77; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_remw = iss_stage__mulIssFifo_0_io_enq_bits_T_72 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_70; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_fun_remuw = iss_stage__mulIssFifo_0_io_enq_bits_T_65 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_63; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_param_rd0 = iss_stage__mulIssFifo_0_io_enq_bits_T_58 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_56; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op1 = iss_stage__mulIssFifo_0_io_enq_bits_T_51 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_49; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_enq_bits_param_dat_op2 = iss_stage__mulIssFifo_0_io_enq_bits_T_44 |
    iss_stage__mulIssFifo_0_io_enq_bits_T_42; // @[Mux.scala 27:73]
  assign iss_stage_mulIssFifo_0_io_deq_ready = iss_stage_io_mul_iss_exe_0_ready; // @[Issue.scala 712:30]
  assign iss_stage_bruIssFifo_clock = iss_stage_clock;
  assign iss_stage_bruIssFifo_reset = iss_stage_io_flush | iss_stage_reset; // @[Issue.scala 780:32]
  assign iss_stage_bruIssFifo_io_enq_valid = iss_stage__bruIssFifo_io_enq_valid_T_41 |
    iss_stage__bruIssFifo_io_enq_valid_T_39; // @[Issue.scala 765:149]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_jalr = iss_stage__bruIssFifo_io_enq_bits_T_136 |
    iss_stage__bruIssFifo_io_enq_bits_T_134; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_beq = iss_stage__bruIssFifo_io_enq_bits_T_129 |
    iss_stage__bruIssFifo_io_enq_bits_T_127; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_bne = iss_stage__bruIssFifo_io_enq_bits_T_122 |
    iss_stage__bruIssFifo_io_enq_bits_T_120; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_blt = iss_stage__bruIssFifo_io_enq_bits_T_115 |
    iss_stage__bruIssFifo_io_enq_bits_T_113; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_bge = iss_stage__bruIssFifo_io_enq_bits_T_108 |
    iss_stage__bruIssFifo_io_enq_bits_T_106; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_bltu = iss_stage__bruIssFifo_io_enq_bits_T_101 |
    iss_stage__bruIssFifo_io_enq_bits_T_99; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_fun_bgeu = iss_stage__bruIssFifo_io_enq_bits_T_94 |
    iss_stage__bruIssFifo_io_enq_bits_T_92; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_rd0 = iss_stage__bruIssFifo_io_enq_bits_T_87 |
    iss_stage__bruIssFifo_io_enq_bits_T_85; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_is_rvc = iss_stage__bruIssFifo_io_enq_bits_T_80 |
    iss_stage__bruIssFifo_io_enq_bits_T_78; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_pc = iss_stage__bruIssFifo_io_enq_bits_T_73 |
    iss_stage__bruIssFifo_io_enq_bits_T_71; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_imm = iss_stage__bruIssFifo_io_enq_bits_T_66 |
    iss_stage__bruIssFifo_io_enq_bits_T_64; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_dat_op1 = iss_stage__bruIssFifo_io_enq_bits_T_59 |
    iss_stage__bruIssFifo_io_enq_bits_T_57; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_enq_bits_param_dat_op2 = iss_stage__bruIssFifo_io_enq_bits_T_52 |
    iss_stage__bruIssFifo_io_enq_bits_T_50; // @[Mux.scala 27:73]
  assign iss_stage_bruIssFifo_io_deq_ready = iss_stage_io_bru_iss_exe_ready; // @[Issue.scala 779:21]
  assign iss_stage_csrIssFifo_clock = iss_stage_clock;
  assign iss_stage_csrIssFifo_reset = iss_stage_io_flush | iss_stage_reset; // @[Issue.scala 846:32]
  assign iss_stage_csrIssFifo_io_enq_valid = iss_stage__csrIssFifo_io_enq_valid_T_41 |
    iss_stage__csrIssFifo_io_enq_valid_T_39; // @[Issue.scala 831:149]
  assign iss_stage_csrIssFifo_io_enq_bits_fun_rw = iss_stage__csrIssFifo_io_enq_bits_T_87 |
    iss_stage__csrIssFifo_io_enq_bits_T_85; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_enq_bits_fun_rs = iss_stage__csrIssFifo_io_enq_bits_T_80 |
    iss_stage__csrIssFifo_io_enq_bits_T_78; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_enq_bits_fun_rc = iss_stage__csrIssFifo_io_enq_bits_T_73 |
    iss_stage__csrIssFifo_io_enq_bits_T_71; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_enq_bits_param_rd0 = iss_stage__csrIssFifo_io_enq_bits_T_66 |
    iss_stage__csrIssFifo_io_enq_bits_T_64; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_enq_bits_param_dat_op1 = iss_stage__csrIssFifo_io_enq_bits_T_59 |
    iss_stage__csrIssFifo_io_enq_bits_T_57; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_enq_bits_param_dat_op2 = iss_stage__csrIssFifo_io_enq_bits_T_52 |
    iss_stage__csrIssFifo_io_enq_bits_T_50; // @[Mux.scala 27:73]
  assign iss_stage_csrIssFifo_io_deq_ready = iss_stage_io_csr_iss_exe_ready; // @[Issue.scala 845:21]
  assign iss_stage_lsuIssFifo_clock = iss_stage_clock;
  assign iss_stage_lsuIssFifo_reset = iss_stage_io_flush | iss_stage_reset; // @[Issue.scala 909:32]
  assign iss_stage_lsuIssFifo_io_enq_valid = iss_stage__lsuIssFifo_io_enq_valid_T_41 |
    iss_stage__lsuIssFifo_io_enq_valid_T_39; // @[Issue.scala 894:149]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lb = iss_stage__lsuIssFifo_io_enq_bits_T_346 |
    iss_stage__lsuIssFifo_io_enq_bits_T_344; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lh = iss_stage__lsuIssFifo_io_enq_bits_T_339 |
    iss_stage__lsuIssFifo_io_enq_bits_T_337; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lw = iss_stage__lsuIssFifo_io_enq_bits_T_332 |
    iss_stage__lsuIssFifo_io_enq_bits_T_330; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_ld = iss_stage__lsuIssFifo_io_enq_bits_T_325 |
    iss_stage__lsuIssFifo_io_enq_bits_T_323; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lbu = iss_stage__lsuIssFifo_io_enq_bits_T_318 |
    iss_stage__lsuIssFifo_io_enq_bits_T_316; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lhu = iss_stage__lsuIssFifo_io_enq_bits_T_311 |
    iss_stage__lsuIssFifo_io_enq_bits_T_309; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lwu = iss_stage__lsuIssFifo_io_enq_bits_T_304 |
    iss_stage__lsuIssFifo_io_enq_bits_T_302; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sb = iss_stage__lsuIssFifo_io_enq_bits_T_297 |
    iss_stage__lsuIssFifo_io_enq_bits_T_295; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sh = iss_stage__lsuIssFifo_io_enq_bits_T_290 |
    iss_stage__lsuIssFifo_io_enq_bits_T_288; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sw = iss_stage__lsuIssFifo_io_enq_bits_T_283 |
    iss_stage__lsuIssFifo_io_enq_bits_T_281; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sd = iss_stage__lsuIssFifo_io_enq_bits_T_276 |
    iss_stage__lsuIssFifo_io_enq_bits_T_274; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_fence = iss_stage__lsuIssFifo_io_enq_bits_T_269 |
    iss_stage__lsuIssFifo_io_enq_bits_T_267; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_fence_i = iss_stage__lsuIssFifo_io_enq_bits_T_262 |
    iss_stage__lsuIssFifo_io_enq_bits_T_260; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sfence_vma = iss_stage__lsuIssFifo_io_enq_bits_T_255 |
    iss_stage__lsuIssFifo_io_enq_bits_T_253; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lr_w = iss_stage__lsuIssFifo_io_enq_bits_T_248 |
    iss_stage__lsuIssFifo_io_enq_bits_T_246; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sc_w = iss_stage__lsuIssFifo_io_enq_bits_T_241 |
    iss_stage__lsuIssFifo_io_enq_bits_T_239; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_w = iss_stage__lsuIssFifo_io_enq_bits_T_234 |
    iss_stage__lsuIssFifo_io_enq_bits_T_232; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_w = iss_stage__lsuIssFifo_io_enq_bits_T_227 |
    iss_stage__lsuIssFifo_io_enq_bits_T_225; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_w = iss_stage__lsuIssFifo_io_enq_bits_T_220 |
    iss_stage__lsuIssFifo_io_enq_bits_T_218; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_w = iss_stage__lsuIssFifo_io_enq_bits_T_213 |
    iss_stage__lsuIssFifo_io_enq_bits_T_211; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_w = iss_stage__lsuIssFifo_io_enq_bits_T_206 |
    iss_stage__lsuIssFifo_io_enq_bits_T_204; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_w = iss_stage__lsuIssFifo_io_enq_bits_T_199 |
    iss_stage__lsuIssFifo_io_enq_bits_T_197; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_w = iss_stage__lsuIssFifo_io_enq_bits_T_192 |
    iss_stage__lsuIssFifo_io_enq_bits_T_190; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_w = iss_stage__lsuIssFifo_io_enq_bits_T_185 |
    iss_stage__lsuIssFifo_io_enq_bits_T_183; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_w = iss_stage__lsuIssFifo_io_enq_bits_T_178 |
    iss_stage__lsuIssFifo_io_enq_bits_T_176; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_lr_d = iss_stage__lsuIssFifo_io_enq_bits_T_171 |
    iss_stage__lsuIssFifo_io_enq_bits_T_169; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_sc_d = iss_stage__lsuIssFifo_io_enq_bits_T_164 |
    iss_stage__lsuIssFifo_io_enq_bits_T_162; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoswap_d = iss_stage__lsuIssFifo_io_enq_bits_T_157 |
    iss_stage__lsuIssFifo_io_enq_bits_T_155; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoadd_d = iss_stage__lsuIssFifo_io_enq_bits_T_150 |
    iss_stage__lsuIssFifo_io_enq_bits_T_148; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoxor_d = iss_stage__lsuIssFifo_io_enq_bits_T_143 |
    iss_stage__lsuIssFifo_io_enq_bits_T_141; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoand_d = iss_stage__lsuIssFifo_io_enq_bits_T_136 |
    iss_stage__lsuIssFifo_io_enq_bits_T_134; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amoor_d = iss_stage__lsuIssFifo_io_enq_bits_T_129 |
    iss_stage__lsuIssFifo_io_enq_bits_T_127; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomin_d = iss_stage__lsuIssFifo_io_enq_bits_T_122 |
    iss_stage__lsuIssFifo_io_enq_bits_T_120; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomax_d = iss_stage__lsuIssFifo_io_enq_bits_T_115 |
    iss_stage__lsuIssFifo_io_enq_bits_T_113; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amominu_d = iss_stage__lsuIssFifo_io_enq_bits_T_108 |
    iss_stage__lsuIssFifo_io_enq_bits_T_106; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_amomaxu_d = iss_stage__lsuIssFifo_io_enq_bits_T_101 |
    iss_stage__lsuIssFifo_io_enq_bits_T_99; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_flw = iss_stage__lsuIssFifo_io_enq_bits_T_94 |
    iss_stage__lsuIssFifo_io_enq_bits_T_92; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_fsw = iss_stage__lsuIssFifo_io_enq_bits_T_87 |
    iss_stage__lsuIssFifo_io_enq_bits_T_85; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_fld = iss_stage__lsuIssFifo_io_enq_bits_T_80 |
    iss_stage__lsuIssFifo_io_enq_bits_T_78; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_fun_fsd = iss_stage__lsuIssFifo_io_enq_bits_T_73 |
    iss_stage__lsuIssFifo_io_enq_bits_T_71; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_param_rd0 = iss_stage__lsuIssFifo_io_enq_bits_T_66 |
    iss_stage__lsuIssFifo_io_enq_bits_T_64; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_param_dat_op1 = iss_stage__lsuIssFifo_io_enq_bits_T_59 |
    iss_stage__lsuIssFifo_io_enq_bits_T_57; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_enq_bits_param_dat_op2 = iss_stage__lsuIssFifo_io_enq_bits_T_52 |
    iss_stage__lsuIssFifo_io_enq_bits_T_50; // @[Mux.scala 27:73]
  assign iss_stage_lsuIssFifo_io_deq_ready = iss_stage_io_lsu_iss_exe_ready; // @[Issue.scala 908:21]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0[exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_data = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_rd0;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_en = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready &
    exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_res[exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_data = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_res;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_en = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready &
    exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready = exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_ready |
    exe_stage_alu_0_alu_exe_iwb_fifo__empty_T; // @[Decoupled.scala 305:16 325:{24,39}]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_valid = ~exe_stage_alu_0_alu_exe_iwb_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_rd0 =
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_res =
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_alu_0_io_alu_iss_exe_ready = exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_ready &
    exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_alu_0_io_alu_exe_iwb_valid = exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_valid; // @[Alu.scala 39:18]
  assign exe_stage_alu_0_io_alu_exe_iwb_bits_rd0 = exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_rd0; // @[Alu.scala 39:18]
  assign exe_stage_alu_0_io_alu_exe_iwb_bits_res = exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_bits_res; // @[Alu.scala 39:18]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_clock = exe_stage_alu_0_clock;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_reset = exe_stage_alu_0_reset | exe_stage_alu_0_io_flush; // @[Alu.scala 40:42]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_valid = exe_stage_alu_0_io_alu_iss_exe_valid; // @[Alu.scala 90:33]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_rd0 = exe_stage_alu_0_io_alu_iss_exe_bits_param_rd0; // @[Alu.scala 92:36]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_enq_bits_res = exe_stage_alu_0_res[63:0]; // @[Alu.scala 91:36]
  assign exe_stage_alu_0_alu_exe_iwb_fifo_io_deq_ready = exe_stage_alu_0_io_alu_exe_iwb_ready; // @[Alu.scala 39:18]
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_bru_bru_exe_iwb_fifo_ram_rd0[exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_data = exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_rd0;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_en = exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready &
    exe_stage_bru_bru_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_bru_bru_exe_iwb_fifo_ram_res[exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_data = exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_res;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_en = exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready &
    exe_stage_bru_bru_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_bru_bru_exe_iwb_fifo_io_enq_ready = exe_stage_bru_bru_exe_iwb_fifo_io_deq_ready |
    exe_stage_bru_bru_exe_iwb_fifo__empty_T; // @[Decoupled.scala 305:16 325:{24,39}]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_deq_valid = ~exe_stage_bru_bru_exe_iwb_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_rd0 = exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_res = exe_stage_bru_bru_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_pc[exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_pc_MPORT_data = exe_stage_bru_bctq_io_enq_bits_pc;
  assign exe_stage_bru_bctq_ram_pc_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_pc_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_pc_MPORT_en = exe_stage_bru_bctq_io_enq_ready & exe_stage_bru_bctq_io_enq_valid;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_bimResp_bim_p[exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_data = exe_stage_bru_bctq_io_enq_bits_bimResp_bim_p;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_en = exe_stage_bru_bctq_io_enq_ready &
    exe_stage_bru_bctq_io_enq_valid;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_bimResp_bim_h[exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_data = exe_stage_bru_bctq_io_enq_bits_bimResp_bim_h;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_en = exe_stage_bru_bctq_io_enq_ready &
    exe_stage_bru_bctq_io_enq_valid;
  assign exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_isPredictTaken[exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_isPredictTaken_MPORT_data = exe_stage_bru_bctq_io_enq_bits_isPredictTaken;
  assign exe_stage_bru_bctq_ram_isPredictTaken_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_isPredictTaken_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_isPredictTaken_MPORT_en = exe_stage_bru_bctq_io_enq_ready &
    exe_stage_bru_bctq_io_enq_valid;
  assign exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_isFinalTaken[exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_isFinalTaken_MPORT_data = exe_stage_bru_bctq_io_enq_bits_isFinalTaken;
  assign exe_stage_bru_bctq_ram_isFinalTaken_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_isFinalTaken_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_isFinalTaken_MPORT_en = exe_stage_bru_bctq_io_enq_ready &
    exe_stage_bru_bctq_io_enq_valid;
  assign exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_data =
    exe_stage_bru_bctq_ram_finalTarget[exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_bctq_ram_finalTarget_MPORT_data = exe_stage_bru_bctq_io_enq_bits_finalTarget;
  assign exe_stage_bru_bctq_ram_finalTarget_MPORT_addr = 1'h0;
  assign exe_stage_bru_bctq_ram_finalTarget_MPORT_mask = 1'h1;
  assign exe_stage_bru_bctq_ram_finalTarget_MPORT_en = exe_stage_bru_bctq_io_enq_ready & exe_stage_bru_bctq_io_enq_valid
    ;
  assign exe_stage_bru_bctq_io_enq_ready = ~exe_stage_bru_bctq_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_bru_bctq_io_deq_valid = ~exe_stage_bru_bctq__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_bru_bctq_io_deq_bits_pc = exe_stage_bru_bctq_ram_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_io_deq_bits_bimResp_bim_p = exe_stage_bru_bctq_ram_bimResp_bim_p_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_io_deq_bits_bimResp_bim_h = exe_stage_bru_bctq_ram_bimResp_bim_h_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_io_deq_bits_isPredictTaken = exe_stage_bru_bctq_ram_isPredictTaken_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_io_deq_bits_isFinalTaken = exe_stage_bru_bctq_ram_isFinalTaken_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_bctq_io_deq_bits_finalTarget = exe_stage_bru_bctq_ram_finalTarget_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_data =
    exe_stage_bru_jctq_ram_pc[exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_jctq_ram_pc_MPORT_data = exe_stage_bru_jctq_io_enq_bits_pc;
  assign exe_stage_bru_jctq_ram_pc_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_pc_MPORT_mask = 1'h1;
  assign exe_stage_bru_jctq_ram_pc_MPORT_en = exe_stage_bru_jctq_io_enq_ready & exe_stage_bru_jctq_io_enq_valid;
  assign exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_data =
    exe_stage_bru_jctq_ram_btbResp_target[exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_jctq_ram_btbResp_target_MPORT_data = exe_stage_bru_jctq_io_enq_bits_btbResp_target;
  assign exe_stage_bru_jctq_ram_btbResp_target_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_btbResp_target_MPORT_mask = 1'h1;
  assign exe_stage_bru_jctq_ram_btbResp_target_MPORT_en = exe_stage_bru_jctq_io_enq_ready &
    exe_stage_bru_jctq_io_enq_valid;
  assign exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_data =
    exe_stage_bru_jctq_ram_rasResp_target[exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_jctq_ram_rasResp_target_MPORT_data = exe_stage_bru_jctq_io_enq_bits_rasResp_target;
  assign exe_stage_bru_jctq_ram_rasResp_target_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_rasResp_target_MPORT_mask = 1'h1;
  assign exe_stage_bru_jctq_ram_rasResp_target_MPORT_en = exe_stage_bru_jctq_io_enq_ready &
    exe_stage_bru_jctq_io_enq_valid;
  assign exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_data =
    exe_stage_bru_jctq_ram_isRas[exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_jctq_ram_isRas_MPORT_data = exe_stage_bru_jctq_io_enq_bits_isRas;
  assign exe_stage_bru_jctq_ram_isRas_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_isRas_MPORT_mask = 1'h1;
  assign exe_stage_bru_jctq_ram_isRas_MPORT_en = exe_stage_bru_jctq_io_enq_ready & exe_stage_bru_jctq_io_enq_valid;
  assign exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_data =
    exe_stage_bru_jctq_ram_finalTarget[exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_bru_jctq_ram_finalTarget_MPORT_data = exe_stage_bru_jctq_io_enq_bits_finalTarget;
  assign exe_stage_bru_jctq_ram_finalTarget_MPORT_addr = 1'h0;
  assign exe_stage_bru_jctq_ram_finalTarget_MPORT_mask = 1'h1;
  assign exe_stage_bru_jctq_ram_finalTarget_MPORT_en = exe_stage_bru_jctq_io_enq_ready & exe_stage_bru_jctq_io_enq_valid
    ;
  assign exe_stage_bru_jctq_io_enq_ready = ~exe_stage_bru_jctq_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_bru_jctq_io_deq_valid = ~exe_stage_bru_jctq__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_bru_jctq_io_deq_bits_pc = exe_stage_bru_jctq_ram_pc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_jctq_io_deq_bits_btbResp_target = exe_stage_bru_jctq_ram_btbResp_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_jctq_io_deq_bits_rasResp_target = exe_stage_bru_jctq_ram_rasResp_target_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_jctq_io_deq_bits_isRas = exe_stage_bru_jctq_ram_isRas_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_jctq_io_deq_bits_finalTarget = exe_stage_bru_jctq_ram_finalTarget_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_bru_io_bru_iss_exe_ready = exe_stage_bru__io_bru_iss_exe_ready_T_1 &
    exe_stage_bru__io_bru_iss_exe_ready_T_2; // @[Bru.scala 110:97]
  assign exe_stage_bru_io_bru_exe_iwb_valid = exe_stage_bru_bru_exe_iwb_fifo_io_deq_valid; // @[Bru.scala 101:18]
  assign exe_stage_bru_io_bru_exe_iwb_bits_rd0 = exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_rd0; // @[Bru.scala 101:18]
  assign exe_stage_bru_io_bru_exe_iwb_bits_res = exe_stage_bru_bru_exe_iwb_fifo_io_deq_bits_res; // @[Bru.scala 101:18]
  assign exe_stage_bru_io_bftq_ready = exe_stage_bru__io_bftq_ready_T & exe_stage_bru__io_bftq_ready_T_5; // @[Bru.scala 112:40]
  assign exe_stage_bru_io_jftq_ready = exe_stage_bru__io_bftq_ready_T & exe_stage_bru_io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 113:40]
  assign exe_stage_bru_io_bctq_valid = exe_stage_bru_bctq_io_deq_valid; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_pc = exe_stage_bru_bctq_io_deq_bits_pc; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_bimResp_bim_p = exe_stage_bru_bctq_io_deq_bits_bimResp_bim_p; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_bimResp_bim_h = exe_stage_bru_bctq_io_deq_bits_bimResp_bim_h; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_isPredictTaken = exe_stage_bru_bctq_io_deq_bits_isPredictTaken; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_isFinalTaken = exe_stage_bru_bctq_io_deq_bits_isFinalTaken; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_bctq_bits_finalTarget = exe_stage_bru_bctq_io_deq_bits_finalTarget; // @[Bru.scala 102:11]
  assign exe_stage_bru_io_jctq_valid = exe_stage_bru_jctq_io_deq_valid; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_jctq_bits_pc = exe_stage_bru_jctq_io_deq_bits_pc; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_jctq_bits_btbResp_target = exe_stage_bru_jctq_io_deq_bits_btbResp_target; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_jctq_bits_rasResp_target = exe_stage_bru_jctq_io_deq_bits_rasResp_target; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_jctq_bits_isRas = exe_stage_bru_jctq_io_deq_bits_isRas; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_jctq_bits_finalTarget = exe_stage_bru_jctq_io_deq_bits_finalTarget; // @[Bru.scala 103:11]
  assign exe_stage_bru_io_bcmm_update_valid = exe_stage_bru_io_bctq_ready & exe_stage_bru_io_bctq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_bru_io_bcmm_update_bits_pc = exe_stage_bru__io_bcmm_update_bits_T ? exe_stage_bru_io_bctq_bits_pc : 39'h0
    ; // @[Bru.scala 85:30]
  assign exe_stage_bru_io_bcmm_update_bits_bimResp_bim_p = exe_stage_bru__io_bcmm_update_bits_T &
    exe_stage_bru_io_bctq_bits_bimResp_bim_p; // @[Bru.scala 85:30]
  assign exe_stage_bru_io_bcmm_update_bits_bimResp_bim_h = exe_stage_bru__io_bcmm_update_bits_T &
    exe_stage_bru_io_bctq_bits_bimResp_bim_h; // @[Bru.scala 85:30]
  assign exe_stage_bru_io_bcmm_update_bits_isFinalTaken = exe_stage_bru__io_bcmm_update_bits_T &
    exe_stage_bru_io_bctq_bits_isFinalTaken; // @[Bru.scala 85:30]
  assign exe_stage_bru_io_jcmm_update_valid = exe_stage_bru_io_jctq_ready & exe_stage_bru_io_jctq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_bru_io_jcmm_update_bits_pc = exe_stage_bru__io_jcmm_update_bits_T ? exe_stage_bru_io_jctq_bits_pc : 39'h0
    ; // @[Bru.scala 87:30]
  assign exe_stage_bru_io_jcmm_update_bits_finalTarget = exe_stage_bru__io_jcmm_update_bits_T ?
    exe_stage_bru_io_jctq_bits_finalTarget : 64'h0; // @[Bru.scala 87:30]
  assign exe_stage_bru_bru_exe_iwb_fifo_clock = exe_stage_bru_clock;
  assign exe_stage_bru_bru_exe_iwb_fifo_reset = exe_stage_bru_reset | exe_stage_bru_io_flush; // @[Bru.scala 105:42]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_enq_valid = exe_stage_bru_io_bru_iss_exe_ready &
    exe_stage_bru_io_bru_iss_exe_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_rd0 = exe_stage_bru_io_bru_iss_exe_bits_param_rd0; // @[Bru.scala 120:36]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_enq_bits_res = exe_stage_bru_io_bru_iss_exe_bits_param_pc + _GEN_387; // @[Bru.scala 119:42]
  assign exe_stage_bru_bru_exe_iwb_fifo_io_deq_ready = exe_stage_bru_io_bru_exe_iwb_ready; // @[Bru.scala 101:18]
  assign exe_stage_bru_bctq_clock = exe_stage_bru_clock;
  assign exe_stage_bru_bctq_reset = exe_stage_bru_reset | exe_stage_bru_io_flush; // @[Bru.scala 106:30]
  assign exe_stage_bru_bctq_io_enq_valid = exe_stage_bru__io_bftq_ready_T & exe_stage_bru__io_bftq_ready_T_5; // @[Bru.scala 116:44]
  assign exe_stage_bru_bctq_io_enq_bits_pc = exe_stage_bru_io_bftq_bits_pc; // @[Bru.scala 70:63]
  assign exe_stage_bru_bctq_io_enq_bits_bimResp_bim_p = exe_stage_bru_io_bftq_bits_bimResp_bim_p; // @[Bru.scala 70:63]
  assign exe_stage_bru_bctq_io_enq_bits_bimResp_bim_h = exe_stage_bru_io_bftq_bits_bimResp_bim_h; // @[Bru.scala 70:63]
  assign exe_stage_bru_bctq_io_enq_bits_isPredictTaken = exe_stage_bru_io_bftq_bits_isPredictTaken; // @[Bru.scala 70:63]
  assign exe_stage_bru_bctq_io_enq_bits_isFinalTaken = exe_stage_bru__is_branchTaken_T_19 |
    exe_stage_bru__is_branchTaken_T_15; // @[Mux.scala 27:73]
  assign exe_stage_bru_bctq_io_enq_bits_finalTarget = exe_stage_bru__is_branchTaken_T_20 ?
    exe_stage_bru__bctq_io_enq_bits_finalTarget_T_1 : exe_stage_bru__bctq_io_enq_bits_finalTarget_T_4; // @[Bru.scala 72:39]
  assign exe_stage_bru_bctq_io_deq_ready = exe_stage_bru_io_bctq_ready; // @[Bru.scala 102:11]
  assign exe_stage_bru_jctq_clock = exe_stage_bru_clock;
  assign exe_stage_bru_jctq_reset = exe_stage_bru_reset | exe_stage_bru_io_flush; // @[Bru.scala 107:30]
  assign exe_stage_bru_jctq_io_enq_valid = exe_stage_bru__io_bftq_ready_T & exe_stage_bru_io_bru_iss_exe_bits_fun_jalr; // @[Bru.scala 117:44]
  assign exe_stage_bru_jctq_io_enq_bits_pc = exe_stage_bru_io_jftq_bits_pc; // @[Bru.scala 78:61]
  assign exe_stage_bru_jctq_io_enq_bits_btbResp_target = exe_stage_bru_io_jftq_bits_btbResp_target; // @[Bru.scala 78:61]
  assign exe_stage_bru_jctq_io_enq_bits_rasResp_target = exe_stage_bru_io_jftq_bits_rasResp_target; // @[Bru.scala 78:61]
  assign exe_stage_bru_jctq_io_enq_bits_isRas = exe_stage_bru_io_jftq_bits_isRas; // @[Bru.scala 78:61]
  assign exe_stage_bru_jctq_io_enq_bits_finalTarget = {exe_stage_bru__jctq_io_enq_bits_finalTarget_T_2, 1'h0}; // @[Bru.scala 79:52]
  assign exe_stage_bru_jctq_io_deq_ready = exe_stage_bru_io_jctq_ready; // @[Bru.scala 103:11]
  assign exe_stage_lsu_stQueue_io_enq_ready = ~exe_stage_lsu_stQueue_full; // @[Store_queue.scala 89:19]
  assign exe_stage_lsu_stQueue_io_deq_valid = ~exe_stage_lsu_stQueue_emty; // @[Store_queue.scala 90:19]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lb = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_47; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lh = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_48; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lw = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_49; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_ld = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_50; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lbu = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_51; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lhu = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_52; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lwu = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_53; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sb = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_54; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sh = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_55; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sw = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_56; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sd = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_57; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lr_w = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_61
    ; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sc_w = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_62
    ; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_63; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_64; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_65; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_66; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_67; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_68; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_69; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_70; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_w = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_71; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_lr_d = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_72
    ; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_sc_d = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_73
    ; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_74; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_75; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_76; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_77; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_78; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_79; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_80; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_81; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_d = exe_stage_lsu_stQueue_io_deq_valid &
    exe_stage_lsu_stQueue__GEN_82; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_flw = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_83; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_fsw = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_84; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_fld = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_85; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_fun_fsd = exe_stage_lsu_stQueue_io_deq_valid & exe_stage_lsu_stQueue__GEN_86; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_param_rd0 = exe_stage_lsu_stQueue_io_deq_valid ?
    exe_stage_lsu_stQueue__GEN_87 : 6'h0; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_param_dat_op1 = exe_stage_lsu_stQueue_io_deq_valid ?
    exe_stage_lsu_stQueue__GEN_88 : 64'h0; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_deq_bits_param_dat_op2 = exe_stage_lsu_stQueue_io_deq_valid ?
    exe_stage_lsu_stQueue__GEN_89 : 64'h0; // @[Store_queue.scala 92:21]
  assign exe_stage_lsu_stQueue_io_is_empty = exe_stage_lsu_stQueue__io_is_empty_T & exe_stage_lsu_stQueue_emty; // @[Store_queue.scala 141:48]
  assign exe_stage_lsu_stQueue_io_overlapResp_valid = exe_stage_lsu_stQueue__T_30 ? exe_stage_lsu_stQueue__GEN_804 :
    exe_stage_lsu_stQueue__GEN_1072; // @[Store_queue.scala 148:51]
  assign exe_stage_lsu_stQueue_io_overlapResp_bits_wdata = exe_stage_lsu_stQueue__new_data_T_4 |
    exe_stage_lsu_stQueue__new_data_T_5; // @[Util.scala 108:35]
  assign exe_stage_lsu_stQueue_io_overlapResp_bits_wstrb = exe_stage_lsu_stQueue_wstrb | exe_stage_lsu_stQueue_wstrb_2; // @[Util.scala 109:30]
  assign exe_stage_lsu_ls_arb_io_in_0_ready = exe_stage_lsu_ls_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_ls_arb_io_in_1_ready = exe_stage_lsu_ls_arb_grant_1 & exe_stage_lsu_ls_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_ls_arb_io_out_valid = exe_stage_lsu_ls_arb__io_out_valid_T | exe_stage_lsu_ls_arb_io_in_1_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lb = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lb : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lh = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lh : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lw = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lw : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_ld = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_ld : exe_stage_lsu_ls_arb_io_in_1_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lbu = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lbu : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lhu = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lhu : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lwu = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lwu : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sb = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sb : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sh = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sh : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sw = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sw : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sd = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sd : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_w : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_d : exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_flw = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_flw : exe_stage_lsu_ls_arb_io_in_1_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_fsw = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsw : exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_fld = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_fld : exe_stage_lsu_ls_arb_io_in_1_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_fun_fsd = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsd : exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_param_rd0 = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_param_rd0 : exe_stage_lsu_ls_arb_io_in_1_bits_param_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_param_dat_op1 = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op1 : exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op1; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_ls_arb_io_out_bits_param_dat_op2 = exe_stage_lsu_ls_arb_io_in_0_valid ?
    exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op2 : exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op2; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_system_io_enq_ready = ~exe_stage_lsu_system_is_busy; // @[IO_Lsu.scala 53:19]
  assign exe_stage_lsu_system_io_deq_valid = exe_stage_lsu_system_io_access_valid; // @[IO_Lsu.scala 102:19]
  assign exe_stage_lsu_system_io_deq_bits_wb_rd0 = exe_stage_lsu_system_pending_param_rd0; // @[IO_Lsu.scala 104:22]
  assign exe_stage_lsu_system_io_deq_bits_wb_res = exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_62 |
    exe_stage_lsu_system__io_deq_bits_wb_res_res_pre_res_T_60; // @[Mux.scala 27:73]
  assign exe_stage_lsu_system_io_deq_bits_is_load_amo = exe_stage_lsu_system_io_access_bits_opcode == 3'h1; // @[IO_Lsu.scala 121:53]
  assign exe_stage_lsu_system_io_deq_bits_is_flw = exe_stage_lsu_system_io_deq_valid &
    exe_stage_lsu_system_pending_fun_flw; // @[IO_Lsu.scala 125:28]
  assign exe_stage_lsu_system_io_deq_bits_is_fld = exe_stage_lsu_system_io_deq_valid &
    exe_stage_lsu_system_pending_fun_fld; // @[IO_Lsu.scala 126:28]
  assign exe_stage_lsu_system_io_is_empty = ~exe_stage_lsu_system_is_busy; // @[IO_Lsu.scala 49:18]
  assign exe_stage_lsu_system_io_getPut_valid = exe_stage_lsu_system_is_busy & exe_stage_lsu_system__io_getPut_valid_T; // @[IO_Lsu.scala 51:30]
  assign exe_stage_lsu_system_io_getPut_bits_opcode = exe_stage_lsu_system__T_12 ? 3'h4 : 3'h1; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_param = 3'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_size = 2'h3; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_source = 1'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_address = exe_stage_lsu_system__T_12 ?
    exe_stage_lsu_system_io_getPut_bits_a_1_address : exe_stage_lsu_system_io_getPut_bits_a_1_address; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_mask = exe_stage_lsu_system__T_12 ? 8'hff :
    exe_stage_lsu_system_io_getPut_bits_wstrb; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_data = exe_stage_lsu_system__T_12 ? 64'h0 :
    exe_stage_lsu_system_io_getPut_bits_res; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_getPut_bits_corrupt = 1'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_system_io_access_ready = exe_stage_lsu_system_io_deq_ready; // @[IO_Lsu.scala 129:19]
  assign exe_stage_lsu_periph_io_enq_ready = ~exe_stage_lsu_periph_is_busy; // @[IO_Lsu.scala 53:19]
  assign exe_stage_lsu_periph_io_deq_valid = exe_stage_lsu_periph_io_access_valid; // @[IO_Lsu.scala 102:19]
  assign exe_stage_lsu_periph_io_deq_bits_wb_rd0 = exe_stage_lsu_periph_pending_param_rd0; // @[IO_Lsu.scala 104:22]
  assign exe_stage_lsu_periph_io_deq_bits_wb_res = exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_62 |
    exe_stage_lsu_periph__io_deq_bits_wb_res_res_pre_res_T_60; // @[Mux.scala 27:73]
  assign exe_stage_lsu_periph_io_deq_bits_is_load_amo = exe_stage_lsu_periph_io_access_bits_opcode == 3'h1; // @[IO_Lsu.scala 121:53]
  assign exe_stage_lsu_periph_io_deq_bits_is_flw = exe_stage_lsu_periph_io_deq_valid &
    exe_stage_lsu_periph_pending_fun_flw; // @[IO_Lsu.scala 125:28]
  assign exe_stage_lsu_periph_io_deq_bits_is_fld = exe_stage_lsu_periph_io_deq_valid &
    exe_stage_lsu_periph_pending_fun_fld; // @[IO_Lsu.scala 126:28]
  assign exe_stage_lsu_periph_io_is_empty = ~exe_stage_lsu_periph_is_busy; // @[IO_Lsu.scala 49:18]
  assign exe_stage_lsu_periph_io_getPut_valid = exe_stage_lsu_periph_is_busy & exe_stage_lsu_periph__io_getPut_valid_T; // @[IO_Lsu.scala 51:30]
  assign exe_stage_lsu_periph_io_getPut_bits_opcode = exe_stage_lsu_periph__T_12 ? 3'h4 : 3'h1; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_param = 3'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_size = 2'h3; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_source = 1'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_address = exe_stage_lsu_periph__T_12 ?
    exe_stage_lsu_periph_io_getPut_bits_a_1_address : exe_stage_lsu_periph_io_getPut_bits_a_1_address; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_mask = exe_stage_lsu_periph__T_12 ? 8'hff :
    exe_stage_lsu_periph_io_getPut_bits_wstrb; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_data = exe_stage_lsu_periph__T_12 ? 64'h0 :
    exe_stage_lsu_periph_io_getPut_bits_res; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_getPut_bits_corrupt = 1'h0; // @[IO_Lsu.scala 55:51 56:24]
  assign exe_stage_lsu_periph_io_access_ready = exe_stage_lsu_periph_io_deq_ready; // @[IO_Lsu.scala 129:19]
  assign exe_stage_lsu_cache_0_missUnit_io_rsp_valid = exe_stage_lsu_cache_0_missUnit_rsp_valid; // @[MissUnit.scala 99:16]
  assign exe_stage_lsu_cache_0_missUnit_io_rsp_bits_paddr = exe_stage_lsu_cache_0_missUnit_acquire_sel ?
    exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr : exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr; // @[MissUnit.scala 130:{49,49}]
  assign exe_stage_lsu_cache_0_missUnit_io_rsp_bits_wdata = {exe_stage_lsu_cache_0_missUnit_miss_rsp_1,
    exe_stage_lsu_cache_0_missUnit_miss_rsp_0}; // @[Cat.scala 33:92]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_valid = exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild; // @[MissUnit.scala 95:26]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_opcode = 3'h6; // @[Edges.scala 345:17 346:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_param = 3'h1; // @[Edges.scala 345:17 347:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_size = 3'h4; // @[Edges.scala 345:17 348:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_source = 1'h0; // @[Edges.scala 345:17 349:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_address =
    exe_stage_lsu_cache_0_missUnit__io_cache_acquire_bits_T_1[31:0]; // @[Edges.scala 345:17 350:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_mask = 8'hff; // @[Cat.scala 33:92]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_data = 64'h0; // @[Edges.scala 345:17 352:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_corrupt = 1'h0; // @[Edges.scala 345:17 353:15]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_ready = exe_stage_lsu_cache_0_missUnit_mshr_state_qout == 3'h2; // @[MissUnit.scala 139:41]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_valid = exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid; // @[MissUnit.scala 97:27]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_bits_sink =
    exe_stage_lsu_cache_0_missUnit_cache_grant_reg_sink; // @[Edges.scala 438:17 439:12]
  assign exe_stage_lsu_cache_0_missUnit_io_release_ban = exe_stage_lsu_cache_0_missUnit__io_release_ban_T |
    exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11; // @[MissUnit.scala 161:45]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram[exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_data =
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_bits;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_en =
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_ready & exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_ready = ~
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_valid = ~exe_stage_lsu_cache_0_probeUnit_probe_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_bits =
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_probeUnit_io_cache_probe_ready = exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_ready; // @[ProbeUnit.scala 52:24]
  assign exe_stage_lsu_cache_0_probeUnit_io_req_valid = exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_valid &
    exe_stage_lsu_cache_0_probeUnit__io_req_valid_T; // @[ProbeUnit.scala 54:43]
  assign exe_stage_lsu_cache_0_probeUnit_io_req_bits_paddr = exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_bits; // @[ProbeUnit.scala 56:21]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_clock = exe_stage_lsu_cache_0_probeUnit_clock;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_reset = exe_stage_lsu_cache_0_probeUnit_reset;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_valid = exe_stage_lsu_cache_0_probeUnit_io_cache_probe_valid; // @[ProbeUnit.scala 50:27]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_enq_bits =
    exe_stage_lsu_cache_0_probeUnit_io_cache_probe_bits_address; // @[ProbeUnit.scala 51:26]
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_io_deq_ready = exe_stage_lsu_cache_0_probeUnit_io_req_ready &
    exe_stage_lsu_cache_0_probeUnit__io_req_valid_T; // @[ProbeUnit.scala 55:43]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_paddr;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_data;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_releaseData;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_release;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probe;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probeData;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_addr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_en =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_17 :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_ready = ~exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_valid =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_valid |
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_paddr =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_paddr :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_data =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_data :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_releaseData =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ?
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_releaseData :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_release =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ?
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_release :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probe =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ? exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probe
     : exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_bits_is_probeData =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty ?
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probeData :
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_valid =
    exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid; // @[wrtieBackUnit.scala 81:26]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_opcode =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_47 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_45; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_param =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_40 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_38; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_size =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_33 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_31; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_source = 1'h0; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_address =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_19 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_17; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_data =
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_8 |
    exe_stage_lsu_cache_0_writeBackUnit__io_cache_release_bits_T_10; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_corrupt = 1'h0; // @[Mux.scala 27:73]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready =
    exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready; // @[wrtieBackUnit.scala 82:26]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_miss_ban = exe_stage_lsu_cache_0_writeBackUnit__io_miss_ban_T_2 |
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_valid; // @[wrtieBackUnit.scala 171:64]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock = exe_stage_lsu_cache_0_writeBackUnit_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_reset = exe_stage_lsu_cache_0_writeBackUnit_reset;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_valid = exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_valid; // @[wrtieBackUnit.scala 63:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_paddr =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_paddr; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_data =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_data; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_releaseData =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_releaseData; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_release =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_release; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probe =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probe; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_enq_bits_is_probeData =
    exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probeData; // @[wrtieBackUnit.scala 64:24]
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_ready =
    exe_stage_lsu_cache_0_writeBackUnit__wb_fifo_io_deq_ready_T &
    exe_stage_lsu_cache_0_writeBackUnit__wb_fifo_io_deq_ready_T_1; // @[wrtieBackUnit.scala 169:27]
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_chkIdx[exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_chkIdx;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_paddr[exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_paddr;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_wdata[exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wdata;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_wstrb[exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wstrb;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lb[exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lb;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lh[exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lh;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lw[exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lw;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_ld[exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_ld;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lbu;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lhu;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lwu;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sb[exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sb;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sh[exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sh;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sw[exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sw;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sd[exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sd;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_w;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_d;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_flw[exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_flw;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw[exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsw;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fld[exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fld;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd[exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsd;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_probe[exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_probe;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_grant[exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_grant;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_fun_preft[exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_preft;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_deq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0[exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_data = exe_stage_lsu_cache_0_lsEntry_io_enq_bits_rd_rd0;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_addr = exe_stage_lsu_cache_0_lsEntry_enq_ptr_value;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_en = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry__GEN_59 : exe_stage_lsu_cache_0_lsEntry__do_enq_T;
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_ready = ~exe_stage_lsu_cache_0_lsEntry_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_valid = exe_stage_lsu_cache_0_lsEntry_io_enq_valid |
    exe_stage_lsu_cache_0_lsEntry__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_chkIdx = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_chkIdx : exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_paddr = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_paddr : exe_stage_lsu_cache_0_lsEntry_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wdata = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wdata : exe_stage_lsu_cache_0_lsEntry_ram_wdata_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wstrb = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wstrb : exe_stage_lsu_cache_0_lsEntry_ram_wstrb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lb = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lb : exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lh = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lh : exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lw = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lw : exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_ld = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_ld : exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lbu = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lbu : exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lhu = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lhu : exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lwu = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lwu : exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sb = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sb : exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sh = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sh : exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sw = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sw : exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sd = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sd : exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_w :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_d :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_flw = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_flw : exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsw = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsw : exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fld = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fld : exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsd = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsd : exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_probe = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_probe :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_grant = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_grant :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_preft = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_preft :
    exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_bits_rd_rd0 = exe_stage_lsu_cache_0_lsEntry_empty ?
    exe_stage_lsu_cache_0_lsEntry_io_enq_bits_rd_rd0 : exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx[exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_data = exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_chkIdx;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0[exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_data = exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_rd0;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res[exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_data = exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_res;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_addr =
    exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo[exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_load_amo;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw[exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_data = exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_flw;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value
    ;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld[exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_data = exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_fld;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_addr = exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_en = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo__GEN_17 : exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_ready = ~exe_stage_lsu_cache_0_rtn_fifo_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_valid = exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid |
    exe_stage_lsu_cache_0_rtn_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_chkIdx = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_chkIdx : exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_rd0 = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_rd0 : exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_res = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_res : exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_load_amo = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_load_amo :
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_flw = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_flw : exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_fld = exe_stage_lsu_cache_0_rtn_fifo_empty ?
    exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_fld : exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_io_deq_bits_MPORT_data
    ; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_ready = exe_stage_lsu_cache_0_op_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_ready = exe_stage_lsu_cache_0_op_arb_grant_1 &
    exe_stage_lsu_cache_0_op_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_valid = exe_stage_lsu_cache_0_op_arb__io_out_valid_T |
    exe_stage_lsu_cache_0_op_arb_io_in_1_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_chkIdx = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_chkIdx : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_chkIdx; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_paddr = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_paddr : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_paddr; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_wdata = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wdata : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wdata; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_wstrb = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wstrb : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wstrb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lb = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lb : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lh = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lh : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lw = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lw : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_ld = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_ld : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_ld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lbu = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lbu : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lbu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lhu = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lhu : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lhu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lwu = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lwu : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lwu; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sb = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sb : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sb; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sh = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sh : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sh; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sw = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sw : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sd = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sd : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_w : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_w; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_d : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_d; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_flw = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_flw : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_flw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsw = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsw : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsw; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fld = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fld : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fld; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsd = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsd : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsd; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_probe = exe_stage_lsu_cache_0_op_arb_io_in_0_valid &
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_probe; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_grant = exe_stage_lsu_cache_0_op_arb_io_in_0_valid &
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_grant; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_preft = exe_stage_lsu_cache_0_op_arb_io_in_0_valid &
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_preft; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_op_arb_io_out_bits_rd_rd0 = exe_stage_lsu_cache_0_op_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_op_arb_io_in_0_bits_rd_rd0 : exe_stage_lsu_cache_0_op_arb_io_in_1_bits_rd_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_0_ready = exe_stage_lsu_cache_0_rd_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_1_ready = exe_stage_lsu_cache_0_rd_arb_grant_1 &
    exe_stage_lsu_cache_0_rd_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_ready = exe_stage_lsu_cache_0_rd_arb_grant_2 &
    exe_stage_lsu_cache_0_rd_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_valid = exe_stage_lsu_cache_0_rd_arb__io_out_valid_T |
    exe_stage_lsu_cache_0_rd_arb_io_in_2_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_chkIdx = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_1; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_paddr = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_paddr : exe_stage_lsu_cache_0_rd_arb__GEN_2; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_wdata = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_wdata : exe_stage_lsu_cache_0_rd_arb__GEN_3; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_wstrb = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 16'hffff :
    exe_stage_lsu_cache_0_rd_arb__GEN_4; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lb = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_5; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lh = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_6; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lw = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_7; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_ld = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_8; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lbu = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_9; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lhu = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_10; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lwu = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_11; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sb = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_12; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sh = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_13; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sw = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_14; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sd = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_15; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_19; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_20; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_21; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_22; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_23; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_24; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_25; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_26; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_27; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_28; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_29; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_30; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_31; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_32; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_33; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_34; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_35; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_36; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_37; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_38; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_39; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_40; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_flw = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_41; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsw = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_42; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fld = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_43; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsd = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_44; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_probe = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_45; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_grant = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid |
    exe_stage_lsu_cache_0_rd_arb__GEN_46; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_preft = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 1'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_47; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_bits_rd_rd0 = exe_stage_lsu_cache_0_rd_arb_io_in_0_valid ? 6'h0 :
    exe_stage_lsu_cache_0_rd_arb__GEN_48; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx[exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_chkIdx;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_paddr[exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_paddr;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_wdata[exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wdata;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_wstrb[exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wstrb;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lb;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lh;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lw;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld[exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_ld;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lbu;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lhu;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lwu;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sb;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sh;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sw;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sd;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_w;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_d;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready
     & exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_flw;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsw;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fld;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsd;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe[exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_probe;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant[exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_grant;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft[exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_addr]
    ; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_preft;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0[exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_data = exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_rd_rd0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_addr = 1'h0;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_en = exe_stage_lsu_cache_0_reload_fifo_io_enq_ready &
    exe_stage_lsu_cache_0_reload_fifo_io_enq_valid;
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_ready = exe_stage_lsu_cache_0_reload_fifo_io_deq_ready |
    exe_stage_lsu_cache_0_reload_fifo__empty_T; // @[Decoupled.scala 305:16 325:{24,39}]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_valid = ~exe_stage_lsu_cache_0_reload_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_chkIdx =
    exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_paddr =
    exe_stage_lsu_cache_0_reload_fifo_ram_paddr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wdata =
    exe_stage_lsu_cache_0_reload_fifo_ram_wdata_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wstrb =
    exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lb =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lh =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lw =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_ld =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lbu =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lhu =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lwu =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sb =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sh =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sw =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sd =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_w =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_d =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_flw =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsw =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fld =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsd =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_probe =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_grant =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_preft =
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_rd_rd0 =
    exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_1;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_1;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_2;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_2;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_3;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_3;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_4;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_4;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_5;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_5;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_6;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_6;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_7;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_7;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_8;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_8;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_9;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_9;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_10;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_10
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_11;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_11
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_12;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_12
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_13;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_13
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_14;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_14
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_15;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_15
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_0 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_1 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_2 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_3 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_4 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_5 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_6 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_7 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_8 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_9 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_10 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_11 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_12 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_13 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_14 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datar_15 = exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_1;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_1;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_2;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_2;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_3;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_3;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_4;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_4;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_5;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_5;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_6;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_6;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_7;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_7;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_8;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_8;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_9;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_9;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_10;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_10
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_11;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_11
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_12;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_12
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_13;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_13
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_14;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_14
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_data =
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr]; // @[CacheRAM.scala 46:27]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_data = exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_15;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_addr = exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_mask = exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_15
    ;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_en = exe_stage_lsu_cache_0_stage_datRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_0 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_1 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_2 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_3 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_4 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_5 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_6 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_7 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_8 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_9 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_10 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_11 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_12 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_13 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_14 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datar_15 = exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_data; // @[CacheRAM.scala 48:18 49:14]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en =
    exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr =
    exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_data =
    exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem[exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr]; // @[CacheRAM.scala 152:27]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_data = exe_stage_lsu_cache_0_stage_tagRAM_0_io_dataw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_addr = exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_en = exe_stage_lsu_cache_0_stage_tagRAM_0_io_enw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_datar = exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_data
    ; // @[CacheRAM.scala 164:18 165:14]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en =
    exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr =
    exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_data =
    exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem[exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr]; // @[CacheRAM.scala 152:27]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_data = exe_stage_lsu_cache_0_stage_tagRAM_1_io_dataw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_addr = exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_mask = 1'h1;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_en = exe_stage_lsu_cache_0_stage_tagRAM_1_io_enw;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_datar = exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_data
    ; // @[CacheRAM.scala 164:18 165:14]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_0 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_0; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_1 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_2 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_3 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_4 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_5 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_6 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_7 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_8 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_9 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_10 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_11 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_12 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_13 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_14 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_io_out_15 = exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15; // @[PRNG.scala 78:10]
  assign exe_stage_lsu_cache_0_stage_io_enq_ready = 1'h1; // @[DcacheStage.scala 70:16]
  assign exe_stage_lsu_cache_0_stage_io_reload_valid = exe_stage_lsu_cache_0_stage_reloadValid; // @[DcacheStage.scala 359:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_chkIdx = exe_stage_lsu_cache_0_stage_reloadBits_chkIdx; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_paddr = exe_stage_lsu_cache_0_stage_reloadBits_paddr; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_wdata = exe_stage_lsu_cache_0_stage_reloadBits_wdata; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_wstrb = exe_stage_lsu_cache_0_stage_reloadBits_wstrb; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lb = exe_stage_lsu_cache_0_stage_reloadBits_fun_lb; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lh = exe_stage_lsu_cache_0_stage_reloadBits_fun_lh; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lw = exe_stage_lsu_cache_0_stage_reloadBits_fun_lw; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_ld = exe_stage_lsu_cache_0_stage_reloadBits_fun_ld; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lbu = exe_stage_lsu_cache_0_stage_reloadBits_fun_lbu; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lhu = exe_stage_lsu_cache_0_stage_reloadBits_fun_lhu; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lwu = exe_stage_lsu_cache_0_stage_reloadBits_fun_lwu; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sb = exe_stage_lsu_cache_0_stage_reloadBits_fun_sb; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sh = exe_stage_lsu_cache_0_stage_reloadBits_fun_sh; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sw = exe_stage_lsu_cache_0_stage_reloadBits_fun_sw; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sd = exe_stage_lsu_cache_0_stage_reloadBits_fun_sd; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_w
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_w; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_w
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_w
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_d
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_d; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_d
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_d
    ; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_flw = exe_stage_lsu_cache_0_stage_reloadBits_fun_flw; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsw = exe_stage_lsu_cache_0_stage_reloadBits_fun_fsw; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fld = exe_stage_lsu_cache_0_stage_reloadBits_fun_fld; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsd = exe_stage_lsu_cache_0_stage_reloadBits_fun_fsd; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_probe = exe_stage_lsu_cache_0_stage_reloadBits_fun_probe; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_grant = exe_stage_lsu_cache_0_stage_reloadBits_fun_grant; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_fun_preft = exe_stage_lsu_cache_0_stage_reloadBits_fun_preft; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_reload_bits_rd_rd0 = exe_stage_lsu_cache_0_stage_reloadBits_rd_rd0; // @[DcacheStage.scala 360:19]
  assign exe_stage_lsu_cache_0_stage_io_deq_valid = exe_stage_lsu_cache_0_stage_deqValid; // @[DcacheStage.scala 365:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_chkIdx = exe_stage_lsu_cache_0_stage_deqBits_chkIdx; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_wb_rd0 = exe_stage_lsu_cache_0_stage_deqBits_wb_rd0; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_wb_res = exe_stage_lsu_cache_0_stage_deqBits_wb_res; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_is_load_amo = exe_stage_lsu_cache_0_stage_deqBits_is_load_amo; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_is_flw = exe_stage_lsu_cache_0_stage_deqBits_is_flw; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_deq_bits_is_fld = exe_stage_lsu_cache_0_stage_deqBits_is_fld; // @[DcacheStage.scala 366:16]
  assign exe_stage_lsu_cache_0_stage_io_missUnit_req_valid = exe_stage_lsu_cache_0_stage_missUnitReqValid; // @[DcacheStage.scala 294:25]
  assign exe_stage_lsu_cache_0_stage_io_missUnit_req_bits_paddr = exe_stage_lsu_cache_0_stage_missUnitReqPaddr; // @[DcacheStage.scala 295:30]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_valid = exe_stage_lsu_cache_0_stage_wbReqValid; // @[DcacheStage.scala 313:19]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_paddr = exe_stage_lsu_cache_0_stage_wbReqPaddr; // @[DcacheStage.scala 314:24]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_data = exe_stage_lsu_cache_0_stage_wbReqData; // @[DcacheStage.scala 315:23]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_releaseData = exe_stage_lsu_cache_0_stage_wbReqisData &
    exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_releaseData_T; // @[DcacheStage.scala 317:49]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_release =
    exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_release_T &
    exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_releaseData_T; // @[DcacheStage.scala 318:49]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probe = exe_stage_lsu_cache_0_stage__io_wb_req_bits_is_release_T
     & exe_stage_lsu_cache_0_stage_isPb; // @[DcacheStage.scala 320:49]
  assign exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probeData = exe_stage_lsu_cache_0_stage_wbReqisData &
    exe_stage_lsu_cache_0_stage_isPb; // @[DcacheStage.scala 319:49]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_clock = exe_stage_lsu_cache_0_stage_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr = exe_stage_lsu_cache_0_stage_io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_addrw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_0 = exe_stage_lsu_cache_0_stage__dataW_T_76[7:0]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_1 = exe_stage_lsu_cache_0_stage__dataW_T_76[15:8]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_2 = exe_stage_lsu_cache_0_stage__dataW_T_76[23:16]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_3 = exe_stage_lsu_cache_0_stage__dataW_T_76[31:24]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_4 = exe_stage_lsu_cache_0_stage__dataW_T_76[39:32]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_5 = exe_stage_lsu_cache_0_stage__dataW_T_76[47:40]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_6 = exe_stage_lsu_cache_0_stage__dataW_T_76[55:48]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_7 = exe_stage_lsu_cache_0_stage__dataW_T_76[63:56]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_8 = exe_stage_lsu_cache_0_stage__dataW_T_76[71:64]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_9 = exe_stage_lsu_cache_0_stage__dataW_T_76[79:72]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_10 = exe_stage_lsu_cache_0_stage__dataW_T_76[87:80]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_11 = exe_stage_lsu_cache_0_stage__dataW_T_76[95:88]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_12 = exe_stage_lsu_cache_0_stage__dataW_T_76[103:96]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_13 = exe_stage_lsu_cache_0_stage__dataW_T_76[111:104]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_14 = exe_stage_lsu_cache_0_stage__dataW_T_76[119:112]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_dataw_15 = exe_stage_lsu_cache_0_stage__dataW_T_76[127:120]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_0 = exe_stage_lsu_cache_0_stage__T_43[0]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_1 = exe_stage_lsu_cache_0_stage__T_43[1]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_2 = exe_stage_lsu_cache_0_stage__T_43[2]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_3 = exe_stage_lsu_cache_0_stage__T_43[3]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_4 = exe_stage_lsu_cache_0_stage__T_43[4]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_5 = exe_stage_lsu_cache_0_stage__T_43[5]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_6 = exe_stage_lsu_cache_0_stage__T_43[6]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_7 = exe_stage_lsu_cache_0_stage__T_43[7]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_8 = exe_stage_lsu_cache_0_stage__T_43[8]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_9 = exe_stage_lsu_cache_0_stage__T_43[9]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_10 = exe_stage_lsu_cache_0_stage__T_43[10]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_11 = exe_stage_lsu_cache_0_stage__T_43[11]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_12 = exe_stage_lsu_cache_0_stage__T_43[12]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_13 = exe_stage_lsu_cache_0_stage__T_43[13]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_14 = exe_stage_lsu_cache_0_stage__T_43[14]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_datawm_15 = exe_stage_lsu_cache_0_stage__T_43[15]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_enw = exe_stage_lsu_cache_0_stage__datEnW_0_T_30 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_76; // @[DcacheStage.scala 101:35]
  assign exe_stage_lsu_cache_0_stage_datRAM_0_io_enr = exe_stage_lsu_cache_0_stage_io_enq_ready &
    exe_stage_lsu_cache_0_stage_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_clock = exe_stage_lsu_cache_0_stage_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr = exe_stage_lsu_cache_0_stage_io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_addrw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_0 = exe_stage_lsu_cache_0_stage__dataW_T_76[7:0]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_1 = exe_stage_lsu_cache_0_stage__dataW_T_76[15:8]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_2 = exe_stage_lsu_cache_0_stage__dataW_T_76[23:16]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_3 = exe_stage_lsu_cache_0_stage__dataW_T_76[31:24]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_4 = exe_stage_lsu_cache_0_stage__dataW_T_76[39:32]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_5 = exe_stage_lsu_cache_0_stage__dataW_T_76[47:40]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_6 = exe_stage_lsu_cache_0_stage__dataW_T_76[55:48]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_7 = exe_stage_lsu_cache_0_stage__dataW_T_76[63:56]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_8 = exe_stage_lsu_cache_0_stage__dataW_T_76[71:64]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_9 = exe_stage_lsu_cache_0_stage__dataW_T_76[79:72]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_10 = exe_stage_lsu_cache_0_stage__dataW_T_76[87:80]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_11 = exe_stage_lsu_cache_0_stage__dataW_T_76[95:88]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_12 = exe_stage_lsu_cache_0_stage__dataW_T_76[103:96]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_13 = exe_stage_lsu_cache_0_stage__dataW_T_76[111:104]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_14 = exe_stage_lsu_cache_0_stage__dataW_T_76[119:112]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_dataw_15 = exe_stage_lsu_cache_0_stage__dataW_T_76[127:120]; // @[DcacheStage.scala 222:60]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_0 = exe_stage_lsu_cache_0_stage__T_43[0]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_1 = exe_stage_lsu_cache_0_stage__T_43[1]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_2 = exe_stage_lsu_cache_0_stage__T_43[2]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_3 = exe_stage_lsu_cache_0_stage__T_43[3]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_4 = exe_stage_lsu_cache_0_stage__T_43[4]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_5 = exe_stage_lsu_cache_0_stage__T_43[5]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_6 = exe_stage_lsu_cache_0_stage__T_43[6]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_7 = exe_stage_lsu_cache_0_stage__T_43[7]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_8 = exe_stage_lsu_cache_0_stage__T_43[8]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_9 = exe_stage_lsu_cache_0_stage__T_43[9]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_10 = exe_stage_lsu_cache_0_stage__T_43[10]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_11 = exe_stage_lsu_cache_0_stage__T_43[11]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_12 = exe_stage_lsu_cache_0_stage__T_43[12]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_13 = exe_stage_lsu_cache_0_stage__T_43[13]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_14 = exe_stage_lsu_cache_0_stage__T_43[14]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_datawm_15 = exe_stage_lsu_cache_0_stage__T_43[15]; // @[DcacheStage.scala 113:8]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_enw = exe_stage_lsu_cache_0_stage__datEnW_1_T_30 &
    exe_stage_lsu_cache_0_stage__datEnW_0_T_76; // @[DcacheStage.scala 101:35]
  assign exe_stage_lsu_cache_0_stage_datRAM_1_io_enr = exe_stage_lsu_cache_0_stage_io_enq_ready &
    exe_stage_lsu_cache_0_stage_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_clock = exe_stage_lsu_cache_0_stage_clock;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrr = exe_stage_lsu_cache_0_stage_io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_dataw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_enw = exe_stage_lsu_cache_0_stage__datEnW_0_T_1 &
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_io_enr = exe_stage_lsu_cache_0_stage_io_enq_ready &
    exe_stage_lsu_cache_0_stage_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_clock = exe_stage_lsu_cache_0_stage_clock;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrr = exe_stage_lsu_cache_0_stage_io_enq_bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[5:4]; // @[Dcache.scala 74:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_dataw = exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr[31:6]; // @[Dcache.scala 73:21]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_enw = exe_stage_lsu_cache_0_stage__datEnW_1_T_1 &
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 106:52]
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_io_enr = exe_stage_lsu_cache_0_stage_io_enq_ready &
    exe_stage_lsu_cache_0_stage_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_clock = exe_stage_lsu_cache_0_stage_clock;
  assign exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset = exe_stage_lsu_cache_0_stage_reset;
  assign exe_stage_lsu_cache_0_io_enq_ready = exe_stage_lsu_cache_0_op_arb_io_in_1_ready &
    exe_stage_lsu_cache_0_sbEnqReady; // @[Dcache.scala 253:41]
  assign exe_stage_lsu_cache_0_io_deq_valid = exe_stage_lsu_cache_0_rtn_fifo_io_deq_valid; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_chkIdx = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_wb_rd0 = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_rd0; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_wb_res = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_wb_res; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_is_load_amo = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_load_amo; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_is_flw = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_flw; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_deq_bits_is_fld = exe_stage_lsu_cache_0_rtn_fifo_io_deq_bits_is_fld; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_io_is_empty = exe_stage_lsu_cache_0__sbIdx_T & exe_stage_lsu_cache_0__sbEnqReady_T_1; // @[Dcache.scala 160:33]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_valid = exe_stage_lsu_cache_0_missUnit_io_cache_acquire_valid; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_opcode =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_opcode; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_param =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_param; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_size =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_size; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_source =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_source; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_address =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_address; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_mask =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_mask; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_data =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_data; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_corrupt =
    exe_stage_lsu_cache_0_missUnit_io_cache_acquire_bits_corrupt; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_ready = exe_stage_lsu_cache_0_missUnit_io_cache_grant_ready; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_valid =
    exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_valid; // @[Dcache.scala 186:37]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_bits_sink =
    exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_bits_sink; // @[Dcache.scala 186:37]
  assign exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_ready = exe_stage_lsu_cache_0_probeUnit_io_cache_probe_ready; // @[Dcache.scala 187:34]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_valid =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_valid; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_opcode =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_opcode; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_param =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_param; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_size =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_size; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_source =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_source; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_address =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_address; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_data =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_data; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_corrupt =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_bits_corrupt; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_ready =
    exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready; // @[Dcache.scala 189:38]
  assign exe_stage_lsu_cache_0_missUnit_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_missUnit_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_missUnit_io_req_valid = exe_stage_lsu_cache_0_stage_io_missUnit_req_valid; // @[Dcache.scala 216:32]
  assign exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr = exe_stage_lsu_cache_0_stage_io_missUnit_req_bits_paddr; // @[Dcache.scala 216:32]
  assign exe_stage_lsu_cache_0_missUnit_io_rsp_ready = exe_stage_lsu_cache_0_rd_arb_io_in_0_ready; // @[Dcache.scala 225:31]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_acquire_ready = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_ready; // @[Dcache.scala 184:37]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_valid = exe_stage_lsu_cache_0_io_missUnit_dcache_grant_valid; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_opcode =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_opcode; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_size =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_size; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_source =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_source; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_sink =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_sink; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_data =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_data; // @[Dcache.scala 185:33]
  assign exe_stage_lsu_cache_0_missUnit_io_cache_grantAck_ready =
    exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_ready; // @[Dcache.scala 186:37]
  assign exe_stage_lsu_cache_0_missUnit_io_miss_ban = exe_stage_lsu_cache_0_writeBackUnit_io_miss_ban; // @[Dcache.scala 220:30]
  assign exe_stage_lsu_cache_0_probeUnit_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_probeUnit_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_probeUnit_io_cache_probe_valid = exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_valid; // @[Dcache.scala 187:34]
  assign exe_stage_lsu_cache_0_probeUnit_io_cache_probe_bits_address =
    exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_bits_address; // @[Dcache.scala 187:34]
  assign exe_stage_lsu_cache_0_probeUnit_io_req_ready = exe_stage_lsu_cache_0_rd_arb_io_in_1_ready; // @[Dcache.scala 229:32]
  assign exe_stage_lsu_cache_0_probeUnit_io_probeBan = exe_stage_lsu_cache_0_writeBackUnit_io_miss_ban; // @[Dcache.scala 219:31]
  assign exe_stage_lsu_cache_0_writeBackUnit_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_valid = exe_stage_lsu_cache_0_stage_io_wb_req_valid; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_paddr = exe_stage_lsu_cache_0_stage_io_wb_req_bits_paddr; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_data = exe_stage_lsu_cache_0_stage_io_wb_req_bits_data; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_releaseData =
    exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_releaseData; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_release =
    exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_release; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probe =
    exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probe; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_wb_req_bits_is_probeData =
    exe_stage_lsu_cache_0_stage_io_wb_req_bits_is_probeData; // @[Dcache.scala 217:21]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_release_ready =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_ready; // @[Dcache.scala 188:41]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_valid =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_valid; // @[Dcache.scala 189:38]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_bits_source =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_bits_source; // @[Dcache.scala 189:38]
  assign exe_stage_lsu_cache_0_writeBackUnit_io_release_ban = exe_stage_lsu_cache_0_missUnit_io_release_ban; // @[Dcache.scala 221:38]
  assign exe_stage_lsu_cache_0_lsEntry_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_lsEntry_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_valid = exe_stage_lsu_cache_0_op_arb_io_out_valid; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_chkIdx = exe_stage_lsu_cache_0_op_arb_io_out_bits_chkIdx; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_paddr = exe_stage_lsu_cache_0_op_arb_io_out_bits_paddr; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wdata = exe_stage_lsu_cache_0_op_arb_io_out_bits_wdata; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_wstrb = exe_stage_lsu_cache_0_op_arb_io_out_bits_wstrb; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lb = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lb; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lh = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lh; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lw = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lw; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_ld = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_ld; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lbu = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lbu; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lhu = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lhu; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lwu = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lwu; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sb = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sb; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sh = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sh; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sw = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sw; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sd = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sd; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_w =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_w = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_w =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_w =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_lr_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_sc_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoswap_d =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoadd_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoxor_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoand_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amoor_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomin_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomax_d = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amominu_d =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_amomaxu_d =
    exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_flw = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_flw; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsw = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsw; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fld = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fld; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_fsd = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_fsd; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_probe = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_probe; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_grant = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_grant; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_fun_preft = exe_stage_lsu_cache_0_op_arb_io_out_bits_fun_preft; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_enq_bits_rd_rd0 = exe_stage_lsu_cache_0_op_arb_io_out_bits_rd_rd0; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_lsEntry_io_deq_ready = exe_stage_lsu_cache_0_rd_arb_io_in_2_ready; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rtn_fifo_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid = exe_stage_lsu_cache_0_stage_io_deq_valid; // @[Dcache.scala 270:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_chkIdx = exe_stage_lsu_cache_0_stage_io_deq_bits_chkIdx; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_rd0 = exe_stage_lsu_cache_0_stage_io_deq_bits_wb_rd0; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_wb_res = exe_stage_lsu_cache_0_stage_io_deq_bits_wb_res; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_load_amo = exe_stage_lsu_cache_0_stage_io_deq_bits_is_load_amo; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_flw = exe_stage_lsu_cache_0_stage_io_deq_bits_is_flw; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_enq_bits_is_fld = exe_stage_lsu_cache_0_stage_io_deq_bits_is_fld; // @[Dcache.scala 271:25]
  assign exe_stage_lsu_cache_0_rtn_fifo_io_deq_ready = exe_stage_lsu_cache_0_io_deq_ready; // @[Dcache.scala 273:19]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_valid = exe_stage_lsu_cache_0_reload_fifo_io_deq_valid; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_chkIdx = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_chkIdx; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_paddr = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_paddr; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wdata = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wdata; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_wstrb = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_wstrb; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lb = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lb; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lh = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lh; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lw = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lw; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_ld = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_ld; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lbu = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lbu; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lhu = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lhu; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lwu = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lwu; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sb = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sb; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sh = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sh; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sw = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sw; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sd = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sd; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_w = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_w = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_w =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_lr_d = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_lr_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_sc_d = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_sc_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoswap_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoadd_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoadd_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoxor_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoxor_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoand_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoand_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amoor_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amoor_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomin_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomin_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomax_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomax_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amominu_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amominu_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_amomaxu_d =
    exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_flw = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_flw; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsw = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsw; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fld = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fld; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_fsd = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_fsd; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_probe = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_probe; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_grant = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_grant; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_fun_preft = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_fun_preft; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_0_bits_rd_rd0 = exe_stage_lsu_cache_0_reload_fifo_io_deq_bits_rd_rd0; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_valid = exe_stage_lsu_cache_0_io_enq_ready &
    exe_stage_lsu_cache_0_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_chkIdx = exe_stage_lsu_cache_0__sbIdx_T ? 1'h0 : 1'h1; // @[Dcache.scala 143:33]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_paddr = exe_stage_lsu_cache_0_io_enq_bits_paddr; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wdata = exe_stage_lsu_cache_0_io_enq_bits_wdata; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_wstrb = exe_stage_lsu_cache_0_io_enq_bits_wstrb; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lb = exe_stage_lsu_cache_0_io_enq_bits_fun_lb; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lh = exe_stage_lsu_cache_0_io_enq_bits_fun_lh; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lw = exe_stage_lsu_cache_0_io_enq_bits_fun_lw; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_ld = exe_stage_lsu_cache_0_io_enq_bits_fun_ld; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lbu = exe_stage_lsu_cache_0_io_enq_bits_fun_lbu; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lhu = exe_stage_lsu_cache_0_io_enq_bits_fun_lhu; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lwu = exe_stage_lsu_cache_0_io_enq_bits_fun_lwu; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sb = exe_stage_lsu_cache_0_io_enq_bits_fun_sb; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sh = exe_stage_lsu_cache_0_io_enq_bits_fun_sh; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sw = exe_stage_lsu_cache_0_io_enq_bits_fun_sw; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sd = exe_stage_lsu_cache_0_io_enq_bits_fun_sd; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_w = exe_stage_lsu_cache_0_io_enq_bits_fun_lr_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_w = exe_stage_lsu_cache_0_io_enq_bits_fun_sc_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_w; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_lr_d = exe_stage_lsu_cache_0_io_enq_bits_fun_lr_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_sc_d = exe_stage_lsu_cache_0_io_enq_bits_fun_sc_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoswap_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoadd_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoxor_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoand_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amoor_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomin_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomax_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amominu_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_d; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_flw = exe_stage_lsu_cache_0_io_enq_bits_fun_flw; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsw = exe_stage_lsu_cache_0_io_enq_bits_fun_fsw; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fld = exe_stage_lsu_cache_0_io_enq_bits_fun_fld; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_fun_fsd = exe_stage_lsu_cache_0_io_enq_bits_fun_fsd; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_in_1_bits_rd_rd0 = exe_stage_lsu_cache_0_io_enq_bits_rd_rd0; // @[Dcache.scala 255:25]
  assign exe_stage_lsu_cache_0_op_arb_io_out_ready = exe_stage_lsu_cache_0_lsEntry_io_enq_ready; // @[Dcache.scala 257:17]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_0_valid = exe_stage_lsu_cache_0_missUnit_io_rsp_valid; // @[Dcache.scala 224:27]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_paddr = exe_stage_lsu_cache_0_missUnit_io_rsp_bits_paddr; // @[Util.scala 48:19 50:15]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_0_bits_wdata = exe_stage_lsu_cache_0_missUnit_io_rsp_bits_wdata; // @[Util.scala 48:19 52:15]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_1_valid = exe_stage_lsu_cache_0_probeUnit_io_req_valid; // @[Dcache.scala 228:27]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_1_bits_paddr = exe_stage_lsu_cache_0_probeUnit_io_req_bits_paddr; // @[Util.scala 64:19 65:15]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_valid = exe_stage_lsu_cache_0_lsEntry_io_deq_valid; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_chkIdx = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_chkIdx; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_paddr = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_paddr; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wdata = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wdata; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_wstrb = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_wstrb; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lb = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lb; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lh = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lh; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lw = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lw; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_ld = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_ld; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lbu = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lbu; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lhu = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lhu; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lwu = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lwu; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sb = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sb; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sh = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sh; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sw = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sw; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sd = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sd; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_w =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_w
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_w
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_w
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_w
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_w = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_w
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_w =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_w =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_w; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_lr_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_lr_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_sc_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_sc_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoswap_d =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoswap_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoadd_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoadd_d
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoxor_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoxor_d
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoand_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoand_d
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amoor_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amoor_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomin_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomin_d
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomax_d = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomax_d
    ; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amominu_d =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amominu_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_amomaxu_d =
    exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_amomaxu_d; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_flw = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_flw; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsw = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsw; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fld = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fld; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_fsd = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_fsd; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_probe = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_probe; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_grant = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_grant; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_fun_preft = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_fun_preft; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_in_2_bits_rd_rd0 = exe_stage_lsu_cache_0_lsEntry_io_deq_bits_rd_rd0; // @[Dcache.scala 264:18]
  assign exe_stage_lsu_cache_0_rd_arb_io_out_ready = exe_stage_lsu_cache_0_stage_io_enq_ready; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_reload_fifo_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_valid = exe_stage_lsu_cache_0_stage_io_reload_valid; // @[Dcache.scala 248:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_chkIdx = exe_stage_lsu_cache_0_stage_io_reload_bits_chkIdx; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_paddr = exe_stage_lsu_cache_0_stage_io_reload_bits_paddr; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wdata = exe_stage_lsu_cache_0_stage_io_reload_bits_wdata; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_wstrb = exe_stage_lsu_cache_0_stage_io_reload_bits_wstrb; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lb = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lb; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lh = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lh; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lw = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lw; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_ld = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_ld; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lbu = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lbu; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lhu = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lhu; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lwu = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lwu; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sb = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sb; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sh = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sh; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sw = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sw; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sd = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sd; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_w = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_w = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_w =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_w; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_lr_d = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_lr_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_sc_d = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_sc_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoswap_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoswap_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoadd_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoadd_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoxor_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoxor_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoand_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoand_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amoor_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amoor_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomin_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomin_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomax_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomax_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amominu_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amominu_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_amomaxu_d =
    exe_stage_lsu_cache_0_stage_io_reload_bits_fun_amomaxu_d; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_flw = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_flw; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsw = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsw; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fld = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fld; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_fsd = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_fsd; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_probe = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_probe; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_grant = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_grant; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_fun_preft = exe_stage_lsu_cache_0_stage_io_reload_bits_fun_preft; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_enq_bits_rd_rd0 = exe_stage_lsu_cache_0_stage_io_reload_bits_rd_rd0; // @[Dcache.scala 249:28]
  assign exe_stage_lsu_cache_0_reload_fifo_io_deq_ready = exe_stage_lsu_cache_0_op_arb_io_in_0_ready; // @[Dcache.scala 252:22]
  assign exe_stage_lsu_cache_0_stage_clock = exe_stage_lsu_cache_0_clock;
  assign exe_stage_lsu_cache_0_stage_reset = exe_stage_lsu_cache_0_reset;
  assign exe_stage_lsu_cache_0_stage_io_enq_valid = exe_stage_lsu_cache_0_rd_arb_io_out_valid; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_chkIdx = exe_stage_lsu_cache_0_rd_arb_io_out_bits_chkIdx; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_paddr = exe_stage_lsu_cache_0_rd_arb_io_out_bits_paddr; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_wdata = exe_stage_lsu_cache_0_rd_arb_io_out_bits_wdata; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_wstrb = exe_stage_lsu_cache_0_rd_arb_io_out_bits_wstrb; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lb = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lb; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lh = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lh; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lw = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lw; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_ld = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_ld; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lbu = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lbu; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lhu = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lhu; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lwu = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lwu; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sb = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sb; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sh = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sh; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sw = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sw; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sd = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sd; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_w = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_w; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_lr_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_sc_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoswap_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoadd_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoxor_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoand_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amoor_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomin_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomax_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amominu_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_d = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_amomaxu_d; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_flw = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_flw; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsw = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsw; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fld = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fld; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsd = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_fsd; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_probe = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_probe; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_grant = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_grant; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_fun_preft = exe_stage_lsu_cache_0_rd_arb_io_out_bits_fun_preft; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_enq_bits_rd_rd0 = exe_stage_lsu_cache_0_rd_arb_io_out_bits_rd_rd0; // @[Dcache.scala 265:16]
  assign exe_stage_lsu_cache_0_stage_io_isCacheEmpty = exe_stage_lsu_cache_0__sbIdx_T &
    exe_stage_lsu_cache_0__sbEnqReady_T_1; // @[Dcache.scala 160:33]
  assign exe_stage_lsu_cache_0_stage_io_flush = exe_stage_lsu_cache_0_io_flush; // @[Dcache.scala 259:18]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_ready = exe_stage_lsu_lu_wb_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_ready = exe_stage_lsu_lu_wb_arb_grant_1 & exe_stage_lsu_lu_wb_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_ready = exe_stage_lsu_lu_wb_arb_grant_2 & exe_stage_lsu_lu_wb_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_lu_wb_arb_io_out_valid = exe_stage_lsu_lu_wb_arb__io_out_valid_T |
    exe_stage_lsu_lu_wb_arb_io_in_2_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_lu_wb_arb_io_out_bits_wb_rd0 = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_rd0 : exe_stage_lsu_lu_wb_arb__GEN_2; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_lu_wb_arb_io_out_bits_wb_res = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_res : exe_stage_lsu_lu_wb_arb__GEN_3; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_lu_wb_arb_io_out_bits_is_flw = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_flw : exe_stage_lsu_lu_wb_arb__GEN_5; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_lu_wb_arb_io_out_bits_is_fld = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_fld : exe_stage_lsu_lu_wb_arb__GEN_6; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_lu_wb_fifo_ram_rd0[exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_data = exe_stage_lsu_lu_wb_fifo_io_enq_bits_rd0;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_en = exe_stage_lsu_lu_wb_fifo__empty_T ?
    exe_stage_lsu_lu_wb_fifo__GEN_10 : exe_stage_lsu_lu_wb_fifo__do_enq_T;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_lsu_lu_wb_fifo_ram_res[exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_data = exe_stage_lsu_lu_wb_fifo_io_enq_bits_res;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_en = exe_stage_lsu_lu_wb_fifo__empty_T ?
    exe_stage_lsu_lu_wb_fifo__GEN_10 : exe_stage_lsu_lu_wb_fifo__do_enq_T;
  assign exe_stage_lsu_lu_wb_fifo_io_enq_ready = ~exe_stage_lsu_lu_wb_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_lu_wb_fifo_io_deq_valid = exe_stage_lsu_lu_wb_fifo_io_enq_valid |
    exe_stage_lsu_lu_wb_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_lu_wb_fifo_io_deq_bits_rd0 = exe_stage_lsu_lu_wb_fifo__empty_T ?
    exe_stage_lsu_lu_wb_fifo_io_enq_bits_rd0 : exe_stage_lsu_lu_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_lu_wb_fifo_io_deq_bits_res = exe_stage_lsu_lu_wb_fifo__empty_T ?
    exe_stage_lsu_lu_wb_fifo_io_enq_bits_res : exe_stage_lsu_lu_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_flu_wb_fifo_io_enq_ready = ~exe_stage_lsu_flu_wb_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_flu_wb_fifo_io_deq_valid = exe_stage_lsu_flu_wb_fifo_io_enq_valid |
    exe_stage_lsu_flu_wb_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_su_wb_fifo_ram_rd0[exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_data = exe_stage_lsu_su_wb_fifo_io_enq_bits_rd0;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_en = exe_stage_lsu_su_wb_fifo__empty_T ?
    exe_stage_lsu_su_wb_fifo__GEN_10 : exe_stage_lsu_su_wb_fifo__do_enq_T;
  assign exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_lsu_su_wb_fifo_ram_res[exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_su_wb_fifo_ram_res_MPORT_data = 64'h0;
  assign exe_stage_lsu_su_wb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_lsu_su_wb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_lsu_su_wb_fifo_ram_res_MPORT_en = exe_stage_lsu_su_wb_fifo__empty_T ?
    exe_stage_lsu_su_wb_fifo__GEN_10 : exe_stage_lsu_su_wb_fifo__do_enq_T;
  assign exe_stage_lsu_su_wb_fifo_io_enq_ready = ~exe_stage_lsu_su_wb_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_su_wb_fifo_io_deq_valid = exe_stage_lsu_su_wb_fifo_io_enq_valid |
    exe_stage_lsu_su_wb_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_su_wb_fifo_io_deq_bits_rd0 = exe_stage_lsu_su_wb_fifo__empty_T ?
    exe_stage_lsu_su_wb_fifo_io_enq_bits_rd0 : exe_stage_lsu_su_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_su_wb_fifo_io_deq_bits_res = exe_stage_lsu_su_wb_fifo__empty_T ? 64'h0 :
    exe_stage_lsu_su_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_lsu_fe_wb_fifo_ram_rd0[exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_data = exe_stage_lsu_fe_wb_fifo_io_enq_bits_rd0;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_en = exe_stage_lsu_fe_wb_fifo__empty_T ?
    exe_stage_lsu_fe_wb_fifo__GEN_10 : exe_stage_lsu_fe_wb_fifo__do_enq_T;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_lsu_fe_wb_fifo_ram_res[exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_data = 64'h0;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_en = exe_stage_lsu_fe_wb_fifo__empty_T ?
    exe_stage_lsu_fe_wb_fifo__GEN_10 : exe_stage_lsu_fe_wb_fifo__do_enq_T;
  assign exe_stage_lsu_fe_wb_fifo_io_enq_ready = ~exe_stage_lsu_fe_wb_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_lsu_fe_wb_fifo_io_deq_valid = exe_stage_lsu_fe_wb_fifo_io_enq_valid |
    exe_stage_lsu_fe_wb_fifo__io_deq_valid_T; // @[Decoupled.scala 304:16 316:{24,39}]
  assign exe_stage_lsu_fe_wb_fifo_io_deq_bits_rd0 = exe_stage_lsu_fe_wb_fifo__empty_T ?
    exe_stage_lsu_fe_wb_fifo_io_enq_bits_rd0 : exe_stage_lsu_fe_wb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_fe_wb_fifo_io_deq_bits_res = exe_stage_lsu_fe_wb_fifo__empty_T ? 64'h0 :
    exe_stage_lsu_fe_wb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  assign exe_stage_lsu_rtn_arb_io_in_0_ready = exe_stage_lsu_rtn_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_rtn_arb_io_in_1_ready = exe_stage_lsu_rtn_arb_grant_1 & exe_stage_lsu_rtn_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_rtn_arb_io_in_2_ready = exe_stage_lsu_rtn_arb_grant_2 & exe_stage_lsu_rtn_arb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_rtn_arb_io_out_valid = exe_stage_lsu_rtn_arb__io_out_valid_T |
    exe_stage_lsu_rtn_arb_io_in_2_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_rtn_arb_io_out_bits_rd0 = exe_stage_lsu_rtn_arb_io_in_0_valid ?
    exe_stage_lsu_rtn_arb_io_in_0_bits_rd0 : exe_stage_lsu_rtn_arb__GEN_1; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_rtn_arb_io_out_bits_res = exe_stage_lsu_rtn_arb_io_in_0_valid ?
    exe_stage_lsu_rtn_arb_io_in_0_bits_res : exe_stage_lsu_rtn_arb__GEN_2; // @[Arbiter.scala 138:26 140:19]
  assign exe_stage_lsu_acquireArb_io_in_0_ready = exe_stage_lsu_acquireArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_acquireArb_io_out_valid = exe_stage_lsu_acquireArb_io_in_0_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_acquireArb_io_out_bits_opcode = exe_stage_lsu_acquireArb_io_in_0_bits_opcode; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_param = exe_stage_lsu_acquireArb_io_in_0_bits_param; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_size = exe_stage_lsu_acquireArb_io_in_0_bits_size; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_source = exe_stage_lsu_acquireArb_io_in_0_bits_source; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_address = exe_stage_lsu_acquireArb_io_in_0_bits_address; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_mask = exe_stage_lsu_acquireArb_io_in_0_bits_mask; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_data = exe_stage_lsu_acquireArb_io_in_0_bits_data; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_acquireArb_io_out_bits_corrupt = exe_stage_lsu_acquireArb_io_in_0_bits_corrupt; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_grantAckArb_io_in_0_ready = exe_stage_lsu_grantAckArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_grantAckArb_io_out_valid = exe_stage_lsu_grantAckArb_io_in_0_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_grantAckArb_io_out_bits_sink = exe_stage_lsu_grantAckArb_io_in_0_bits_sink; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_in_0_ready = exe_stage_lsu_releaseArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_lsu_releaseArb_io_out_valid = exe_stage_lsu_releaseArb_io_in_0_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_lsu_releaseArb_io_out_bits_opcode = exe_stage_lsu_releaseArb_io_in_0_bits_opcode; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_param = exe_stage_lsu_releaseArb_io_in_0_bits_param; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_size = exe_stage_lsu_releaseArb_io_in_0_bits_size; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_source = exe_stage_lsu_releaseArb_io_in_0_bits_source; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_address = exe_stage_lsu_releaseArb_io_in_0_bits_address; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_data = exe_stage_lsu_releaseArb_io_in_0_bits_data; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_releaseArb_io_out_bits_corrupt = exe_stage_lsu_releaseArb_io_in_0_bits_corrupt; // @[Arbiter.scala 136:15]
  assign exe_stage_lsu_io_lsu_iss_exe_ready = exe_stage_lsu__io_lsu_iss_exe_ready_T_3 |
    exe_stage_lsu__io_lsu_iss_exe_ready_T_7; // @[Lsu.scala 147:61]
  assign exe_stage_lsu_io_lsu_exe_iwb_valid = exe_stage_lsu_rtn_arb_io_out_valid; // @[Lsu.scala 477:18]
  assign exe_stage_lsu_io_lsu_exe_iwb_bits_rd0 = exe_stage_lsu_rtn_arb_io_out_bits_rd0; // @[Lsu.scala 477:18]
  assign exe_stage_lsu_io_lsu_exe_iwb_bits_res = exe_stage_lsu_rtn_arb_io_out_bits_res; // @[Lsu.scala 477:18]
  assign exe_stage_lsu_io_lsu_exe_fwb_valid = exe_stage_lsu_flu_wb_fifo_io_deq_valid; // @[Lsu.scala 450:22]
  assign exe_stage_lsu_io_lsu_cmm_is_access_fault = exe_stage_lsu_isAccessFaultReg; // @[Lsu.scala 501:30]
  assign exe_stage_lsu_io_lsu_cmm_is_paging_fault = exe_stage_lsu_isPagingFault; // @[Lsu.scala 502:30]
  assign exe_stage_lsu_io_lsu_cmm_is_misAlign = exe_stage_lsu_isMisAlign; // @[Lsu.scala 503:30]
  assign exe_stage_lsu_io_lsu_cmm_trap_addr = exe_stage_lsu_trapAddrReg; // @[Lsu.scala 504:30]
  assign exe_stage_lsu_io_lsu_mmu_valid = exe_stage_lsu_io_lsu_iss_exe_valid & exe_stage_lsu__io_lsu_mmu_valid_T_2; // @[Lsu.scala 141:44]
  assign exe_stage_lsu_io_lsu_mmu_bits_is_X = 1'h0; // @[Lsu.scala 145:24]
  assign exe_stage_lsu_io_lsu_mmu_bits_is_W = exe_stage_lsu__io_lsu_mmu_bits_is_W_T_6 | exe_stage_lsu__T_33; // @[riscv_isa.scala 162:28]
  assign exe_stage_lsu_io_lsu_mmu_bits_is_R = exe_stage_lsu__io_lsu_mmu_bits_is_R_T_11 | exe_stage_lsu__T_33; // @[riscv_isa.scala 161:28]
  assign exe_stage_lsu_io_lsu_mmu_bits_vaddr = exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1; // @[Lsu.scala 142:25]
  assign exe_stage_lsu_io_mmu_lsu_ready = exe_stage_lsu__io_mmu_lsu_ready_T_46 & exe_stage_lsu__addrTransIO_valid_T_50; // @[Lsu.scala 139:104]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_valid = exe_stage_lsu_acquireArb_io_out_valid; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_opcode = exe_stage_lsu_acquireArb_io_out_bits_opcode; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_param = exe_stage_lsu_acquireArb_io_out_bits_param; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_size = exe_stage_lsu_acquireArb_io_out_bits_size; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_source = exe_stage_lsu_acquireArb_io_out_bits_source; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_address = exe_stage_lsu_acquireArb_io_out_bits_address; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_mask = exe_stage_lsu_acquireArb_io_out_bits_mask; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_data = exe_stage_lsu_acquireArb_io_out_bits_data; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_bits_corrupt = exe_stage_lsu_acquireArb_io_out_bits_corrupt; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_io_missUnit_dcache_grant_ready = exe_stage_lsu__T_38 &
    exe_stage_lsu_cache_0_io_missUnit_dcache_grant_ready; // @[Lsu.scala 282:40 307:64 308:47]
  assign exe_stage_lsu_io_missUnit_dcache_grantAck_valid = exe_stage_lsu_grantAckArb_io_out_valid; // @[Lsu.scala 303:37]
  assign exe_stage_lsu_io_missUnit_dcache_grantAck_bits_sink = exe_stage_lsu_grantAckArb_io_out_bits_sink; // @[Lsu.scala 303:37]
  assign exe_stage_lsu_io_probeUnit_dcache_probe_ready = exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_ready; // @[Lsu.scala 313:120 285:41 314:48]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_valid = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_valid : exe_stage_lsu__GEN_365; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_opcode = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_opcode : exe_stage_lsu__GEN_358; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_param = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_param : exe_stage_lsu__GEN_359; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_size = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_size : exe_stage_lsu__GEN_360; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_source = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_source : exe_stage_lsu__GEN_361; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_address = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_address : exe_stage_lsu__GEN_362; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_data = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_data : exe_stage_lsu__GEN_363; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_bits_corrupt = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_out_bits_corrupt : exe_stage_lsu__GEN_364; // @[Lsu.scala 334:64 335:45]
  assign exe_stage_lsu_io_writeBackUnit_dcache_grant_ready = exe_stage_lsu__T_40 &
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_ready; // @[Lsu.scala 288:45 317:69 318:52]
  assign exe_stage_lsu_io_system_getPut_valid = exe_stage_lsu_system_io_getPut_valid; // @[Lsu.scala 389:26]
  assign exe_stage_lsu_io_system_getPut_bits_opcode = exe_stage_lsu_system_io_getPut_bits_opcode; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_param = exe_stage_lsu_system_io_getPut_bits_param; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_size = exe_stage_lsu_system_io_getPut_bits_size; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_source = exe_stage_lsu_system_io_getPut_bits_source; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_address = exe_stage_lsu_system_io_getPut_bits_address; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_mask = exe_stage_lsu_system_io_getPut_bits_mask; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_data = exe_stage_lsu_system_io_getPut_bits_data; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_getPut_bits_corrupt = exe_stage_lsu_system_io_getPut_bits_corrupt; // @[Lsu.scala 390:26]
  assign exe_stage_lsu_io_system_access_ready = exe_stage_lsu_system_io_access_ready; // @[Lsu.scala 394:26]
  assign exe_stage_lsu_io_periph_getPut_valid = exe_stage_lsu_periph_io_getPut_valid; // @[Lsu.scala 400:26]
  assign exe_stage_lsu_io_periph_getPut_bits_opcode = exe_stage_lsu_periph_io_getPut_bits_opcode; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_param = exe_stage_lsu_periph_io_getPut_bits_param; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_size = exe_stage_lsu_periph_io_getPut_bits_size; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_source = exe_stage_lsu_periph_io_getPut_bits_source; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_address = exe_stage_lsu_periph_io_getPut_bits_address; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_mask = exe_stage_lsu_periph_io_getPut_bits_mask; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_data = exe_stage_lsu_periph_io_getPut_bits_data; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_getPut_bits_corrupt = exe_stage_lsu_periph_io_getPut_bits_corrupt; // @[Lsu.scala 401:26]
  assign exe_stage_lsu_io_periph_access_ready = exe_stage_lsu_periph_io_access_ready; // @[Lsu.scala 405:26]
  assign exe_stage_lsu_stQueue_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_stQueue_reset = exe_stage_lsu_reset;
  assign exe_stage_lsu_stQueue_io_enq_valid = exe_stage_lsu__stQueue_io_enq_valid_T |
    exe_stage_lsu__stQueue_io_enq_valid_T_1; // @[Lsu.scala 194:39]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lb = exe_stage_lsu__stQueue_io_enq_bits_T_131 |
    exe_stage_lsu__stQueue_io_enq_bits_T_132; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lh = exe_stage_lsu__stQueue_io_enq_bits_T_128 |
    exe_stage_lsu__stQueue_io_enq_bits_T_129; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lw = exe_stage_lsu__stQueue_io_enq_bits_T_125 |
    exe_stage_lsu__stQueue_io_enq_bits_T_126; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_ld = exe_stage_lsu__stQueue_io_enq_bits_T_122 |
    exe_stage_lsu__stQueue_io_enq_bits_T_123; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lbu = exe_stage_lsu__stQueue_io_enq_bits_T_119 |
    exe_stage_lsu__stQueue_io_enq_bits_T_120; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lhu = exe_stage_lsu__stQueue_io_enq_bits_T_116 |
    exe_stage_lsu__stQueue_io_enq_bits_T_117; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lwu = exe_stage_lsu__stQueue_io_enq_bits_T_113 |
    exe_stage_lsu__stQueue_io_enq_bits_T_114; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sb = exe_stage_lsu__stQueue_io_enq_bits_T_110 |
    exe_stage_lsu__stQueue_io_enq_bits_T_111; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sh = exe_stage_lsu__stQueue_io_enq_bits_T_107 |
    exe_stage_lsu__stQueue_io_enq_bits_T_108; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sw = exe_stage_lsu__stQueue_io_enq_bits_T_104 |
    exe_stage_lsu__stQueue_io_enq_bits_T_105; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sd = exe_stage_lsu__stQueue_io_enq_bits_T_101 |
    exe_stage_lsu__stQueue_io_enq_bits_T_102; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lr_w = exe_stage_lsu__stQueue_io_enq_bits_T_89 |
    exe_stage_lsu__stQueue_io_enq_bits_T_90; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sc_w = exe_stage_lsu__stQueue_io_enq_bits_T_86 |
    exe_stage_lsu__stQueue_io_enq_bits_T_87; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_w = exe_stage_lsu__stQueue_io_enq_bits_T_83 |
    exe_stage_lsu__stQueue_io_enq_bits_T_84; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_w = exe_stage_lsu__stQueue_io_enq_bits_T_80 |
    exe_stage_lsu__stQueue_io_enq_bits_T_81; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_w = exe_stage_lsu__stQueue_io_enq_bits_T_77 |
    exe_stage_lsu__stQueue_io_enq_bits_T_78; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_w = exe_stage_lsu__stQueue_io_enq_bits_T_74 |
    exe_stage_lsu__stQueue_io_enq_bits_T_75; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_w = exe_stage_lsu__stQueue_io_enq_bits_T_71 |
    exe_stage_lsu__stQueue_io_enq_bits_T_72; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_w = exe_stage_lsu__stQueue_io_enq_bits_T_68 |
    exe_stage_lsu__stQueue_io_enq_bits_T_69; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_w = exe_stage_lsu__stQueue_io_enq_bits_T_65 |
    exe_stage_lsu__stQueue_io_enq_bits_T_66; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_w = exe_stage_lsu__stQueue_io_enq_bits_T_62 |
    exe_stage_lsu__stQueue_io_enq_bits_T_63; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_w = exe_stage_lsu__stQueue_io_enq_bits_T_59 |
    exe_stage_lsu__stQueue_io_enq_bits_T_60; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_lr_d = exe_stage_lsu__stQueue_io_enq_bits_T_56 |
    exe_stage_lsu__stQueue_io_enq_bits_T_57; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_sc_d = exe_stage_lsu__stQueue_io_enq_bits_T_53 |
    exe_stage_lsu__stQueue_io_enq_bits_T_54; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoswap_d = exe_stage_lsu__stQueue_io_enq_bits_T_50 |
    exe_stage_lsu__stQueue_io_enq_bits_T_51; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoadd_d = exe_stage_lsu__stQueue_io_enq_bits_T_47 |
    exe_stage_lsu__stQueue_io_enq_bits_T_48; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoxor_d = exe_stage_lsu__stQueue_io_enq_bits_T_44 |
    exe_stage_lsu__stQueue_io_enq_bits_T_45; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoand_d = exe_stage_lsu__stQueue_io_enq_bits_T_41 |
    exe_stage_lsu__stQueue_io_enq_bits_T_42; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amoor_d = exe_stage_lsu__stQueue_io_enq_bits_T_38 |
    exe_stage_lsu__stQueue_io_enq_bits_T_39; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomin_d = exe_stage_lsu__stQueue_io_enq_bits_T_35 |
    exe_stage_lsu__stQueue_io_enq_bits_T_36; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomax_d = exe_stage_lsu__stQueue_io_enq_bits_T_32 |
    exe_stage_lsu__stQueue_io_enq_bits_T_33; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amominu_d = exe_stage_lsu__stQueue_io_enq_bits_T_29 |
    exe_stage_lsu__stQueue_io_enq_bits_T_30; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_amomaxu_d = exe_stage_lsu__stQueue_io_enq_bits_T_26 |
    exe_stage_lsu__stQueue_io_enq_bits_T_27; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_flw = exe_stage_lsu__stQueue_io_enq_bits_T_23 |
    exe_stage_lsu__stQueue_io_enq_bits_T_24; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_fsw = exe_stage_lsu__stQueue_io_enq_bits_T_20 |
    exe_stage_lsu__stQueue_io_enq_bits_T_21; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_fld = exe_stage_lsu__stQueue_io_enq_bits_T_17 |
    exe_stage_lsu__stQueue_io_enq_bits_T_18; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_fun_fsd = exe_stage_lsu__stQueue_io_enq_bits_T_14 |
    exe_stage_lsu__stQueue_io_enq_bits_T_15; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_param_rd0 = exe_stage_lsu__stQueue_io_enq_bits_T_11 |
    exe_stage_lsu__stQueue_io_enq_bits_T_12; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_param_dat_op1 = exe_stage_lsu__stQueue_io_enq_bits_T_8 |
    exe_stage_lsu__stQueue_io_enq_bits_T_9; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_enq_bits_param_dat_op2 = exe_stage_lsu__stQueue_io_enq_bits_T_5 |
    exe_stage_lsu__stQueue_io_enq_bits_T_6; // @[Mux.scala 27:73]
  assign exe_stage_lsu_stQueue_io_deq_ready = exe_stage_lsu_ls_arb_io_in_1_ready; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_stQueue_io_cmm_lsu_is_amo_pending = exe_stage_lsu_io_cmm_lsu_is_amo_pending; // @[Lsu.scala 200:22]
  assign exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 = exe_stage_lsu_io_cmm_lsu_is_store_commit_0; // @[Lsu.scala 200:22]
  assign exe_stage_lsu_stQueue_io_overlapReq_valid = exe_stage_lsu__T_9 & exe_stage_lsu__addrTransIO_valid_T_51; // @[Lsu.scala 162:38 163:23 167:18]
  assign exe_stage_lsu_stQueue_io_overlapReq_bits_paddr = exe_stage_lsu__GEN_42[31:0]; // @[Lsu.scala 208:36]
  assign exe_stage_lsu_stQueue_io_flush = exe_stage_lsu_io_flush; // @[Lsu.scala 202:20]
  assign exe_stage_lsu_ls_arb_io_in_0_valid = exe_stage_lsu__GEN_0 & exe_stage_lsu_stQueue_io_overlapResp_valid; // @[Lsu.scala 211:41]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lb = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lh = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lw = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_ld = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lbu = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lhu = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lwu = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sb = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sh = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sw = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sd = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_w = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_w = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_w = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_lr_d = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_sc_d = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoswap_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoadd_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoxor_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoand_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amoor_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomin_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomax_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amominu_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_amomaxu_d = exe_stage_lsu__T_9 &
    exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_flw = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsw = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_fld = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_fun_fsd = exe_stage_lsu__T_9 & exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_param_rd0 = exe_stage_lsu__T_9 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0
     : 6'h0; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op1 = exe_stage_lsu__T_9 ? exe_stage_lsu_io_mmu_lsu_bits_paddr : 64'h0
    ; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_0_bits_param_dat_op2 = exe_stage_lsu__T_9 ?
    exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2 : 64'h0; // @[Lsu.scala 162:38 164:23 168:18]
  assign exe_stage_lsu_ls_arb_io_in_1_valid = exe_stage_lsu_stQueue_io_deq_valid; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lb = exe_stage_lsu_stQueue_io_deq_bits_fun_lb; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lh = exe_stage_lsu_stQueue_io_deq_bits_fun_lh; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lw = exe_stage_lsu_stQueue_io_deq_bits_fun_lw; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_ld = exe_stage_lsu_stQueue_io_deq_bits_fun_ld; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lbu = exe_stage_lsu_stQueue_io_deq_bits_fun_lbu; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lhu = exe_stage_lsu_stQueue_io_deq_bits_fun_lhu; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lwu = exe_stage_lsu_stQueue_io_deq_bits_fun_lwu; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sb = exe_stage_lsu_stQueue_io_deq_bits_fun_sb; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sh = exe_stage_lsu_stQueue_io_deq_bits_fun_sh; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sw = exe_stage_lsu_stQueue_io_deq_bits_fun_sw; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sd = exe_stage_lsu_stQueue_io_deq_bits_fun_sd; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_w = exe_stage_lsu_stQueue_io_deq_bits_fun_lr_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_w = exe_stage_lsu_stQueue_io_deq_bits_fun_sc_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_w = exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_w; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_lr_d = exe_stage_lsu_stQueue_io_deq_bits_fun_lr_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_sc_d = exe_stage_lsu_stQueue_io_deq_bits_fun_sc_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoswap_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amoswap_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoadd_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amoadd_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoxor_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amoxor_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoand_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amoand_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amoor_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amoor_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomin_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amomin_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomax_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amomax_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amominu_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amominu_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_amomaxu_d = exe_stage_lsu_stQueue_io_deq_bits_fun_amomaxu_d; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_flw = exe_stage_lsu_stQueue_io_deq_bits_fun_flw; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsw = exe_stage_lsu_stQueue_io_deq_bits_fun_fsw; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_fld = exe_stage_lsu_stQueue_io_deq_bits_fun_fld; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_fun_fsd = exe_stage_lsu_stQueue_io_deq_bits_fun_fsd; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_param_rd0 = exe_stage_lsu_stQueue_io_deq_bits_param_rd0; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op1 = exe_stage_lsu_stQueue_io_deq_bits_param_dat_op1; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op2 = exe_stage_lsu_stQueue_io_deq_bits_param_dat_op2; // @[Lsu.scala 215:19]
  assign exe_stage_lsu_ls_arb_io_out_ready = exe_stage_lsu__T_36 ? exe_stage_lsu_cache_0_io_enq_ready :
    exe_stage_lsu__GEN_229; // @[Lsu.scala 246:23 249:26]
  assign exe_stage_lsu_system_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_system_reset = exe_stage_lsu_reset;
  assign exe_stage_lsu_system_io_enq_valid = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_valid; // @[Lsu.scala 237:23 238:26 242:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lb = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lh = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lw = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_ld = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lbu = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lhu = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lwu = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sb = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sh = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sw = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sd = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lr_w = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sc_w = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoswap_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoadd_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoxor_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoand_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoor_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomin_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomax_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amominu_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomaxu_w = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_lr_d = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_sc_d = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoswap_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoadd_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoxor_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoand_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amoor_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomin_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomax_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amominu_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_amomaxu_d = exe_stage_lsu__T_35 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_flw = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_fsw = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_fld = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_enq_bits_fun_fsd = exe_stage_lsu__T_35 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 237:23 239:26 243:26]
  assign exe_stage_lsu_system_io_deq_ready = exe_stage_lsu_lu_wb_arb_io_in_1_ready |
    exe_stage_lsu__system_io_deq_ready_T; // @[Lsu.scala 427:52]
  assign exe_stage_lsu_system_io_getPut_ready = exe_stage_lsu_io_system_getPut_ready; // @[Lsu.scala 391:26]
  assign exe_stage_lsu_system_io_access_valid = exe_stage_lsu_io_system_access_valid; // @[Lsu.scala 392:26]
  assign exe_stage_lsu_system_io_access_bits_opcode = exe_stage_lsu_io_system_access_bits_opcode; // @[Lsu.scala 393:26]
  assign exe_stage_lsu_system_io_access_bits_data = exe_stage_lsu_io_system_access_bits_data; // @[Lsu.scala 393:26]
  assign exe_stage_lsu_periph_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_periph_reset = exe_stage_lsu_reset;
  assign exe_stage_lsu_periph_io_enq_valid = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_valid; // @[Lsu.scala 228:23 229:26 233:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lb = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lh = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lw = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_ld = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lbu = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lhu = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lwu = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sb = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sh = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sw = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sd = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lr_w = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sc_w = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoswap_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoadd_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoxor_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoand_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoor_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomin_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomax_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amominu_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_w = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_lr_d = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_sc_d = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoswap_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoadd_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoxor_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoand_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amoor_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomin_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomax_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amominu_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_d = exe_stage_lsu__T_34 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_flw = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_fsw = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_fld = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_enq_bits_fun_fsd = exe_stage_lsu__T_34 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 228:23 230:26 234:26]
  assign exe_stage_lsu_periph_io_deq_ready = exe_stage_lsu_lu_wb_arb_io_in_2_ready |
    exe_stage_lsu__periph_io_deq_ready_T; // @[Lsu.scala 432:54]
  assign exe_stage_lsu_periph_io_getPut_ready = exe_stage_lsu_io_periph_getPut_ready; // @[Lsu.scala 402:26]
  assign exe_stage_lsu_periph_io_access_valid = exe_stage_lsu_io_periph_access_valid; // @[Lsu.scala 403:26]
  assign exe_stage_lsu_periph_io_access_bits_opcode = exe_stage_lsu_io_periph_access_bits_opcode; // @[Lsu.scala 404:26]
  assign exe_stage_lsu_periph_io_access_bits_data = exe_stage_lsu_io_periph_access_bits_data; // @[Lsu.scala 404:26]
  assign exe_stage_lsu_cache_0_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_cache_0_reset = exe_stage_lsu_reset;
  assign exe_stage_lsu_cache_0_io_enq_valid = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_valid; // @[Lsu.scala 246:23 247:26 251:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_paddr = exe_stage_lsu__GEN_272[31:0]; // @[Util.scala 81:19 84:15]
  assign exe_stage_lsu_cache_0_io_enq_bits_wdata = exe_stage_lsu__CacheMuxBits_res_wdata_T_9 ?
    exe_stage_lsu_CacheMuxBits_res_wdata_align_data : exe_stage_lsu_CacheMuxBits_res_wdata_res; // @[Util.scala 85:21]
  assign exe_stage_lsu_cache_0_io_enq_bits_wstrb = exe_stage_lsu__CacheMuxBits_res_wdata_T_9 ?
    exe_stage_lsu_CacheMuxBits_res_wstrb_align_strb : exe_stage_lsu_CacheMuxBits_res_wstrb_wstrb; // @[Util.scala 86:21]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lb = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lb; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lh = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lh; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lw = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lw; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_ld = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_ld; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lbu = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lbu; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lhu = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lhu; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lwu = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lwu; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sb = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sb; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sh = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sh; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sw = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sw; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sd = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sd; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lr_w = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sc_w = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_w = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_w; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_lr_d = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_lr_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_sc_d = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_sc_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoswap_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoswap_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoadd_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoadd_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoxor_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoxor_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoand_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoand_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amoor_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amoor_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomin_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomin_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomax_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomax_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amominu_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amominu_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_amomaxu_d = exe_stage_lsu__T_36 &
    exe_stage_lsu_ls_arb_io_out_bits_fun_amomaxu_d; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_flw = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_flw; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_fsw = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsw; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_fld = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fld; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_fun_fsd = exe_stage_lsu__T_36 & exe_stage_lsu_ls_arb_io_out_bits_fun_fsd; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_enq_bits_rd_rd0 = exe_stage_lsu__T_36 ? exe_stage_lsu_ls_arb_io_out_bits_param_rd0 : 6'h0
    ; // @[Lsu.scala 246:23 248:26 252:26]
  assign exe_stage_lsu_cache_0_io_deq_ready = exe_stage_lsu_lu_wb_arb_io_in_0_ready |
    exe_stage_lsu__cache_0_io_deq_ready_T; // @[Lsu.scala 421:55]
  assign exe_stage_lsu_cache_0_io_flush = exe_stage_lsu_io_flush; // @[Lsu.scala 382:23]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_ready = exe_stage_lsu_acquireArb_io_in_0_ready; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_valid = exe_stage_lsu__T_38 &
    exe_stage_lsu_io_missUnit_dcache_grant_valid; // @[Lsu.scala 307:64 308:47 292:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_opcode = exe_stage_lsu__T_38 ?
    exe_stage_lsu_io_missUnit_dcache_grant_bits_opcode : 3'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_size = exe_stage_lsu__T_38 ?
    exe_stage_lsu_io_missUnit_dcache_grant_bits_size : 3'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_source = exe_stage_lsu__T_38 &
    exe_stage_lsu_io_missUnit_dcache_grant_bits_source; // @[Lsu.scala 307:64 308:47 293:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_sink = exe_stage_lsu__T_38 ?
    exe_stage_lsu_io_missUnit_dcache_grant_bits_sink : 5'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grant_bits_data = exe_stage_lsu__T_38 ?
    exe_stage_lsu_io_missUnit_dcache_grant_bits_data : 64'h0; // @[Lsu.scala 307:64 308:47 293:54]
  assign exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_ready = exe_stage_lsu_grantAckArb_io_in_0_ready; // @[Lsu.scala 311:28]
  assign exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_valid = exe_stage_lsu_io_probeUnit_dcache_probe_valid; // @[Lsu.scala 313:120 314:48 295:54]
  assign exe_stage_lsu_cache_0_io_probeUnit_dcache_probe_bits_address =
    exe_stage_lsu_io_probeUnit_dcache_probe_bits_address; // @[Lsu.scala 313:120 314:48 296:54]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_ready = exe_stage_lsu__T_42 ?
    exe_stage_lsu_releaseArb_io_in_0_ready : exe_stage_lsu__GEN_366; // @[Lsu.scala 332:29 334:64]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_valid = exe_stage_lsu__T_40 &
    exe_stage_lsu_io_writeBackUnit_dcache_grant_valid; // @[Lsu.scala 317:69 318:52 298:58]
  assign exe_stage_lsu_cache_0_io_writeBackUnit_dcache_grant_bits_source = exe_stage_lsu__T_40 &
    exe_stage_lsu_io_writeBackUnit_dcache_grant_bits_source; // @[Lsu.scala 317:69 318:52 299:58]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_valid = exe_stage_lsu_cache_0_io_deq_valid &
    exe_stage_lsu_cache_0_io_deq_bits_is_load_amo; // @[Lsu.scala 419:55]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_rd0 = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_io_deq_bits_wb_rd0 : 6'h0; // @[Lsu.scala 420:35]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_bits_wb_res = exe_stage_lsu_lu_wb_arb_io_in_0_valid ?
    exe_stage_lsu_cache_0_io_deq_bits_wb_res : 64'h0; // @[Lsu.scala 420:35]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_flw = exe_stage_lsu_lu_wb_arb_io_in_0_valid &
    exe_stage_lsu_cache_0_io_deq_bits_is_flw; // @[Lsu.scala 420:35]
  assign exe_stage_lsu_lu_wb_arb_io_in_0_bits_is_fld = exe_stage_lsu_lu_wb_arb_io_in_0_valid &
    exe_stage_lsu_cache_0_io_deq_bits_is_fld; // @[Lsu.scala 420:35]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_valid = exe_stage_lsu_system_io_deq_valid &
    exe_stage_lsu_system_io_deq_bits_is_load_amo; // @[Lsu.scala 425:52]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_rd0 = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_system_io_deq_bits_wb_rd0 : 6'h0; // @[Lsu.scala 426:34]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_bits_wb_res = exe_stage_lsu_lu_wb_arb_io_in_1_valid ?
    exe_stage_lsu_system_io_deq_bits_wb_res : 64'h0; // @[Lsu.scala 426:34]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_flw = exe_stage_lsu_lu_wb_arb_io_in_1_valid &
    exe_stage_lsu_system_io_deq_bits_is_flw; // @[Lsu.scala 426:34]
  assign exe_stage_lsu_lu_wb_arb_io_in_1_bits_is_fld = exe_stage_lsu_lu_wb_arb_io_in_1_valid &
    exe_stage_lsu_system_io_deq_bits_is_fld; // @[Lsu.scala 426:34]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_valid = exe_stage_lsu_periph_io_deq_valid &
    exe_stage_lsu_periph_io_deq_bits_is_load_amo; // @[Lsu.scala 430:54]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_rd0 = exe_stage_lsu_lu_wb_arb_io_in_2_valid ?
    exe_stage_lsu_periph_io_deq_bits_wb_rd0 : 6'h0; // @[Lsu.scala 431:36]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_bits_wb_res = exe_stage_lsu_lu_wb_arb_io_in_2_valid ?
    exe_stage_lsu_periph_io_deq_bits_wb_res : 64'h0; // @[Lsu.scala 431:36]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_flw = exe_stage_lsu_lu_wb_arb_io_in_2_valid &
    exe_stage_lsu_periph_io_deq_bits_is_flw; // @[Lsu.scala 431:36]
  assign exe_stage_lsu_lu_wb_arb_io_in_2_bits_is_fld = exe_stage_lsu_lu_wb_arb_io_in_2_valid &
    exe_stage_lsu_periph_io_deq_bits_is_fld; // @[Lsu.scala 431:36]
  assign exe_stage_lsu_lu_wb_arb_io_out_ready = exe_stage_lsu__lu_wb_arb_io_out_ready_T | exe_stage_lsu_trans_kill; // @[Lsu.scala 454:82]
  assign exe_stage_lsu_lu_wb_fifo_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_lu_wb_fifo_reset = exe_stage_lsu_reset | exe_stage_lsu_io_flush; // @[Lsu.scala 440:36]
  assign exe_stage_lsu_lu_wb_fifo_io_enq_valid = exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_2 &
    exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_3; // @[Lsu.scala 437:84]
  assign exe_stage_lsu_lu_wb_fifo_io_enq_bits_rd0 = exe_stage_lsu_lu_wb_arb_io_out_bits_wb_rd0; // @[Lsu.scala 438:30]
  assign exe_stage_lsu_lu_wb_fifo_io_enq_bits_res = exe_stage_lsu_lu_wb_arb_io_out_bits_wb_res; // @[Lsu.scala 439:30]
  assign exe_stage_lsu_lu_wb_fifo_io_deq_ready = exe_stage_lsu_rtn_arb_io_in_1_ready; // @[Lsu.scala 475:20]
  assign exe_stage_lsu_flu_wb_fifo_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_flu_wb_fifo_reset = exe_stage_lsu_reset | exe_stage_lsu_io_flush; // @[Lsu.scala 451:37]
  assign exe_stage_lsu_flu_wb_fifo_io_enq_valid = exe_stage_lsu__flu_wb_fifo_io_enq_valid_T_1 &
    exe_stage_lsu__lu_wb_fifo_io_enq_valid_T_3; // @[Lsu.scala 443:85]
  assign exe_stage_lsu_flu_wb_fifo_io_deq_ready = exe_stage_lsu_io_lsu_exe_fwb_ready; // @[Lsu.scala 450:22]
  assign exe_stage_lsu_su_wb_fifo_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_su_wb_fifo_reset = exe_stage_lsu_reset | exe_stage_lsu_io_flush; // @[Lsu.scala 460:36]
  assign exe_stage_lsu_su_wb_fifo_io_enq_valid = exe_stage_lsu__opStIO_ready_T & exe_stage_lsu__GEN_46; // @[Decoupled.scala 52:35]
  assign exe_stage_lsu_su_wb_fifo_io_enq_bits_rd0 = exe_stage_lsu__T_14 ? exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0 : 6'h0
    ; // @[Lsu.scala 171:38 173:23 177:18]
  assign exe_stage_lsu_su_wb_fifo_io_deq_ready = exe_stage_lsu_rtn_arb_io_in_0_ready; // @[Lsu.scala 474:20]
  assign exe_stage_lsu_fe_wb_fifo_clock = exe_stage_lsu_clock;
  assign exe_stage_lsu_fe_wb_fifo_reset = exe_stage_lsu_reset | exe_stage_lsu_io_flush; // @[Lsu.scala 470:36]
  assign exe_stage_lsu_fe_wb_fifo_io_enq_valid = exe_stage_lsu__fe_wb_fifo_io_enq_valid_T_2 &
    exe_stage_lsu_io_lsu_iss_exe_valid; // @[Lsu.scala 467:74]
  assign exe_stage_lsu_fe_wb_fifo_io_enq_bits_rd0 = exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0; // @[Lsu.scala 468:30]
  assign exe_stage_lsu_fe_wb_fifo_io_deq_ready = exe_stage_lsu_rtn_arb_io_in_2_ready; // @[Lsu.scala 476:20]
  assign exe_stage_lsu_rtn_arb_io_in_0_valid = exe_stage_lsu_su_wb_fifo_io_deq_valid; // @[Lsu.scala 474:20]
  assign exe_stage_lsu_rtn_arb_io_in_0_bits_rd0 = exe_stage_lsu_su_wb_fifo_io_deq_bits_rd0; // @[Lsu.scala 474:20]
  assign exe_stage_lsu_rtn_arb_io_in_0_bits_res = exe_stage_lsu_su_wb_fifo_io_deq_bits_res; // @[Lsu.scala 474:20]
  assign exe_stage_lsu_rtn_arb_io_in_1_valid = exe_stage_lsu_lu_wb_fifo_io_deq_valid; // @[Lsu.scala 475:20]
  assign exe_stage_lsu_rtn_arb_io_in_1_bits_rd0 = exe_stage_lsu_lu_wb_fifo_io_deq_bits_rd0; // @[Lsu.scala 475:20]
  assign exe_stage_lsu_rtn_arb_io_in_1_bits_res = exe_stage_lsu_lu_wb_fifo_io_deq_bits_res; // @[Lsu.scala 475:20]
  assign exe_stage_lsu_rtn_arb_io_in_2_valid = exe_stage_lsu_fe_wb_fifo_io_deq_valid; // @[Lsu.scala 476:20]
  assign exe_stage_lsu_rtn_arb_io_in_2_bits_rd0 = exe_stage_lsu_fe_wb_fifo_io_deq_bits_rd0; // @[Lsu.scala 476:20]
  assign exe_stage_lsu_rtn_arb_io_in_2_bits_res = exe_stage_lsu_fe_wb_fifo_io_deq_bits_res; // @[Lsu.scala 476:20]
  assign exe_stage_lsu_rtn_arb_io_out_ready = exe_stage_lsu_io_lsu_exe_iwb_ready; // @[Lsu.scala 477:18]
  assign exe_stage_lsu_acquireArb_io_in_0_valid = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_valid; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_opcode = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_opcode; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_param = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_param; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_size = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_size; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_source = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_source; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_address = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_address; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_mask = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_mask; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_data = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_data; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_in_0_bits_corrupt = exe_stage_lsu_cache_0_io_missUnit_dcache_acquire_bits_corrupt; // @[Lsu.scala 305:27]
  assign exe_stage_lsu_acquireArb_io_out_ready = exe_stage_lsu_io_missUnit_dcache_acquire_ready; // @[Lsu.scala 302:37]
  assign exe_stage_lsu_grantAckArb_io_in_0_valid = exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_valid; // @[Lsu.scala 311:28]
  assign exe_stage_lsu_grantAckArb_io_in_0_bits_sink = exe_stage_lsu_cache_0_io_missUnit_dcache_grantAck_bits_sink; // @[Lsu.scala 311:28]
  assign exe_stage_lsu_grantAckArb_io_out_ready = exe_stage_lsu_io_missUnit_dcache_grantAck_ready; // @[Lsu.scala 303:37]
  assign exe_stage_lsu_releaseArb_io_in_0_valid = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_valid; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_opcode =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_opcode; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_param = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_param; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_size = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_size; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_source =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_source; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_address =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_address; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_data = exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_data; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_in_0_bits_corrupt =
    exe_stage_lsu_cache_0_io_writeBackUnit_dcache_release_bits_corrupt; // @[Lsu.scala 332:29]
  assign exe_stage_lsu_releaseArb_io_out_ready = exe_stage_lsu__T_42 &
    exe_stage_lsu_io_writeBackUnit_dcache_release_ready; // @[Lsu.scala 334:64 335:45 337:33]
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_exe_iwb_fifo_ram_rd0[exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_data = exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_rd0;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_en = exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_exe_iwb_fifo_ram_res[exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_data = exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_res;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_en = exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready = exe_stage_csr_csr_exe_iwb_fifo_io_deq_ready |
    exe_stage_csr_csr_exe_iwb_fifo__empty_T; // @[Decoupled.scala 305:16 325:{24,39}]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_deq_valid = ~exe_stage_csr_csr_exe_iwb_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_rd0 = exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_res = exe_stage_csr_csr_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_op_fifo_ram_addr[exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_op_fifo_ram_addr_MPORT_data = exe_stage_csr_csr_op_fifo_io_enq_bits_addr;
  assign exe_stage_csr_csr_op_fifo_ram_addr_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_addr_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_addr_MPORT_en = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_op_fifo_ram_dat_i[exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_data = exe_stage_csr_csr_op_fifo_io_enq_bits_dat_i;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_en = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_op_fifo_ram_op_rw[exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_data = exe_stage_csr_csr_op_fifo_io_enq_bits_op_rw;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_en = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_op_fifo_ram_op_rs[exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_data = exe_stage_csr_csr_op_fifo_io_enq_bits_op_rs;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_en = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_data =
    exe_stage_csr_csr_op_fifo_ram_op_rc[exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_data = exe_stage_csr_csr_op_fifo_io_enq_bits_op_rc;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_addr = 1'h0;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_mask = 1'h1;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_en = exe_stage_csr_csr_op_fifo_io_enq_ready &
    exe_stage_csr_csr_op_fifo_io_enq_valid;
  assign exe_stage_csr_csr_op_fifo_io_enq_ready = ~exe_stage_csr_csr_op_fifo_maybe_full; // @[Decoupled.scala 305:19]
  assign exe_stage_csr_csr_op_fifo_io_deq_valid = ~exe_stage_csr_csr_op_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_csr_csr_op_fifo_io_deq_bits_addr = exe_stage_csr_csr_op_fifo_ram_addr_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_op_fifo_io_deq_bits_dat_i = exe_stage_csr_csr_op_fifo_ram_dat_i_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_op_fifo_io_deq_bits_op_rw = exe_stage_csr_csr_op_fifo_ram_op_rw_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_op_fifo_io_deq_bits_op_rs = exe_stage_csr_csr_op_fifo_ram_op_rs_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_csr_op_fifo_io_deq_bits_op_rc = exe_stage_csr_csr_op_fifo_ram_op_rc_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_csr_io_csr_iss_exe_ready = exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_csr_io_csr_exe_iwb_valid = exe_stage_csr_csr_exe_iwb_fifo_io_deq_valid; // @[Csr.scala 44:18]
  assign exe_stage_csr_io_csr_exe_iwb_bits_rd0 = exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_rd0; // @[Csr.scala 44:18]
  assign exe_stage_csr_io_csr_exe_iwb_bits_res = exe_stage_csr_csr_exe_iwb_fifo_io_deq_bits_res; // @[Csr.scala 44:18]
  assign exe_stage_csr_io_csr_addr_valid = exe_stage_csr_io_csr_iss_exe_valid; // @[Csr.scala 69:21]
  assign exe_stage_csr_io_csr_addr_bits = exe_stage_csr_io_csr_iss_exe_bits_param_dat_op2[11:0]; // @[Csr.scala 68:21]
  assign exe_stage_csr_io_csr_cmm_op_valid = exe_stage_csr_csr_op_fifo_io_deq_valid; // @[Csr.scala 48:17]
  assign exe_stage_csr_io_csr_cmm_op_bits_addr = exe_stage_csr_csr_op_fifo_io_deq_bits_addr; // @[Csr.scala 48:17]
  assign exe_stage_csr_io_csr_cmm_op_bits_dat_i = exe_stage_csr_csr_op_fifo_io_deq_bits_dat_i; // @[Csr.scala 48:17]
  assign exe_stage_csr_io_csr_cmm_op_bits_op_rw = exe_stage_csr_csr_op_fifo_io_deq_bits_op_rw; // @[Csr.scala 48:17]
  assign exe_stage_csr_io_csr_cmm_op_bits_op_rs = exe_stage_csr_csr_op_fifo_io_deq_bits_op_rs; // @[Csr.scala 48:17]
  assign exe_stage_csr_io_csr_cmm_op_bits_op_rc = exe_stage_csr_csr_op_fifo_io_deq_bits_op_rc; // @[Csr.scala 48:17]
  assign exe_stage_csr_csr_exe_iwb_fifo_clock = exe_stage_csr_clock;
  assign exe_stage_csr_csr_exe_iwb_fifo_reset = exe_stage_csr_reset | exe_stage_csr_io_flush; // @[Csr.scala 45:42]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid = exe_stage_csr__csr_exe_iwb_fifo_io_enq_valid_T &
    exe_stage_csr_io_csr_data_valid; // @[Csr.scala 74:84]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_rd0 = exe_stage_csr_io_csr_iss_exe_bits_param_rd0; // @[Csr.scala 76:36]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_enq_bits_res = exe_stage_csr_io_csr_data_bits; // @[Csr.scala 75:36]
  assign exe_stage_csr_csr_exe_iwb_fifo_io_deq_ready = exe_stage_csr_io_csr_exe_iwb_ready; // @[Csr.scala 44:18]
  assign exe_stage_csr_csr_op_fifo_clock = exe_stage_csr_clock;
  assign exe_stage_csr_csr_op_fifo_reset = exe_stage_csr_reset | exe_stage_csr_io_flush; // @[Csr.scala 49:37]
  assign exe_stage_csr_csr_op_fifo_io_enq_valid = exe_stage_csr_csr_exe_iwb_fifo_io_enq_ready &
    exe_stage_csr_csr_exe_iwb_fifo_io_enq_valid; // @[Decoupled.scala 52:35]
  assign exe_stage_csr_csr_op_fifo_io_enq_bits_addr = exe_stage_csr_io_csr_iss_exe_bits_param_dat_op2[11:0]; // @[Csr.scala 62:32]
  assign exe_stage_csr_csr_op_fifo_io_enq_bits_dat_i = exe_stage_csr_io_csr_iss_exe_bits_param_dat_op1; // @[Csr.scala 63:33]
  assign exe_stage_csr_csr_op_fifo_io_enq_bits_op_rw = exe_stage_csr_io_csr_iss_exe_bits_fun_rw &
    exe_stage_csr__csr_op_fifo_io_enq_bits_op_rw_T; // @[Csr.scala 64:39]
  assign exe_stage_csr_csr_op_fifo_io_enq_bits_op_rs = exe_stage_csr_io_csr_iss_exe_bits_fun_rs &
    exe_stage_csr__csr_op_fifo_io_enq_bits_op_rw_T; // @[Csr.scala 65:39]
  assign exe_stage_csr_csr_op_fifo_io_enq_bits_op_rc = exe_stage_csr_io_csr_iss_exe_bits_fun_rc &
    exe_stage_csr__csr_op_fifo_io_enq_bits_op_rw_T; // @[Csr.scala 66:39]
  assign exe_stage_csr_csr_op_fifo_io_deq_ready = exe_stage_csr_io_csr_cmm_op_ready; // @[Csr.scala 48:17]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data =
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0[exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_data = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_rd0;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_addr = 1'h0;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_mask = 1'h1;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_en = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready &
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_en = 1'h1;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr = 1'h0;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data =
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res[exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_data = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_res;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_addr = 1'h0;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_mask = 1'h1;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_en = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready &
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_valid;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_ready |
    exe_stage_mulDiv_0_mul_exe_iwb_fifo__empty_T; // @[Decoupled.scala 305:16 325:{24,39}]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_valid = ~exe_stage_mulDiv_0_mul_exe_iwb_fifo__empty_T; // @[Decoupled.scala 304:19]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_rd0 =
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_res =
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign exe_stage_mulDiv_0_multiplier_io_enq_ready = exe_stage_mulDiv_0_multiplier_io_deq_ready; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_valid = exe_stage_mulDiv_0_multiplier_io_enq_valid; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mul = exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mul; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulh = exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulh; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhsu = exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhsu; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulhu = exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhu; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_fun_mulw = exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulw; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_deq_bits_param_rd0 = exe_stage_mulDiv_0_multiplier_io_enq_bits_param_rd0; // @[Mul.scala 418:10]
  assign exe_stage_mulDiv_0_multiplier_io_res = $signed(exe_stage_mulDiv_0_multiplier_io_op1) * $signed(
    exe_stage_mulDiv_0_multiplier_io_op2); // @[Mul.scala 419:45]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_ready = ~exe_stage_mulDiv_0_dividor_algDivider_isDivBusy; // @[Mul.scala 594:19]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_valid = exe_stage_mulDiv_0_dividor_algDivider_isDivBusy &
    exe_stage_mulDiv_0_dividor_algDivider__divFinish_T; // @[Mul.scala 626:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_div =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_div; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divu =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divu; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_rem =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_rem; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remu =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remu; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divw =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divw; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_divuw =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divuw; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remw =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remw; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_fun_remuw =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remuw; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_rd0 =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_rd0; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op1 =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op1; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_dat_op2 =
    exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op2; // @[Mul.scala 628:15]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_quo = exe_stage_mulDiv_0_dividor_algDivider_dividend[63:0]; // @[Mul.scala 629:21]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_rem = exe_stage_mulDiv_0_dividor_algDivider_dividend[127:64]; // @[Mul.scala 630:21]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_ready = exe_stage_mulDiv_0_dividor_divRtnArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_ready = exe_stage_mulDiv_0_dividor_divRtnArb_grant_1 &
    exe_stage_mulDiv_0_dividor_divRtnArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_out_valid = exe_stage_mulDiv_0_dividor_divRtnArb__io_out_valid_T |
    exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_rd0 = exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_valid ?
    exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_rd0 : exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_res = exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_valid ?
    exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_res : exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_res; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_mulDiv_0_dividor_io_enq_ready = exe_stage_mulDiv_0_dividor_divBypass ?
    exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_ready : exe_stage_mulDiv_0_dividor_algDivider_io_enq_ready; // @[Mul.scala 559:22]
  assign exe_stage_mulDiv_0_dividor_io_deq_valid = exe_stage_mulDiv_0_dividor_divRtnArb_io_out_valid; // @[Mul.scala 560:10]
  assign exe_stage_mulDiv_0_dividor_io_deq_bits_rd0 = exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_rd0; // @[Mul.scala 560:10]
  assign exe_stage_mulDiv_0_dividor_io_deq_bits_res = exe_stage_mulDiv_0_dividor_divRtnArb_io_out_bits_res; // @[Mul.scala 560:10]
  assign exe_stage_mulDiv_0_dividor_algDivider_clock = exe_stage_mulDiv_0_dividor_clock;
  assign exe_stage_mulDiv_0_dividor_algDivider_reset = exe_stage_mulDiv_0_dividor_reset;
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_valid = exe_stage_mulDiv_0_dividor_io_enq_valid &
    exe_stage_mulDiv_0_dividor__algDivider_io_enq_valid_T; // @[Mul.scala 509:45]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_div = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_div; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divu = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_rem = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_rem; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remu = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divw = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divuw = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remw = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remuw = exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_rd0 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_rd0; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op1 =
    exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op2 =
    exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2; // @[Mul.scala 510:29]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_deq_ready = exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_ready; // @[Mul.scala 557:28]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_op1 = exe_stage_mulDiv_0_dividor_isUsiPre ?
    exe_stage_mulDiv_0_dividor__dividend_load_T_1 : exe_stage_mulDiv_0_dividor__dividend_load_T_15; // @[Mul.scala 447:10]
  assign exe_stage_mulDiv_0_dividor_algDivider_io_flush = exe_stage_mulDiv_0_dividor_io_flush; // @[Mul.scala 515:25]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_valid = exe_stage_mulDiv_0_dividor_algDivider_io_deq_valid; // @[Mul.scala 554:28]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_rd0 =
    exe_stage_mulDiv_0_dividor_algDivider_io_deq_bits_param_rd0; // @[Mul.scala 556:31]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_0_bits_res = exe_stage_mulDiv_0_dividor__divRes_T_33 |
    exe_stage_mulDiv_0_dividor__divRes_T_27; // @[Mux.scala 27:73]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_valid = exe_stage_mulDiv_0_dividor_io_enq_valid &
    exe_stage_mulDiv_0_dividor_divBypass; // @[Mul.scala 549:44]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_rd0 = exe_stage_mulDiv_0_dividor_io_enq_bits_param_rd0; // @[Mul.scala 551:31]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_in_1_bits_res = exe_stage_mulDiv_0_dividor__byPassRes_T_13 |
    exe_stage_mulDiv_0_dividor__byPassRes_T_7; // @[Mux.scala 27:73]
  assign exe_stage_mulDiv_0_dividor_divRtnArb_io_out_ready = exe_stage_mulDiv_0_dividor_io_deq_ready; // @[Mul.scala 560:10]
  assign exe_stage_mulDiv_0_iwbArb_io_in_0_ready = exe_stage_mulDiv_0_iwbArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_mulDiv_0_iwbArb_io_in_1_ready = exe_stage_mulDiv_0_iwbArb_grant_1 &
    exe_stage_mulDiv_0_iwbArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign exe_stage_mulDiv_0_iwbArb_io_out_valid = exe_stage_mulDiv_0_iwbArb__io_out_valid_T |
    exe_stage_mulDiv_0_iwbArb_io_in_1_valid; // @[Arbiter.scala 147:31]
  assign exe_stage_mulDiv_0_iwbArb_io_out_bits_rd0 = exe_stage_mulDiv_0_iwbArb_io_in_0_valid ?
    exe_stage_mulDiv_0_iwbArb_io_in_0_bits_rd0 : exe_stage_mulDiv_0_iwbArb_io_in_1_bits_rd0; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_mulDiv_0_iwbArb_io_out_bits_res = exe_stage_mulDiv_0_iwbArb_io_in_0_valid ?
    exe_stage_mulDiv_0_iwbArb_io_in_0_bits_res : exe_stage_mulDiv_0_iwbArb_io_in_1_bits_res; // @[Arbiter.scala 136:15 138:26 140:19]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_ready = exe_stage_mulDiv_0__multiplier_io_enq_valid_T_3 ?
    exe_stage_mulDiv_0_multiplier_io_enq_ready : exe_stage_mulDiv_0_dividor_io_enq_ready; // @[Mul.scala 123:8]
  assign exe_stage_mulDiv_0_io_mul_exe_iwb_valid = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_valid; // @[Mul.scala 42:18]
  assign exe_stage_mulDiv_0_io_mul_exe_iwb_bits_rd0 = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_rd0; // @[Mul.scala 42:18]
  assign exe_stage_mulDiv_0_io_mul_exe_iwb_bits_res = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_bits_res; // @[Mul.scala 42:18]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_clock = exe_stage_mulDiv_0_clock;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_reset = exe_stage_mulDiv_0_reset | exe_stage_mulDiv_0_io_flush; // @[Mul.scala 41:42]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_valid = exe_stage_mulDiv_0_iwbArb_io_out_valid; // @[Mul.scala 139:27]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_rd0 = exe_stage_mulDiv_0_iwbArb_io_out_bits_rd0; // @[Mul.scala 139:27]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_bits_res = exe_stage_mulDiv_0_iwbArb_io_out_bits_res; // @[Mul.scala 139:27]
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_deq_ready = exe_stage_mulDiv_0_io_mul_exe_iwb_ready; // @[Mul.scala 42:18]
  assign exe_stage_mulDiv_0_multiplier_io_enq_valid = exe_stage_mulDiv_0_io_mul_iss_exe_valid &
    exe_stage_mulDiv_0__multiplier_io_enq_valid_T_3; // @[Mul.scala 84:51]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mul = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mul; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulh = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulh; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhsu = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulhu = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhu; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_fun_mulw = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_enq_bits_param_rd0 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_rd0; // @[Mul.scala 87:26]
  assign exe_stage_mulDiv_0_multiplier_io_deq_ready = exe_stage_mulDiv_0_iwbArb_io_in_0_ready; // @[Mul.scala 130:27]
  assign exe_stage_mulDiv_0_multiplier_io_op1 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw ?
    exe_stage_mulDiv_0__mul_op1_T_3 : exe_stage_mulDiv_0__mul_op1_T_4; // @[Mul.scala 65:8]
  assign exe_stage_mulDiv_0_multiplier_io_op2 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw ?
    exe_stage_mulDiv_0__mul_op2_T_3 : exe_stage_mulDiv_0__mul_op2_T_4; // @[Mul.scala 72:8]
  assign exe_stage_mulDiv_0_dividor_clock = exe_stage_mulDiv_0_clock;
  assign exe_stage_mulDiv_0_dividor_reset = exe_stage_mulDiv_0_reset;
  assign exe_stage_mulDiv_0_dividor_io_enq_valid = exe_stage_mulDiv_0__dividor_io_enq_valid_T_6 &
    exe_stage_mulDiv_0_io_mul_iss_exe_valid; // @[Mul.scala 107:57]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_div = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_div; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divu = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divu; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_rem = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_rem; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remu = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remu; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divw = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divw; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_divuw = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divuw; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remw = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remw; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_fun_remuw = exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remuw; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_param_rd0 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_rd0; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op1 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2 = exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2; // @[Mul.scala 106:24]
  assign exe_stage_mulDiv_0_dividor_io_deq_ready = exe_stage_mulDiv_0_iwbArb_io_in_1_ready; // @[Mul.scala 135:19]
  assign exe_stage_mulDiv_0_dividor_io_flush = exe_stage_mulDiv_0_io_flush; // @[Mul.scala 109:20]
  assign exe_stage_mulDiv_0_iwbArb_io_in_0_valid = exe_stage_mulDiv_0_multiplier_io_deq_valid; // @[Mul.scala 131:25]
  assign exe_stage_mulDiv_0_iwbArb_io_in_0_bits_rd0 = exe_stage_mulDiv_0_multiplier_io_deq_bits_param_rd0; // @[Mul.scala 132:28]
  assign exe_stage_mulDiv_0_iwbArb_io_in_0_bits_res = exe_stage_mulDiv_0__mulRes_T_16 | exe_stage_mulDiv_0__mulRes_T_13; // @[Mux.scala 27:73]
  assign exe_stage_mulDiv_0_iwbArb_io_in_1_valid = exe_stage_mulDiv_0_dividor_io_deq_valid; // @[Mul.scala 135:19]
  assign exe_stage_mulDiv_0_iwbArb_io_in_1_bits_rd0 = exe_stage_mulDiv_0_dividor_io_deq_bits_rd0; // @[Mul.scala 135:19]
  assign exe_stage_mulDiv_0_iwbArb_io_in_1_bits_res = exe_stage_mulDiv_0_dividor_io_deq_bits_res; // @[Mul.scala 135:19]
  assign exe_stage_mulDiv_0_iwbArb_io_out_ready = exe_stage_mulDiv_0_mul_exe_iwb_fifo_io_enq_ready; // @[Mul.scala 139:27]
  assign exe_stage_fpu_0_io_fpu_exe_iwb_valid = 1'h0; // @[FAlu.scala 271:24]
  assign exe_stage_fpu_0_io_fpu_exe_iwb_bits_rd0 = 6'h0; // @[FAlu.scala 272:{39,39}]
  assign exe_stage_fpu_0_io_fpu_exe_iwb_bits_res = 65'h0; // @[FAlu.scala 272:{39,39}]
  assign exe_stage_fpu_0_io_fpu_exe_fwb_valid = 1'h0; // @[FAlu.scala 274:24]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_valid = 1'h0; // @[FAlu.scala 278:29]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_addr = 12'h0; // @[FAlu.scala 279:{44,44}]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_dat_i = 64'h0; // @[FAlu.scala 279:{44,44}]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rw = 1'h0; // @[FAlu.scala 279:{44,44}]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rs = 1'h0; // @[FAlu.scala 279:{44,44}]
  assign exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rc = 1'h0; // @[FAlu.scala 279:{44,44}]
  assign exe_stage_io_alu_iss_exe_0_ready = exe_stage_alu_0_io_alu_iss_exe_ready; // @[Execute.scala 185:27]
  assign exe_stage_io_alu_exe_iwb_0_valid = exe_stage_alu_0_io_alu_exe_iwb_valid; // @[Execute.scala 186:27]
  assign exe_stage_io_alu_exe_iwb_0_bits_rd0 = exe_stage_alu_0_io_alu_exe_iwb_bits_rd0; // @[Execute.scala 186:27]
  assign exe_stage_io_alu_exe_iwb_0_bits_res = exe_stage_alu_0_io_alu_exe_iwb_bits_res; // @[Execute.scala 186:27]
  assign exe_stage_io_bru_iss_exe_ready = exe_stage_bru_io_bru_iss_exe_ready; // @[Execute.scala 191:22]
  assign exe_stage_io_bru_exe_iwb_valid = exe_stage_bru_io_bru_exe_iwb_valid; // @[Execute.scala 192:22]
  assign exe_stage_io_bru_exe_iwb_bits_rd0 = exe_stage_bru_io_bru_exe_iwb_bits_rd0; // @[Execute.scala 192:22]
  assign exe_stage_io_bru_exe_iwb_bits_res = exe_stage_bru_io_bru_exe_iwb_bits_res; // @[Execute.scala 192:22]
  assign exe_stage_io_csr_iss_exe_ready = exe_stage_csr_io_csr_iss_exe_ready; // @[Execute.scala 204:22]
  assign exe_stage_io_csr_exe_iwb_valid = exe_stage_csr_io_csr_exe_iwb_valid; // @[Execute.scala 205:22]
  assign exe_stage_io_csr_exe_iwb_bits_rd0 = exe_stage_csr_io_csr_exe_iwb_bits_rd0; // @[Execute.scala 205:22]
  assign exe_stage_io_csr_exe_iwb_bits_res = exe_stage_csr_io_csr_exe_iwb_bits_res; // @[Execute.scala 205:22]
  assign exe_stage_io_lsu_iss_exe_ready = exe_stage_lsu_io_lsu_iss_exe_ready; // @[Execute.scala 103:24]
  assign exe_stage_io_lsu_exe_iwb_valid = exe_stage_lsu_io_lsu_exe_iwb_valid; // @[Execute.scala 104:24]
  assign exe_stage_io_lsu_exe_iwb_bits_rd0 = exe_stage_lsu_io_lsu_exe_iwb_bits_rd0; // @[Execute.scala 104:24]
  assign exe_stage_io_lsu_exe_iwb_bits_res = exe_stage_lsu_io_lsu_exe_iwb_bits_res; // @[Execute.scala 104:24]
  assign exe_stage_io_lsu_exe_fwb_valid = exe_stage_lsu_io_lsu_exe_fwb_valid; // @[Execute.scala 105:24]
  assign exe_stage_io_mul_iss_exe_0_ready = exe_stage_mulDiv_0_io_mul_iss_exe_ready; // @[Execute.scala 212:30]
  assign exe_stage_io_mul_exe_iwb_0_valid = exe_stage_mulDiv_0_io_mul_exe_iwb_valid; // @[Execute.scala 213:30]
  assign exe_stage_io_mul_exe_iwb_0_bits_rd0 = exe_stage_mulDiv_0_io_mul_exe_iwb_bits_rd0; // @[Execute.scala 213:30]
  assign exe_stage_io_mul_exe_iwb_0_bits_res = exe_stage_mulDiv_0_io_mul_exe_iwb_bits_res; // @[Execute.scala 213:30]
  assign exe_stage_io_fpu_exe_iwb_0_valid = exe_stage_fpu_0_io_fpu_exe_iwb_valid; // @[Execute.scala 177:27]
  assign exe_stage_io_fpu_exe_iwb_0_bits_rd0 = exe_stage_fpu_0_io_fpu_exe_iwb_bits_rd0; // @[Execute.scala 177:27]
  assign exe_stage_io_fpu_exe_iwb_0_bits_res = exe_stage_fpu_0_io_fpu_exe_iwb_bits_res[63:0]; // @[Execute.scala 177:27]
  assign exe_stage_io_fpu_exe_fwb_0_valid = exe_stage_fpu_0_io_fpu_exe_fwb_valid; // @[Execute.scala 178:27]
  assign exe_stage_io_fcsr_cmm_op_0_valid = exe_stage_fpu_0_io_fcsr_cmm_op_0_valid; // @[Execute.scala 181:27]
  assign exe_stage_io_fcsr_cmm_op_0_bits_addr = exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_addr; // @[Execute.scala 181:27]
  assign exe_stage_io_fcsr_cmm_op_0_bits_dat_i = exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_dat_i; // @[Execute.scala 181:27]
  assign exe_stage_io_fcsr_cmm_op_0_bits_op_rw = exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rw; // @[Execute.scala 181:27]
  assign exe_stage_io_fcsr_cmm_op_0_bits_op_rs = exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rs; // @[Execute.scala 181:27]
  assign exe_stage_io_fcsr_cmm_op_0_bits_op_rc = exe_stage_fpu_0_io_fcsr_cmm_op_0_bits_op_rc; // @[Execute.scala 181:27]
  assign exe_stage_io_bftq_ready = exe_stage_bru_io_bftq_ready; // @[Execute.scala 195:15]
  assign exe_stage_io_jftq_ready = exe_stage_bru_io_jftq_ready; // @[Execute.scala 196:15]
  assign exe_stage_io_bctq_valid = exe_stage_bru_io_bctq_valid; // @[Execute.scala 198:11]
  assign exe_stage_io_bctq_bits_isPredictTaken = exe_stage_bru_io_bctq_bits_isPredictTaken; // @[Execute.scala 198:11]
  assign exe_stage_io_bctq_bits_isFinalTaken = exe_stage_bru_io_bctq_bits_isFinalTaken; // @[Execute.scala 198:11]
  assign exe_stage_io_bctq_bits_finalTarget = exe_stage_bru_io_bctq_bits_finalTarget; // @[Execute.scala 198:11]
  assign exe_stage_io_jctq_valid = exe_stage_bru_io_jctq_valid; // @[Execute.scala 199:11]
  assign exe_stage_io_jctq_bits_btbResp_target = exe_stage_bru_io_jctq_bits_btbResp_target; // @[Execute.scala 199:11]
  assign exe_stage_io_jctq_bits_rasResp_target = exe_stage_bru_io_jctq_bits_rasResp_target; // @[Execute.scala 199:11]
  assign exe_stage_io_jctq_bits_isRas = exe_stage_bru_io_jctq_bits_isRas; // @[Execute.scala 199:11]
  assign exe_stage_io_jctq_bits_finalTarget = exe_stage_bru_io_jctq_bits_finalTarget; // @[Execute.scala 199:11]
  assign exe_stage_io_bcmm_update_valid = exe_stage_bru_io_bcmm_update_valid; // @[Execute.scala 201:18]
  assign exe_stage_io_bcmm_update_bits_pc = exe_stage_bru_io_bcmm_update_bits_pc; // @[Execute.scala 201:18]
  assign exe_stage_io_bcmm_update_bits_bimResp_bim_p = exe_stage_bru_io_bcmm_update_bits_bimResp_bim_p; // @[Execute.scala 201:18]
  assign exe_stage_io_bcmm_update_bits_bimResp_bim_h = exe_stage_bru_io_bcmm_update_bits_bimResp_bim_h; // @[Execute.scala 201:18]
  assign exe_stage_io_bcmm_update_bits_isFinalTaken = exe_stage_bru_io_bcmm_update_bits_isFinalTaken; // @[Execute.scala 201:18]
  assign exe_stage_io_jcmm_update_valid = exe_stage_bru_io_jcmm_update_valid; // @[Execute.scala 202:18]
  assign exe_stage_io_jcmm_update_bits_pc = exe_stage_bru_io_jcmm_update_bits_pc; // @[Execute.scala 202:18]
  assign exe_stage_io_jcmm_update_bits_finalTarget = exe_stage_bru_io_jcmm_update_bits_finalTarget; // @[Execute.scala 202:18]
  assign exe_stage_io_csr_addr_valid = exe_stage_csr_io_csr_addr_valid; // @[Execute.scala 206:19]
  assign exe_stage_io_csr_addr_bits = exe_stage_csr_io_csr_addr_bits; // @[Execute.scala 206:19]
  assign exe_stage_io_csr_cmm_op_valid = exe_stage_csr_io_csr_cmm_op_valid; // @[Execute.scala 208:21]
  assign exe_stage_io_csr_cmm_op_bits_addr = exe_stage_csr_io_csr_cmm_op_bits_addr; // @[Execute.scala 208:21]
  assign exe_stage_io_csr_cmm_op_bits_dat_i = exe_stage_csr_io_csr_cmm_op_bits_dat_i; // @[Execute.scala 208:21]
  assign exe_stage_io_csr_cmm_op_bits_op_rw = exe_stage_csr_io_csr_cmm_op_bits_op_rw; // @[Execute.scala 208:21]
  assign exe_stage_io_csr_cmm_op_bits_op_rs = exe_stage_csr_io_csr_cmm_op_bits_op_rs; // @[Execute.scala 208:21]
  assign exe_stage_io_csr_cmm_op_bits_op_rc = exe_stage_csr_io_csr_cmm_op_bits_op_rc; // @[Execute.scala 208:21]
  assign exe_stage_io_lsu_mmu_valid = exe_stage_lsu_io_lsu_mmu_valid; // @[Execute.scala 107:20]
  assign exe_stage_io_lsu_mmu_bits_is_X = exe_stage_lsu_io_lsu_mmu_bits_is_X; // @[Execute.scala 107:20]
  assign exe_stage_io_lsu_mmu_bits_is_W = exe_stage_lsu_io_lsu_mmu_bits_is_W; // @[Execute.scala 107:20]
  assign exe_stage_io_lsu_mmu_bits_is_R = exe_stage_lsu_io_lsu_mmu_bits_is_R; // @[Execute.scala 107:20]
  assign exe_stage_io_lsu_mmu_bits_vaddr = exe_stage_lsu_io_lsu_mmu_bits_vaddr; // @[Execute.scala 107:20]
  assign exe_stage_io_mmu_lsu_ready = exe_stage_lsu_io_mmu_lsu_ready; // @[Execute.scala 108:20]
  assign exe_stage_io_lsu_cmm_is_access_fault = exe_stage_lsu_io_lsu_cmm_is_access_fault; // @[Execute.scala 111:20]
  assign exe_stage_io_lsu_cmm_is_paging_fault = exe_stage_lsu_io_lsu_cmm_is_paging_fault; // @[Execute.scala 111:20]
  assign exe_stage_io_lsu_cmm_is_misAlign = exe_stage_lsu_io_lsu_cmm_is_misAlign; // @[Execute.scala 111:20]
  assign exe_stage_io_lsu_cmm_trap_addr = exe_stage_lsu_io_lsu_cmm_trap_addr; // @[Execute.scala 111:20]
  assign exe_stage_io_missUnit_dcache_acquire_valid = exe_stage_lsu_io_missUnit_dcache_acquire_valid; // @[Execute.scala 114:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_opcode = exe_stage_lsu_io_missUnit_dcache_acquire_bits_opcode; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_param = exe_stage_lsu_io_missUnit_dcache_acquire_bits_param; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_size = exe_stage_lsu_io_missUnit_dcache_acquire_bits_size; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_source = exe_stage_lsu_io_missUnit_dcache_acquire_bits_source; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_address = exe_stage_lsu_io_missUnit_dcache_acquire_bits_address; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_mask = exe_stage_lsu_io_missUnit_dcache_acquire_bits_mask; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_data = exe_stage_lsu_io_missUnit_dcache_acquire_bits_data; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_acquire_bits_corrupt = exe_stage_lsu_io_missUnit_dcache_acquire_bits_corrupt; // @[Execute.scala 115:42]
  assign exe_stage_io_missUnit_dcache_grant_ready = exe_stage_lsu_io_missUnit_dcache_grant_ready; // @[Execute.scala 120:40]
  assign exe_stage_io_missUnit_dcache_grantAck_valid = exe_stage_lsu_io_missUnit_dcache_grantAck_valid; // @[Execute.scala 122:43]
  assign exe_stage_io_missUnit_dcache_grantAck_bits_sink = exe_stage_lsu_io_missUnit_dcache_grantAck_bits_sink; // @[Execute.scala 123:42]
  assign exe_stage_io_probeUnit_dcache_probe_ready = exe_stage_lsu_io_probeUnit_dcache_probe_ready; // @[Execute.scala 128:41]
  assign exe_stage_io_writeBackUnit_dcache_release_valid = exe_stage_lsu_io_writeBackUnit_dcache_release_valid; // @[Execute.scala 130:47]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_opcode =
    exe_stage_lsu_io_writeBackUnit_dcache_release_bits_opcode; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_param = exe_stage_lsu_io_writeBackUnit_dcache_release_bits_param
    ; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_size = exe_stage_lsu_io_writeBackUnit_dcache_release_bits_size; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_source =
    exe_stage_lsu_io_writeBackUnit_dcache_release_bits_source; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_address =
    exe_stage_lsu_io_writeBackUnit_dcache_release_bits_address; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_data = exe_stage_lsu_io_writeBackUnit_dcache_release_bits_data; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_release_bits_corrupt =
    exe_stage_lsu_io_writeBackUnit_dcache_release_bits_corrupt; // @[Execute.scala 131:46]
  assign exe_stage_io_writeBackUnit_dcache_grant_ready = exe_stage_lsu_io_writeBackUnit_dcache_grant_ready; // @[Execute.scala 136:45]
  assign exe_stage_io_system_getPut_valid = exe_stage_lsu_io_system_getPut_valid; // @[Execute.scala 149:28]
  assign exe_stage_io_system_getPut_bits_opcode = exe_stage_lsu_io_system_getPut_bits_opcode; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_param = exe_stage_lsu_io_system_getPut_bits_param; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_size = exe_stage_lsu_io_system_getPut_bits_size; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_source = exe_stage_lsu_io_system_getPut_bits_source; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_address = exe_stage_lsu_io_system_getPut_bits_address; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_mask = exe_stage_lsu_io_system_getPut_bits_mask; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_data = exe_stage_lsu_io_system_getPut_bits_data; // @[Execute.scala 150:27]
  assign exe_stage_io_system_getPut_bits_corrupt = exe_stage_lsu_io_system_getPut_bits_corrupt; // @[Execute.scala 150:27]
  assign exe_stage_io_system_access_ready = exe_stage_lsu_io_system_access_ready; // @[Execute.scala 154:28]
  assign exe_stage_io_periph_getPut_valid = exe_stage_lsu_io_periph_getPut_valid; // @[Execute.scala 156:28]
  assign exe_stage_io_periph_getPut_bits_opcode = exe_stage_lsu_io_periph_getPut_bits_opcode; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_param = exe_stage_lsu_io_periph_getPut_bits_param; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_size = exe_stage_lsu_io_periph_getPut_bits_size; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_source = exe_stage_lsu_io_periph_getPut_bits_source; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_address = exe_stage_lsu_io_periph_getPut_bits_address; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_mask = exe_stage_lsu_io_periph_getPut_bits_mask; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_data = exe_stage_lsu_io_periph_getPut_bits_data; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_getPut_bits_corrupt = exe_stage_lsu_io_periph_getPut_bits_corrupt; // @[Execute.scala 157:27]
  assign exe_stage_io_periph_access_ready = exe_stage_lsu_io_periph_access_ready; // @[Execute.scala 161:28]
  assign exe_stage_alu_0_clock = exe_stage_clock;
  assign exe_stage_alu_0_reset = exe_stage_reset;
  assign exe_stage_alu_0_io_alu_iss_exe_valid = exe_stage_io_alu_iss_exe_0_valid; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_add = exe_stage_io_alu_iss_exe_0_bits_fun_add; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_slt = exe_stage_io_alu_iss_exe_0_bits_fun_slt; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_xor = exe_stage_io_alu_iss_exe_0_bits_fun_xor; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_or = exe_stage_io_alu_iss_exe_0_bits_fun_or; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_and = exe_stage_io_alu_iss_exe_0_bits_fun_and; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_sll = exe_stage_io_alu_iss_exe_0_bits_fun_sll; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_srl = exe_stage_io_alu_iss_exe_0_bits_fun_srl; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_fun_sra = exe_stage_io_alu_iss_exe_0_bits_fun_sra; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_param_rd0 = exe_stage_io_alu_iss_exe_0_bits_param_rd0; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_param_is_32w = exe_stage_io_alu_iss_exe_0_bits_param_is_32w; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_param_is_usi = exe_stage_io_alu_iss_exe_0_bits_param_is_usi; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op1 = exe_stage_io_alu_iss_exe_0_bits_param_dat_op1; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_iss_exe_bits_param_dat_op2 = exe_stage_io_alu_iss_exe_0_bits_param_dat_op2; // @[Execute.scala 185:27]
  assign exe_stage_alu_0_io_alu_exe_iwb_ready = exe_stage_io_alu_exe_iwb_0_ready; // @[Execute.scala 186:27]
  assign exe_stage_alu_0_io_flush = exe_stage_io_flush; // @[Execute.scala 187:21]
  assign exe_stage_bru_clock = exe_stage_clock;
  assign exe_stage_bru_reset = exe_stage_reset;
  assign exe_stage_bru_io_bru_iss_exe_valid = exe_stage_io_bru_iss_exe_valid; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_jalr = exe_stage_io_bru_iss_exe_bits_fun_jalr; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_beq = exe_stage_io_bru_iss_exe_bits_fun_beq; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_bne = exe_stage_io_bru_iss_exe_bits_fun_bne; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_blt = exe_stage_io_bru_iss_exe_bits_fun_blt; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_bge = exe_stage_io_bru_iss_exe_bits_fun_bge; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_bltu = exe_stage_io_bru_iss_exe_bits_fun_bltu; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_fun_bgeu = exe_stage_io_bru_iss_exe_bits_fun_bgeu; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_rd0 = exe_stage_io_bru_iss_exe_bits_param_rd0; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_is_rvc = exe_stage_io_bru_iss_exe_bits_param_is_rvc; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_pc = exe_stage_io_bru_iss_exe_bits_param_pc; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_imm = exe_stage_io_bru_iss_exe_bits_param_imm; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_dat_op1 = exe_stage_io_bru_iss_exe_bits_param_dat_op1; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_iss_exe_bits_param_dat_op2 = exe_stage_io_bru_iss_exe_bits_param_dat_op2; // @[Execute.scala 191:22]
  assign exe_stage_bru_io_bru_exe_iwb_ready = exe_stage_io_bru_exe_iwb_ready; // @[Execute.scala 192:22]
  assign exe_stage_bru_io_bftq_valid = exe_stage_io_bftq_valid; // @[Execute.scala 195:15]
  assign exe_stage_bru_io_bftq_bits_pc = exe_stage_io_bftq_bits_pc; // @[Execute.scala 195:15]
  assign exe_stage_bru_io_bftq_bits_bimResp_bim_p = exe_stage_io_bftq_bits_bimResp_bim_p; // @[Execute.scala 195:15]
  assign exe_stage_bru_io_bftq_bits_bimResp_bim_h = exe_stage_io_bftq_bits_bimResp_bim_h; // @[Execute.scala 195:15]
  assign exe_stage_bru_io_bftq_bits_isPredictTaken = exe_stage_io_bftq_bits_isPredictTaken; // @[Execute.scala 195:15]
  assign exe_stage_bru_io_jftq_valid = exe_stage_io_jftq_valid; // @[Execute.scala 196:15]
  assign exe_stage_bru_io_jftq_bits_pc = exe_stage_io_jftq_bits_pc; // @[Execute.scala 196:15]
  assign exe_stage_bru_io_jftq_bits_btbResp_target = exe_stage_io_jftq_bits_btbResp_target; // @[Execute.scala 196:15]
  assign exe_stage_bru_io_jftq_bits_rasResp_target = exe_stage_io_jftq_bits_rasResp_target; // @[Execute.scala 196:15]
  assign exe_stage_bru_io_jftq_bits_isRas = exe_stage_io_jftq_bits_isRas; // @[Execute.scala 196:15]
  assign exe_stage_bru_io_bctq_ready = exe_stage_io_bctq_ready; // @[Execute.scala 198:11]
  assign exe_stage_bru_io_jctq_ready = exe_stage_io_jctq_ready; // @[Execute.scala 199:11]
  assign exe_stage_bru_io_flush = exe_stage_io_flush; // @[Execute.scala 193:16]
  assign exe_stage_lsu_clock = exe_stage_clock;
  assign exe_stage_lsu_reset = exe_stage_reset;
  assign exe_stage_lsu_io_lsu_iss_exe_valid = exe_stage_io_lsu_iss_exe_valid; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lb = exe_stage_io_lsu_iss_exe_bits_fun_lb; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lh = exe_stage_io_lsu_iss_exe_bits_fun_lh; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lw = exe_stage_io_lsu_iss_exe_bits_fun_lw; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_ld = exe_stage_io_lsu_iss_exe_bits_fun_ld; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lbu = exe_stage_io_lsu_iss_exe_bits_fun_lbu; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lhu = exe_stage_io_lsu_iss_exe_bits_fun_lhu; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lwu = exe_stage_io_lsu_iss_exe_bits_fun_lwu; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sb = exe_stage_io_lsu_iss_exe_bits_fun_sb; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sh = exe_stage_io_lsu_iss_exe_bits_fun_sh; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sw = exe_stage_io_lsu_iss_exe_bits_fun_sw; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sd = exe_stage_io_lsu_iss_exe_bits_fun_sd; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence = exe_stage_io_lsu_iss_exe_bits_fun_fence; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_fence_i = exe_stage_io_lsu_iss_exe_bits_fun_fence_i; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sfence_vma = exe_stage_io_lsu_iss_exe_bits_fun_sfence_vma; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_w = exe_stage_io_lsu_iss_exe_bits_fun_lr_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_w = exe_stage_io_lsu_iss_exe_bits_fun_sc_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_w = exe_stage_io_lsu_iss_exe_bits_fun_amoswap_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_w = exe_stage_io_lsu_iss_exe_bits_fun_amoadd_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_w = exe_stage_io_lsu_iss_exe_bits_fun_amoxor_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_w = exe_stage_io_lsu_iss_exe_bits_fun_amoand_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_w = exe_stage_io_lsu_iss_exe_bits_fun_amoor_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_w = exe_stage_io_lsu_iss_exe_bits_fun_amomin_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_w = exe_stage_io_lsu_iss_exe_bits_fun_amomax_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_w = exe_stage_io_lsu_iss_exe_bits_fun_amominu_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_w = exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_lr_d = exe_stage_io_lsu_iss_exe_bits_fun_lr_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_sc_d = exe_stage_io_lsu_iss_exe_bits_fun_sc_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoswap_d = exe_stage_io_lsu_iss_exe_bits_fun_amoswap_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoadd_d = exe_stage_io_lsu_iss_exe_bits_fun_amoadd_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoxor_d = exe_stage_io_lsu_iss_exe_bits_fun_amoxor_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoand_d = exe_stage_io_lsu_iss_exe_bits_fun_amoand_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amoor_d = exe_stage_io_lsu_iss_exe_bits_fun_amoor_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomin_d = exe_stage_io_lsu_iss_exe_bits_fun_amomin_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomax_d = exe_stage_io_lsu_iss_exe_bits_fun_amomax_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amominu_d = exe_stage_io_lsu_iss_exe_bits_fun_amominu_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_amomaxu_d = exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_flw = exe_stage_io_lsu_iss_exe_bits_fun_flw; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsw = exe_stage_io_lsu_iss_exe_bits_fun_fsw; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_fld = exe_stage_io_lsu_iss_exe_bits_fun_fld; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_fun_fsd = exe_stage_io_lsu_iss_exe_bits_fun_fsd; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0 = exe_stage_io_lsu_iss_exe_bits_param_rd0; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1 = exe_stage_io_lsu_iss_exe_bits_param_dat_op1; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2 = exe_stage_io_lsu_iss_exe_bits_param_dat_op2; // @[Execute.scala 103:24]
  assign exe_stage_lsu_io_lsu_exe_iwb_ready = exe_stage_io_lsu_exe_iwb_ready; // @[Execute.scala 104:24]
  assign exe_stage_lsu_io_lsu_exe_fwb_ready = exe_stage_io_lsu_exe_fwb_ready; // @[Execute.scala 105:24]
  assign exe_stage_lsu_io_cmm_lsu_is_amo_pending = exe_stage_io_cmm_lsu_is_amo_pending; // @[Execute.scala 110:20]
  assign exe_stage_lsu_io_cmm_lsu_is_store_commit_0 = exe_stage_io_cmm_lsu_is_store_commit_0; // @[Execute.scala 110:20]
  assign exe_stage_lsu_io_lsu_mmu_ready = exe_stage_io_lsu_mmu_ready; // @[Execute.scala 107:20]
  assign exe_stage_lsu_io_mmu_lsu_valid = exe_stage_io_mmu_lsu_valid; // @[Execute.scala 108:20]
  assign exe_stage_lsu_io_mmu_lsu_bits_paddr = exe_stage_io_mmu_lsu_bits_paddr; // @[Execute.scala 108:20]
  assign exe_stage_lsu_io_mmu_lsu_bits_is_paging_fault = exe_stage_io_mmu_lsu_bits_is_paging_fault; // @[Execute.scala 108:20]
  assign exe_stage_lsu_io_mmu_lsu_bits_is_access_fault = exe_stage_io_mmu_lsu_bits_is_access_fault; // @[Execute.scala 108:20]
  assign exe_stage_lsu_io_missUnit_dcache_acquire_ready = exe_stage_io_missUnit_dcache_acquire_ready; // @[Execute.scala 116:46]
  assign exe_stage_lsu_io_missUnit_dcache_grant_valid = exe_stage_io_missUnit_dcache_grant_valid; // @[Execute.scala 118:44]
  assign exe_stage_lsu_io_missUnit_dcache_grant_bits_opcode = exe_stage_io_missUnit_dcache_grant_bits_opcode; // @[Execute.scala 119:44]
  assign exe_stage_lsu_io_missUnit_dcache_grant_bits_size = exe_stage_io_missUnit_dcache_grant_bits_size; // @[Execute.scala 119:44]
  assign exe_stage_lsu_io_missUnit_dcache_grant_bits_source = exe_stage_io_missUnit_dcache_grant_bits_source; // @[Execute.scala 119:44]
  assign exe_stage_lsu_io_missUnit_dcache_grant_bits_sink = exe_stage_io_missUnit_dcache_grant_bits_sink; // @[Execute.scala 119:44]
  assign exe_stage_lsu_io_missUnit_dcache_grant_bits_data = exe_stage_io_missUnit_dcache_grant_bits_data; // @[Execute.scala 119:44]
  assign exe_stage_lsu_io_missUnit_dcache_grantAck_ready = exe_stage_io_missUnit_dcache_grantAck_ready; // @[Execute.scala 124:47]
  assign exe_stage_lsu_io_probeUnit_dcache_probe_valid = exe_stage_io_probeUnit_dcache_probe_valid; // @[Execute.scala 126:45]
  assign exe_stage_lsu_io_probeUnit_dcache_probe_bits_address = exe_stage_io_probeUnit_dcache_probe_bits_address; // @[Execute.scala 127:44]
  assign exe_stage_lsu_io_writeBackUnit_dcache_release_ready = exe_stage_io_writeBackUnit_dcache_release_ready; // @[Execute.scala 132:51]
  assign exe_stage_lsu_io_writeBackUnit_dcache_grant_valid = exe_stage_io_writeBackUnit_dcache_grant_valid; // @[Execute.scala 134:49]
  assign exe_stage_lsu_io_writeBackUnit_dcache_grant_bits_source = exe_stage_io_writeBackUnit_dcache_grant_bits_source; // @[Execute.scala 135:48]
  assign exe_stage_lsu_io_system_getPut_ready = exe_stage_io_system_getPut_ready; // @[Execute.scala 151:32]
  assign exe_stage_lsu_io_system_access_valid = exe_stage_io_system_access_valid; // @[Execute.scala 152:32]
  assign exe_stage_lsu_io_system_access_bits_opcode = exe_stage_io_system_access_bits_opcode; // @[Execute.scala 153:31]
  assign exe_stage_lsu_io_system_access_bits_data = exe_stage_io_system_access_bits_data; // @[Execute.scala 153:31]
  assign exe_stage_lsu_io_periph_getPut_ready = exe_stage_io_periph_getPut_ready; // @[Execute.scala 158:32]
  assign exe_stage_lsu_io_periph_access_valid = exe_stage_io_periph_access_valid; // @[Execute.scala 159:32]
  assign exe_stage_lsu_io_periph_access_bits_opcode = exe_stage_io_periph_access_bits_opcode; // @[Execute.scala 160:31]
  assign exe_stage_lsu_io_periph_access_bits_data = exe_stage_io_periph_access_bits_data; // @[Execute.scala 160:31]
  assign exe_stage_lsu_io_flush = exe_stage_io_flush; // @[Execute.scala 165:18]
  assign exe_stage_csr_clock = exe_stage_clock;
  assign exe_stage_csr_reset = exe_stage_reset;
  assign exe_stage_csr_io_csr_iss_exe_valid = exe_stage_io_csr_iss_exe_valid; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_fun_rw = exe_stage_io_csr_iss_exe_bits_fun_rw; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_fun_rs = exe_stage_io_csr_iss_exe_bits_fun_rs; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_fun_rc = exe_stage_io_csr_iss_exe_bits_fun_rc; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_param_rd0 = exe_stage_io_csr_iss_exe_bits_param_rd0; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_param_dat_op1 = exe_stage_io_csr_iss_exe_bits_param_dat_op1; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_iss_exe_bits_param_dat_op2 = exe_stage_io_csr_iss_exe_bits_param_dat_op2; // @[Execute.scala 204:22]
  assign exe_stage_csr_io_csr_exe_iwb_ready = exe_stage_io_csr_exe_iwb_ready; // @[Execute.scala 205:22]
  assign exe_stage_csr_io_csr_data_valid = exe_stage_io_csr_data_valid; // @[Execute.scala 207:19]
  assign exe_stage_csr_io_csr_data_bits = exe_stage_io_csr_data_bits; // @[Execute.scala 207:19]
  assign exe_stage_csr_io_csr_cmm_op_ready = exe_stage_io_csr_cmm_op_ready; // @[Execute.scala 208:21]
  assign exe_stage_csr_io_flush = exe_stage_io_flush; // @[Execute.scala 209:16]
  assign exe_stage_mulDiv_0_clock = exe_stage_clock;
  assign exe_stage_mulDiv_0_reset = exe_stage_reset;
  assign exe_stage_mulDiv_0_io_mul_iss_exe_valid = exe_stage_io_mul_iss_exe_0_valid; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mul = exe_stage_io_mul_iss_exe_0_bits_fun_mul; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulh = exe_stage_io_mul_iss_exe_0_bits_fun_mulh; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhsu = exe_stage_io_mul_iss_exe_0_bits_fun_mulhsu; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulhu = exe_stage_io_mul_iss_exe_0_bits_fun_mulhu; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_div = exe_stage_io_mul_iss_exe_0_bits_fun_div; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divu = exe_stage_io_mul_iss_exe_0_bits_fun_divu; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_rem = exe_stage_io_mul_iss_exe_0_bits_fun_rem; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remu = exe_stage_io_mul_iss_exe_0_bits_fun_remu; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_mulw = exe_stage_io_mul_iss_exe_0_bits_fun_mulw; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divw = exe_stage_io_mul_iss_exe_0_bits_fun_divw; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_divuw = exe_stage_io_mul_iss_exe_0_bits_fun_divuw; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remw = exe_stage_io_mul_iss_exe_0_bits_fun_remw; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_fun_remuw = exe_stage_io_mul_iss_exe_0_bits_fun_remuw; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_rd0 = exe_stage_io_mul_iss_exe_0_bits_param_rd0; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op1 = exe_stage_io_mul_iss_exe_0_bits_param_dat_op1; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_iss_exe_bits_param_dat_op2 = exe_stage_io_mul_iss_exe_0_bits_param_dat_op2; // @[Execute.scala 212:30]
  assign exe_stage_mulDiv_0_io_mul_exe_iwb_ready = exe_stage_io_mul_exe_iwb_0_ready; // @[Execute.scala 213:30]
  assign exe_stage_mulDiv_0_io_flush = exe_stage_io_flush; // @[Execute.scala 214:24]
  assign exe_stage_fpu_0_clock = exe_stage_clock;
  assign exe_stage_fpu_0_reset = exe_stage_reset;
  assign exe_stage_fpu_0_io_fpu_iss_exe_valid = exe_stage_io_fpu_iss_exe_0_valid; // @[Execute.scala 176:27]
  assign iwb_stage_iReg_io_lookup_0_rsp_rs1 = iwb_stage_iReg__io_lookup_0_rsp_rs1_T ? 6'h21 : iwb_stage_iReg__GEN_3070; // @[Regfiles.scala 258:34]
  assign iwb_stage_iReg_io_lookup_0_rsp_rs2 = iwb_stage_iReg__io_lookup_0_rsp_rs2_T ? 6'h21 : iwb_stage_iReg__GEN_3102; // @[Regfiles.scala 259:34]
  assign iwb_stage_iReg_io_rename_0_rsp_rd0 = iwb_stage_iReg__T_33 ? 6'h0 : iwb_stage_iReg__GEN_1120; // @[Regfiles.scala 150:{46,62}]
  assign iwb_stage_iReg_io_rename_0_req_ready = iwb_stage_iReg__io_rename_0_req_ready_T_98 > 6'h0; // @[Regfiles.scala 165:70]
  assign iwb_stage_iReg_io_rgLog_0 = iwb_stage_iReg_log_reg_0; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_1 = iwb_stage_iReg_log_reg_1; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_2 = iwb_stage_iReg_log_reg_2; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_3 = iwb_stage_iReg_log_reg_3; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_4 = iwb_stage_iReg_log_reg_4; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_5 = iwb_stage_iReg_log_reg_5; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_6 = iwb_stage_iReg_log_reg_6; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_7 = iwb_stage_iReg_log_reg_7; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_8 = iwb_stage_iReg_log_reg_8; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_9 = iwb_stage_iReg_log_reg_9; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_10 = iwb_stage_iReg_log_reg_10; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_11 = iwb_stage_iReg_log_reg_11; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_12 = iwb_stage_iReg_log_reg_12; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_13 = iwb_stage_iReg_log_reg_13; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_14 = iwb_stage_iReg_log_reg_14; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_15 = iwb_stage_iReg_log_reg_15; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_16 = iwb_stage_iReg_log_reg_16; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_17 = iwb_stage_iReg_log_reg_17; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_18 = iwb_stage_iReg_log_reg_18; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_19 = iwb_stage_iReg_log_reg_19; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_20 = iwb_stage_iReg_log_reg_20; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_21 = iwb_stage_iReg_log_reg_21; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_22 = iwb_stage_iReg_log_reg_22; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_23 = iwb_stage_iReg_log_reg_23; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_24 = iwb_stage_iReg_log_reg_24; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_25 = iwb_stage_iReg_log_reg_25; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_26 = iwb_stage_iReg_log_reg_26; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_27 = iwb_stage_iReg_log_reg_27; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_28 = iwb_stage_iReg_log_reg_28; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_29 = iwb_stage_iReg_log_reg_29; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_30 = iwb_stage_iReg_log_reg_30; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_31 = iwb_stage_iReg_log_reg_31; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_32 = iwb_stage_iReg_log_reg_32; // @[Regfiles.scala 104:19 105:50]
  assign iwb_stage_iReg_io_rgLog_33 = 2'h3; // @[Regfiles.scala 104:19 106:19]
  assign iwb_stage_iReg_io_rgRsp_0_valid = iwb_stage_iReg_io_rgRsp_0_valid_REG; // @[Regfiles.scala 191:26]
  assign iwb_stage_iReg_io_rgRsp_0_bits_phy = iwb_stage_iReg_io_rgRsp_0_bits_phy_r; // @[Regfiles.scala 192:26]
  assign iwb_stage_iReg_io_rgRsp_0_bits_op = iwb_stage_iReg_io_rgRsp_0_bits_op_r; // @[Regfiles.scala 193:26]
  assign iwb_stage_iReg_io_rgRsp_1_valid = iwb_stage_iReg_io_rgRsp_1_valid_REG; // @[Regfiles.scala 191:26]
  assign iwb_stage_iReg_io_rgRsp_1_bits_phy = iwb_stage_iReg_io_rgRsp_1_bits_phy_r; // @[Regfiles.scala 192:26]
  assign iwb_stage_iReg_io_rgRsp_1_bits_op = iwb_stage_iReg_io_rgRsp_1_bits_op_r; // @[Regfiles.scala 193:26]
  assign iwb_stage_iReg_io_exe_writeBack_0_ready = 1'h1; // @[Regfiles.scala 207:31]
  assign iwb_stage_iReg_io_commit_0_is_writeback = iwb_stage_iReg__GEN_1689 == 2'h3; // @[Regfiles.scala 219:46]
  assign iwb_stage_fReg_io_lookup_0_rsp_rs1 = 6'h0; // @[Regfiles.scala 310:{37,37}]
  assign iwb_stage_fReg_io_lookup_0_rsp_rs2 = 6'h0; // @[Regfiles.scala 310:{37,37}]
  assign iwb_stage_fReg_io_lookup_0_rsp_rs3 = 6'h0; // @[Regfiles.scala 310:{37,37}]
  assign iwb_stage_fReg_io_rename_0_rsp_rd0 = 6'h0; // @[Regfiles.scala 311:{37,37}]
  assign iwb_stage_fReg_io_rename_0_req_ready = 1'h1; // @[Regfiles.scala 312:28]
  assign iwb_stage_fReg_io_rgLog_0 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_1 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_2 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_3 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_4 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_5 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_6 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_7 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_8 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_9 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_10 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_11 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_12 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_13 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_14 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_15 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_16 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_17 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_18 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_19 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_20 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_21 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_22 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_23 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_24 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_25 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_26 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_27 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_28 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_29 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_30 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_31 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_32 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_rgLog_33 = 2'h3; // @[Regfiles.scala 315:42]
  assign iwb_stage_fReg_io_exe_writeBack_0_ready = 1'h1; // @[Regfiles.scala 323:31]
  assign iwb_stage_fReg_io_commit_0_is_writeback = 1'h0; // @[Regfiles.scala 328:31]
  assign iwb_stage_iwriteBack_arb_io_enq_0_ready = iwb_stage_iwriteBack_arb__T_16 & iwb_stage_iwriteBack_arb__GEN_18; // @[XArbiter.scala 50:51 53:76]
  assign iwb_stage_iwriteBack_arb_io_enq_1_ready = iwb_stage_iwriteBack_arb__T_16 & iwb_stage_iwriteBack_arb__GEN_19; // @[XArbiter.scala 50:51 53:76]
  assign iwb_stage_iwriteBack_arb_io_enq_2_ready = iwb_stage_iwriteBack_arb__T_16 & iwb_stage_iwriteBack_arb__GEN_20; // @[XArbiter.scala 50:51 53:76]
  assign iwb_stage_iwriteBack_arb_io_enq_3_ready = iwb_stage_iwriteBack_arb__T_16 & iwb_stage_iwriteBack_arb__GEN_21; // @[XArbiter.scala 50:51 53:76]
  assign iwb_stage_iwriteBack_arb_io_enq_4_ready = iwb_stage_iwriteBack_arb__T_16 & iwb_stage_iwriteBack_arb__GEN_22; // @[XArbiter.scala 50:51 53:76]
  assign iwb_stage_iwriteBack_arb_io_deq_0_valid = iwb_stage_iwriteBack_arb__T_14 > 3'h0; // @[XArbiter.scala 53:68]
  assign iwb_stage_iwriteBack_arb_io_deq_0_bits_rd0 = 3'h5 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_5_bits_rd0 : iwb_stage_iwriteBack_arb__GEN_10; // @[XArbiter.scala 55:{22,22}]
  assign iwb_stage_iwriteBack_arb_io_deq_0_bits_res = 3'h5 == iwb_stage_iwriteBack_arb_io_chosen_0 ?
    iwb_stage_iwriteBack_arb_io_enq_5_bits_res : iwb_stage_iwriteBack_arb__GEN_16; // @[XArbiter.scala 55:{22,22}]
  assign iwb_stage_iwriteBack_arb_io_chosen_0 = iwb_stage_iwriteBack_arb_io_enq_0_valid ? 3'h0 :
    iwb_stage_iwriteBack_arb__GEN_4; // @[XArbiter.scala 36:31 37:38]
  assign iwb_stage_io_xLookup_0_rsp_rs1 = iwb_stage_iReg_io_lookup_0_rsp_rs1; // @[WriteBack.scala 78:23]
  assign iwb_stage_io_xLookup_0_rsp_rs2 = iwb_stage_iReg_io_lookup_0_rsp_rs2; // @[WriteBack.scala 78:23]
  assign iwb_stage_io_fLookup_0_rsp_rs1 = iwb_stage_fReg_io_lookup_0_rsp_rs1; // @[WriteBack.scala 79:23]
  assign iwb_stage_io_fLookup_0_rsp_rs2 = iwb_stage_fReg_io_lookup_0_rsp_rs2; // @[WriteBack.scala 79:23]
  assign iwb_stage_io_fLookup_0_rsp_rs3 = iwb_stage_fReg_io_lookup_0_rsp_rs3; // @[WriteBack.scala 79:23]
  assign iwb_stage_io_xRename_0_rsp_rd0 = iwb_stage_iReg_io_rename_0_rsp_rd0; // @[WriteBack.scala 76:23]
  assign iwb_stage_io_xRename_0_req_ready = iwb_stage_iReg_io_rename_0_req_ready; // @[WriteBack.scala 76:23]
  assign iwb_stage_io_fRename_0_rsp_rd0 = iwb_stage_fReg_io_rename_0_rsp_rd0; // @[WriteBack.scala 77:23]
  assign iwb_stage_io_fRename_0_req_ready = iwb_stage_fReg_io_rename_0_req_ready; // @[WriteBack.scala 77:23]
  assign iwb_stage_io_irgLog_0 = iwb_stage_iReg_io_rgLog_0; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_1 = iwb_stage_iReg_io_rgLog_1; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_2 = iwb_stage_iReg_io_rgLog_2; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_3 = iwb_stage_iReg_io_rgLog_3; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_4 = iwb_stage_iReg_io_rgLog_4; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_5 = iwb_stage_iReg_io_rgLog_5; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_6 = iwb_stage_iReg_io_rgLog_6; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_7 = iwb_stage_iReg_io_rgLog_7; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_8 = iwb_stage_iReg_io_rgLog_8; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_9 = iwb_stage_iReg_io_rgLog_9; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_10 = iwb_stage_iReg_io_rgLog_10; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_11 = iwb_stage_iReg_io_rgLog_11; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_12 = iwb_stage_iReg_io_rgLog_12; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_13 = iwb_stage_iReg_io_rgLog_13; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_14 = iwb_stage_iReg_io_rgLog_14; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_15 = iwb_stage_iReg_io_rgLog_15; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_16 = iwb_stage_iReg_io_rgLog_16; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_17 = iwb_stage_iReg_io_rgLog_17; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_18 = iwb_stage_iReg_io_rgLog_18; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_19 = iwb_stage_iReg_io_rgLog_19; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_20 = iwb_stage_iReg_io_rgLog_20; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_21 = iwb_stage_iReg_io_rgLog_21; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_22 = iwb_stage_iReg_io_rgLog_22; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_23 = iwb_stage_iReg_io_rgLog_23; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_24 = iwb_stage_iReg_io_rgLog_24; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_25 = iwb_stage_iReg_io_rgLog_25; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_26 = iwb_stage_iReg_io_rgLog_26; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_27 = iwb_stage_iReg_io_rgLog_27; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_28 = iwb_stage_iReg_io_rgLog_28; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_29 = iwb_stage_iReg_io_rgLog_29; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_30 = iwb_stage_iReg_io_rgLog_30; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_31 = iwb_stage_iReg_io_rgLog_31; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_32 = iwb_stage_iReg_io_rgLog_32; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_irgLog_33 = iwb_stage_iReg_io_rgLog_33; // @[WriteBack.scala 118:13]
  assign iwb_stage_io_frgLog_0 = iwb_stage_fReg_io_rgLog_0; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_1 = iwb_stage_fReg_io_rgLog_1; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_2 = iwb_stage_fReg_io_rgLog_2; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_3 = iwb_stage_fReg_io_rgLog_3; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_4 = iwb_stage_fReg_io_rgLog_4; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_5 = iwb_stage_fReg_io_rgLog_5; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_6 = iwb_stage_fReg_io_rgLog_6; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_7 = iwb_stage_fReg_io_rgLog_7; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_8 = iwb_stage_fReg_io_rgLog_8; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_9 = iwb_stage_fReg_io_rgLog_9; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_10 = iwb_stage_fReg_io_rgLog_10; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_11 = iwb_stage_fReg_io_rgLog_11; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_12 = iwb_stage_fReg_io_rgLog_12; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_13 = iwb_stage_fReg_io_rgLog_13; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_14 = iwb_stage_fReg_io_rgLog_14; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_15 = iwb_stage_fReg_io_rgLog_15; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_16 = iwb_stage_fReg_io_rgLog_16; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_17 = iwb_stage_fReg_io_rgLog_17; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_18 = iwb_stage_fReg_io_rgLog_18; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_19 = iwb_stage_fReg_io_rgLog_19; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_20 = iwb_stage_fReg_io_rgLog_20; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_21 = iwb_stage_fReg_io_rgLog_21; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_22 = iwb_stage_fReg_io_rgLog_22; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_23 = iwb_stage_fReg_io_rgLog_23; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_24 = iwb_stage_fReg_io_rgLog_24; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_25 = iwb_stage_fReg_io_rgLog_25; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_26 = iwb_stage_fReg_io_rgLog_26; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_27 = iwb_stage_fReg_io_rgLog_27; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_28 = iwb_stage_fReg_io_rgLog_28; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_29 = iwb_stage_fReg_io_rgLog_29; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_30 = iwb_stage_fReg_io_rgLog_30; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_31 = iwb_stage_fReg_io_rgLog_31; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_32 = iwb_stage_fReg_io_rgLog_32; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_frgLog_33 = iwb_stage_fReg_io_rgLog_33; // @[WriteBack.scala 119:13]
  assign iwb_stage_io_irgRsp_0_valid = iwb_stage_iReg_io_rgRsp_0_valid; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_irgRsp_0_bits_phy = iwb_stage_iReg_io_rgRsp_0_bits_phy; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_irgRsp_0_bits_op = iwb_stage_iReg_io_rgRsp_0_bits_op; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_irgRsp_1_valid = iwb_stage_iReg_io_rgRsp_1_valid; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_irgRsp_1_bits_phy = iwb_stage_iReg_io_rgRsp_1_bits_phy; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_irgRsp_1_bits_op = iwb_stage_iReg_io_rgRsp_1_bits_op; // @[WriteBack.scala 113:13]
  assign iwb_stage_io_alu_iWriteBack_0_ready = iwb_stage_iwriteBack_arb_io_enq_0_ready; // @[WriteBack.scala 129:16]
  assign iwb_stage_io_bru_iWriteBack_ready = iwb_stage_iwriteBack_arb_io_enq_1_ready; // @[WriteBack.scala 129:16]
  assign iwb_stage_io_csr_iWriteBack_ready = iwb_stage_iwriteBack_arb_io_enq_2_ready; // @[WriteBack.scala 129:16]
  assign iwb_stage_io_mem_iWriteBack_ready = iwb_stage_iwriteBack_arb_io_enq_3_ready; // @[WriteBack.scala 129:16]
  assign iwb_stage_io_mul_iWriteBack_0_ready = iwb_stage_iwriteBack_arb_io_enq_4_ready; // @[WriteBack.scala 129:16]
  assign iwb_stage_io_mem_fWriteBack_ready = iwb_stage_fReg_io_exe_writeBack_0_ready; // @[WriteBack.scala 141:28]
  assign iwb_stage_io_commit_0_is_writeback = iwb_stage_io_commit_0_toX ? iwb_stage_iReg_io_commit_0_is_writeback :
    iwb_stage__GEN_7; // @[WriteBack.scala 102:{41,60}]
  assign iwb_stage_iReg_clock = iwb_stage_clock;
  assign iwb_stage_iReg_reset = iwb_stage_reset;
  assign iwb_stage_iReg_io_lookup_0_req_rs1 = iwb_stage_io_xLookup_0_req_rs1; // @[WriteBack.scala 78:23]
  assign iwb_stage_iReg_io_lookup_0_req_rs2 = iwb_stage_io_xLookup_0_req_rs2; // @[WriteBack.scala 78:23]
  assign iwb_stage_iReg_io_rename_0_req_valid = iwb_stage_io_xRename_0_req_valid; // @[WriteBack.scala 76:23]
  assign iwb_stage_iReg_io_rename_0_req_bits_rd0 = iwb_stage_io_xRename_0_req_bits_rd0; // @[WriteBack.scala 76:23]
  assign iwb_stage_iReg_io_rgReq_0_valid = iwb_stage_io_irgReq_0_valid; // @[WriteBack.scala 112:17]
  assign iwb_stage_iReg_io_rgReq_0_bits = iwb_stage_io_irgReq_0_bits; // @[WriteBack.scala 112:17]
  assign iwb_stage_iReg_io_rgReq_1_valid = iwb_stage_io_irgReq_1_valid; // @[WriteBack.scala 112:17]
  assign iwb_stage_iReg_io_rgReq_1_bits = iwb_stage_io_irgReq_1_bits; // @[WriteBack.scala 112:17]
  assign iwb_stage_iReg_io_exe_writeBack_0_valid = iwb_stage_iwriteBack_arb_io_deq_0_valid; // @[WriteBack.scala 136:16]
  assign iwb_stage_iReg_io_exe_writeBack_0_bits_rd0 = iwb_stage_iwriteBack_arb_io_deq_0_bits_rd0; // @[WriteBack.scala 136:16]
  assign iwb_stage_iReg_io_exe_writeBack_0_bits_res = iwb_stage_iwriteBack_arb_io_deq_0_bits_res; // @[WriteBack.scala 136:16]
  assign iwb_stage_iReg_io_commit_0_is_comfirm = iwb_stage_io_commit_0_toX & iwb_stage_io_commit_0_is_comfirm; // @[WriteBack.scala 102:{41,60} 84:37]
  assign iwb_stage_iReg_io_commit_0_is_MisPredict = iwb_stage_io_commit_0_is_MisPredict; // @[WriteBack.scala 102:{41,60} 85:37]
  assign iwb_stage_iReg_io_commit_0_is_abort = iwb_stage_io_commit_0_is_abort; // @[WriteBack.scala 102:{41,60} 86:37]
  assign iwb_stage_iReg_io_commit_0_raw = iwb_stage_io_commit_0_toX ? iwb_stage_io_commit_0_raw : 5'h0; // @[WriteBack.scala 102:{41,60} 87:37]
  assign iwb_stage_iReg_io_commit_0_phy = iwb_stage_io_commit_0_toX ? iwb_stage_io_commit_0_phy : 6'h0; // @[WriteBack.scala 102:{41,60} 88:37]
  assign iwb_stage_fReg_clock = iwb_stage_clock;
  assign iwb_stage_fReg_reset = iwb_stage_reset;
  assign iwb_stage_fReg_io_exe_writeBack_0_valid = iwb_stage_io_mem_fWriteBack_valid; // @[WriteBack.scala 141:28]
  assign iwb_stage_fReg_io_exe_writeBack_1_valid = iwb_stage_io_fpu_fWriteBack_0_valid; // @[WriteBack.scala 142:28]
  assign iwb_stage_iwriteBack_arb_io_enq_0_valid = iwb_stage_io_alu_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_0_bits_rd0 = iwb_stage_io_alu_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_0_bits_res = iwb_stage_io_alu_iWriteBack_0_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_1_valid = iwb_stage_io_bru_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_1_bits_rd0 = iwb_stage_io_bru_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_1_bits_res = iwb_stage_io_bru_iWriteBack_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_2_valid = iwb_stage_io_csr_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_2_bits_rd0 = iwb_stage_io_csr_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_2_bits_res = iwb_stage_io_csr_iWriteBack_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_3_valid = iwb_stage_io_mem_iWriteBack_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_3_bits_rd0 = iwb_stage_io_mem_iWriteBack_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_3_bits_res = iwb_stage_io_mem_iWriteBack_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_4_valid = iwb_stage_io_mul_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_4_bits_rd0 = iwb_stage_io_mul_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_4_bits_res = iwb_stage_io_mul_iWriteBack_0_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_5_valid = iwb_stage_io_fpu_iWriteBack_0_valid; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_5_bits_rd0 = iwb_stage_io_fpu_iWriteBack_0_bits_rd0; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_enq_5_bits_res = iwb_stage_io_fpu_iWriteBack_0_bits_res; // @[WriteBack.scala 129:16]
  assign iwb_stage_iwriteBack_arb_io_deq_0_ready = iwb_stage_iReg_io_exe_writeBack_0_ready; // @[WriteBack.scala 136:16]
  assign cmm_stage_bctq_mdl_io_enq_0_ready = cmm_stage_bctq_mdl_io_mapper_0 & cmm_stage_bctq_mdl_io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign cmm_stage_bctq_mdl_io_deq_0_valid = cmm_stage_bctq_mdl_io_mapper_0 & cmm_stage_bctq_mdl_io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign cmm_stage_bctq_mdl_io_deq_0_bits_isPredictTaken = cmm_stage_bctq_mdl_io_mapper_0 &
    cmm_stage_bctq_mdl_io_enq_0_bits_isPredictTaken; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_bctq_mdl_io_deq_0_bits_isFinalTaken = cmm_stage_bctq_mdl_io_mapper_0 &
    cmm_stage_bctq_mdl_io_enq_0_bits_isFinalTaken; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_bctq_mdl_io_deq_0_bits_finalTarget = cmm_stage_bctq_mdl_io_mapper_0 ?
    cmm_stage_bctq_mdl_io_enq_0_bits_finalTarget : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_enq_0_ready = cmm_stage_jctq_mdl_io_mapper_0 & cmm_stage_jctq_mdl_io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_deq_0_valid = cmm_stage_jctq_mdl_io_mapper_0 & cmm_stage_jctq_mdl_io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_deq_0_bits_btbResp_target = cmm_stage_jctq_mdl_io_mapper_0 ?
    cmm_stage_jctq_mdl_io_enq_0_bits_btbResp_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_deq_0_bits_rasResp_target = cmm_stage_jctq_mdl_io_mapper_0 ?
    cmm_stage_jctq_mdl_io_enq_0_bits_rasResp_target : 39'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_deq_0_bits_isRas = cmm_stage_jctq_mdl_io_mapper_0 &
    cmm_stage_jctq_mdl_io_enq_0_bits_isRas; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_jctq_mdl_io_deq_0_bits_finalTarget = cmm_stage_jctq_mdl_io_mapper_0 ?
    cmm_stage_jctq_mdl_io_enq_0_bits_finalTarget : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_enq_0_ready = cmm_stage_csrExe_mdl_io_mapper_0 & cmm_stage_csrExe_mdl_io_deq_0_ready; // @[RePort.scala 161:22 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_valid = cmm_stage_csrExe_mdl_io_mapper_0 & cmm_stage_csrExe_mdl_io_enq_0_valid; // @[RePort.scala 159:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_bits_addr = cmm_stage_csrExe_mdl_io_mapper_0 ?
    cmm_stage_csrExe_mdl_io_enq_0_bits_addr : 12'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_bits_dat_i = cmm_stage_csrExe_mdl_io_mapper_0 ?
    cmm_stage_csrExe_mdl_io_enq_0_bits_dat_i : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_bits_op_rw = cmm_stage_csrExe_mdl_io_mapper_0 &
    cmm_stage_csrExe_mdl_io_enq_0_bits_op_rw; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_bits_op_rs = cmm_stage_csrExe_mdl_io_mapper_0 &
    cmm_stage_csrExe_mdl_io_enq_0_bits_op_rs; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_csrExe_mdl_io_deq_0_bits_op_rc = cmm_stage_csrExe_mdl_io_mapper_0 &
    cmm_stage_csrExe_mdl_io_enq_0_bits_op_rc; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_valid = cmm_stage_fcsrExe_mdl_io_mapper_0 & cmm_stage_fcsrExe_mdl_io_enq_0_valid
    ; // @[RePort.scala 159:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_bits_addr = cmm_stage_fcsrExe_mdl_io_mapper_0 ?
    cmm_stage_fcsrExe_mdl_io_enq_0_bits_addr : 12'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_bits_dat_i = cmm_stage_fcsrExe_mdl_io_mapper_0 ?
    cmm_stage_fcsrExe_mdl_io_enq_0_bits_dat_i : 64'h0; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rw = cmm_stage_fcsrExe_mdl_io_mapper_0 &
    cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rw; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rs = cmm_stage_fcsrExe_mdl_io_mapper_0 &
    cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rs; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_bits_op_rc = cmm_stage_fcsrExe_mdl_io_mapper_0 &
    cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rc; // @[RePort.scala 160:21 180:{28,40}]
  assign cmm_stage_io_cm_op_0_is_comfirm = cmm_stage__GEN_467 == 2'h3; // @[Commit.scala 324:87]
  assign cmm_stage_io_cm_op_0_is_MisPredict = cmm_stage__GEN_467 == 2'h2; // @[Commit.scala 325:87]
  assign cmm_stage_io_cm_op_0_is_abort = cmm_stage__GEN_467 == 2'h1; // @[Commit.scala 326:87]
  assign cmm_stage_io_cm_op_0_raw = cmm_stage_io_rod_0_bits_rd0_raw; // @[Commit.scala 541:21]
  assign cmm_stage_io_cm_op_0_phy = cmm_stage_io_rod_0_bits_rd0_phy; // @[Commit.scala 540:21]
  assign cmm_stage_io_cm_op_0_toX = cmm_stage_io_rod_0_bits_is_xcmm; // @[Commit.scala 542:21]
  assign cmm_stage_io_cm_op_0_toF = cmm_stage_io_rod_0_bits_is_fcmm; // @[Commit.scala 543:21]
  assign cmm_stage_io_rod_0_ready = cmm_stage_is_retired_0 | cmm_stage_commit_state_is_abort_0; // @[Commit.scala 691:39]
  assign cmm_stage_io_cmm_lsu_is_amo_pending = cmm_stage__io_cmm_lsu_is_amo_pending_T &
    cmm_stage__is_trap_is_exception_is_csr_illegal_T_1; // @[Commit.scala 547:45]
  assign cmm_stage_io_cmm_lsu_is_store_commit_0 = cmm_stage_io_rod_0_bits_is_su & cmm_stage_commit_state_is_comfirm_0; // @[Commit.scala 696:59]
  assign cmm_stage_io_csr_data_valid = cmm_stage_io_csr_addr_valid & cmm_stage__io_csr_data_valid_T_121; // @[Commit.scala 798:42]
  assign cmm_stage_io_csr_data_bits = cmm_stage__io_csr_data_bits_T_177 | cmm_stage__io_csr_data_bits_T_133; // @[Mux.scala 27:73]
  assign cmm_stage_io_csr_cmm_op_ready = cmm_stage_csrExe_mdl_io_enq_0_ready; // @[Commit.scala 337:19 RePort.scala 190:9]
  assign cmm_stage_io_bctq_ready = cmm_stage_bctq_mdl_io_enq_0_ready; // @[Commit.scala 344:19 RePort.scala 190:9]
  assign cmm_stage_io_jctq_ready = cmm_stage_jctq_mdl_io_enq_0_ready; // @[Commit.scala 351:19 RePort.scala 190:9]
  assign cmm_stage_io_cmmRedirect_valid = cmm_stage_commit_state_is_abort_0 ? cmm_stage__GEN_1002 : cmm_stage__GEN_936; // @[Commit.scala 723:38]
  assign cmm_stage_io_cmmRedirect_bits_pc = cmm_stage_commit_state_is_abort_0 ? cmm_stage__GEN_1003 : cmm_stage__GEN_937
    ; // @[Commit.scala 723:38]
  assign cmm_stage_io_ifence = cmm_stage_commit_state_is_abort_0 & cmm_stage_is_fence_i; // @[Commit.scala 841:30]
  assign cmm_stage_io_cmm_mmu_satp = {cmm_stage_csr_state_0_csrfiles_satp_hi,cmm_stage_csrfiles_satp_ppn}; // @[Commit.scala 827:36]
  assign cmm_stage_io_cmm_mmu_priv_lvl_if = cmm_stage_csrfiles_priv_lvl; // @[Commit.scala 830:28]
  assign cmm_stage_io_cmm_mmu_priv_lvl_ls = cmm_stage_csrfiles_mstatus_mprv ? cmm_stage_csrfiles_mstatus_mpp :
    cmm_stage_csrfiles_priv_lvl; // @[Commit.scala 831:34]
  assign cmm_stage_io_cmm_mmu_mstatus = {cmm_stage_csr_state_0_csrfiles_mstatus_hi,
    cmm_stage_csr_state_0_csrfiles_mstatus_lo}; // @[Commit.scala 832:45]
  assign cmm_stage_io_cmm_mmu_sstatus = {cmm_stage_io_csr_data_bits_hi_2,cmm_stage_io_csr_data_bits_lo_2}; // @[Commit.scala 833:45]
  assign cmm_stage_io_cmm_mmu_sfence_vma = cmm_stage_commit_state_is_abort_0 & cmm_stage_is_sfence_vma; // @[Commit.scala 835:30]
  assign cmm_stage_io_dm_hartIsInReset = cmm_stage_emu_reset; // @[Commit.scala 366:23]
  assign cmm_stage_bctq_mdl_io_enq_0_valid = cmm_stage_io_bctq_valid; // @[Commit.scala 344:19 346:12]
  assign cmm_stage_bctq_mdl_io_enq_0_bits_isPredictTaken = cmm_stage_io_bctq_bits_isPredictTaken; // @[Commit.scala 344:19 346:12]
  assign cmm_stage_bctq_mdl_io_enq_0_bits_isFinalTaken = cmm_stage_io_bctq_bits_isFinalTaken; // @[Commit.scala 344:19 346:12]
  assign cmm_stage_bctq_mdl_io_enq_0_bits_finalTarget = cmm_stage_io_bctq_bits_finalTarget; // @[Commit.scala 344:19 346:12]
  assign cmm_stage_bctq_mdl_io_deq_0_ready = cmm_stage_is_retired_0 & cmm_stage_io_rod_0_bits_is_branch; // @[Commit.scala 679:36]
  assign cmm_stage_bctq_mdl_io_mapper_0 = cmm_stage_io_rod_0_bits_is_branch; // @[Commit.scala 357:{42,42}]
  assign cmm_stage_jctq_mdl_io_enq_0_valid = cmm_stage_io_jctq_valid; // @[Commit.scala 351:19 353:12]
  assign cmm_stage_jctq_mdl_io_enq_0_bits_btbResp_target = cmm_stage_io_jctq_bits_btbResp_target; // @[Commit.scala 351:19 353:12]
  assign cmm_stage_jctq_mdl_io_enq_0_bits_rasResp_target = cmm_stage_io_jctq_bits_rasResp_target; // @[Commit.scala 351:19 353:12]
  assign cmm_stage_jctq_mdl_io_enq_0_bits_isRas = cmm_stage_io_jctq_bits_isRas; // @[Commit.scala 351:19 353:12]
  assign cmm_stage_jctq_mdl_io_enq_0_bits_finalTarget = cmm_stage_io_jctq_bits_finalTarget; // @[Commit.scala 351:19 353:12]
  assign cmm_stage_jctq_mdl_io_deq_0_ready = cmm_stage_is_retired_0 & cmm_stage_io_rod_0_bits_is_jalr; // @[Commit.scala 685:36]
  assign cmm_stage_jctq_mdl_io_mapper_0 = cmm_stage_io_rod_0_bits_is_jalr; // @[Commit.scala 358:{42,42}]
  assign cmm_stage_csrExe_mdl_io_enq_0_valid = cmm_stage_io_csr_cmm_op_valid; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_enq_0_bits_addr = cmm_stage_io_csr_cmm_op_bits_addr; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_enq_0_bits_dat_i = cmm_stage_io_csr_cmm_op_bits_dat_i; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_enq_0_bits_op_rw = cmm_stage_io_csr_cmm_op_bits_op_rw; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_enq_0_bits_op_rs = cmm_stage_io_csr_cmm_op_bits_op_rs; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_enq_0_bits_op_rc = cmm_stage_io_csr_cmm_op_bits_op_rc; // @[Commit.scala 337:19 339:12]
  assign cmm_stage_csrExe_mdl_io_deq_0_ready = cmm_stage_commit_state_is_comfirm_0 & cmm_stage_io_rod_0_bits_is_csr; // @[Commit.scala 802:51]
  assign cmm_stage_csrExe_mdl_io_mapper_0 = cmm_stage_io_rod_0_bits_is_csr; // @[Commit.scala 360:{48,48}]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_valid = cmm_stage_io_fcsr_cmm_op_0_valid; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_bits_addr = cmm_stage_io_fcsr_cmm_op_0_bits_addr; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_bits_dat_i = cmm_stage_io_fcsr_cmm_op_0_bits_dat_i; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rw = cmm_stage_io_fcsr_cmm_op_0_bits_op_rw; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rs = cmm_stage_io_fcsr_cmm_op_0_bits_op_rs; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_enq_0_bits_op_rc = cmm_stage_io_fcsr_cmm_op_0_bits_op_rc; // @[RePort.scala 190:9]
  assign cmm_stage_fcsrExe_mdl_io_deq_0_ready = cmm_stage_commit_state_is_comfirm_0 & cmm_stage_io_rod_0_bits_is_fcsr; // @[Commit.scala 812:34]
  assign cmm_stage_fcsrExe_mdl_io_mapper_0 = cmm_stage_io_rod_0_bits_is_fcsr; // @[Commit.scala 361:{50,50}]
  assign i_mmu_itlb_random_idx_prng_io_out_0 = i_mmu_itlb_random_idx_prng_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_io_out_1 = i_mmu_itlb_random_idx_prng_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_1_io_out_0 = i_mmu_itlb_random_idx_prng_1_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_1_io_out_1 = i_mmu_itlb_random_idx_prng_1_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_2_io_out_0 = i_mmu_itlb_random_idx_prng_2_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_2_io_out_1 = i_mmu_itlb_random_idx_prng_2_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_3_io_out_0 = i_mmu_itlb_random_idx_prng_3_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_random_idx_prng_3_io_out_1 = i_mmu_itlb_random_idx_prng_3_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_itlb_io_pte_o_value = i_mmu_itlb__io_pte_o_T_9 | i_mmu_itlb__io_pte_o_T_10; // @[Mux.scala 27:73]
  assign i_mmu_itlb_io_pte_o_is_giga_page = i_mmu_itlb__io_pte_o_T_3 | i_mmu_itlb__io_pte_o_T_4; // @[Mux.scala 27:73]
  assign i_mmu_itlb_io_pte_o_is_mega_page = i_mmu_itlb__io_pte_o_T | i_mmu_itlb__io_pte_o_T_1; // @[Mux.scala 27:73]
  assign i_mmu_itlb_io_is_hit = i_mmu_itlb__io_is_hit_T_3 & i_mmu_itlb_io_req_valid; // @[TLB.scala 113:41]
  assign i_mmu_itlb_random_idx_prng_clock = i_mmu_itlb_clock;
  assign i_mmu_itlb_random_idx_prng_reset = i_mmu_itlb_reset;
  assign i_mmu_itlb_random_idx_prng_1_clock = i_mmu_itlb_clock;
  assign i_mmu_itlb_random_idx_prng_1_reset = i_mmu_itlb_reset;
  assign i_mmu_itlb_random_idx_prng_2_clock = i_mmu_itlb_clock;
  assign i_mmu_itlb_random_idx_prng_2_reset = i_mmu_itlb_reset;
  assign i_mmu_itlb_random_idx_prng_3_clock = i_mmu_itlb_clock;
  assign i_mmu_itlb_random_idx_prng_3_reset = i_mmu_itlb_reset;
  assign i_mmu_dtlb_random_idx_prng_io_out_0 = i_mmu_dtlb_random_idx_prng_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_io_out_1 = i_mmu_dtlb_random_idx_prng_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_1_io_out_0 = i_mmu_dtlb_random_idx_prng_1_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_1_io_out_1 = i_mmu_dtlb_random_idx_prng_1_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_2_io_out_0 = i_mmu_dtlb_random_idx_prng_2_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_2_io_out_1 = i_mmu_dtlb_random_idx_prng_2_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_3_io_out_0 = i_mmu_dtlb_random_idx_prng_3_state_0; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_random_idx_prng_3_io_out_1 = i_mmu_dtlb_random_idx_prng_3_state_1; // @[PRNG.scala 78:10]
  assign i_mmu_dtlb_io_pte_o_value = i_mmu_dtlb__io_pte_o_T_9 | i_mmu_dtlb__io_pte_o_T_10; // @[Mux.scala 27:73]
  assign i_mmu_dtlb_io_pte_o_is_giga_page = i_mmu_dtlb__io_pte_o_T_3 | i_mmu_dtlb__io_pte_o_T_4; // @[Mux.scala 27:73]
  assign i_mmu_dtlb_io_pte_o_is_mega_page = i_mmu_dtlb__io_pte_o_T | i_mmu_dtlb__io_pte_o_T_1; // @[Mux.scala 27:73]
  assign i_mmu_dtlb_io_is_hit = i_mmu_dtlb__io_is_hit_T_3 & i_mmu_dtlb_io_req_valid; // @[TLB.scala 113:41]
  assign i_mmu_dtlb_random_idx_prng_clock = i_mmu_dtlb_clock;
  assign i_mmu_dtlb_random_idx_prng_reset = i_mmu_dtlb_reset;
  assign i_mmu_dtlb_random_idx_prng_1_clock = i_mmu_dtlb_clock;
  assign i_mmu_dtlb_random_idx_prng_1_reset = i_mmu_dtlb_reset;
  assign i_mmu_dtlb_random_idx_prng_2_clock = i_mmu_dtlb_clock;
  assign i_mmu_dtlb_random_idx_prng_2_reset = i_mmu_dtlb_reset;
  assign i_mmu_dtlb_random_idx_prng_3_clock = i_mmu_dtlb_clock;
  assign i_mmu_dtlb_random_idx_prng_3_reset = i_mmu_dtlb_reset;
  assign i_mmu_iptw_walkRspBits_is_access_fault_mdl_io_is_fault = 1'h0; // @[PMP.scala 56:36]
  assign i_mmu_iptw_io_ptw_i_ready = i_mmu_iptw__io_ptw_i_ready_T_4 & i_mmu_iptw__io_ptw_o_valid_T; // @[PTW.scala 393:94]
  assign i_mmu_iptw_io_ptw_o_valid = i_mmu_iptw_walkRspValid & i_mmu_iptw__io_ptw_o_valid_T; // @[PTW.scala 390:34]
  assign i_mmu_iptw_io_ptw_o_bits_is_X = i_mmu_iptw_walkRspBits_is_X; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_value = i_mmu_iptw_walkRspBits_renew_value; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_is_giga_page = i_mmu_iptw_walkRspBits_renew_is_giga_page; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_is_mega_page = i_mmu_iptw_walkRspBits_renew_is_mega_page; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_asid = i_mmu_iptw_walkRspBits_renew_asid; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_vpn_0 = i_mmu_iptw_walkRspBits_renew_vpn_0; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_vpn_1 = i_mmu_iptw_walkRspBits_renew_vpn_1; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_renew_vpn_2 = i_mmu_iptw_walkRspBits_renew_vpn_2; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_is_ptw_fail = i_mmu_iptw_walkRspBits_is_ptw_fail; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_o_bits_is_access_fault = i_mmu_iptw_walkRspBits_is_access_fault; // @[PTW.scala 389:18]
  assign i_mmu_iptw_io_ptw_get_valid = i_mmu_iptw_ptw_get_valid; // @[PTW.scala 345:20]
  assign i_mmu_iptw_io_ptw_get_bits_opcode = 3'h4; // @[Edges.scala 447:17 448:15]
  assign i_mmu_iptw_io_ptw_get_bits_param = 3'h0; // @[Edges.scala 447:17 449:15]
  assign i_mmu_iptw_io_ptw_get_bits_size = 3'h4; // @[Edges.scala 447:17 450:15]
  assign i_mmu_iptw_io_ptw_get_bits_source = 1'h0; // @[Edges.scala 447:17 451:15]
  assign i_mmu_iptw_io_ptw_get_bits_address = i_mmu_iptw__io_ptw_get_bits_T_1[31:0]; // @[Edges.scala 447:17 452:15]
  assign i_mmu_iptw_io_ptw_get_bits_mask = 8'hff; // @[Cat.scala 33:92]
  assign i_mmu_iptw_io_ptw_get_bits_data = 64'h0; // @[Edges.scala 447:17 454:15]
  assign i_mmu_iptw_io_ptw_get_bits_corrupt = 1'h0; // @[Edges.scala 447:17 455:15]
  assign i_mmu_iptw_io_ptw_access_ready = i_mmu_iptw_ptw_access_ready; // @[PTW.scala 346:23]
  assign i_mmu_dptw_walkRspBits_is_access_fault_mdl_io_is_fault = 1'h0; // @[PMP.scala 56:36]
  assign i_mmu_dptw_io_ptw_i_ready = i_mmu_dptw__io_ptw_i_ready_T_4 & i_mmu_dptw__io_ptw_o_valid_T; // @[PTW.scala 393:94]
  assign i_mmu_dptw_io_ptw_o_valid = i_mmu_dptw_walkRspValid & i_mmu_dptw__io_ptw_o_valid_T; // @[PTW.scala 390:34]
  assign i_mmu_dptw_io_ptw_o_bits_is_X = i_mmu_dptw_walkRspBits_is_X; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_value = i_mmu_dptw_walkRspBits_renew_value; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_is_giga_page = i_mmu_dptw_walkRspBits_renew_is_giga_page; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_is_mega_page = i_mmu_dptw_walkRspBits_renew_is_mega_page; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_asid = i_mmu_dptw_walkRspBits_renew_asid; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_vpn_0 = i_mmu_dptw_walkRspBits_renew_vpn_0; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_vpn_1 = i_mmu_dptw_walkRspBits_renew_vpn_1; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_renew_vpn_2 = i_mmu_dptw_walkRspBits_renew_vpn_2; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_is_ptw_fail = i_mmu_dptw_walkRspBits_is_ptw_fail; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_o_bits_is_access_fault = i_mmu_dptw_walkRspBits_is_access_fault; // @[PTW.scala 389:18]
  assign i_mmu_dptw_io_ptw_get_valid = i_mmu_dptw_ptw_get_valid; // @[PTW.scala 345:20]
  assign i_mmu_dptw_io_ptw_get_bits_opcode = 3'h4; // @[Edges.scala 447:17 448:15]
  assign i_mmu_dptw_io_ptw_get_bits_param = 3'h0; // @[Edges.scala 447:17 449:15]
  assign i_mmu_dptw_io_ptw_get_bits_size = 3'h4; // @[Edges.scala 447:17 450:15]
  assign i_mmu_dptw_io_ptw_get_bits_source = 1'h1; // @[Edges.scala 447:17 451:15]
  assign i_mmu_dptw_io_ptw_get_bits_address = i_mmu_dptw__io_ptw_get_bits_T_1[31:0]; // @[Edges.scala 447:17 452:15]
  assign i_mmu_dptw_io_ptw_get_bits_mask = 8'hff; // @[Cat.scala 33:92]
  assign i_mmu_dptw_io_ptw_get_bits_data = 64'h0; // @[Edges.scala 447:17 454:15]
  assign i_mmu_dptw_io_ptw_get_bits_corrupt = 1'h0; // @[Edges.scala 447:17 455:15]
  assign i_mmu_dptw_io_ptw_access_ready = i_mmu_dptw_ptw_access_ready; // @[PTW.scala 346:23]
  assign i_mmu_io_mmu_if_bits_is_access_fault_mdl_io_is_fault = 1'h0; // @[PMP.scala 56:36]
  assign i_mmu_io_mmu_lsu_bits_is_access_fault_mdl_io_is_fault = 1'h0; // @[PMP.scala 56:36]
  assign i_mmu_ptwGetArb_io_in_0_ready = i_mmu_ptwGetArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign i_mmu_ptwGetArb_io_in_1_ready = i_mmu_ptwGetArb_grant_1 & i_mmu_ptwGetArb_io_out_ready; // @[Arbiter.scala 146:19]
  assign i_mmu_ptwGetArb_io_out_valid = i_mmu_ptwGetArb__io_out_valid_T | i_mmu_ptwGetArb_io_in_1_valid; // @[Arbiter.scala 147:31]
  assign i_mmu_ptwGetArb_io_out_bits_opcode = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_opcode :
    i_mmu_ptwGetArb_io_in_1_bits_opcode; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_param = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_param :
    i_mmu_ptwGetArb_io_in_1_bits_param; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_size = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_size :
    i_mmu_ptwGetArb_io_in_1_bits_size; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_source = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_source :
    i_mmu_ptwGetArb_io_in_1_bits_source; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_address = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_address :
    i_mmu_ptwGetArb_io_in_1_bits_address; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_mask = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_mask :
    i_mmu_ptwGetArb_io_in_1_bits_mask; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_data = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_data :
    i_mmu_ptwGetArb_io_in_1_bits_data; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_ptwGetArb_io_out_bits_corrupt = i_mmu_ptwGetArb_io_in_0_valid ? i_mmu_ptwGetArb_io_in_0_bits_corrupt :
    i_mmu_ptwGetArb_io_in_1_bits_corrupt; // @[Arbiter.scala 136:15 138:26 140:19]
  assign i_mmu_io_if_mmu_ready = i_mmu__io_if_mmu_ready_T_2 & i_mmu__io_if_mmu_ready_T_3; // @[MMU.scala 160:35]
  assign i_mmu_io_mmu_if_valid = i_mmu__io_if_mmu_ready_T_3 & i_mmu__io_mmu_if_valid_T_6; // @[MMU.scala 214:18]
  assign i_mmu_io_mmu_if_bits_vaddr = i_mmu_io_if_mmu_bits_vaddr; // @[MMU.scala 198:26]
  assign i_mmu_io_mmu_if_bits_paddr = i_mmu_is_bypass_if ? i_mmu_io_if_mmu_bits_vaddr : i_mmu_ipaddr_paddr; // @[MMU.scala 196:21]
  assign i_mmu_io_mmu_if_bits_is_paging_fault = i_mmu__iptw_io_ptw_i_valid_T_2 &
    i_mmu__io_mmu_if_bits_is_paging_fault_T_7; // @[MMU.scala 207:21]
  assign i_mmu_io_mmu_if_bits_is_access_fault = i_mmu__io_mmu_if_bits_is_access_fault_T_3 |
    i_mmu__io_mmu_if_bits_is_access_fault_T_5; // @[MMU.scala 203:92]
  assign i_mmu_io_lsu_mmu_ready = i_mmu__io_lsu_mmu_ready_T_2 & i_mmu__io_lsu_mmu_ready_T_3; // @[MMU.scala 168:37]
  assign i_mmu_io_mmu_lsu_valid = i_mmu__io_mmu_lsu_valid_T_2 & i_mmu__io_mmu_lsu_valid_T_9; // @[MMU.scala 245:34]
  assign i_mmu_io_mmu_lsu_bits_paddr = i_mmu_is_bypass_ls ? i_mmu_io_lsu_mmu_bits_vaddr : i_mmu_dpaddr_paddr; // @[MMU.scala 228:21]
  assign i_mmu_io_mmu_lsu_bits_is_paging_fault = i_mmu__dptw_io_ptw_i_valid_T_2 &
    i_mmu__io_mmu_lsu_bits_is_paging_fault_T_9; // @[MMU.scala 239:21]
  assign i_mmu_io_mmu_lsu_bits_is_access_fault = i_mmu__io_mmu_lsu_bits_is_access_fault_T_4 |
    i_mmu__io_mmu_lsu_bits_is_access_fault_T_6; // @[MMU.scala 235:95]
  assign i_mmu_io_ptw_get_valid = i_mmu_ptwGetArb_io_out_valid; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_opcode = i_mmu_ptwGetArb_io_out_bits_opcode; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_param = i_mmu_ptwGetArb_io_out_bits_param; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_size = i_mmu_ptwGetArb_io_out_bits_size; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_source = i_mmu_ptwGetArb_io_out_bits_source; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_address = i_mmu_ptwGetArb_io_out_bits_address; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_mask = i_mmu_ptwGetArb_io_out_bits_mask; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_data = i_mmu_ptwGetArb_io_out_bits_data; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_get_bits_corrupt = i_mmu_ptwGetArb_io_out_bits_corrupt; // @[MMU.scala 289:14]
  assign i_mmu_io_ptw_access_ready = i_mmu__T_23 ? i_mmu_iptw_io_ptw_access_ready : i_mmu__GEN_4; // @[MMU.scala 292:45 293:24]
  assign i_mmu_itlb_clock = i_mmu_clock;
  assign i_mmu_itlb_reset = i_mmu_reset;
  assign i_mmu_itlb_io_req_valid = i_mmu_io_if_mmu_valid; // @[MMU.scala 156:21]
  assign i_mmu_itlb_io_req_bits_vaddr = i_mmu_io_if_mmu_bits_vaddr; // @[MMU.scala 157:21]
  assign i_mmu_itlb_io_asid_i = i_mmu_io_cmm_mmu_satp[59:44]; // @[MMU.scala 158:37]
  assign i_mmu_itlb_io_tlb_renew_valid = i_mmu__itlb_io_tlb_renew_valid_T_3 & i_mmu__io_if_mmu_ready_T_3; // @[MMU.scala 268:110]
  assign i_mmu_itlb_io_tlb_renew_bits_value = i_mmu_iptw_io_ptw_o_bits_renew_value; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_is_giga_page = i_mmu_iptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_is_mega_page = i_mmu_iptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_asid = i_mmu_iptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_vpn_0 = i_mmu_iptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_vpn_1 = i_mmu_iptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_tlb_renew_bits_vpn_2 = i_mmu_iptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 265:26]
  assign i_mmu_itlb_io_sfence_vma = i_mmu_io_cmm_mmu_sfence_vma; // @[MMU.scala 298:22]
  assign i_mmu_dtlb_clock = i_mmu_clock;
  assign i_mmu_dtlb_reset = i_mmu_reset;
  assign i_mmu_dtlb_io_req_valid = i_mmu_io_lsu_mmu_valid; // @[MMU.scala 164:21]
  assign i_mmu_dtlb_io_req_bits_vaddr = i_mmu_io_lsu_mmu_bits_vaddr; // @[MMU.scala 165:21]
  assign i_mmu_dtlb_io_asid_i = i_mmu_io_cmm_mmu_satp[59:44]; // @[MMU.scala 166:37]
  assign i_mmu_dtlb_io_tlb_renew_valid = i_mmu__dtlb_io_tlb_renew_valid_T_4 & i_mmu__io_lsu_mmu_ready_T_3; // @[MMU.scala 269:110]
  assign i_mmu_dtlb_io_tlb_renew_bits_value = i_mmu_dptw_io_ptw_o_bits_renew_value; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_is_giga_page = i_mmu_dptw_io_ptw_o_bits_renew_is_giga_page; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_is_mega_page = i_mmu_dptw_io_ptw_o_bits_renew_is_mega_page; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_asid = i_mmu_dptw_io_ptw_o_bits_renew_asid; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_vpn_0 = i_mmu_dptw_io_ptw_o_bits_renew_vpn_0; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_vpn_1 = i_mmu_dptw_io_ptw_o_bits_renew_vpn_1; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_tlb_renew_bits_vpn_2 = i_mmu_dptw_io_ptw_o_bits_renew_vpn_2; // @[MMU.scala 266:26]
  assign i_mmu_dtlb_io_sfence_vma = i_mmu_io_cmm_mmu_sfence_vma; // @[MMU.scala 299:22]
  assign i_mmu_iptw_clock = i_mmu_clock;
  assign i_mmu_iptw_reset = i_mmu_reset;
  assign i_mmu_iptw_io_ptw_i_valid = i_mmu__iptw_io_ptw_i_valid_T_3 & i_mmu__io_if_mmu_ready_T_3; // @[MMU.scala 180:76]
  assign i_mmu_iptw_io_ptw_i_bits_is_X = i_mmu_io_if_mmu_bits_is_X; // @[MMU.scala 181:23]
  assign i_mmu_iptw_io_ptw_i_bits_vaddr = i_mmu_io_if_mmu_bits_vaddr; // @[MMU.scala 181:23]
  assign i_mmu_iptw_io_ptw_o_ready = i_mmu__iptw_io_ptw_o_ready_T | i_mmu_io_if_flush; // @[MMU.scala 259:55]
  assign i_mmu_iptw_io_cmm_mmu_satp = i_mmu_io_cmm_mmu_satp; // @[MMU.scala 174:19]
  assign i_mmu_iptw_io_cmm_mmu_sfence_vma = i_mmu_io_cmm_mmu_sfence_vma; // @[MMU.scala 174:19]
  assign i_mmu_iptw_io_ptw_get_ready = i_mmu_ptwGetArb_io_in_0_ready; // @[MMU.scala 287:22]
  assign i_mmu_iptw_io_ptw_access_valid = i_mmu__T_23 & i_mmu_io_ptw_access_valid; // @[MMU.scala 292:45 293:24 279:28]
  assign i_mmu_iptw_io_ptw_access_bits_opcode = i_mmu__T_23 ? i_mmu_io_ptw_access_bits_opcode : 3'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign i_mmu_iptw_io_ptw_access_bits_size = i_mmu__T_23 ? i_mmu_io_ptw_access_bits_size : 3'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign i_mmu_iptw_io_ptw_access_bits_data = i_mmu__T_23 ? i_mmu_io_ptw_access_bits_data : 64'h0; // @[MMU.scala 292:45 293:24 281:27]
  assign i_mmu_dptw_clock = i_mmu_clock;
  assign i_mmu_dptw_reset = i_mmu_reset;
  assign i_mmu_dptw_io_ptw_i_valid = i_mmu__dptw_io_ptw_i_valid_T_3 & i_mmu__io_lsu_mmu_ready_T_3; // @[MMU.scala 183:77]
  assign i_mmu_dptw_io_ptw_i_bits_is_X = i_mmu_io_lsu_mmu_bits_is_X; // @[MMU.scala 184:23]
  assign i_mmu_dptw_io_ptw_i_bits_vaddr = i_mmu_io_lsu_mmu_bits_vaddr; // @[MMU.scala 184:23]
  assign i_mmu_dptw_io_ptw_o_ready = i_mmu__dptw_io_ptw_o_ready_T | i_mmu_io_lsu_flush; // @[MMU.scala 262:55]
  assign i_mmu_dptw_io_cmm_mmu_satp = i_mmu_io_cmm_mmu_satp; // @[MMU.scala 175:19]
  assign i_mmu_dptw_io_cmm_mmu_sfence_vma = i_mmu_io_cmm_mmu_sfence_vma; // @[MMU.scala 175:19]
  assign i_mmu_dptw_io_ptw_get_ready = i_mmu_ptwGetArb_io_in_1_ready; // @[MMU.scala 288:22]
  assign i_mmu_dptw_io_ptw_access_valid = i_mmu__T_23 ? 1'h0 : i_mmu__GEN_5; // @[MMU.scala 280:28 292:45]
  assign i_mmu_dptw_io_ptw_access_bits_opcode = i_mmu__T_23 ? 3'h0 : i_mmu__GEN_6; // @[MMU.scala 282:27 292:45]
  assign i_mmu_dptw_io_ptw_access_bits_size = i_mmu__T_23 ? 3'h0 : i_mmu__GEN_8; // @[MMU.scala 282:27 292:45]
  assign i_mmu_dptw_io_ptw_access_bits_data = i_mmu__T_23 ? 64'h0 : i_mmu__GEN_12; // @[MMU.scala 282:27 292:45]
  assign i_mmu_ptwGetArb_io_in_0_valid = i_mmu_iptw_io_ptw_get_valid; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_opcode = i_mmu_iptw_io_ptw_get_bits_opcode; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_param = i_mmu_iptw_io_ptw_get_bits_param; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_size = i_mmu_iptw_io_ptw_get_bits_size; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_source = i_mmu_iptw_io_ptw_get_bits_source; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_address = i_mmu_iptw_io_ptw_get_bits_address; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_mask = i_mmu_iptw_io_ptw_get_bits_mask; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_data = i_mmu_iptw_io_ptw_get_bits_data; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_0_bits_corrupt = i_mmu_iptw_io_ptw_get_bits_corrupt; // @[MMU.scala 287:22]
  assign i_mmu_ptwGetArb_io_in_1_valid = i_mmu_dptw_io_ptw_get_valid; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_opcode = i_mmu_dptw_io_ptw_get_bits_opcode; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_param = i_mmu_dptw_io_ptw_get_bits_param; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_size = i_mmu_dptw_io_ptw_get_bits_size; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_source = i_mmu_dptw_io_ptw_get_bits_source; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_address = i_mmu_dptw_io_ptw_get_bits_address; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_mask = i_mmu_dptw_io_ptw_get_bits_mask; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_data = i_mmu_dptw_io_ptw_get_bits_data; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_in_1_bits_corrupt = i_mmu_dptw_io_ptw_get_bits_corrupt; // @[MMU.scala 288:22]
  assign i_mmu_ptwGetArb_io_out_ready = i_mmu_io_ptw_get_ready; // @[MMU.scala 289:14]
  assign prefetcher_io_intent_valid = 1'h0; // @[PreFetcher.scala 70:21]
  assign prefetcher_io_intent_bits_opcode = 3'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_param = 3'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_size = 3'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_source = 1'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_address = 32'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_mask = 8'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_data = 64'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_intent_bits_corrupt = 1'h0; // @[PreFetcher.scala 71:{35,35}]
  assign prefetcher_io_hintAck_ready = 1'h1; // @[PreFetcher.scala 98:20]
  assign auto_prefetch_clinet_out_a_valid = prefetcher_io_intent_valid; // @[Nodes.scala 1207:84 rift2Core.scala 343:24]
  assign auto_prefetch_clinet_out_a_bits_opcode = prefetcher_io_intent_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_param = prefetcher_io_intent_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_size = prefetcher_io_intent_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_source = prefetcher_io_intent_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_address = prefetcher_io_intent_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_mask = prefetcher_io_intent_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_data = prefetcher_io_intent_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_a_bits_corrupt = prefetcher_io_intent_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 344:23]
  assign auto_prefetch_clinet_out_d_ready = prefetcher_io_hintAck_ready; // @[Nodes.scala 1207:84 rift2Core.scala 346:24]
  assign auto_mmu_client_out_a_valid = i_mmu_io_ptw_get_valid; // @[Nodes.scala 1207:84 rift2Core.scala 331:19]
  assign auto_mmu_client_out_a_bits_opcode = i_mmu_io_ptw_get_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_param = i_mmu_io_ptw_get_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_size = i_mmu_io_ptw_get_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_source = i_mmu_io_ptw_get_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_address = i_mmu_io_ptw_get_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_mask = i_mmu_io_ptw_get_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_data = i_mmu_io_ptw_get_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_a_bits_corrupt = i_mmu_io_ptw_get_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 332:18]
  assign auto_mmu_client_out_d_ready = i_mmu_io_ptw_access_ready; // @[Nodes.scala 1207:84 rift2Core.scala 334:19]
  assign auto_periph_client_out_a_valid = exe_stage_io_periph_getPut_valid; // @[Nodes.scala 1207:84 rift2Core.scala 327:22]
  assign auto_periph_client_out_a_bits_opcode = exe_stage_io_periph_getPut_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_param = exe_stage_io_periph_getPut_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_size = exe_stage_io_periph_getPut_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_source = exe_stage_io_periph_getPut_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_address = exe_stage_io_periph_getPut_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_mask = exe_stage_io_periph_getPut_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_data = exe_stage_io_periph_getPut_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_a_bits_corrupt = exe_stage_io_periph_getPut_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 328:22]
  assign auto_periph_client_out_d_ready = exe_stage_io_periph_access_ready; // @[Nodes.scala 1207:84 rift2Core.scala 326:22]
  assign auto_system_client_out_a_valid = exe_stage_io_system_getPut_valid; // @[Nodes.scala 1207:84 rift2Core.scala 320:22]
  assign auto_system_client_out_a_bits_opcode = exe_stage_io_system_getPut_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_param = exe_stage_io_system_getPut_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_size = exe_stage_io_system_getPut_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_source = exe_stage_io_system_getPut_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_address = exe_stage_io_system_getPut_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_mask = exe_stage_io_system_getPut_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_data = exe_stage_io_system_getPut_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_a_bits_corrupt = exe_stage_io_system_getPut_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 321:22]
  assign auto_system_client_out_d_ready = exe_stage_io_system_access_ready; // @[Nodes.scala 1207:84 rift2Core.scala 319:22]
  assign auto_dcache_client_out_a_valid = exe_stage_io_missUnit_dcache_acquire_valid; // @[Nodes.scala 1207:84 rift2Core.scala 285:24]
  assign auto_dcache_client_out_a_bits_opcode = exe_stage_io_missUnit_dcache_acquire_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_param = exe_stage_io_missUnit_dcache_acquire_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_size = exe_stage_io_missUnit_dcache_acquire_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_source = exe_stage_io_missUnit_dcache_acquire_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_address = exe_stage_io_missUnit_dcache_acquire_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_mask = exe_stage_io_missUnit_dcache_acquire_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_data = exe_stage_io_missUnit_dcache_acquire_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_a_bits_corrupt = exe_stage_io_missUnit_dcache_acquire_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 286:24]
  assign auto_dcache_client_out_b_ready = exe_stage_io_probeUnit_dcache_probe_ready; // @[Nodes.scala 1207:84 rift2Core.scala 291:24]
  assign auto_dcache_client_out_c_valid = exe_stage_io_writeBackUnit_dcache_release_valid; // @[Nodes.scala 1207:84 rift2Core.scala 293:24]
  assign auto_dcache_client_out_c_bits_opcode = exe_stage_io_writeBackUnit_dcache_release_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_param = exe_stage_io_writeBackUnit_dcache_release_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_size = exe_stage_io_writeBackUnit_dcache_release_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_source = exe_stage_io_writeBackUnit_dcache_release_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_address = exe_stage_io_writeBackUnit_dcache_release_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_data = exe_stage_io_writeBackUnit_dcache_release_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_c_bits_corrupt = exe_stage_io_writeBackUnit_dcache_release_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 294:24]
  assign auto_dcache_client_out_d_ready = _exe_stage_io_missUnit_dcache_grant_valid_T_2 &
    exe_stage_io_missUnit_dcache_grant_ready | _exe_stage_io_writeBackUnit_dcache_grant_valid_T &
    exe_stage_io_writeBackUnit_dcache_grant_ready; // @[Mux.scala 27:73]
  assign auto_dcache_client_out_e_valid = exe_stage_io_missUnit_dcache_grantAck_valid; // @[Nodes.scala 1207:84 rift2Core.scala 297:24]
  assign auto_dcache_client_out_e_bits_sink = exe_stage_io_missUnit_dcache_grantAck_bits_sink; // @[Nodes.scala 1207:84 rift2Core.scala 298:24]
  assign auto_icache_client_out_a_valid = if2_io_icache_get_valid; // @[Nodes.scala 1207:84 rift2Core.scala 265:22]
  assign auto_icache_client_out_a_bits_opcode = if2_io_icache_get_bits_opcode; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_param = if2_io_icache_get_bits_param; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_size = if2_io_icache_get_bits_size; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_source = if2_io_icache_get_bits_source; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_address = if2_io_icache_get_bits_address; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_mask = if2_io_icache_get_bits_mask; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_data = if2_io_icache_get_bits_data; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_a_bits_corrupt = if2_io_icache_get_bits_corrupt; // @[Nodes.scala 1207:84 rift2Core.scala 266:21]
  assign auto_icache_client_out_d_ready = if2_io_icache_access_ready; // @[Nodes.scala 1207:84 rift2Core.scala 263:22]
  assign io_dm_hartIsInReset = cmm_stage_io_dm_hartIsInReset; // @[rift2Core.scala 254:37]
  assign if1_clock = clock;
  assign if1_reset = reset;
  assign if1_io_if4Redirect_valid = if4_io_if4Redirect_valid; // @[rift2Core.scala 118:22]
  assign if1_io_if4Redirect_bits_target = if4_io_if4Redirect_bits_target; // @[rift2Core.scala 118:22]
  assign if1_io_cmmRedirect_valid = cmm_stage_io_cmmRedirect_valid; // @[rift2Core.scala 246:28]
  assign if1_io_cmmRedirect_bits_pc = cmm_stage_io_cmmRedirect_bits_pc; // @[rift2Core.scala 246:28]
  assign if1_io_pc_gen_ready = if2_io_if2_req_ready; // @[rift2Core.scala 120:17]
  assign if2_clock = clock;
  assign if2_reset = reset;
  assign if2_io_if2_req_valid = if1_io_pc_gen_valid; // @[rift2Core.scala 120:17]
  assign if2_io_if2_req_bits_isActive_0 = if1_io_pc_gen_bits_isActive_0; // @[rift2Core.scala 120:17]
  assign if2_io_if2_req_bits_isActive_1 = if1_io_pc_gen_bits_isActive_1; // @[rift2Core.scala 120:17]
  assign if2_io_if2_req_bits_isActive_2 = if1_io_pc_gen_bits_isActive_2; // @[rift2Core.scala 120:17]
  assign if2_io_if2_req_bits_isActive_3 = if1_io_pc_gen_bits_isActive_3; // @[rift2Core.scala 120:17]
  assign if2_io_if2_req_bits_pc = if1_io_pc_gen_bits_pc; // @[rift2Core.scala 120:17]
  assign if2_io_if2_resp_0_ready = if3_io_if3_req_0_ready; // @[rift2Core.scala 121:19]
  assign if2_io_if2_resp_1_ready = if3_io_if3_req_1_ready; // @[rift2Core.scala 121:19]
  assign if2_io_if2_resp_2_ready = if3_io_if3_req_2_ready; // @[rift2Core.scala 121:19]
  assign if2_io_if2_resp_3_ready = if3_io_if3_req_3_ready; // @[rift2Core.scala 121:19]
  assign if2_io_if_mmu_ready = i_mmu_io_if_mmu_ready; // @[rift2Core.scala 198:19]
  assign if2_io_mmu_if_valid = i_mmu_io_mmu_if_valid; // @[rift2Core.scala 199:19]
  assign if2_io_mmu_if_bits_vaddr = i_mmu_io_mmu_if_bits_vaddr; // @[rift2Core.scala 199:19]
  assign if2_io_mmu_if_bits_paddr = i_mmu_io_mmu_if_bits_paddr; // @[rift2Core.scala 199:19]
  assign if2_io_mmu_if_bits_is_paging_fault = i_mmu_io_mmu_if_bits_is_paging_fault; // @[rift2Core.scala 199:19]
  assign if2_io_mmu_if_bits_is_access_fault = i_mmu_io_mmu_if_bits_is_access_fault; // @[rift2Core.scala 199:19]
  assign if2_io_icache_get_ready = auto_icache_client_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_io_icache_access_valid = auto_icache_client_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_io_icache_access_bits_opcode = auto_icache_client_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_io_icache_access_bits_size = auto_icache_client_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_io_icache_access_bits_data = auto_icache_client_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_io_flush = cmm_stage_io_cmmRedirect_valid | if4_io_if4Redirect_valid; // @[rift2Core.scala 225:49]
  assign if2_io_ifence = cmm_stage_io_ifence; // @[rift2Core.scala 250:17]
  assign if3_clock = clock;
  assign if3_reset = reset;
  assign if3_io_if3_req_0_valid = if2_io_if2_resp_0_valid; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_0_bits_pc = if2_io_if2_resp_0_bits_pc; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_0_bits_instr = if2_io_if2_resp_0_bits_instr; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_0_bits_isRedirect = if2_io_if2_resp_0_bits_isRedirect; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_1_valid = if2_io_if2_resp_1_valid; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_1_bits_pc = if2_io_if2_resp_1_bits_pc; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_1_bits_instr = if2_io_if2_resp_1_bits_instr; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_1_bits_isFault = if2_io_if2_resp_1_bits_isFault; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_1_bits_isRedirect = if2_io_if2_resp_1_bits_isRedirect; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_2_valid = if2_io_if2_resp_2_valid; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_2_bits_pc = if2_io_if2_resp_2_bits_pc; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_2_bits_instr = if2_io_if2_resp_2_bits_instr; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_2_bits_isFault = if2_io_if2_resp_2_bits_isFault; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_2_bits_isRedirect = if2_io_if2_resp_2_bits_isRedirect; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_3_valid = if2_io_if2_resp_3_valid; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_3_bits_pc = if2_io_if2_resp_3_bits_pc; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_3_bits_instr = if2_io_if2_resp_3_bits_instr; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_3_bits_isFault = if2_io_if2_resp_3_bits_isFault; // @[rift2Core.scala 121:19]
  assign if3_io_if3_req_3_bits_isRedirect = if2_io_if2_resp_3_bits_isRedirect; // @[rift2Core.scala 121:19]
  assign if3_io_if3_resp_0_ready = if4_io_if4_req_0_ready; // @[rift2Core.scala 122:19]
  assign if3_io_btbResp_0_ready = if4_io_btbResp_0_ready; // @[rift2Core.scala 128:19]
  assign if3_io_bimResp_0_ready = if4_io_bimResp_0_ready; // @[rift2Core.scala 129:19]
  assign if3_io_tageResp_0_ready = if4_io_tageResp_0_ready; // @[rift2Core.scala 130:19]
  assign if3_io_jcmm_update_valid = exe_stage_io_jcmm_update_valid; // @[rift2Core.scala 209:24]
  assign if3_io_jcmm_update_bits_pc = exe_stage_io_jcmm_update_bits_pc; // @[rift2Core.scala 209:24]
  assign if3_io_jcmm_update_bits_finalTarget = exe_stage_io_jcmm_update_bits_finalTarget; // @[rift2Core.scala 209:24]
  assign if3_io_bcmm_update_valid = exe_stage_io_bcmm_update_valid; // @[rift2Core.scala 210:24]
  assign if3_io_bcmm_update_bits_pc = exe_stage_io_bcmm_update_bits_pc; // @[rift2Core.scala 210:24]
  assign if3_io_bcmm_update_bits_bimResp_bim_p = exe_stage_io_bcmm_update_bits_bimResp_bim_p; // @[rift2Core.scala 210:24]
  assign if3_io_bcmm_update_bits_bimResp_bim_h = exe_stage_io_bcmm_update_bits_bimResp_bim_h; // @[rift2Core.scala 210:24]
  assign if3_io_bcmm_update_bits_isFinalTaken = exe_stage_io_bcmm_update_bits_isFinalTaken; // @[rift2Core.scala 210:24]
  assign if3_io_if4Redirect_valid = if4_io_if4Redirect_valid; // @[rift2Core.scala 134:22]
  assign if3_io_flush = cmm_stage_io_cmmRedirect_valid; // @[rift2Core.scala 226:16]
  assign if4_clock = clock;
  assign if4_reset = reset;
  assign if4_io_if4_req_0_valid = if3_io_if3_resp_0_valid; // @[rift2Core.scala 122:19]
  assign if4_io_if4_req_0_bits_isRVC = if3_io_if3_resp_0_bits_isRVC; // @[rift2Core.scala 122:19]
  assign if4_io_if4_req_0_bits_instr = if3_io_if3_resp_0_bits_instr; // @[rift2Core.scala 122:19]
  assign if4_io_if4_req_0_bits_pc = if3_io_if3_resp_0_bits_pc; // @[rift2Core.scala 122:19]
  assign if4_io_if4_req_0_bits_isRedirect = if3_io_if3_resp_0_bits_isRedirect; // @[rift2Core.scala 122:19]
  assign if4_io_if4_req_0_bits_target = if3_io_if3_resp_0_bits_target; // @[rift2Core.scala 122:19]
  assign if4_io_btbResp_0_valid = if3_io_btbResp_0_valid; // @[rift2Core.scala 128:19]
  assign if4_io_btbResp_0_bits_target = if3_io_btbResp_0_bits_target; // @[rift2Core.scala 128:19]
  assign if4_io_bimResp_0_valid = if3_io_bimResp_0_valid; // @[rift2Core.scala 129:19]
  assign if4_io_bimResp_0_bits_bim_p = if3_io_bimResp_0_bits_bim_p; // @[rift2Core.scala 129:19]
  assign if4_io_bimResp_0_bits_bim_h = if3_io_bimResp_0_bits_bim_h; // @[rift2Core.scala 129:19]
  assign if4_io_if4_resp_0_ready = rnm_stage_io_rnReq_0_ready; // @[rift2Core.scala 139:18]
  assign if4_io_bftq_ready = exe_stage_io_bftq_ready; // @[rift2Core.scala 216:23]
  assign if4_io_jftq_ready = exe_stage_io_jftq_ready; // @[rift2Core.scala 217:23]
  assign if4_io_flush = cmm_stage_io_cmmRedirect_valid; // @[rift2Core.scala 227:16]
  assign rnm_stage_clock = clock;
  assign rnm_stage_reset = cmm_stage_io_cmmRedirect_valid | reset; // @[rift2Core.scala 229:52]
  assign rnm_stage_io_rnReq_0_valid = if4_io_if4_resp_0_valid; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_lui = if4_io_if4_resp_0_bits_alu_isa_lui; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_auipc = if4_io_if4_resp_0_bits_alu_isa_auipc; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_addi = if4_io_if4_resp_0_bits_alu_isa_addi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_addiw = if4_io_if4_resp_0_bits_alu_isa_addiw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_slti = if4_io_if4_resp_0_bits_alu_isa_slti; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sltiu = if4_io_if4_resp_0_bits_alu_isa_sltiu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_xori = if4_io_if4_resp_0_bits_alu_isa_xori; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_ori = if4_io_if4_resp_0_bits_alu_isa_ori; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_andi = if4_io_if4_resp_0_bits_alu_isa_andi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_slli = if4_io_if4_resp_0_bits_alu_isa_slli; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_slliw = if4_io_if4_resp_0_bits_alu_isa_slliw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_srli = if4_io_if4_resp_0_bits_alu_isa_srli; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_srliw = if4_io_if4_resp_0_bits_alu_isa_srliw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_srai = if4_io_if4_resp_0_bits_alu_isa_srai; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sraiw = if4_io_if4_resp_0_bits_alu_isa_sraiw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_add = if4_io_if4_resp_0_bits_alu_isa_add; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_addw = if4_io_if4_resp_0_bits_alu_isa_addw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sub = if4_io_if4_resp_0_bits_alu_isa_sub; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_subw = if4_io_if4_resp_0_bits_alu_isa_subw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sll = if4_io_if4_resp_0_bits_alu_isa_sll; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sllw = if4_io_if4_resp_0_bits_alu_isa_sllw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_slt = if4_io_if4_resp_0_bits_alu_isa_slt; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sltu = if4_io_if4_resp_0_bits_alu_isa_sltu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_xor = if4_io_if4_resp_0_bits_alu_isa_xor; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_srl = if4_io_if4_resp_0_bits_alu_isa_srl; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_srlw = if4_io_if4_resp_0_bits_alu_isa_srlw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sra = if4_io_if4_resp_0_bits_alu_isa_sra; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_sraw = if4_io_if4_resp_0_bits_alu_isa_sraw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_or = if4_io_if4_resp_0_bits_alu_isa_or; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_and = if4_io_if4_resp_0_bits_alu_isa_and; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_alu_isa_wfi = if4_io_if4_resp_0_bits_alu_isa_wfi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_jal = if4_io_if4_resp_0_bits_bru_isa_jal; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_jalr = if4_io_if4_resp_0_bits_bru_isa_jalr; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_beq = if4_io_if4_resp_0_bits_bru_isa_beq; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_bne = if4_io_if4_resp_0_bits_bru_isa_bne; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_blt = if4_io_if4_resp_0_bits_bru_isa_blt; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_bge = if4_io_if4_resp_0_bits_bru_isa_bge; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_bltu = if4_io_if4_resp_0_bits_bru_isa_bltu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_bru_isa_bgeu = if4_io_if4_resp_0_bits_bru_isa_bgeu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lb = if4_io_if4_resp_0_bits_lsu_isa_lb; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lh = if4_io_if4_resp_0_bits_lsu_isa_lh; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lw = if4_io_if4_resp_0_bits_lsu_isa_lw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_ld = if4_io_if4_resp_0_bits_lsu_isa_ld; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lbu = if4_io_if4_resp_0_bits_lsu_isa_lbu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lhu = if4_io_if4_resp_0_bits_lsu_isa_lhu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lwu = if4_io_if4_resp_0_bits_lsu_isa_lwu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sb = if4_io_if4_resp_0_bits_lsu_isa_sb; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sh = if4_io_if4_resp_0_bits_lsu_isa_sh; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sw = if4_io_if4_resp_0_bits_lsu_isa_sw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sd = if4_io_if4_resp_0_bits_lsu_isa_sd; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_fence = if4_io_if4_resp_0_bits_lsu_isa_fence; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_fence_i = if4_io_if4_resp_0_bits_lsu_isa_fence_i; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sfence_vma = if4_io_if4_resp_0_bits_lsu_isa_sfence_vma; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lr_w = if4_io_if4_resp_0_bits_lsu_isa_lr_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sc_w = if4_io_if4_resp_0_bits_lsu_isa_sc_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_w = if4_io_if4_resp_0_bits_lsu_isa_amoswap_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_w = if4_io_if4_resp_0_bits_lsu_isa_amoadd_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_w = if4_io_if4_resp_0_bits_lsu_isa_amoxor_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_w = if4_io_if4_resp_0_bits_lsu_isa_amoand_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_w = if4_io_if4_resp_0_bits_lsu_isa_amoor_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_w = if4_io_if4_resp_0_bits_lsu_isa_amomin_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_w = if4_io_if4_resp_0_bits_lsu_isa_amomax_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_w = if4_io_if4_resp_0_bits_lsu_isa_amominu_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_w = if4_io_if4_resp_0_bits_lsu_isa_amomaxu_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_lr_d = if4_io_if4_resp_0_bits_lsu_isa_lr_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_sc_d = if4_io_if4_resp_0_bits_lsu_isa_sc_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoswap_d = if4_io_if4_resp_0_bits_lsu_isa_amoswap_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoadd_d = if4_io_if4_resp_0_bits_lsu_isa_amoadd_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoxor_d = if4_io_if4_resp_0_bits_lsu_isa_amoxor_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoand_d = if4_io_if4_resp_0_bits_lsu_isa_amoand_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amoor_d = if4_io_if4_resp_0_bits_lsu_isa_amoor_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomin_d = if4_io_if4_resp_0_bits_lsu_isa_amomin_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomax_d = if4_io_if4_resp_0_bits_lsu_isa_amomax_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amominu_d = if4_io_if4_resp_0_bits_lsu_isa_amominu_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_amomaxu_d = if4_io_if4_resp_0_bits_lsu_isa_amomaxu_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_flw = if4_io_if4_resp_0_bits_lsu_isa_flw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_fsw = if4_io_if4_resp_0_bits_lsu_isa_fsw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_fld = if4_io_if4_resp_0_bits_lsu_isa_fld; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_lsu_isa_fsd = if4_io_if4_resp_0_bits_lsu_isa_fsd; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rw = if4_io_if4_resp_0_bits_csr_isa_rw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rs = if4_io_if4_resp_0_bits_csr_isa_rs; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rc = if4_io_if4_resp_0_bits_csr_isa_rc; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rwi = if4_io_if4_resp_0_bits_csr_isa_rwi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rsi = if4_io_if4_resp_0_bits_csr_isa_rsi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_csr_isa_rci = if4_io_if4_resp_0_bits_csr_isa_rci; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_mul = if4_io_if4_resp_0_bits_mul_isa_mul; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_mulh = if4_io_if4_resp_0_bits_mul_isa_mulh; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_mulhsu = if4_io_if4_resp_0_bits_mul_isa_mulhsu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_mulhu = if4_io_if4_resp_0_bits_mul_isa_mulhu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_div = if4_io_if4_resp_0_bits_mul_isa_div; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_divu = if4_io_if4_resp_0_bits_mul_isa_divu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_rem = if4_io_if4_resp_0_bits_mul_isa_rem; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_remu = if4_io_if4_resp_0_bits_mul_isa_remu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_mulw = if4_io_if4_resp_0_bits_mul_isa_mulw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_divw = if4_io_if4_resp_0_bits_mul_isa_divw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_divuw = if4_io_if4_resp_0_bits_mul_isa_divuw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_remw = if4_io_if4_resp_0_bits_mul_isa_remw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_mul_isa_remuw = if4_io_if4_resp_0_bits_mul_isa_remuw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_ecall = if4_io_if4_resp_0_bits_privil_isa_ecall; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_ebreak = if4_io_if4_resp_0_bits_privil_isa_ebreak; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_mret = if4_io_if4_resp_0_bits_privil_isa_mret; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_uret = if4_io_if4_resp_0_bits_privil_isa_uret; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_sret = if4_io_if4_resp_0_bits_privil_isa_sret; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_dret = if4_io_if4_resp_0_bits_privil_isa_dret; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hfence_vvma = if4_io_if4_resp_0_bits_privil_isa_hfence_vvma; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hfence_gvma = if4_io_if4_resp_0_bits_privil_isa_hfence_gvma; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_b = if4_io_if4_resp_0_bits_privil_isa_hlv_b; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_bu = if4_io_if4_resp_0_bits_privil_isa_hlv_bu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_h = if4_io_if4_resp_0_bits_privil_isa_hlv_h; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_hu = if4_io_if4_resp_0_bits_privil_isa_hlv_hu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_hu = if4_io_if4_resp_0_bits_privil_isa_hlvx_hu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_w = if4_io_if4_resp_0_bits_privil_isa_hlv_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlvx_wu = if4_io_if4_resp_0_bits_privil_isa_hlvx_wu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hsv_b = if4_io_if4_resp_0_bits_privil_isa_hsv_b; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hsv_h = if4_io_if4_resp_0_bits_privil_isa_hsv_h; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hsv_w = if4_io_if4_resp_0_bits_privil_isa_hsv_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_wu = if4_io_if4_resp_0_bits_privil_isa_hlv_wu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hlv_d = if4_io_if4_resp_0_bits_privil_isa_hlv_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_hsv_d = if4_io_if4_resp_0_bits_privil_isa_hsv_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_is_access_fault = if4_io_if4_resp_0_bits_privil_isa_is_access_fault; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_privil_isa_is_paging_fault = if4_io_if4_resp_0_bits_privil_isa_is_paging_fault; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_s = if4_io_if4_resp_0_bits_fpu_isa_fmadd_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_s = if4_io_if4_resp_0_bits_fpu_isa_fmsub_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_s = if4_io_if4_resp_0_bits_fpu_isa_fnmsub_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_s = if4_io_if4_resp_0_bits_fpu_isa_fnmadd_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_s = if4_io_if4_resp_0_bits_fpu_isa_fadd_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_s = if4_io_if4_resp_0_bits_fpu_isa_fsub_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_s = if4_io_if4_resp_0_bits_fpu_isa_fmul_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_s = if4_io_if4_resp_0_bits_fpu_isa_fdiv_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_s = if4_io_if4_resp_0_bits_fpu_isa_fsqrt_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_s = if4_io_if4_resp_0_bits_fpu_isa_fsgnj_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_s = if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_s = if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_s = if4_io_if4_resp_0_bits_fpu_isa_fmin_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_s = if4_io_if4_resp_0_bits_fpu_isa_fmax_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_s = if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_s = if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_w = if4_io_if4_resp_0_bits_fpu_isa_fmv_x_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_feq_s = if4_io_if4_resp_0_bits_fpu_isa_feq_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_flt_s = if4_io_if4_resp_0_bits_fpu_isa_flt_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fle_s = if4_io_if4_resp_0_bits_fpu_isa_fle_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_s = if4_io_if4_resp_0_bits_fpu_isa_fclass_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_w = if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_wu = if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_wu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_w_x = if4_io_if4_resp_0_bits_fpu_isa_fmv_w_x; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_s = if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_s = if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_l = if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_l; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_lu = if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_lu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmadd_d = if4_io_if4_resp_0_bits_fpu_isa_fmadd_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmsub_d = if4_io_if4_resp_0_bits_fpu_isa_fmsub_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fnmsub_d = if4_io_if4_resp_0_bits_fpu_isa_fnmsub_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fnmadd_d = if4_io_if4_resp_0_bits_fpu_isa_fnmadd_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fadd_d = if4_io_if4_resp_0_bits_fpu_isa_fadd_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsub_d = if4_io_if4_resp_0_bits_fpu_isa_fsub_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmul_d = if4_io_if4_resp_0_bits_fpu_isa_fmul_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fdiv_d = if4_io_if4_resp_0_bits_fpu_isa_fdiv_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsqrt_d = if4_io_if4_resp_0_bits_fpu_isa_fsqrt_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnj_d = if4_io_if4_resp_0_bits_fpu_isa_fsgnj_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjn_d = if4_io_if4_resp_0_bits_fpu_isa_fsgnjn_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fsgnjx_d = if4_io_if4_resp_0_bits_fpu_isa_fsgnjx_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmin_d = if4_io_if4_resp_0_bits_fpu_isa_fmin_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmax_d = if4_io_if4_resp_0_bits_fpu_isa_fmax_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_s_d = if4_io_if4_resp_0_bits_fpu_isa_fcvt_s_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_s = if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_s; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_feq_d = if4_io_if4_resp_0_bits_fpu_isa_feq_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_flt_d = if4_io_if4_resp_0_bits_fpu_isa_flt_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fle_d = if4_io_if4_resp_0_bits_fpu_isa_fle_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fclass_d = if4_io_if4_resp_0_bits_fpu_isa_fclass_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_w_d = if4_io_if4_resp_0_bits_fpu_isa_fcvt_w_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_wu_d = if4_io_if4_resp_0_bits_fpu_isa_fcvt_wu_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_w = if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_w; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_wu = if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_wu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_l_d = if4_io_if4_resp_0_bits_fpu_isa_fcvt_l_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_lu_d = if4_io_if4_resp_0_bits_fpu_isa_fcvt_lu_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_x_d = if4_io_if4_resp_0_bits_fpu_isa_fmv_x_d; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_l = if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_l; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcvt_d_lu = if4_io_if4_resp_0_bits_fpu_isa_fcvt_d_lu; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fmv_d_x = if4_io_if4_resp_0_bits_fpu_isa_fmv_d_x; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rw = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rw; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rs = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rs; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rc = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rc; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rwi = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rwi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rsi = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rsi; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_fpu_isa_fcsr_rci = if4_io_if4_resp_0_bits_fpu_isa_fcsr_rci; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_is_rvc = if4_io_if4_resp_0_bits_param_is_rvc; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_pc = if4_io_if4_resp_0_bits_param_pc; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_imm = if4_io_if4_resp_0_bits_param_imm; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_raw_rs1 = if4_io_if4_resp_0_bits_param_raw_rs1; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_raw_rs2 = if4_io_if4_resp_0_bits_param_raw_rs2; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnReq_0_bits_param_raw_rd0 = if4_io_if4_resp_0_bits_param_raw_rd0; // @[rift2Core.scala 139:18]
  assign rnm_stage_io_rnRsp_0_ready = iss_stage_io_dptReq_0_ready; // @[rift2Core.scala 147:19]
  assign rnm_stage_io_xLookup_0_rsp_rs1 = iwb_stage_io_xLookup_0_rsp_rs1; // @[rift2Core.scala 166:20]
  assign rnm_stage_io_xLookup_0_rsp_rs2 = iwb_stage_io_xLookup_0_rsp_rs2; // @[rift2Core.scala 166:20]
  assign rnm_stage_io_fLookup_0_rsp_rs1 = iwb_stage_io_fLookup_0_rsp_rs1; // @[rift2Core.scala 167:20]
  assign rnm_stage_io_fLookup_0_rsp_rs2 = iwb_stage_io_fLookup_0_rsp_rs2; // @[rift2Core.scala 167:20]
  assign rnm_stage_io_fLookup_0_rsp_rs3 = iwb_stage_io_fLookup_0_rsp_rs3; // @[rift2Core.scala 167:20]
  assign rnm_stage_io_xRename_0_rsp_rd0 = iwb_stage_io_xRename_0_rsp_rd0; // @[rift2Core.scala 168:20]
  assign rnm_stage_io_xRename_0_req_ready = iwb_stage_io_xRename_0_req_ready; // @[rift2Core.scala 168:20]
  assign rnm_stage_io_fRename_0_rsp_rd0 = iwb_stage_io_fRename_0_rsp_rd0; // @[rift2Core.scala 169:20]
  assign rnm_stage_io_fRename_0_req_ready = iwb_stage_io_fRename_0_req_ready; // @[rift2Core.scala 169:20]
  assign rnm_stage_io_rod_i_0_ready = cmm_stage_io_rod_0_ready; // @[rift2Core.scala 236:20]
  assign iss_stage_clock = clock;
  assign iss_stage_reset = reset;
  assign iss_stage_io_dptReq_0_valid = rnm_stage_io_rnRsp_0_valid; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_lui = rnm_stage_io_rnRsp_0_bits_alu_isa_lui; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_auipc = rnm_stage_io_rnRsp_0_bits_alu_isa_auipc; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_addi = rnm_stage_io_rnRsp_0_bits_alu_isa_addi; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_addiw = rnm_stage_io_rnRsp_0_bits_alu_isa_addiw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_slti = rnm_stage_io_rnRsp_0_bits_alu_isa_slti; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sltiu = rnm_stage_io_rnRsp_0_bits_alu_isa_sltiu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_xori = rnm_stage_io_rnRsp_0_bits_alu_isa_xori; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_ori = rnm_stage_io_rnRsp_0_bits_alu_isa_ori; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_andi = rnm_stage_io_rnRsp_0_bits_alu_isa_andi; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_slli = rnm_stage_io_rnRsp_0_bits_alu_isa_slli; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_slliw = rnm_stage_io_rnRsp_0_bits_alu_isa_slliw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_srli = rnm_stage_io_rnRsp_0_bits_alu_isa_srli; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_srliw = rnm_stage_io_rnRsp_0_bits_alu_isa_srliw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_srai = rnm_stage_io_rnRsp_0_bits_alu_isa_srai; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sraiw = rnm_stage_io_rnRsp_0_bits_alu_isa_sraiw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_add = rnm_stage_io_rnRsp_0_bits_alu_isa_add; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_addw = rnm_stage_io_rnRsp_0_bits_alu_isa_addw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sub = rnm_stage_io_rnRsp_0_bits_alu_isa_sub; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_subw = rnm_stage_io_rnRsp_0_bits_alu_isa_subw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sll = rnm_stage_io_rnRsp_0_bits_alu_isa_sll; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sllw = rnm_stage_io_rnRsp_0_bits_alu_isa_sllw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_slt = rnm_stage_io_rnRsp_0_bits_alu_isa_slt; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sltu = rnm_stage_io_rnRsp_0_bits_alu_isa_sltu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_xor = rnm_stage_io_rnRsp_0_bits_alu_isa_xor; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_srl = rnm_stage_io_rnRsp_0_bits_alu_isa_srl; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_srlw = rnm_stage_io_rnRsp_0_bits_alu_isa_srlw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sra = rnm_stage_io_rnRsp_0_bits_alu_isa_sra; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_sraw = rnm_stage_io_rnRsp_0_bits_alu_isa_sraw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_or = rnm_stage_io_rnRsp_0_bits_alu_isa_or; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_and = rnm_stage_io_rnRsp_0_bits_alu_isa_and; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_alu_isa_wfi = rnm_stage_io_rnRsp_0_bits_alu_isa_wfi; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_jal = rnm_stage_io_rnRsp_0_bits_bru_isa_jal; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_jalr = rnm_stage_io_rnRsp_0_bits_bru_isa_jalr; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_beq = rnm_stage_io_rnRsp_0_bits_bru_isa_beq; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_bne = rnm_stage_io_rnRsp_0_bits_bru_isa_bne; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_blt = rnm_stage_io_rnRsp_0_bits_bru_isa_blt; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_bge = rnm_stage_io_rnRsp_0_bits_bru_isa_bge; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_bltu = rnm_stage_io_rnRsp_0_bits_bru_isa_bltu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_bru_isa_bgeu = rnm_stage_io_rnRsp_0_bits_bru_isa_bgeu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lb = rnm_stage_io_rnRsp_0_bits_lsu_isa_lb; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lh = rnm_stage_io_rnRsp_0_bits_lsu_isa_lh; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lw = rnm_stage_io_rnRsp_0_bits_lsu_isa_lw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_ld = rnm_stage_io_rnRsp_0_bits_lsu_isa_ld; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lbu = rnm_stage_io_rnRsp_0_bits_lsu_isa_lbu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lhu = rnm_stage_io_rnRsp_0_bits_lsu_isa_lhu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lwu = rnm_stage_io_rnRsp_0_bits_lsu_isa_lwu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sb = rnm_stage_io_rnRsp_0_bits_lsu_isa_sb; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sh = rnm_stage_io_rnRsp_0_bits_lsu_isa_sh; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sw = rnm_stage_io_rnRsp_0_bits_lsu_isa_sw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sd = rnm_stage_io_rnRsp_0_bits_lsu_isa_sd; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_fence = rnm_stage_io_rnRsp_0_bits_lsu_isa_fence; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_fence_i = rnm_stage_io_rnRsp_0_bits_lsu_isa_fence_i; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma = rnm_stage_io_rnRsp_0_bits_lsu_isa_sfence_vma; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lr_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sc_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_lr_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_lr_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_sc_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_sc_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoswap_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoadd_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoxor_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoand_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amoor_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomin_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomax_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amominu_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d = rnm_stage_io_rnRsp_0_bits_lsu_isa_amomaxu_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_flw = rnm_stage_io_rnRsp_0_bits_lsu_isa_flw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_fsw = rnm_stage_io_rnRsp_0_bits_lsu_isa_fsw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_fld = rnm_stage_io_rnRsp_0_bits_lsu_isa_fld; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_lsu_isa_fsd = rnm_stage_io_rnRsp_0_bits_lsu_isa_fsd; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rw = rnm_stage_io_rnRsp_0_bits_csr_isa_rw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rs = rnm_stage_io_rnRsp_0_bits_csr_isa_rs; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rc = rnm_stage_io_rnRsp_0_bits_csr_isa_rc; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rwi = rnm_stage_io_rnRsp_0_bits_csr_isa_rwi; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rsi = rnm_stage_io_rnRsp_0_bits_csr_isa_rsi; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_csr_isa_rci = rnm_stage_io_rnRsp_0_bits_csr_isa_rci; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_mul = rnm_stage_io_rnRsp_0_bits_mul_isa_mul; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_mulh = rnm_stage_io_rnRsp_0_bits_mul_isa_mulh; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_mulhsu = rnm_stage_io_rnRsp_0_bits_mul_isa_mulhsu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_mulhu = rnm_stage_io_rnRsp_0_bits_mul_isa_mulhu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_div = rnm_stage_io_rnRsp_0_bits_mul_isa_div; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_divu = rnm_stage_io_rnRsp_0_bits_mul_isa_divu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_rem = rnm_stage_io_rnRsp_0_bits_mul_isa_rem; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_remu = rnm_stage_io_rnRsp_0_bits_mul_isa_remu; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_mulw = rnm_stage_io_rnRsp_0_bits_mul_isa_mulw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_divw = rnm_stage_io_rnRsp_0_bits_mul_isa_divw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_divuw = rnm_stage_io_rnRsp_0_bits_mul_isa_divuw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_remw = rnm_stage_io_rnRsp_0_bits_mul_isa_remw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_mul_isa_remuw = rnm_stage_io_rnRsp_0_bits_mul_isa_remuw; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fadd_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsub_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmul_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmin_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmax_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_w = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_w; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_feq_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_flt_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fle_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fclass_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmadd_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmadd_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmsub_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmsub_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fnmsub_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmsub_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fnmadd_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fnmadd_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fadd_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fadd_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsub_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsub_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmul_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmul_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fdiv_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fdiv_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsqrt_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsqrt_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnj_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnj_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjn_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjn_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fsgnjx_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fsgnjx_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmin_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmin_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmax_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmax_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_s_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_s_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_d_s = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_d_s; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_feq_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_feq_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_flt_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_flt_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fle_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fle_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fclass_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fclass_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_w_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_w_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_wu_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_wu_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_l_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_l_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fcvt_lu_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fcvt_lu_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_fpu_isa_fmv_x_d = rnm_stage_io_rnRsp_0_bits_fpu_isa_fmv_x_d; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_param_is_rvc = rnm_stage_io_rnRsp_0_bits_param_is_rvc; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_param_pc = rnm_stage_io_rnRsp_0_bits_param_pc; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_param_imm = rnm_stage_io_rnRsp_0_bits_param_imm; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_param_raw_rs1 = rnm_stage_io_rnRsp_0_bits_param_raw_rs1; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_phy_rs1 = rnm_stage_io_rnRsp_0_bits_phy_rs1; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_phy_rs2 = rnm_stage_io_rnRsp_0_bits_phy_rs2; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_phy_rs3 = rnm_stage_io_rnRsp_0_bits_phy_rs3; // @[rift2Core.scala 147:19]
  assign iss_stage_io_dptReq_0_bits_phy_rd0 = rnm_stage_io_rnRsp_0_bits_phy_rd0; // @[rift2Core.scala 147:19]
  assign iss_stage_io_alu_iss_exe_0_ready = exe_stage_io_alu_iss_exe_0_ready; // @[rift2Core.scala 154:30]
  assign iss_stage_io_mul_iss_exe_0_ready = exe_stage_io_mul_iss_exe_0_ready; // @[rift2Core.scala 158:30]
  assign iss_stage_io_bru_iss_exe_ready = exe_stage_io_bru_iss_exe_ready; // @[rift2Core.scala 155:30]
  assign iss_stage_io_csr_iss_exe_ready = exe_stage_io_csr_iss_exe_ready; // @[rift2Core.scala 157:30]
  assign iss_stage_io_lsu_iss_exe_ready = exe_stage_io_lsu_iss_exe_ready; // @[rift2Core.scala 156:30]
  assign iss_stage_io_irgLog_0 = iwb_stage_io_irgLog_0; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_1 = iwb_stage_io_irgLog_1; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_2 = iwb_stage_io_irgLog_2; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_3 = iwb_stage_io_irgLog_3; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_4 = iwb_stage_io_irgLog_4; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_5 = iwb_stage_io_irgLog_5; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_6 = iwb_stage_io_irgLog_6; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_7 = iwb_stage_io_irgLog_7; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_8 = iwb_stage_io_irgLog_8; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_9 = iwb_stage_io_irgLog_9; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_10 = iwb_stage_io_irgLog_10; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_11 = iwb_stage_io_irgLog_11; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_12 = iwb_stage_io_irgLog_12; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_13 = iwb_stage_io_irgLog_13; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_14 = iwb_stage_io_irgLog_14; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_15 = iwb_stage_io_irgLog_15; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_16 = iwb_stage_io_irgLog_16; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_17 = iwb_stage_io_irgLog_17; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_18 = iwb_stage_io_irgLog_18; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_19 = iwb_stage_io_irgLog_19; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_20 = iwb_stage_io_irgLog_20; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_21 = iwb_stage_io_irgLog_21; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_22 = iwb_stage_io_irgLog_22; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_23 = iwb_stage_io_irgLog_23; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_24 = iwb_stage_io_irgLog_24; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_25 = iwb_stage_io_irgLog_25; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_26 = iwb_stage_io_irgLog_26; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_27 = iwb_stage_io_irgLog_27; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_28 = iwb_stage_io_irgLog_28; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_29 = iwb_stage_io_irgLog_29; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_30 = iwb_stage_io_irgLog_30; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_31 = iwb_stage_io_irgLog_31; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_32 = iwb_stage_io_irgLog_32; // @[rift2Core.scala 171:25]
  assign iss_stage_io_irgLog_33 = iwb_stage_io_irgLog_33; // @[rift2Core.scala 171:25]
  assign iss_stage_io_frgLog_0 = iwb_stage_io_frgLog_0; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_1 = iwb_stage_io_frgLog_1; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_2 = iwb_stage_io_frgLog_2; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_3 = iwb_stage_io_frgLog_3; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_4 = iwb_stage_io_frgLog_4; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_5 = iwb_stage_io_frgLog_5; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_6 = iwb_stage_io_frgLog_6; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_7 = iwb_stage_io_frgLog_7; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_8 = iwb_stage_io_frgLog_8; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_9 = iwb_stage_io_frgLog_9; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_10 = iwb_stage_io_frgLog_10; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_11 = iwb_stage_io_frgLog_11; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_12 = iwb_stage_io_frgLog_12; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_13 = iwb_stage_io_frgLog_13; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_14 = iwb_stage_io_frgLog_14; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_15 = iwb_stage_io_frgLog_15; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_16 = iwb_stage_io_frgLog_16; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_17 = iwb_stage_io_frgLog_17; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_18 = iwb_stage_io_frgLog_18; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_19 = iwb_stage_io_frgLog_19; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_20 = iwb_stage_io_frgLog_20; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_21 = iwb_stage_io_frgLog_21; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_22 = iwb_stage_io_frgLog_22; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_23 = iwb_stage_io_frgLog_23; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_24 = iwb_stage_io_frgLog_24; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_25 = iwb_stage_io_frgLog_25; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_26 = iwb_stage_io_frgLog_26; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_27 = iwb_stage_io_frgLog_27; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_28 = iwb_stage_io_frgLog_28; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_29 = iwb_stage_io_frgLog_29; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_30 = iwb_stage_io_frgLog_30; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_31 = iwb_stage_io_frgLog_31; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_32 = iwb_stage_io_frgLog_32; // @[rift2Core.scala 172:25]
  assign iss_stage_io_frgLog_33 = iwb_stage_io_frgLog_33; // @[rift2Core.scala 172:25]
  assign iss_stage_io_irgRsp_0_valid = iwb_stage_io_irgRsp_0_valid; // @[rift2Core.scala 175:25]
  assign iss_stage_io_irgRsp_0_bits_phy = iwb_stage_io_irgRsp_0_bits_phy; // @[rift2Core.scala 175:25]
  assign iss_stage_io_irgRsp_0_bits_op = iwb_stage_io_irgRsp_0_bits_op; // @[rift2Core.scala 175:25]
  assign iss_stage_io_irgRsp_1_valid = iwb_stage_io_irgRsp_1_valid; // @[rift2Core.scala 175:25]
  assign iss_stage_io_irgRsp_1_bits_phy = iwb_stage_io_irgRsp_1_bits_phy; // @[rift2Core.scala 175:25]
  assign iss_stage_io_irgRsp_1_bits_op = iwb_stage_io_irgRsp_1_bits_op; // @[rift2Core.scala 175:25]
  assign iss_stage_io_flush = cmm_stage_io_cmmRedirect_valid; // @[rift2Core.scala 230:22]
  assign exe_stage_clock = clock;
  assign exe_stage_reset = reset;
  assign exe_stage_io_alu_iss_exe_0_valid = iss_stage_io_alu_iss_exe_0_valid; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_add = iss_stage_io_alu_iss_exe_0_bits_fun_add; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_slt = iss_stage_io_alu_iss_exe_0_bits_fun_slt; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_xor = iss_stage_io_alu_iss_exe_0_bits_fun_xor; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_or = iss_stage_io_alu_iss_exe_0_bits_fun_or; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_and = iss_stage_io_alu_iss_exe_0_bits_fun_and; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_sll = iss_stage_io_alu_iss_exe_0_bits_fun_sll; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_srl = iss_stage_io_alu_iss_exe_0_bits_fun_srl; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_fun_sra = iss_stage_io_alu_iss_exe_0_bits_fun_sra; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_param_rd0 = iss_stage_io_alu_iss_exe_0_bits_param_rd0; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_param_is_32w = iss_stage_io_alu_iss_exe_0_bits_param_is_32w; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_param_is_usi = iss_stage_io_alu_iss_exe_0_bits_param_is_usi; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_param_dat_op1 = iss_stage_io_alu_iss_exe_0_bits_param_dat_op1; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_iss_exe_0_bits_param_dat_op2 = iss_stage_io_alu_iss_exe_0_bits_param_dat_op2; // @[rift2Core.scala 154:30]
  assign exe_stage_io_alu_exe_iwb_0_ready = iwb_stage_io_alu_iWriteBack_0_ready; // @[rift2Core.scala 179:27]
  assign exe_stage_io_bru_iss_exe_valid = iss_stage_io_bru_iss_exe_valid; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_jalr = iss_stage_io_bru_iss_exe_bits_fun_jalr; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_beq = iss_stage_io_bru_iss_exe_bits_fun_beq; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_bne = iss_stage_io_bru_iss_exe_bits_fun_bne; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_blt = iss_stage_io_bru_iss_exe_bits_fun_blt; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_bge = iss_stage_io_bru_iss_exe_bits_fun_bge; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_bltu = iss_stage_io_bru_iss_exe_bits_fun_bltu; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_fun_bgeu = iss_stage_io_bru_iss_exe_bits_fun_bgeu; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_rd0 = iss_stage_io_bru_iss_exe_bits_param_rd0; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_is_rvc = iss_stage_io_bru_iss_exe_bits_param_is_rvc; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_pc = iss_stage_io_bru_iss_exe_bits_param_pc; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_imm = iss_stage_io_bru_iss_exe_bits_param_imm; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_dat_op1 = iss_stage_io_bru_iss_exe_bits_param_dat_op1; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_iss_exe_bits_param_dat_op2 = iss_stage_io_bru_iss_exe_bits_param_dat_op2; // @[rift2Core.scala 155:30]
  assign exe_stage_io_bru_exe_iwb_ready = iwb_stage_io_bru_iWriteBack_ready; // @[rift2Core.scala 180:27]
  assign exe_stage_io_csr_iss_exe_valid = iss_stage_io_csr_iss_exe_valid; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_fun_rw = iss_stage_io_csr_iss_exe_bits_fun_rw; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_fun_rs = iss_stage_io_csr_iss_exe_bits_fun_rs; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_fun_rc = iss_stage_io_csr_iss_exe_bits_fun_rc; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_param_rd0 = iss_stage_io_csr_iss_exe_bits_param_rd0; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_param_dat_op1 = iss_stage_io_csr_iss_exe_bits_param_dat_op1; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_iss_exe_bits_param_dat_op2 = iss_stage_io_csr_iss_exe_bits_param_dat_op2; // @[rift2Core.scala 157:30]
  assign exe_stage_io_csr_exe_iwb_ready = iwb_stage_io_csr_iWriteBack_ready; // @[rift2Core.scala 181:27]
  assign exe_stage_io_lsu_iss_exe_valid = iss_stage_io_lsu_iss_exe_valid; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lb = iss_stage_io_lsu_iss_exe_bits_fun_lb; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lh = iss_stage_io_lsu_iss_exe_bits_fun_lh; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lw = iss_stage_io_lsu_iss_exe_bits_fun_lw; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_ld = iss_stage_io_lsu_iss_exe_bits_fun_ld; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lbu = iss_stage_io_lsu_iss_exe_bits_fun_lbu; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lhu = iss_stage_io_lsu_iss_exe_bits_fun_lhu; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lwu = iss_stage_io_lsu_iss_exe_bits_fun_lwu; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sb = iss_stage_io_lsu_iss_exe_bits_fun_sb; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sh = iss_stage_io_lsu_iss_exe_bits_fun_sh; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sw = iss_stage_io_lsu_iss_exe_bits_fun_sw; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sd = iss_stage_io_lsu_iss_exe_bits_fun_sd; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_fence = iss_stage_io_lsu_iss_exe_bits_fun_fence; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_fence_i = iss_stage_io_lsu_iss_exe_bits_fun_fence_i; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sfence_vma = iss_stage_io_lsu_iss_exe_bits_fun_sfence_vma; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lr_w = iss_stage_io_lsu_iss_exe_bits_fun_lr_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sc_w = iss_stage_io_lsu_iss_exe_bits_fun_sc_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoswap_w = iss_stage_io_lsu_iss_exe_bits_fun_amoswap_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoadd_w = iss_stage_io_lsu_iss_exe_bits_fun_amoadd_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoxor_w = iss_stage_io_lsu_iss_exe_bits_fun_amoxor_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoand_w = iss_stage_io_lsu_iss_exe_bits_fun_amoand_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoor_w = iss_stage_io_lsu_iss_exe_bits_fun_amoor_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomin_w = iss_stage_io_lsu_iss_exe_bits_fun_amomin_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomax_w = iss_stage_io_lsu_iss_exe_bits_fun_amomax_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amominu_w = iss_stage_io_lsu_iss_exe_bits_fun_amominu_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_w = iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_w; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_lr_d = iss_stage_io_lsu_iss_exe_bits_fun_lr_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_sc_d = iss_stage_io_lsu_iss_exe_bits_fun_sc_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoswap_d = iss_stage_io_lsu_iss_exe_bits_fun_amoswap_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoadd_d = iss_stage_io_lsu_iss_exe_bits_fun_amoadd_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoxor_d = iss_stage_io_lsu_iss_exe_bits_fun_amoxor_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoand_d = iss_stage_io_lsu_iss_exe_bits_fun_amoand_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amoor_d = iss_stage_io_lsu_iss_exe_bits_fun_amoor_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomin_d = iss_stage_io_lsu_iss_exe_bits_fun_amomin_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomax_d = iss_stage_io_lsu_iss_exe_bits_fun_amomax_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amominu_d = iss_stage_io_lsu_iss_exe_bits_fun_amominu_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_amomaxu_d = iss_stage_io_lsu_iss_exe_bits_fun_amomaxu_d; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_flw = iss_stage_io_lsu_iss_exe_bits_fun_flw; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_fsw = iss_stage_io_lsu_iss_exe_bits_fun_fsw; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_fld = iss_stage_io_lsu_iss_exe_bits_fun_fld; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_fun_fsd = iss_stage_io_lsu_iss_exe_bits_fun_fsd; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_param_rd0 = iss_stage_io_lsu_iss_exe_bits_param_rd0; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_param_dat_op1 = iss_stage_io_lsu_iss_exe_bits_param_dat_op1; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_iss_exe_bits_param_dat_op2 = iss_stage_io_lsu_iss_exe_bits_param_dat_op2; // @[rift2Core.scala 156:30]
  assign exe_stage_io_lsu_exe_iwb_ready = iwb_stage_io_mem_iWriteBack_ready; // @[rift2Core.scala 182:27]
  assign exe_stage_io_lsu_exe_fwb_ready = iwb_stage_io_mem_fWriteBack_ready; // @[rift2Core.scala 183:27]
  assign exe_stage_io_mul_iss_exe_0_valid = iss_stage_io_mul_iss_exe_0_valid; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_mul = iss_stage_io_mul_iss_exe_0_bits_fun_mul; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_mulh = iss_stage_io_mul_iss_exe_0_bits_fun_mulh; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_mulhsu = iss_stage_io_mul_iss_exe_0_bits_fun_mulhsu; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_mulhu = iss_stage_io_mul_iss_exe_0_bits_fun_mulhu; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_div = iss_stage_io_mul_iss_exe_0_bits_fun_div; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_divu = iss_stage_io_mul_iss_exe_0_bits_fun_divu; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_rem = iss_stage_io_mul_iss_exe_0_bits_fun_rem; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_remu = iss_stage_io_mul_iss_exe_0_bits_fun_remu; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_mulw = iss_stage_io_mul_iss_exe_0_bits_fun_mulw; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_divw = iss_stage_io_mul_iss_exe_0_bits_fun_divw; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_divuw = iss_stage_io_mul_iss_exe_0_bits_fun_divuw; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_remw = iss_stage_io_mul_iss_exe_0_bits_fun_remw; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_fun_remuw = iss_stage_io_mul_iss_exe_0_bits_fun_remuw; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_param_rd0 = iss_stage_io_mul_iss_exe_0_bits_param_rd0; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_param_dat_op1 = iss_stage_io_mul_iss_exe_0_bits_param_dat_op1; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_iss_exe_0_bits_param_dat_op2 = iss_stage_io_mul_iss_exe_0_bits_param_dat_op2; // @[rift2Core.scala 158:30]
  assign exe_stage_io_mul_exe_iwb_0_ready = iwb_stage_io_mul_iWriteBack_0_ready; // @[rift2Core.scala 184:27]
  assign exe_stage_io_fpu_iss_exe_0_valid = iss_stage_io_fpu_iss_exe_0_valid; // @[rift2Core.scala 159:30]
  assign exe_stage_io_bftq_valid = if4_io_bftq_valid; // @[rift2Core.scala 216:23]
  assign exe_stage_io_bftq_bits_pc = if4_io_bftq_bits_pc; // @[rift2Core.scala 216:23]
  assign exe_stage_io_bftq_bits_bimResp_bim_p = if4_io_bftq_bits_bimResp_bim_p; // @[rift2Core.scala 216:23]
  assign exe_stage_io_bftq_bits_bimResp_bim_h = if4_io_bftq_bits_bimResp_bim_h; // @[rift2Core.scala 216:23]
  assign exe_stage_io_bftq_bits_isPredictTaken = if4_io_bftq_bits_isPredictTaken; // @[rift2Core.scala 216:23]
  assign exe_stage_io_jftq_valid = if4_io_jftq_valid; // @[rift2Core.scala 217:23]
  assign exe_stage_io_jftq_bits_pc = if4_io_jftq_bits_pc; // @[rift2Core.scala 217:23]
  assign exe_stage_io_jftq_bits_btbResp_target = if4_io_jftq_bits_btbResp_target; // @[rift2Core.scala 217:23]
  assign exe_stage_io_jftq_bits_rasResp_target = if4_io_jftq_bits_rasResp_target; // @[rift2Core.scala 217:23]
  assign exe_stage_io_jftq_bits_isRas = if4_io_jftq_bits_isRas; // @[rift2Core.scala 217:23]
  assign exe_stage_io_bctq_ready = cmm_stage_io_bctq_ready; // @[rift2Core.scala 244:21]
  assign exe_stage_io_jctq_ready = cmm_stage_io_jctq_ready; // @[rift2Core.scala 245:21]
  assign exe_stage_io_csr_data_valid = cmm_stage_io_csr_data_valid; // @[rift2Core.scala 240:25]
  assign exe_stage_io_csr_data_bits = cmm_stage_io_csr_data_bits; // @[rift2Core.scala 240:25]
  assign exe_stage_io_csr_cmm_op_ready = cmm_stage_io_csr_cmm_op_ready; // @[rift2Core.scala 241:27]
  assign exe_stage_io_lsu_mmu_ready = i_mmu_io_lsu_mmu_ready; // @[rift2Core.scala 200:20]
  assign exe_stage_io_mmu_lsu_valid = i_mmu_io_mmu_lsu_valid; // @[rift2Core.scala 201:20]
  assign exe_stage_io_mmu_lsu_bits_paddr = i_mmu_io_mmu_lsu_bits_paddr; // @[rift2Core.scala 201:20]
  assign exe_stage_io_mmu_lsu_bits_is_paging_fault = i_mmu_io_mmu_lsu_bits_is_paging_fault; // @[rift2Core.scala 201:20]
  assign exe_stage_io_mmu_lsu_bits_is_access_fault = i_mmu_io_mmu_lsu_bits_is_access_fault; // @[rift2Core.scala 201:20]
  assign exe_stage_io_cmm_lsu_is_amo_pending = cmm_stage_io_cmm_lsu_is_amo_pending; // @[rift2Core.scala 237:24]
  assign exe_stage_io_cmm_lsu_is_store_commit_0 = cmm_stage_io_cmm_lsu_is_store_commit_0; // @[rift2Core.scala 237:24]
  assign exe_stage_io_missUnit_dcache_acquire_ready = auto_dcache_client_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grant_valid = auto_dcache_client_out_d_valid & (
    auto_dcache_client_out_d_bits_opcode == 3'h4 | auto_dcache_client_out_d_bits_opcode == 3'h5); // @[rift2Core.scala 274:72]
  assign exe_stage_io_missUnit_dcache_grant_bits_opcode = auto_dcache_client_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grant_bits_size = auto_dcache_client_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grant_bits_source = auto_dcache_client_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grant_bits_sink = auto_dcache_client_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grant_bits_data = auto_dcache_client_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_missUnit_dcache_grantAck_ready = auto_dcache_client_out_e_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_probeUnit_dcache_probe_valid = auto_dcache_client_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_probeUnit_dcache_probe_bits_address = auto_dcache_client_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_writeBackUnit_dcache_release_ready = auto_dcache_client_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_writeBackUnit_dcache_grant_valid = auto_dcache_client_out_d_valid &
    auto_dcache_client_out_d_bits_opcode == 3'h6; // @[rift2Core.scala 277:77]
  assign exe_stage_io_writeBackUnit_dcache_grant_bits_source = auto_dcache_client_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_system_getPut_ready = auto_system_client_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_system_access_valid = auto_system_client_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_system_access_bits_opcode = auto_system_client_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_system_access_bits_data = auto_system_client_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_periph_getPut_ready = auto_periph_client_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_periph_access_valid = auto_periph_client_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_periph_access_bits_opcode = auto_periph_client_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_periph_access_bits_data = auto_periph_client_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign exe_stage_io_flush = cmm_stage_io_cmmRedirect_valid; // @[rift2Core.scala 231:22]
  assign iwb_stage_clock = clock;
  assign iwb_stage_reset = reset;
  assign iwb_stage_io_xLookup_0_req_rs1 = rnm_stage_io_xLookup_0_req_rs1; // @[rift2Core.scala 166:20]
  assign iwb_stage_io_xLookup_0_req_rs2 = rnm_stage_io_xLookup_0_req_rs2; // @[rift2Core.scala 166:20]
  assign iwb_stage_io_xRename_0_req_valid = rnm_stage_io_xRename_0_req_valid; // @[rift2Core.scala 168:20]
  assign iwb_stage_io_xRename_0_req_bits_rd0 = rnm_stage_io_xRename_0_req_bits_rd0; // @[rift2Core.scala 168:20]
  assign iwb_stage_io_irgReq_0_valid = iss_stage_io_irgReq_0_valid; // @[rift2Core.scala 173:19]
  assign iwb_stage_io_irgReq_0_bits = iss_stage_io_irgReq_0_bits; // @[rift2Core.scala 173:19]
  assign iwb_stage_io_irgReq_1_valid = iss_stage_io_irgReq_1_valid; // @[rift2Core.scala 173:19]
  assign iwb_stage_io_irgReq_1_bits = iss_stage_io_irgReq_1_bits; // @[rift2Core.scala 173:19]
  assign iwb_stage_io_alu_iWriteBack_0_valid = exe_stage_io_alu_exe_iwb_0_valid; // @[rift2Core.scala 179:27]
  assign iwb_stage_io_alu_iWriteBack_0_bits_rd0 = exe_stage_io_alu_exe_iwb_0_bits_rd0; // @[rift2Core.scala 179:27]
  assign iwb_stage_io_alu_iWriteBack_0_bits_res = exe_stage_io_alu_exe_iwb_0_bits_res; // @[rift2Core.scala 179:27]
  assign iwb_stage_io_bru_iWriteBack_valid = exe_stage_io_bru_exe_iwb_valid; // @[rift2Core.scala 180:27]
  assign iwb_stage_io_bru_iWriteBack_bits_rd0 = exe_stage_io_bru_exe_iwb_bits_rd0; // @[rift2Core.scala 180:27]
  assign iwb_stage_io_bru_iWriteBack_bits_res = exe_stage_io_bru_exe_iwb_bits_res; // @[rift2Core.scala 180:27]
  assign iwb_stage_io_csr_iWriteBack_valid = exe_stage_io_csr_exe_iwb_valid; // @[rift2Core.scala 181:27]
  assign iwb_stage_io_csr_iWriteBack_bits_rd0 = exe_stage_io_csr_exe_iwb_bits_rd0; // @[rift2Core.scala 181:27]
  assign iwb_stage_io_csr_iWriteBack_bits_res = exe_stage_io_csr_exe_iwb_bits_res; // @[rift2Core.scala 181:27]
  assign iwb_stage_io_mem_iWriteBack_valid = exe_stage_io_lsu_exe_iwb_valid; // @[rift2Core.scala 182:27]
  assign iwb_stage_io_mem_iWriteBack_bits_rd0 = exe_stage_io_lsu_exe_iwb_bits_rd0; // @[rift2Core.scala 182:27]
  assign iwb_stage_io_mem_iWriteBack_bits_res = exe_stage_io_lsu_exe_iwb_bits_res; // @[rift2Core.scala 182:27]
  assign iwb_stage_io_mul_iWriteBack_0_valid = exe_stage_io_mul_exe_iwb_0_valid; // @[rift2Core.scala 184:27]
  assign iwb_stage_io_mul_iWriteBack_0_bits_rd0 = exe_stage_io_mul_exe_iwb_0_bits_rd0; // @[rift2Core.scala 184:27]
  assign iwb_stage_io_mul_iWriteBack_0_bits_res = exe_stage_io_mul_exe_iwb_0_bits_res; // @[rift2Core.scala 184:27]
  assign iwb_stage_io_fpu_iWriteBack_0_valid = exe_stage_io_fpu_exe_iwb_0_valid; // @[rift2Core.scala 185:27]
  assign iwb_stage_io_fpu_iWriteBack_0_bits_rd0 = exe_stage_io_fpu_exe_iwb_0_bits_rd0; // @[rift2Core.scala 185:27]
  assign iwb_stage_io_fpu_iWriteBack_0_bits_res = exe_stage_io_fpu_exe_iwb_0_bits_res; // @[rift2Core.scala 185:27]
  assign iwb_stage_io_mem_fWriteBack_valid = exe_stage_io_lsu_exe_fwb_valid; // @[rift2Core.scala 183:27]
  assign iwb_stage_io_fpu_fWriteBack_0_valid = exe_stage_io_fpu_exe_fwb_0_valid; // @[rift2Core.scala 186:27]
  assign iwb_stage_io_commit_0_is_comfirm = cmm_stage_io_cm_op_0_is_comfirm; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_is_MisPredict = cmm_stage_io_cm_op_0_is_MisPredict; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_is_abort = cmm_stage_io_cm_op_0_is_abort; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_raw = cmm_stage_io_cm_op_0_raw; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_phy = cmm_stage_io_cm_op_0_phy; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_toX = cmm_stage_io_cm_op_0_toX; // @[rift2Core.scala 235:22]
  assign iwb_stage_io_commit_0_toF = cmm_stage_io_cm_op_0_toF; // @[rift2Core.scala 235:22]
  assign cmm_stage_clock = clock;
  assign cmm_stage_reset = reset;
  assign cmm_stage_io_cm_op_0_is_writeback = iwb_stage_io_commit_0_is_writeback; // @[rift2Core.scala 235:22]
  assign cmm_stage_io_rod_0_valid = rnm_stage_io_rod_i_0_valid; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_pc = rnm_stage_io_rod_i_0_bits_pc; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_rd0_raw = rnm_stage_io_rod_i_0_bits_rd0_raw; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_rd0_phy = rnm_stage_io_rod_i_0_bits_rd0_phy; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_branch = rnm_stage_io_rod_i_0_bits_is_branch; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_jalr = rnm_stage_io_rod_i_0_bits_is_jalr; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_lu = rnm_stage_io_rod_i_0_bits_is_lu; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_su = rnm_stage_io_rod_i_0_bits_is_su; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_amo = rnm_stage_io_rod_i_0_bits_is_amo; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_fence_i = rnm_stage_io_rod_i_0_bits_is_fence_i; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_sfence_vma = rnm_stage_io_rod_i_0_bits_is_sfence_vma; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_wfi = rnm_stage_io_rod_i_0_bits_is_wfi; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_csr = rnm_stage_io_rod_i_0_bits_is_csr; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_fpu = rnm_stage_io_rod_i_0_bits_is_fpu; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_fcsr = rnm_stage_io_rod_i_0_bits_is_fcsr; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_xcmm = rnm_stage_io_rod_i_0_bits_is_xcmm; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_fcmm = rnm_stage_io_rod_i_0_bits_is_fcmm; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_ecall = rnm_stage_io_rod_i_0_bits_privil_ecall; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_ebreak = rnm_stage_io_rod_i_0_bits_privil_ebreak; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_mret = rnm_stage_io_rod_i_0_bits_privil_mret; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_sret = rnm_stage_io_rod_i_0_bits_privil_sret; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_dret = rnm_stage_io_rod_i_0_bits_privil_dret; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_is_access_fault = rnm_stage_io_rod_i_0_bits_privil_is_access_fault; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_privil_is_paging_fault = rnm_stage_io_rod_i_0_bits_privil_is_paging_fault; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_rod_0_bits_is_illeage = rnm_stage_io_rod_i_0_bits_is_illeage; // @[rift2Core.scala 236:20]
  assign cmm_stage_io_lsu_cmm_is_access_fault = exe_stage_io_lsu_cmm_is_access_fault; // @[rift2Core.scala 238:24]
  assign cmm_stage_io_lsu_cmm_is_paging_fault = exe_stage_io_lsu_cmm_is_paging_fault; // @[rift2Core.scala 238:24]
  assign cmm_stage_io_lsu_cmm_is_misAlign = exe_stage_io_lsu_cmm_is_misAlign; // @[rift2Core.scala 238:24]
  assign cmm_stage_io_lsu_cmm_trap_addr = exe_stage_io_lsu_cmm_trap_addr; // @[rift2Core.scala 238:24]
  assign cmm_stage_io_csr_addr_valid = exe_stage_io_csr_addr_valid; // @[rift2Core.scala 239:25]
  assign cmm_stage_io_csr_addr_bits = exe_stage_io_csr_addr_bits; // @[rift2Core.scala 239:25]
  assign cmm_stage_io_csr_cmm_op_valid = exe_stage_io_csr_cmm_op_valid; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_csr_cmm_op_bits_addr = exe_stage_io_csr_cmm_op_bits_addr; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_csr_cmm_op_bits_dat_i = exe_stage_io_csr_cmm_op_bits_dat_i; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_csr_cmm_op_bits_op_rw = exe_stage_io_csr_cmm_op_bits_op_rw; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_csr_cmm_op_bits_op_rs = exe_stage_io_csr_cmm_op_bits_op_rs; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_csr_cmm_op_bits_op_rc = exe_stage_io_csr_cmm_op_bits_op_rc; // @[rift2Core.scala 241:27]
  assign cmm_stage_io_bctq_valid = exe_stage_io_bctq_valid; // @[rift2Core.scala 244:21]
  assign cmm_stage_io_bctq_bits_isPredictTaken = exe_stage_io_bctq_bits_isPredictTaken; // @[rift2Core.scala 244:21]
  assign cmm_stage_io_bctq_bits_isFinalTaken = exe_stage_io_bctq_bits_isFinalTaken; // @[rift2Core.scala 244:21]
  assign cmm_stage_io_bctq_bits_finalTarget = exe_stage_io_bctq_bits_finalTarget; // @[rift2Core.scala 244:21]
  assign cmm_stage_io_jctq_valid = exe_stage_io_jctq_valid; // @[rift2Core.scala 245:21]
  assign cmm_stage_io_jctq_bits_btbResp_target = exe_stage_io_jctq_bits_btbResp_target; // @[rift2Core.scala 245:21]
  assign cmm_stage_io_jctq_bits_rasResp_target = exe_stage_io_jctq_bits_rasResp_target; // @[rift2Core.scala 245:21]
  assign cmm_stage_io_jctq_bits_isRas = exe_stage_io_jctq_bits_isRas; // @[rift2Core.scala 245:21]
  assign cmm_stage_io_jctq_bits_finalTarget = exe_stage_io_jctq_bits_finalTarget; // @[rift2Core.scala 245:21]
  assign cmm_stage_io_if_cmm_ill_vaddr = if2_io_if_cmm_ill_vaddr; // @[rift2Core.scala 247:23]
  assign cmm_stage_io_fcsr_cmm_op_0_valid = exe_stage_io_fcsr_cmm_op_0_valid; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_fcsr_cmm_op_0_bits_addr = exe_stage_io_fcsr_cmm_op_0_bits_addr; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_fcsr_cmm_op_0_bits_dat_i = exe_stage_io_fcsr_cmm_op_0_bits_dat_i; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_fcsr_cmm_op_0_bits_op_rw = exe_stage_io_fcsr_cmm_op_0_bits_op_rw; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_fcsr_cmm_op_0_bits_op_rs = exe_stage_io_fcsr_cmm_op_0_bits_op_rs; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_fcsr_cmm_op_0_bits_op_rc = exe_stage_io_fcsr_cmm_op_0_bits_op_rc; // @[rift2Core.scala 243:28]
  assign cmm_stage_io_dm_hartResetReq = io_dm_hartResetReq; // @[rift2Core.scala 254:37]
  assign cmm_stage_io_dm_hartHaltReq = io_dm_hartHaltReq; // @[rift2Core.scala 254:37]
  assign cmm_stage_io_rtc_clock = io_rtc_clock; // @[rift2Core.scala 253:26]
  assign cmm_stage_io_aclint_msi = io_aclint_msi; // @[rift2Core.scala 248:23]
  assign cmm_stage_io_aclint_mti = io_aclint_mti; // @[rift2Core.scala 248:23]
  assign cmm_stage_io_aclint_ssi = io_aclint_ssi; // @[rift2Core.scala 248:23]
  assign cmm_stage_io_aclint_sti = io_aclint_sti; // @[rift2Core.scala 248:23]
  assign cmm_stage_io_plic_mei = io_plic_mei; // @[rift2Core.scala 249:21]
  assign cmm_stage_io_plic_sei = io_plic_sei; // @[rift2Core.scala 249:21]
  assign i_mmu_clock = clock;
  assign i_mmu_reset = reset;
  assign i_mmu_io_if_mmu_valid = if2_io_if_mmu_valid; // @[rift2Core.scala 198:19]
  assign i_mmu_io_if_mmu_bits_is_X = if2_io_if_mmu_bits_is_X; // @[rift2Core.scala 198:19]
  assign i_mmu_io_if_mmu_bits_vaddr = if2_io_if_mmu_bits_vaddr; // @[rift2Core.scala 198:19]
  assign i_mmu_io_mmu_if_ready = if2_io_mmu_if_ready; // @[rift2Core.scala 199:19]
  assign i_mmu_io_if_flush = if2_io_flush; // @[rift2Core.scala 222:21]
  assign i_mmu_io_lsu_mmu_valid = exe_stage_io_lsu_mmu_valid; // @[rift2Core.scala 200:20]
  assign i_mmu_io_lsu_mmu_bits_is_X = exe_stage_io_lsu_mmu_bits_is_X; // @[rift2Core.scala 200:20]
  assign i_mmu_io_lsu_mmu_bits_is_W = exe_stage_io_lsu_mmu_bits_is_W; // @[rift2Core.scala 200:20]
  assign i_mmu_io_lsu_mmu_bits_is_R = exe_stage_io_lsu_mmu_bits_is_R; // @[rift2Core.scala 200:20]
  assign i_mmu_io_lsu_mmu_bits_vaddr = exe_stage_io_lsu_mmu_bits_vaddr; // @[rift2Core.scala 200:20]
  assign i_mmu_io_mmu_lsu_ready = exe_stage_io_mmu_lsu_ready; // @[rift2Core.scala 201:20]
  assign i_mmu_io_lsu_flush = exe_stage_io_flush; // @[rift2Core.scala 223:22]
  assign i_mmu_io_cmm_mmu_satp = cmm_stage_io_cmm_mmu_satp; // @[rift2Core.scala 202:20]
  assign i_mmu_io_cmm_mmu_priv_lvl_if = cmm_stage_io_cmm_mmu_priv_lvl_if; // @[rift2Core.scala 202:20]
  assign i_mmu_io_cmm_mmu_priv_lvl_ls = cmm_stage_io_cmm_mmu_priv_lvl_ls; // @[rift2Core.scala 202:20]
  assign i_mmu_io_cmm_mmu_mstatus = cmm_stage_io_cmm_mmu_mstatus; // @[rift2Core.scala 202:20]
  assign i_mmu_io_cmm_mmu_sstatus = cmm_stage_io_cmm_mmu_sstatus; // @[rift2Core.scala 202:20]
  assign i_mmu_io_cmm_mmu_sfence_vma = cmm_stage_io_cmm_mmu_sfence_vma; // @[rift2Core.scala 202:20]
  assign i_mmu_io_ptw_get_ready = auto_mmu_client_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign i_mmu_io_ptw_access_valid = auto_mmu_client_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign i_mmu_io_ptw_access_bits_opcode = auto_mmu_client_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign i_mmu_io_ptw_access_bits_size = auto_mmu_client_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign i_mmu_io_ptw_access_bits_source = auto_mmu_client_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign i_mmu_io_ptw_access_bits_data = auto_mmu_client_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign if2_datRAM_0_datMem_0_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_1_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_2_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_3_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_4_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_5_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_6_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_7_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_8_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_9_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_10_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_11_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_12_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_13_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_14_clock = if2_datRAM_0_clock;
  assign if2_datRAM_0_datMem_15_clock = if2_datRAM_0_clock;
  assign if2_datRAM_1_datMem_0_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_1_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_2_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_3_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_4_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_5_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_6_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_7_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_8_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_9_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_10_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_11_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_12_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_13_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_14_clock = if2_datRAM_1_clock;
  assign if2_datRAM_1_datMem_15_clock = if2_datRAM_1_clock;
  assign if2_tagRAM_0_tagMem_clock = if2_tagRAM_0_clock;
  assign if2_tagRAM_1_tagMem_clock = if2_tagRAM_1_clock;
  assign if3_btb_bypassFifo_ram_target_clock = if3_btb_bypassFifo_clock;
  assign if3_btb_btb_table_target_clock = if3_btb_clock;
  assign if3_bim_bim_P_clock = if3_bim_clock;
  assign if3_bim_bim_H_clock = if3_bim_clock;
  assign if3_bim_bypassFifo_ram_0_clock = if3_bim_bypassFifo_clock;
  assign if3_bim_bypassFifo_ram_1_clock = if3_bim_bypassFifo_clock;
  assign if4_ras_buf_target_clock = if4_ras_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_add_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_slt_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_xor_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_or_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_and_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_sll_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_srl_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_fun_sra_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_param_rd0_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_param_is_32w_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_param_is_usi_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op1_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_aluIssFifo_0_ram_param_dat_op2_clock = iss_stage_aluIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_mul_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_mulh_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhsu_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_mulhu_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_div_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_divu_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_rem_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_remu_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_mulw_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_divw_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_divuw_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_remw_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_fun_remuw_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_param_rd0_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op1_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_mulIssFifo_0_ram_param_dat_op2_clock = iss_stage_mulIssFifo_0_clock;
  assign iss_stage_bruIssFifo_ram_fun_jalr_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_beq_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_bne_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_blt_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_bge_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_bltu_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_fun_bgeu_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_rd0_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_is_rvc_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_pc_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_imm_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_dat_op1_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_bruIssFifo_ram_param_dat_op2_clock = iss_stage_bruIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_fun_rw_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_fun_rs_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_fun_rc_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_param_rd0_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_param_dat_op1_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_csrIssFifo_ram_param_dat_op2_clock = iss_stage_csrIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lb_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lh_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lw_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_ld_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lbu_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lhu_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lwu_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sb_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sh_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sw_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sd_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_fence_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_fence_i_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sfence_vma_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lr_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sc_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_w_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_lr_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_sc_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoswap_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoadd_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoxor_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoand_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amoor_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomin_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomax_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amominu_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_amomaxu_d_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_flw_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_fsw_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_fld_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_fun_fsd_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_param_rd0_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_param_dat_op1_clock = iss_stage_lsuIssFifo_clock;
  assign iss_stage_lsuIssFifo_ram_param_dat_op2_clock = iss_stage_lsuIssFifo_clock;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_clock = exe_stage_alu_0_alu_exe_iwb_fifo_clock;
  assign exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_clock = exe_stage_alu_0_alu_exe_iwb_fifo_clock;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_clock = exe_stage_bru_bru_exe_iwb_fifo_clock;
  assign exe_stage_bru_bru_exe_iwb_fifo_ram_res_clock = exe_stage_bru_bru_exe_iwb_fifo_clock;
  assign exe_stage_bru_bctq_ram_pc_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_bctq_ram_bimResp_bim_p_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_bctq_ram_bimResp_bim_h_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_bctq_ram_isPredictTaken_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_bctq_ram_isFinalTaken_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_bctq_ram_finalTarget_clock = exe_stage_bru_bctq_clock;
  assign exe_stage_bru_jctq_ram_pc_clock = exe_stage_bru_jctq_clock;
  assign exe_stage_bru_jctq_ram_btbResp_target_clock = exe_stage_bru_jctq_clock;
  assign exe_stage_bru_jctq_ram_rasResp_target_clock = exe_stage_bru_jctq_clock;
  assign exe_stage_bru_jctq_ram_isRas_clock = exe_stage_bru_jctq_clock;
  assign exe_stage_bru_jctq_ram_finalTarget_clock = exe_stage_bru_jctq_clock;
  assign exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_clock = exe_stage_lsu_cache_0_probeUnit_probe_fifo_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_clock = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock
    ;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_clock = exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_clock =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_clock =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_clock =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  assign exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_clock =
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_paddr_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wdata_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_wstrb_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_clock = exe_stage_lsu_cache_0_lsEntry_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_clock = exe_stage_lsu_cache_0_rtn_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_paddr_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wdata_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_clock = exe_stage_lsu_cache_0_reload_fifo_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_clock = exe_stage_lsu_cache_0_stage_datRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_clock = exe_stage_lsu_cache_0_stage_datRAM_1_clock;
  assign exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_clock = exe_stage_lsu_cache_0_stage_tagRAM_0_clock;
  assign exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_clock = exe_stage_lsu_cache_0_stage_tagRAM_1_clock;
  assign exe_stage_lsu_lu_wb_fifo_ram_rd0_clock = exe_stage_lsu_lu_wb_fifo_clock;
  assign exe_stage_lsu_lu_wb_fifo_ram_res_clock = exe_stage_lsu_lu_wb_fifo_clock;
  assign exe_stage_lsu_su_wb_fifo_ram_rd0_clock = exe_stage_lsu_su_wb_fifo_clock;
  assign exe_stage_lsu_su_wb_fifo_ram_res_clock = exe_stage_lsu_su_wb_fifo_clock;
  assign exe_stage_lsu_fe_wb_fifo_ram_rd0_clock = exe_stage_lsu_fe_wb_fifo_clock;
  assign exe_stage_lsu_fe_wb_fifo_ram_res_clock = exe_stage_lsu_fe_wb_fifo_clock;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_clock = exe_stage_csr_csr_exe_iwb_fifo_clock;
  assign exe_stage_csr_csr_exe_iwb_fifo_ram_res_clock = exe_stage_csr_csr_exe_iwb_fifo_clock;
  assign exe_stage_csr_csr_op_fifo_ram_addr_clock = exe_stage_csr_csr_op_fifo_clock;
  assign exe_stage_csr_csr_op_fifo_ram_dat_i_clock = exe_stage_csr_csr_op_fifo_clock;
  assign exe_stage_csr_csr_op_fifo_ram_op_rw_clock = exe_stage_csr_csr_op_fifo_clock;
  assign exe_stage_csr_csr_op_fifo_ram_op_rs_clock = exe_stage_csr_csr_op_fifo_clock;
  assign exe_stage_csr_csr_op_fifo_ram_op_rc_clock = exe_stage_csr_csr_op_fifo_clock;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_clock = exe_stage_mulDiv_0_mul_exe_iwb_fifo_clock;
  assign exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_clock = exe_stage_mulDiv_0_mul_exe_iwb_fifo_clock;
  always @(posedge if1_clock) begin
    if (if1_reset) begin // @[IF1.scala 42:24]
      if1_pc_qout <= 64'h80000000; // @[IF1.scala 42:24]
    end else if (if1_reset) begin // @[IF1.scala 113:21]
      if1_pc_qout <= 64'h80000000; // @[IF1.scala 113:31]
    end else if (if1_io_cmmRedirect_valid) begin // @[IF1.scala 114:36]
      if1_pc_qout <= if1_io_cmmRedirect_bits_pc; // @[IF1.scala 114:46]
    end else if (if1_io_if4Redirect_valid) begin // @[IF1.scala 115:36]
      if1_pc_qout <= if1__pc_qout_v64_T_4; // @[IF1.scala 115:46]
    end else begin
      if1_pc_qout <= if1__GEN_0;
    end
  end
  always @(posedge if2_ibuf_clock) begin
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_0_pc <= if2_ibuf__GEN_1480;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_0_instr <= if2_ibuf__GEN_1488;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_0_isFault <= if2_ibuf__GEN_1496;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h0 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_0_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_0_isRedirect <= if2_ibuf__GEN_1504;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_1_pc <= if2_ibuf__GEN_1481;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_1_instr <= if2_ibuf__GEN_1489;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_1_isFault <= if2_ibuf__GEN_1497;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h1 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_1_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_1_isRedirect <= if2_ibuf__GEN_1505;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_2_pc <= if2_ibuf__GEN_1482;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_2_instr <= if2_ibuf__GEN_1490;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_2_isFault <= if2_ibuf__GEN_1498;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h2 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_2_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_2_isRedirect <= if2_ibuf__GEN_1506;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_3_pc <= if2_ibuf__GEN_1483;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_3_instr <= if2_ibuf__GEN_1491;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_3_isFault <= if2_ibuf__GEN_1499;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h3 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_3_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_3_isRedirect <= if2_ibuf__GEN_1507;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_4_pc <= if2_ibuf__GEN_1484;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_4_instr <= if2_ibuf__GEN_1492;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_4_isFault <= if2_ibuf__GEN_1500;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h4 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_4_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_4_isRedirect <= if2_ibuf__GEN_1508;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_5_pc <= if2_ibuf__GEN_1485;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_5_instr <= if2_ibuf__GEN_1493;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_5_isFault <= if2_ibuf__GEN_1501;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h5 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_5_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_5_isRedirect <= if2_ibuf__GEN_1509;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_6_pc <= if2_ibuf__GEN_1486;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_6_instr <= if2_ibuf__GEN_1494;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_6_isFault <= if2_ibuf__GEN_1502;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h6 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_6_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_6_isRedirect <= if2_ibuf__GEN_1510;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_pc <= if2_ibuf__buf_T_25_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_7_pc <= if2_ibuf__GEN_1487;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_instr <= if2_ibuf__buf_T_25_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_7_instr <= if2_ibuf__GEN_1495;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isFault <= if2_ibuf__buf_T_25_isFault; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_7_isFault <= if2_ibuf__GEN_1503;
      end
    end
    if (!(if2_ibuf_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else if (3'h7 == if2_ibuf__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if2_ibuf_buf_7_isRedirect <= if2_ibuf__buf_T_25_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if2_ibuf_buf_7_isRedirect <= if2_ibuf__GEN_1511;
      end
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h0 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_0 <= if2_ibuf__GEN_1752;
      end
    end else begin
      if2_ibuf_buf_valid_0 <= if2_ibuf__GEN_1752;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h1 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_1 <= if2_ibuf__GEN_1753;
      end
    end else begin
      if2_ibuf_buf_valid_1 <= if2_ibuf__GEN_1753;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h2 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_2 <= if2_ibuf__GEN_1754;
      end
    end else begin
      if2_ibuf_buf_valid_2 <= if2_ibuf__GEN_1754;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h3 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_3 <= if2_ibuf__GEN_1755;
      end
    end else begin
      if2_ibuf_buf_valid_3 <= if2_ibuf__GEN_1755;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h4 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_4 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_4 <= if2_ibuf__GEN_1756;
      end
    end else begin
      if2_ibuf_buf_valid_4 <= if2_ibuf__GEN_1756;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h5 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_5 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_5 <= if2_ibuf__GEN_1757;
      end
    end else begin
      if2_ibuf_buf_valid_5 <= if2_ibuf__GEN_1757;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h6 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_6 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_6 <= if2_ibuf__GEN_1758;
      end
    end else begin
      if2_ibuf_buf_valid_6 <= if2_ibuf__GEN_1758;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 58:30]
      if2_ibuf_buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if2_ibuf__T_7) begin // @[MultiPortFifo.scala 98:34]
      if (3'h7 == if2_ibuf__io_deq_3_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if2_ibuf_buf_valid_7 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if2_ibuf_buf_valid_7 <= if2_ibuf__GEN_1759;
      end
    end else begin
      if2_ibuf_buf_valid_7 <= if2_ibuf__GEN_1759;
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 60:27]
      if2_ibuf_rd_ptr <= 3'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_rd_ptr <= 3'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if2_ibuf_rd_ptr <= if2_ibuf__rd_ptr_T_5; // @[MultiPortFifo.scala 106:16]
    end
    if (if2_ibuf_reset) begin // @[MultiPortFifo.scala 61:27]
      if2_ibuf_wr_ptr <= 3'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if2_ibuf_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if2_ibuf_wr_ptr <= 3'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if2_ibuf_wr_ptr <= if2_ibuf__wr_ptr_T_5; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_40) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_37 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_76) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_73 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_85) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_82 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_112) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_109 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_121) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_118 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_130) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_127 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_148) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_145 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_157) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_154 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_166) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_163 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_175) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_172 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_184) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_181 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_220) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_217 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_229) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_226 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_256) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_253 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_265) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_262 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_274) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_271 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_292) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_289 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_301) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_298 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_310) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_307 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_39 & if2_ibuf__T_319) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_316 & if2_ibuf__T_39) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_8 & if2_ibuf__T_39 & if2_ibuf__T_325) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T & (if2_ibuf__T_8 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_16 & if2_ibuf__T_39 & if2_ibuf__T_325) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T & (if2_ibuf__T_16 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_16 & if2_ibuf__T_39 & if2_ibuf__T_334) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_8 & (if2_ibuf__T_16 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_24 & if2_ibuf__T_39 & if2_ibuf__T_325) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T & (if2_ibuf__T_24 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_24 & if2_ibuf__T_39 & if2_ibuf__T_334) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_8 & (if2_ibuf__T_24 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_24 & if2_ibuf__T_39 & if2_ibuf__T_347) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_16 & (if2_ibuf__T_24 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_3 & if2_ibuf__T_39 & if2_ibuf__T_353) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_1 & (if2_ibuf__T_3 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_5 & if2_ibuf__T_39 & if2_ibuf__T_353) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_1 & (if2_ibuf__T_5 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_5 & if2_ibuf__T_39 & if2_ibuf__T_362) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_3 & (if2_ibuf__T_5 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_7 & if2_ibuf__T_39 & if2_ibuf__T_353) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_1 & (if2_ibuf__T_7 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_7 & if2_ibuf__T_39 & if2_ibuf__T_362) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_3 & (if2_ibuf__T_7 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_ibuf__T_7 & if2_ibuf__T_39 & if2_ibuf__T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:177 assert( io.deq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 177:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_ibuf__T_5 & (if2_ibuf__T_7 & if2_ibuf__T_39)) begin
          $fatal; // @[MultiPortFifo.scala 177:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if2_datRAM_0_datMem_0_clock) begin
    if (if2_datRAM_0_datMem_0_MPORT_1_en & if2_datRAM_0_datMem_0_MPORT_1_mask) begin
      if2_datRAM_0_datMem_0[if2_datRAM_0_datMem_0_MPORT_1_addr] <= if2_datRAM_0_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_0_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_0_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_1_clock) begin
    if (if2_datRAM_0_datMem_1_MPORT_1_en & if2_datRAM_0_datMem_1_MPORT_1_mask) begin
      if2_datRAM_0_datMem_1[if2_datRAM_0_datMem_1_MPORT_1_addr] <= if2_datRAM_0_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_1_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_1_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_2_clock) begin
    if (if2_datRAM_0_datMem_2_MPORT_1_en & if2_datRAM_0_datMem_2_MPORT_1_mask) begin
      if2_datRAM_0_datMem_2[if2_datRAM_0_datMem_2_MPORT_1_addr] <= if2_datRAM_0_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_2_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_2_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_3_clock) begin
    if (if2_datRAM_0_datMem_3_MPORT_1_en & if2_datRAM_0_datMem_3_MPORT_1_mask) begin
      if2_datRAM_0_datMem_3[if2_datRAM_0_datMem_3_MPORT_1_addr] <= if2_datRAM_0_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_3_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_3_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_4_clock) begin
    if (if2_datRAM_0_datMem_4_MPORT_1_en & if2_datRAM_0_datMem_4_MPORT_1_mask) begin
      if2_datRAM_0_datMem_4[if2_datRAM_0_datMem_4_MPORT_1_addr] <= if2_datRAM_0_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_4_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_4_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_5_clock) begin
    if (if2_datRAM_0_datMem_5_MPORT_1_en & if2_datRAM_0_datMem_5_MPORT_1_mask) begin
      if2_datRAM_0_datMem_5[if2_datRAM_0_datMem_5_MPORT_1_addr] <= if2_datRAM_0_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_5_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_5_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_6_clock) begin
    if (if2_datRAM_0_datMem_6_MPORT_1_en & if2_datRAM_0_datMem_6_MPORT_1_mask) begin
      if2_datRAM_0_datMem_6[if2_datRAM_0_datMem_6_MPORT_1_addr] <= if2_datRAM_0_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_6_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_6_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_7_clock) begin
    if (if2_datRAM_0_datMem_7_MPORT_1_en & if2_datRAM_0_datMem_7_MPORT_1_mask) begin
      if2_datRAM_0_datMem_7[if2_datRAM_0_datMem_7_MPORT_1_addr] <= if2_datRAM_0_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_7_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_7_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_8_clock) begin
    if (if2_datRAM_0_datMem_8_MPORT_1_en & if2_datRAM_0_datMem_8_MPORT_1_mask) begin
      if2_datRAM_0_datMem_8[if2_datRAM_0_datMem_8_MPORT_1_addr] <= if2_datRAM_0_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_8_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_8_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_9_clock) begin
    if (if2_datRAM_0_datMem_9_MPORT_1_en & if2_datRAM_0_datMem_9_MPORT_1_mask) begin
      if2_datRAM_0_datMem_9[if2_datRAM_0_datMem_9_MPORT_1_addr] <= if2_datRAM_0_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_9_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_9_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_10_clock) begin
    if (if2_datRAM_0_datMem_10_MPORT_1_en & if2_datRAM_0_datMem_10_MPORT_1_mask) begin
      if2_datRAM_0_datMem_10[if2_datRAM_0_datMem_10_MPORT_1_addr] <= if2_datRAM_0_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_10_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_10_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_11_clock) begin
    if (if2_datRAM_0_datMem_11_MPORT_1_en & if2_datRAM_0_datMem_11_MPORT_1_mask) begin
      if2_datRAM_0_datMem_11[if2_datRAM_0_datMem_11_MPORT_1_addr] <= if2_datRAM_0_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_11_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_11_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_12_clock) begin
    if (if2_datRAM_0_datMem_12_MPORT_1_en & if2_datRAM_0_datMem_12_MPORT_1_mask) begin
      if2_datRAM_0_datMem_12[if2_datRAM_0_datMem_12_MPORT_1_addr] <= if2_datRAM_0_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_12_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_12_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_13_clock) begin
    if (if2_datRAM_0_datMem_13_MPORT_1_en & if2_datRAM_0_datMem_13_MPORT_1_mask) begin
      if2_datRAM_0_datMem_13[if2_datRAM_0_datMem_13_MPORT_1_addr] <= if2_datRAM_0_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_13_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_13_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_14_clock) begin
    if (if2_datRAM_0_datMem_14_MPORT_1_en & if2_datRAM_0_datMem_14_MPORT_1_mask) begin
      if2_datRAM_0_datMem_14[if2_datRAM_0_datMem_14_MPORT_1_addr] <= if2_datRAM_0_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_14_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_14_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_0_datMem_15_clock) begin
    if (if2_datRAM_0_datMem_15_MPORT_1_en & if2_datRAM_0_datMem_15_MPORT_1_mask) begin
      if2_datRAM_0_datMem_15[if2_datRAM_0_datMem_15_MPORT_1_addr] <= if2_datRAM_0_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_0_datMem_15_MPORT_en_pipe_0 <= if2_datRAM_0_io_enr;
    if (if2_datRAM_0_io_enr) begin
      if2_datRAM_0_datMem_15_MPORT_addr_pipe_0 <= if2_datRAM_0_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_0_clock) begin
    if (if2_datRAM_1_datMem_0_MPORT_1_en & if2_datRAM_1_datMem_0_MPORT_1_mask) begin
      if2_datRAM_1_datMem_0[if2_datRAM_1_datMem_0_MPORT_1_addr] <= if2_datRAM_1_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_0_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_0_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_1_clock) begin
    if (if2_datRAM_1_datMem_1_MPORT_1_en & if2_datRAM_1_datMem_1_MPORT_1_mask) begin
      if2_datRAM_1_datMem_1[if2_datRAM_1_datMem_1_MPORT_1_addr] <= if2_datRAM_1_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_1_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_1_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_2_clock) begin
    if (if2_datRAM_1_datMem_2_MPORT_1_en & if2_datRAM_1_datMem_2_MPORT_1_mask) begin
      if2_datRAM_1_datMem_2[if2_datRAM_1_datMem_2_MPORT_1_addr] <= if2_datRAM_1_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_2_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_2_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_3_clock) begin
    if (if2_datRAM_1_datMem_3_MPORT_1_en & if2_datRAM_1_datMem_3_MPORT_1_mask) begin
      if2_datRAM_1_datMem_3[if2_datRAM_1_datMem_3_MPORT_1_addr] <= if2_datRAM_1_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_3_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_3_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_4_clock) begin
    if (if2_datRAM_1_datMem_4_MPORT_1_en & if2_datRAM_1_datMem_4_MPORT_1_mask) begin
      if2_datRAM_1_datMem_4[if2_datRAM_1_datMem_4_MPORT_1_addr] <= if2_datRAM_1_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_4_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_4_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_5_clock) begin
    if (if2_datRAM_1_datMem_5_MPORT_1_en & if2_datRAM_1_datMem_5_MPORT_1_mask) begin
      if2_datRAM_1_datMem_5[if2_datRAM_1_datMem_5_MPORT_1_addr] <= if2_datRAM_1_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_5_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_5_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_6_clock) begin
    if (if2_datRAM_1_datMem_6_MPORT_1_en & if2_datRAM_1_datMem_6_MPORT_1_mask) begin
      if2_datRAM_1_datMem_6[if2_datRAM_1_datMem_6_MPORT_1_addr] <= if2_datRAM_1_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_6_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_6_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_7_clock) begin
    if (if2_datRAM_1_datMem_7_MPORT_1_en & if2_datRAM_1_datMem_7_MPORT_1_mask) begin
      if2_datRAM_1_datMem_7[if2_datRAM_1_datMem_7_MPORT_1_addr] <= if2_datRAM_1_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_7_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_7_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_8_clock) begin
    if (if2_datRAM_1_datMem_8_MPORT_1_en & if2_datRAM_1_datMem_8_MPORT_1_mask) begin
      if2_datRAM_1_datMem_8[if2_datRAM_1_datMem_8_MPORT_1_addr] <= if2_datRAM_1_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_8_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_8_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_9_clock) begin
    if (if2_datRAM_1_datMem_9_MPORT_1_en & if2_datRAM_1_datMem_9_MPORT_1_mask) begin
      if2_datRAM_1_datMem_9[if2_datRAM_1_datMem_9_MPORT_1_addr] <= if2_datRAM_1_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_9_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_9_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_10_clock) begin
    if (if2_datRAM_1_datMem_10_MPORT_1_en & if2_datRAM_1_datMem_10_MPORT_1_mask) begin
      if2_datRAM_1_datMem_10[if2_datRAM_1_datMem_10_MPORT_1_addr] <= if2_datRAM_1_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_10_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_10_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_11_clock) begin
    if (if2_datRAM_1_datMem_11_MPORT_1_en & if2_datRAM_1_datMem_11_MPORT_1_mask) begin
      if2_datRAM_1_datMem_11[if2_datRAM_1_datMem_11_MPORT_1_addr] <= if2_datRAM_1_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_11_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_11_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_12_clock) begin
    if (if2_datRAM_1_datMem_12_MPORT_1_en & if2_datRAM_1_datMem_12_MPORT_1_mask) begin
      if2_datRAM_1_datMem_12[if2_datRAM_1_datMem_12_MPORT_1_addr] <= if2_datRAM_1_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_12_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_12_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_13_clock) begin
    if (if2_datRAM_1_datMem_13_MPORT_1_en & if2_datRAM_1_datMem_13_MPORT_1_mask) begin
      if2_datRAM_1_datMem_13[if2_datRAM_1_datMem_13_MPORT_1_addr] <= if2_datRAM_1_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_13_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_13_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_14_clock) begin
    if (if2_datRAM_1_datMem_14_MPORT_1_en & if2_datRAM_1_datMem_14_MPORT_1_mask) begin
      if2_datRAM_1_datMem_14[if2_datRAM_1_datMem_14_MPORT_1_addr] <= if2_datRAM_1_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_14_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_14_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_datRAM_1_datMem_15_clock) begin
    if (if2_datRAM_1_datMem_15_MPORT_1_en & if2_datRAM_1_datMem_15_MPORT_1_mask) begin
      if2_datRAM_1_datMem_15[if2_datRAM_1_datMem_15_MPORT_1_addr] <= if2_datRAM_1_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    if2_datRAM_1_datMem_15_MPORT_en_pipe_0 <= if2_datRAM_1_io_enr;
    if (if2_datRAM_1_io_enr) begin
      if2_datRAM_1_datMem_15_MPORT_addr_pipe_0 <= if2_datRAM_1_io_addrr;
    end
  end
  always @(posedge if2_tagRAM_0_tagMem_clock) begin
    if (if2_tagRAM_0_tagMem_MPORT_en & if2_tagRAM_0_tagMem_MPORT_mask) begin
      if2_tagRAM_0_tagMem[if2_tagRAM_0_tagMem_MPORT_addr] <= if2_tagRAM_0_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
    end
    if2_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0 <= if2_tagRAM_0_io_enr;
    if (if2_tagRAM_0_io_enr) begin
      if2_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0 <= if2_tagRAM_0_io_addrr;
    end
  end
  always @(posedge if2_tagRAM_1_tagMem_clock) begin
    if (if2_tagRAM_1_tagMem_MPORT_en & if2_tagRAM_1_tagMem_MPORT_mask) begin
      if2_tagRAM_1_tagMem[if2_tagRAM_1_tagMem_MPORT_addr] <= if2_tagRAM_1_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
    end
    if2_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0 <= if2_tagRAM_1_io_enr;
    if (if2_tagRAM_1_io_enr) begin
      if2_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0 <= if2_tagRAM_1_io_addrr;
    end
  end
  always @(posedge if2_rpl_sel_rpl_prng_clock) begin
    if2_rpl_sel_rpl_prng_state_0 <= if2_rpl_sel_rpl_prng_reset | if2_rpl_sel_rpl_prng__GEN_0; // @[PRNG.scala 55:{49,49}]
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_1 <= if2_rpl_sel_rpl_prng_state_0; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_2 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_2 <= if2_rpl_sel_rpl_prng_state_1; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_3 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_3 <= if2_rpl_sel_rpl_prng_state_2; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_4 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_4 <= if2_rpl_sel_rpl_prng_state_3; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_5 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_5 <= if2_rpl_sel_rpl_prng_state_4; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_6 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_6 <= if2_rpl_sel_rpl_prng_state_5; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_7 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_7 <= if2_rpl_sel_rpl_prng_state_6; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_8 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_8 <= if2_rpl_sel_rpl_prng_state_7; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_9 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_9 <= if2_rpl_sel_rpl_prng_state_8; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_10 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_10 <= if2_rpl_sel_rpl_prng_state_9; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_11 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_11 <= if2_rpl_sel_rpl_prng_state_10; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_12 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_12 <= if2_rpl_sel_rpl_prng_state_11; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_13 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_13 <= if2_rpl_sel_rpl_prng_state_12; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_14 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_14 <= if2_rpl_sel_rpl_prng_state_13; // @[PRNG.scala 70:11]
    end
    if (if2_rpl_sel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      if2_rpl_sel_rpl_prng_state_15 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (if2_rpl_sel_rpl_prng_io_increment) begin // @[PRNG.scala 69:22]
      if2_rpl_sel_rpl_prng_state_15 <= if2_rpl_sel_rpl_prng_state_14; // @[PRNG.scala 70:11]
    end
  end
  always @(posedge if2_clock) begin
    if (if2_reset) begin // @[Edges.scala 228:27]
      if2_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (if2__T) begin // @[Edges.scala 234:17]
      if (if2_first) begin // @[Edges.scala 235:21]
        if2_counter <= if2_beats1;
      end else begin
        if2_counter <= if2_counter1;
      end
    end
    if (if2__T_68) begin // @[IF2.scala 292:49]
      if2_icache_access_data_lo_0 <= if2_io_icache_access_bits_data; // @[IF2.scala 293:37]
    end
    if (if2_reset) begin // @[IF2.scala 71:27]
      if2_kill_trans <= 1'h0; // @[IF2.scala 71:27]
    end else begin
      if2_kill_trans <= if2__GEN_45;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_3_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_3_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_3_1 <= if2__GEN_18;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_2_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_2_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_2_1 <= if2__GEN_16;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_1_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_1_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_1_1 <= if2__GEN_14;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_0_1 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_0_1 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_0_1 <= if2__GEN_12;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_3_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_3_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_3_0 <= if2__GEN_17;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_2_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_2_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_2_0 <= if2__GEN_15;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_1_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_1_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_1_0 <= if2__GEN_13;
    end
    if (if2_reset) begin // @[IF2.scala 180:25]
      if2_is_valid_0_0 <= 1'h0; // @[IF2.scala 180:25]
    end else if (if2_io_ifence) begin // @[IF2.scala 270:23]
      if2_is_valid_0_0 <= 1'h0; // @[IF2.scala 271:23]
    end else if (if2__T_65) begin // @[IF2.scala 265:91]
      if2_is_valid_0_0 <= if2__GEN_11;
    end
    if (if2_reset) begin // @[IF2.scala 98:34]
      if2_icache_state_qout <= 4'h0; // @[IF2.scala 98:34]
    end else begin
      if2_icache_state_qout <= if2_icache_state_dnxt; // @[IF2.scala 98:34]
    end
    if (if2_reset) begin // @[IF2.scala 100:27]
      if2_fault_lock <= 1'h0; // @[IF2.scala 100:27]
    end else if (if2_io_flush) begin // @[IF2.scala 120:20]
      if2_fault_lock <= 1'h0; // @[IF2.scala 120:33]
    end else begin
      if2_fault_lock <= if2__GEN_1;
    end
    if2_REG <= if2_io_mmu_if_bits_paddr; // @[IF2.scala 300:21]
    if2_REG_1 <= if2_kill_trans; // @[IF2.scala 300:108]
    if2_REG_2 <= if2_io_flush; // @[IF2.scala 300:131]
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2__T_10 & if2__T_11) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:123 assert( ~(is_access_fault & is_paging_fault) )\n"
            ); // @[IF2.scala 123:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2__T_8 & if2__T_10) begin
          $fatal; // @[IF2.scala 123:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2__icache_state_dnxt_T_10 & if2__T_10 & if2__T_18) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:193 assert(PopCount(res) <= 1.U)\n"); // @[IF2.scala 193:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2__T_15 & (if2__icache_state_dnxt_T_10 & if2__T_10)) begin
          $fatal; // @[IF2.scala 193:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_162 & if2__T_58) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at icache, multi-tag are equal!\n    at IF2.scala:258 assert( ~( tagRAM(i).io.datar === tagRAM(j).io.datar & is_valid(cl_sel)(i) & is_valid(cl_sel)(j) ), \"Assert Failed at icache, multi-tag are equal!\" )\n"
            ); // @[IF2.scala 258:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2__T_55 & (if2__icache_state_dnxt_T_10 & if2__T_10)) begin
          $fatal; // @[IF2.scala 258:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2__T_10 & if2__T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, req paddr cannot change without flush.\n    at IF2.scala:300 assert( ~((RegNext(io.mmu_if.bits.paddr) =/= io.mmu_if.bits.paddr) & icache_state_qout === 2.U & ~RegNext(kill_trans) & ~RegNext(io.flush)), \"Assert Failed, req paddr cannot change without flush.\" )\n"
            ); // @[IF2.scala 300:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2__T_76 & if2__T_10) begin
          $fatal; // @[IF2.scala 300:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if2_io_ifence & if2__T_10 & if2__T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IF2.scala:377 when( io.ifence ) { assert(io.flush) }\n"); // @[IF2.scala 377:29]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if2_io_flush & (if2_io_ifence & if2__T_10)) begin
          $fatal; // @[IF2.scala 377:29]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_combPDT_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_combPDT__T_22 & if3_combPDT__T_23) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_combPDT__T_20 & if3_combPDT__T_22) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_btb_bypassFifo_ram_target_clock) begin
    if (if3_btb_bypassFifo_ram_target_MPORT_en & if3_btb_bypassFifo_ram_target_MPORT_mask) begin
      if3_btb_bypassFifo_ram_target[if3_btb_bypassFifo_ram_target_MPORT_addr] <=
        if3_btb_bypassFifo_ram_target_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge if3_btb_bypassFifo_clock) begin
    if (if3_btb_bypassFifo_reset) begin // @[Decoupled.scala 278:27]
      if3_btb_bypassFifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (if3_btb_bypassFifo__T) begin // @[Decoupled.scala 295:27]
      if (if3_btb_bypassFifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (if3_btb_bypassFifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          if3_btb_bypassFifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          if3_btb_bypassFifo_maybe_full <= if3_btb_bypassFifo__do_enq_T;
        end
      end else begin
        if3_btb_bypassFifo_maybe_full <= if3_btb_bypassFifo__do_enq_T;
      end
    end
  end
  always @(posedge if3_btb_btb_table_target_clock) begin
    if (if3_btb_btb_table_target_MPORT_en & if3_btb_btb_table_target_MPORT_mask) begin
      if3_btb_btb_table_target[if3_btb_btb_table_target_MPORT_addr] <= if3_btb_btb_table_target_MPORT_data; // @[BTB.scala 54:32]
    end
    if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en_pipe_0 <= 1'h1;
    if (1'h1) begin
      if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr_pipe_0 <= if3_btb__rd_cl_sel_out_out_out_out_out_T_3[1:
        0];
    end
  end
  always @(posedge if3_btb_clock) begin
    if3_btb_por_reset <= if3_btb_reset | if3_btb__GEN_4; // @[BTB.scala 46:{28,28}]
    if (if3_btb_reset) begin // @[Counter.scala 61:40]
      if3_btb_reset_cl <= 2'h0; // @[Counter.scala 61:40]
    end else if (if3_btb_por_reset) begin // @[Counter.scala 136:24]
      if3_btb_reset_cl <= if3_btb__wrap_value_T_1; // @[Counter.scala 77:15]
    end
    if3_btb_bypassFifo_io_enq_valid_REG <= if3_btb_io_req_ready & if3_btb_io_req_valid; // @[Decoupled.scala 52:35]
  end
  always @(posedge if3_bim_bim_P_clock) begin
    if (if3_bim_bim_P_MPORT_en & if3_bim_bim_P_MPORT_mask) begin
      if3_bim_bim_P[if3_bim_bim_P_MPORT_addr] <= if3_bim_bim_P_MPORT_data; // @[BIM.scala 46:26]
    end
    if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en_pipe_0 <= 1'h1;
    if (1'h1) begin
      if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr_pipe_0 <= if3_bim__rd_cl_out_out_out_out_T_3[2:0];
    end
  end
  always @(posedge if3_bim_bim_H_clock) begin
    if (if3_bim_bim_H_MPORT_1_en & if3_bim_bim_H_MPORT_1_mask) begin
      if3_bim_bim_H[if3_bim_bim_H_MPORT_1_addr] <= if3_bim_bim_H_MPORT_1_data; // @[BIM.scala 52:26]
    end
    if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en_pipe_0 <= 1'h1;
    if (1'h1) begin
      if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr_pipe_0 <= if3_bim__rd_cl_out_out_out_out_T_3[2:0];
    end
  end
  always @(posedge if3_bim_bypassFifo_ram_0_clock) begin
    if (if3_bim_bypassFifo_ram_0_MPORT_en & if3_bim_bypassFifo_ram_0_MPORT_mask) begin
      if3_bim_bypassFifo_ram_0[if3_bim_bypassFifo_ram_0_MPORT_addr] <= if3_bim_bypassFifo_ram_0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge if3_bim_bypassFifo_ram_1_clock) begin
    if (if3_bim_bypassFifo_ram_1_MPORT_en & if3_bim_bypassFifo_ram_1_MPORT_mask) begin
      if3_bim_bypassFifo_ram_1[if3_bim_bypassFifo_ram_1_MPORT_addr] <= if3_bim_bypassFifo_ram_1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge if3_bim_bypassFifo_clock) begin
    if (if3_bim_bypassFifo_reset) begin // @[Decoupled.scala 278:27]
      if3_bim_bypassFifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (if3_bim_bypassFifo__T) begin // @[Decoupled.scala 295:27]
      if (if3_bim_bypassFifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (if3_bim_bypassFifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          if3_bim_bypassFifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          if3_bim_bypassFifo_maybe_full <= if3_bim_bypassFifo__do_enq_T;
        end
      end else begin
        if3_bim_bypassFifo_maybe_full <= if3_bim_bypassFifo__do_enq_T;
      end
    end
  end
  always @(posedge if3_bim_clock) begin
    if3_bim_por_reset <= if3_bim_reset | if3_bim__GEN_4; // @[BIM.scala 37:{26,26}]
    if (if3_bim_reset) begin // @[Counter.scala 61:40]
      if3_bim_reset_cl <= 3'h0; // @[Counter.scala 61:40]
    end else if (if3_bim_por_reset) begin // @[Counter.scala 136:24]
      if3_bim_reset_cl <= if3_bim__wrap_value_T_1; // @[Counter.scala 77:15]
    end
    if3_bim_bypassFifo_io_enq_valid_REG <= if3_bim_io_req_ready & if3_bim_io_req_valid; // @[Decoupled.scala 52:35]
  end
  always @(posedge if3_btbFifo_fifo_clock) begin
    if (!(if3_btbFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if3_btbFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_btbFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_btbFifo_fifo_buf_0_target <= if3_btbFifo_fifo_io_enq_0_bits_target;
        end else if (if3_btbFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_btbFifo_fifo_buf_0_target <= if3_btbFifo_fifo_buf_1_target; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if3_btbFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if3_btbFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_btbFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_btbFifo_fifo_buf_1_target <= if3_btbFifo_fifo_io_enq_0_bits_target;
        end else if (!(if3_btbFifo_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_btbFifo_fifo_buf_1_target <= if3_btbFifo_fifo_buf_0_target;
        end
      end
    end
    if (if3_btbFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_btbFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_btbFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_btbFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_btbFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if3_btbFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_btbFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_btbFifo_fifo_buf_valid_0 <= if3_btbFifo_fifo__GEN_6;
      end
    end else begin
      if3_btbFifo_fifo_buf_valid_0 <= if3_btbFifo_fifo__GEN_6;
    end
    if (if3_btbFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_btbFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_btbFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_btbFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_btbFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if3_btbFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_btbFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_btbFifo_fifo_buf_valid_1 <= if3_btbFifo_fifo__GEN_7;
      end
    end else begin
      if3_btbFifo_fifo_buf_valid_1 <= if3_btbFifo_fifo__GEN_7;
    end
    if (if3_btbFifo_fifo_reset) begin // @[MultiPortFifo.scala 60:27]
      if3_btbFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if3_btbFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_btbFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if3_btbFifo_fifo_rd_ptr <= if3_btbFifo_fifo__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if3_btbFifo_fifo_reset) begin // @[MultiPortFifo.scala 61:27]
      if3_btbFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if3_btbFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_btbFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if3_btbFifo_fifo_wr_ptr <= if3_btbFifo_fifo__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_btbFifo_fifo__T_9 & if3_btbFifo_fifo__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_btbFifo_fifo__T_7 & if3_btbFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_btbFifo_fifo__T_9 & if3_btbFifo_fifo__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_btbFifo_fifo__T_16 & if3_btbFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_btbFifo_rePortIn_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_btbFifo_rePortIn__T_4 & if3_btbFifo_rePortIn__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_btbFifo_rePortIn__T_2 & if3_btbFifo_rePortIn__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_btbFifo_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_btbFifo__T_8 & if3_btbFifo__T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_btbFifo__T_6 & if3_btbFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_btbFifo__T_8 & if3_btbFifo__T_18) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_btbFifo__T_15 & if3_btbFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_bimFifo_fifo_clock) begin
    if (!(if3_bimFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_bimFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_0_bim_p <= if3_bimFifo_fifo_io_enq_0_bits_bim_p;
        end else if (if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_0_bim_p <= if3_bimFifo_fifo_buf_1_bim_p; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if3_bimFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_bimFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_0_bim_h <= if3_bimFifo_fifo_io_enq_0_bits_bim_h;
        end else if (if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_0_bim_h <= if3_bimFifo_fifo_buf_1_bim_h; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if3_bimFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_bimFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_1_bim_p <= if3_bimFifo_fifo_io_enq_0_bits_bim_p;
        end else if (!(if3_bimFifo_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_1_bim_p <= if3_bimFifo_fifo_buf_0_bim_p;
        end
      end
    end
    if (!(if3_bimFifo_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if3_bimFifo_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_bimFifo_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_1_bim_h <= if3_bimFifo_fifo_io_enq_0_bits_bim_h;
        end else if (!(if3_bimFifo_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_bimFifo_fifo_buf_1_bim_h <= if3_bimFifo_fifo_buf_0_bim_h;
        end
      end
    end
    if (if3_bimFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_bimFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_bimFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_bimFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_bimFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if3_bimFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_bimFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_bimFifo_fifo_buf_valid_0 <= if3_bimFifo_fifo__GEN_6;
      end
    end else begin
      if3_bimFifo_fifo_buf_valid_0 <= if3_bimFifo_fifo__GEN_6;
    end
    if (if3_bimFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_bimFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_bimFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_bimFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_bimFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if3_bimFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_bimFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_bimFifo_fifo_buf_valid_1 <= if3_bimFifo_fifo__GEN_7;
      end
    end else begin
      if3_bimFifo_fifo_buf_valid_1 <= if3_bimFifo_fifo__GEN_7;
    end
    if (if3_bimFifo_fifo_reset) begin // @[MultiPortFifo.scala 60:27]
      if3_bimFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if3_bimFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_bimFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if3_bimFifo_fifo_rd_ptr <= if3_bimFifo_fifo__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if3_bimFifo_fifo_reset) begin // @[MultiPortFifo.scala 61:27]
      if3_bimFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if3_bimFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_bimFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if3_bimFifo_fifo_wr_ptr <= if3_bimFifo_fifo__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_bimFifo_fifo__T_9 & if3_bimFifo_fifo__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_bimFifo_fifo__T_7 & if3_bimFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_bimFifo_fifo__T_9 & if3_bimFifo_fifo__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_bimFifo_fifo__T_16 & if3_bimFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_bimFifo_rePortIn_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_bimFifo_rePortIn__T_4 & if3_bimFifo_rePortIn__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_bimFifo_rePortIn__T_2 & if3_bimFifo_rePortIn__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_bimFifo_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_bimFifo__T_8 & if3_bimFifo__T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_bimFifo__T_6 & if3_bimFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_bimFifo__T_8 & if3_bimFifo__T_18) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_bimFifo__T_15 & if3_bimFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_tageFifo_fifo_clock) begin
    if (if3_tageFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_tageFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_tageFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_tageFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_tageFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if3_tageFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_tageFifo_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_tageFifo_fifo_buf_valid_0 <= if3_tageFifo_fifo__GEN_6;
      end
    end else begin
      if3_tageFifo_fifo_buf_valid_0 <= if3_tageFifo_fifo__GEN_6;
    end
    if (if3_tageFifo_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_tageFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_tageFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_tageFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_tageFifo_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if3_tageFifo_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_tageFifo_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_tageFifo_fifo_buf_valid_1 <= if3_tageFifo_fifo__GEN_7;
      end
    end else begin
      if3_tageFifo_fifo_buf_valid_1 <= if3_tageFifo_fifo__GEN_7;
    end
    if (if3_tageFifo_fifo_reset) begin // @[MultiPortFifo.scala 60:27]
      if3_tageFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if3_tageFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_tageFifo_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if3_tageFifo_fifo_rd_ptr <= if3_tageFifo_fifo__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if3_tageFifo_fifo_reset) begin // @[MultiPortFifo.scala 61:27]
      if3_tageFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if3_tageFifo_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_tageFifo_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if3_tageFifo_fifo_wr_ptr <= if3_tageFifo_fifo__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_tageFifo_fifo__T_9 & if3_tageFifo_fifo__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_tageFifo_fifo__T_7 & if3_tageFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_tageFifo_fifo__T_9 & if3_tageFifo_fifo__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_tageFifo_fifo__T_16 & if3_tageFifo_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_tageFifo_rePortIn_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_tageFifo_rePortIn__T_4 & if3_tageFifo_rePortIn__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_tageFifo_rePortIn__T_2 & if3_tageFifo_rePortIn__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_tageFifo_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_tageFifo__T_8 & if3_tageFifo__T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_tageFifo__T_6 & if3_tageFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_tageFifo__T_8 & if3_tageFifo__T_18) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_tageFifo__T_15 & if3_tageFifo__T_8) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_if3_resp_fifo_clock) begin
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo_io_enq_3_bits_isRVC;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo_buf_3_isRVC; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo__GEN_474;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo_io_enq_2_bits_isRVC;
        end else begin
          if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo__GEN_353;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo__buf_T_3_isRVC; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_0_isRVC <= if3_if3_resp_fifo__GEN_96;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo_io_enq_3_bits_instr;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo_buf_3_instr; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo__GEN_484;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo_io_enq_2_bits_instr;
        end else begin
          if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo__GEN_363;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo__buf_T_3_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_0_instr <= if3_if3_resp_fifo__GEN_136;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo_io_enq_3_bits_pc;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo_buf_3_pc; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo__GEN_485;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo_io_enq_2_bits_pc;
        end else begin
          if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo__GEN_364;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo__buf_T_3_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_0_pc <= if3_if3_resp_fifo__GEN_140;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo_io_enq_3_bits_isRedirect;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo_buf_3_isRedirect; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo__GEN_487;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo_io_enq_2_bits_isRedirect;
        end else begin
          if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo__GEN_366;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo__buf_T_3_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_0_isRedirect <= if3_if3_resp_fifo__GEN_148;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h0 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo_io_enq_3_bits_target;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo_buf_3_target; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo__GEN_488;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo_io_enq_2_bits_target;
        end else begin
          if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo__GEN_367;
        end
      end else if (2'h0 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo__buf_T_3_target; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_0_target <= if3_if3_resp_fifo__GEN_152;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo_io_enq_3_bits_isRVC;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo_buf_3_isRVC; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo__GEN_474;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo_io_enq_2_bits_isRVC;
        end else begin
          if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo__GEN_353;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo__buf_T_3_isRVC; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_1_isRVC <= if3_if3_resp_fifo__GEN_97;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo_io_enq_3_bits_instr;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo_buf_3_instr; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo__GEN_484;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo_io_enq_2_bits_instr;
        end else begin
          if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo__GEN_363;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo__buf_T_3_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_1_instr <= if3_if3_resp_fifo__GEN_137;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo_io_enq_3_bits_pc;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo_buf_3_pc; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo__GEN_485;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo_io_enq_2_bits_pc;
        end else begin
          if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo__GEN_364;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo__buf_T_3_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_1_pc <= if3_if3_resp_fifo__GEN_141;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo_io_enq_3_bits_isRedirect;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo_buf_3_isRedirect; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo__GEN_487;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo_io_enq_2_bits_isRedirect;
        end else begin
          if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo__GEN_366;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo__buf_T_3_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_1_isRedirect <= if3_if3_resp_fifo__GEN_149;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h1 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo_io_enq_3_bits_target;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo_buf_3_target; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo__GEN_488;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo_io_enq_2_bits_target;
        end else begin
          if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo__GEN_367;
        end
      end else if (2'h1 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo__buf_T_3_target; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_1_target <= if3_if3_resp_fifo__GEN_153;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo_io_enq_3_bits_isRVC;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo_buf_3_isRVC; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo__GEN_474;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo_io_enq_2_bits_isRVC;
        end else begin
          if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo__GEN_353;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo__buf_T_3_isRVC; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_2_isRVC <= if3_if3_resp_fifo__GEN_98;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo_io_enq_3_bits_instr;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo_buf_3_instr; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo__GEN_484;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo_io_enq_2_bits_instr;
        end else begin
          if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo__GEN_363;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo__buf_T_3_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_2_instr <= if3_if3_resp_fifo__GEN_138;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo_io_enq_3_bits_pc;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo_buf_3_pc; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo__GEN_485;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo_io_enq_2_bits_pc;
        end else begin
          if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo__GEN_364;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo__buf_T_3_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_2_pc <= if3_if3_resp_fifo__GEN_142;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo_io_enq_3_bits_isRedirect;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo_buf_3_isRedirect; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo__GEN_487;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo_io_enq_2_bits_isRedirect;
        end else begin
          if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo__GEN_366;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo__buf_T_3_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_2_isRedirect <= if3_if3_resp_fifo__GEN_150;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h2 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo_io_enq_3_bits_target;
        end else if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo_buf_3_target; // @[MultiPortFifo.scala 101:33]
        end else begin
          if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo__GEN_488;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo_io_enq_2_bits_target;
        end else begin
          if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo__GEN_367;
        end
      end else if (2'h2 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo__buf_T_3_target; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_2_target <= if3_if3_resp_fifo__GEN_154;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo_io_enq_3_bits_isRVC;
        end else if (!(2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo__GEN_474;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo_io_enq_2_bits_isRVC;
        end else begin
          if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo__GEN_353;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo__buf_T_3_isRVC; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_3_isRVC <= if3_if3_resp_fifo__GEN_99;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo_io_enq_3_bits_instr;
        end else if (!(2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo__GEN_484;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo_io_enq_2_bits_instr;
        end else begin
          if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo__GEN_363;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo__buf_T_3_instr; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_3_instr <= if3_if3_resp_fifo__GEN_139;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo_io_enq_3_bits_pc;
        end else if (!(2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo__GEN_485;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo_io_enq_2_bits_pc;
        end else begin
          if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo__GEN_364;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo__buf_T_3_pc; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_3_pc <= if3_if3_resp_fifo__GEN_143;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo_io_enq_3_bits_isRedirect;
        end else if (!(2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo__GEN_487;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo_io_enq_2_bits_isRedirect;
        end else begin
          if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo__GEN_366;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo__buf_T_3_isRedirect; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_3_isRedirect <= if3_if3_resp_fifo__GEN_151;
      end
    end
    if (!(if3_if3_resp_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_6) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo_io_enq_3_bits_target;
        end else if (!(2'h3 == if3_if3_resp_fifo__io_enq_3_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo__GEN_488;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_2_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if3_if3_resp_fifo__T_4) begin // @[MultiPortFifo.scala 101:33]
          if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo_io_enq_2_bits_target;
        end else begin
          if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo__GEN_367;
        end
      end else if (2'h3 == if3_if3_resp_fifo__io_enq_1_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo__buf_T_3_target; // @[MultiPortFifo.scala 101:27]
      end else begin
        if3_if3_resp_fifo_buf_3_target <= if3_if3_resp_fifo__GEN_155;
      end
    end
    if (if3_if3_resp_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_if3_resp_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_if3_resp_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_if3_resp_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_if3_resp_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h0 == if3_if3_resp_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_if3_resp_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_if3_resp_fifo_buf_valid_0 <= if3_if3_resp_fifo__GEN_432;
      end
    end else begin
      if3_if3_resp_fifo_buf_valid_0 <= if3_if3_resp_fifo__GEN_432;
    end
    if (if3_if3_resp_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_if3_resp_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_if3_resp_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_if3_resp_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_if3_resp_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h1 == if3_if3_resp_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_if3_resp_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_if3_resp_fifo_buf_valid_1 <= if3_if3_resp_fifo__GEN_433;
      end
    end else begin
      if3_if3_resp_fifo_buf_valid_1 <= if3_if3_resp_fifo__GEN_433;
    end
    if (if3_if3_resp_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_if3_resp_fifo_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_if3_resp_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_if3_resp_fifo_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_if3_resp_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h2 == if3_if3_resp_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_if3_resp_fifo_buf_valid_2 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_if3_resp_fifo_buf_valid_2 <= if3_if3_resp_fifo__GEN_434;
      end
    end else begin
      if3_if3_resp_fifo_buf_valid_2 <= if3_if3_resp_fifo__GEN_434;
    end
    if (if3_if3_resp_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if3_if3_resp_fifo_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if3_if3_resp_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_if3_resp_fifo_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if3_if3_resp_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (2'h3 == if3_if3_resp_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if3_if3_resp_fifo_buf_valid_3 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if3_if3_resp_fifo_buf_valid_3 <= if3_if3_resp_fifo__GEN_435;
      end
    end else begin
      if3_if3_resp_fifo_buf_valid_3 <= if3_if3_resp_fifo__GEN_435;
    end
    if (if3_if3_resp_fifo_reset) begin // @[MultiPortFifo.scala 60:27]
      if3_if3_resp_fifo_rd_ptr <= 2'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if3_if3_resp_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if3_if3_resp_fifo_rd_ptr <= 2'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if3_if3_resp_fifo_rd_ptr <= if3_if3_resp_fifo__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if3_if3_resp_fifo_wr_ptr <= _GEN_196[1:0]; // @[MultiPortFifo.scala 61:{27,27}]
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_13 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_52) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_49 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_61) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_58 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_88) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_85 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_97) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_94 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_106) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_103 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_124) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_121 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_133) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_130 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_142) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_139 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_151) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_148 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_160) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_157 & if3_if3_resp_fifo__T_15) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_2 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_166) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T & (if3_if3_resp_fifo__T_2 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_4 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_166) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T & (if3_if3_resp_fifo__T_4 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_4 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_175) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_2 & (if3_if3_resp_fifo__T_4 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_166) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T & (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_175) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_2 & (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15 & if3_if3_resp_fifo__T_188) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, illegal multi-port-fifo behavior\n    at MultiPortFifo.scala:169 assert( io.enq(j).fire, \"Assert Failed, illegal multi-port-fifo behavior\" )\n"
            ); // @[MultiPortFifo.scala 169:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3_if3_resp_fifo__T_4 & (if3_if3_resp_fifo__T_6 & if3_if3_resp_fifo__T_15)) begin
          $fatal; // @[MultiPortFifo.scala 169:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if3_clock) begin
    if (if3_reset) begin // @[IF3.scala 54:29]
      if3_pipeLineLock <= 1'h0; // @[IF3.scala 54:29]
    end else if (if3__btb_io_req_valid_T) begin // @[IF3.scala 328:42]
      if3_pipeLineLock <= 1'h0; // @[IF3.scala 328:57]
    end else begin
      if3_pipeLineLock <= if3__GEN_401;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3_is_instr32_0 & if3__T_15 & if3__T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_13 & (if3_is_instr32_0 & if3__T_15)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_19 & if3__T_15 & if3__T_23) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__reAlign_0_valid_T_1 & (if3__T_19 & if3__T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_24 & if3__T_15 & if3__T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_26 & (if3__T_24 & if3__T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_3 & if3_is_instr32_1 & if3__T_15 & if3__T_37) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_34 & (if3__T_3 & if3_is_instr32_1 & if3__T_15)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_40 & if3__T_15 & if3__T_44) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__reAlign_1_valid_T_1 & (if3__T_40 & if3__T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_25 & if3__T_15 & if3__T_50) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_47 & (if3__T_25 & if3__T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_6 & if3_is_instr32_2 & if3__T_15 & if3__T_58) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF3.scala:132 assert(io.if3_req(i).fire === io.if3_req(i+1).fire)\n"); // @[IF3.scala 132:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_55 & (if3__T_6 & if3_is_instr32_2 & if3__T_15)) begin
          $fatal; // @[IF3.scala 132:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_61 & if3__T_15 & if3__T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\n    at IF3.scala:160 when( io.if3_req(i).fire  & io.if3_req(i).bits.isRedirect ) { assert(io.if3_req(i+1).fire, \"Assert Failed at IF3, Redirect will pop next-entry either by rv32 or force-pop!\") }\n"
            ); // @[IF3.scala 160:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__reAlign_2_valid_T_1 & (if3__T_61 & if3__T_15)) begin
          $fatal; // @[IF3.scala 160:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__T_46 & if3__T_15 & if3__T_71) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, No succession isRedirect will appear\n    at IF3.scala:161 when( io.if3_req(i).valid & io.if3_req(i).bits.isRedirect ) { assert( ~(io.if3_req(i+1).valid & io.if3_req(i+1).bits.isRedirect), \"Assert Failed at IF3, No succession isRedirect will appear\" ) }\n"
            ); // @[IF3.scala 161:75]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_68 & (if3__T_46 & if3__T_15)) begin
          $fatal; // @[IF3.scala 161:75]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if3__reAlign_2_valid_T_1 & if3__T_15 & if3__T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IF3, never Redirect at last-entry!\n    at IF3.scala:163 when( io.if3_req(i).fire ) { assert( ~io.if3_req(i).bits.isRedirect, \"Assert Failed at IF3, never Redirect at last-entry!\" ) }\n"
            ); // @[IF3.scala 163:42]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if3__T_75 & (if3__reAlign_2_valid_T_1 & if3__T_15)) begin
          $fatal; // @[IF3.scala 163:42]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_ras_buf_target_clock) begin
    if (if4_ras_buf_target_MPORT_en & if4_ras_buf_target_MPORT_mask) begin
      if4_ras_buf_target[if4_ras_buf_target_MPORT_addr] <= if4_ras_buf_target_MPORT_data; // @[RAS.scala 43:18]
    end
  end
  always @(posedge if4_ras_clock) begin
    if (if4_ras_reset) begin // @[RAS.scala 44:26]
      if4_ras_btm_ptr <= 3'h0; // @[RAS.scala 44:26]
    end else if (if4_ras_io_flush) begin // @[RAS.scala 59:20]
      if4_ras_btm_ptr <= 3'h0; // @[RAS.scala 60:15]
    end else if (if4_ras_io_enq_valid) begin // @[RAS.scala 64:27]
      if (if4_ras_is_full) begin // @[RAS.scala 65:23]
        if4_ras_btm_ptr <= if4_ras__btm_ptr_T_1; // @[RAS.scala 66:19]
      end
    end
    if (if4_ras_reset) begin // @[RAS.scala 45:26]
      if4_ras_top_ptr <= 3'h0; // @[RAS.scala 45:26]
    end else if (if4_ras_io_flush) begin // @[RAS.scala 59:20]
      if4_ras_top_ptr <= 3'h0; // @[RAS.scala 61:15]
    end else if (if4_ras__T) begin // @[RAS.scala 70:27]
      if4_ras_top_ptr <= if4_ras__top_ptr_T_3; // @[RAS.scala 71:17]
    end else if (if4_ras_io_enq_valid) begin // @[RAS.scala 64:27]
      if4_ras_top_ptr <= if4_ras__top_ptr_T_1; // @[RAS.scala 68:17]
    end
    if4_ras_io_deq_bits_REG_target <= if4_ras_buf_target_io_deq_bits_MPORT_data; // @[RAS.scala 76:29]
  end
  always @(posedge if4_instr_fifo_clock) begin
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_lui <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_lui;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_lui <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_lui;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_lui <= if4_instr_fifo_buf_1_alu_isa_lui; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_auipc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_auipc;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_auipc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_auipc;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_auipc <= if4_instr_fifo_buf_1_alu_isa_auipc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_addi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addi;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_addi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_addi <= if4_instr_fifo_buf_1_alu_isa_addi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_addiw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addiw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_addiw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addiw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_addiw <= if4_instr_fifo_buf_1_alu_isa_addiw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_slti <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slti;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_slti <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slti;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_slti <= if4_instr_fifo_buf_1_alu_isa_slti; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sltiu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltiu;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sltiu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltiu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sltiu <= if4_instr_fifo_buf_1_alu_isa_sltiu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_xori <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xori;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_xori <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xori;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_xori <= if4_instr_fifo_buf_1_alu_isa_xori; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_ori <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_ori;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_ori <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_ori;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_ori <= if4_instr_fifo_buf_1_alu_isa_ori; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_andi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_andi;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_andi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_andi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_andi <= if4_instr_fifo_buf_1_alu_isa_andi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_slli <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slli;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_slli <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slli;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_slli <= if4_instr_fifo_buf_1_alu_isa_slli; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_slliw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slliw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_slliw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slliw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_slliw <= if4_instr_fifo_buf_1_alu_isa_slliw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_srli <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srli;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_srli <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srli;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_srli <= if4_instr_fifo_buf_1_alu_isa_srli; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_srliw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srliw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_srliw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srliw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_srliw <= if4_instr_fifo_buf_1_alu_isa_srliw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_srai <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srai;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_srai <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srai;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_srai <= if4_instr_fifo_buf_1_alu_isa_srai; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sraiw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraiw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sraiw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraiw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sraiw <= if4_instr_fifo_buf_1_alu_isa_sraiw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_add <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_add;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_add <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_add;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_add <= if4_instr_fifo_buf_1_alu_isa_add; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_addw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_addw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_addw <= if4_instr_fifo_buf_1_alu_isa_addw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sub <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sub;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sub <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sub;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sub <= if4_instr_fifo_buf_1_alu_isa_sub; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_subw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_subw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_subw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_subw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_subw <= if4_instr_fifo_buf_1_alu_isa_subw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sll <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sll;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sll <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sll;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sll <= if4_instr_fifo_buf_1_alu_isa_sll; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sllw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sllw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sllw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sllw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sllw <= if4_instr_fifo_buf_1_alu_isa_sllw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_slt <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slt;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_slt <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slt;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_slt <= if4_instr_fifo_buf_1_alu_isa_slt; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sltu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltu;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sltu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sltu <= if4_instr_fifo_buf_1_alu_isa_sltu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_xor <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xor;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_xor <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xor;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_xor <= if4_instr_fifo_buf_1_alu_isa_xor; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_srl <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srl;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_srl <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srl;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_srl <= if4_instr_fifo_buf_1_alu_isa_srl; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_srlw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srlw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_srlw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srlw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_srlw <= if4_instr_fifo_buf_1_alu_isa_srlw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sra <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sra;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sra <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sra;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sra <= if4_instr_fifo_buf_1_alu_isa_sra; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_sraw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraw;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_sraw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_sraw <= if4_instr_fifo_buf_1_alu_isa_sraw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_or <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_or;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_or <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_or;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_or <= if4_instr_fifo_buf_1_alu_isa_or; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_and <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_and;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_and <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_and;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_and <= if4_instr_fifo_buf_1_alu_isa_and; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_alu_isa_wfi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_wfi;
          end else begin
            if4_instr_fifo_buf_0_alu_isa_wfi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_wfi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_alu_isa_wfi <= if4_instr_fifo_buf_1_alu_isa_wfi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_jal <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jal;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_jal <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jal;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_jal <= if4_instr_fifo_buf_1_bru_isa_jal; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_jalr <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jalr;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_jalr <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jalr;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_jalr <= if4_instr_fifo_buf_1_bru_isa_jalr; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_beq <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_beq;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_beq <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_beq;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_beq <= if4_instr_fifo_buf_1_bru_isa_beq; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_bne <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bne;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_bne <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bne;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_bne <= if4_instr_fifo_buf_1_bru_isa_bne; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_blt <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_blt;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_blt <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_blt;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_blt <= if4_instr_fifo_buf_1_bru_isa_blt; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_bge <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bge;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_bge <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bge;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_bge <= if4_instr_fifo_buf_1_bru_isa_bge; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_bltu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bltu;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_bltu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bltu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_bltu <= if4_instr_fifo_buf_1_bru_isa_bltu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_bru_isa_bgeu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bgeu;
          end else begin
            if4_instr_fifo_buf_0_bru_isa_bgeu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bgeu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_bru_isa_bgeu <= if4_instr_fifo_buf_1_bru_isa_bgeu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lb <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lb;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lb <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lb;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lb <= if4_instr_fifo_buf_1_lsu_isa_lb; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lh;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lh;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lh <= if4_instr_fifo_buf_1_lsu_isa_lh; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lw;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lw <= if4_instr_fifo_buf_1_lsu_isa_lw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_ld <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_ld;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_ld <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_ld;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_ld <= if4_instr_fifo_buf_1_lsu_isa_ld; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lbu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lbu;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lbu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lbu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lbu <= if4_instr_fifo_buf_1_lsu_isa_lbu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lhu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lhu;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lhu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lhu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lhu <= if4_instr_fifo_buf_1_lsu_isa_lhu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lwu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lwu;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lwu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lwu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lwu <= if4_instr_fifo_buf_1_lsu_isa_lwu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sb <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sb;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sb <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sb;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sb <= if4_instr_fifo_buf_1_lsu_isa_sb; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sh;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sh;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sh <= if4_instr_fifo_buf_1_lsu_isa_sh; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sw;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sw <= if4_instr_fifo_buf_1_lsu_isa_sw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sd <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sd;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sd <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sd;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sd <= if4_instr_fifo_buf_1_lsu_isa_sd; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_fence <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_fence <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_fence <= if4_instr_fifo_buf_1_lsu_isa_fence; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_fence_i <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence_i;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_fence_i <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence_i;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_fence_i <= if4_instr_fifo_buf_1_lsu_isa_fence_i; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sfence_vma <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sfence_vma;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sfence_vma <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sfence_vma;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sfence_vma <= if4_instr_fifo_buf_1_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lr_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lr_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lr_w <= if4_instr_fifo_buf_1_lsu_isa_lr_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sc_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sc_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sc_w <= if4_instr_fifo_buf_1_lsu_isa_sc_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoswap_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoswap_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoswap_w <= if4_instr_fifo_buf_1_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoadd_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoadd_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoadd_w <= if4_instr_fifo_buf_1_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoxor_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoxor_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoxor_w <= if4_instr_fifo_buf_1_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoand_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoand_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoand_w <= if4_instr_fifo_buf_1_lsu_isa_amoand_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoor_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoor_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoor_w <= if4_instr_fifo_buf_1_lsu_isa_amoor_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomin_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomin_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomin_w <= if4_instr_fifo_buf_1_lsu_isa_amomin_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomax_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomax_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomax_w <= if4_instr_fifo_buf_1_lsu_isa_amomax_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amominu_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amominu_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amominu_w <= if4_instr_fifo_buf_1_lsu_isa_amominu_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomaxu_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_w;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomaxu_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomaxu_w <= if4_instr_fifo_buf_1_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_lr_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_lr_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_lr_d <= if4_instr_fifo_buf_1_lsu_isa_lr_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_sc_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_sc_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_sc_d <= if4_instr_fifo_buf_1_lsu_isa_sc_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoswap_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoswap_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoswap_d <= if4_instr_fifo_buf_1_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoadd_d <= if4_instr_fifo_buf_1_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoxor_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoxor_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoxor_d <= if4_instr_fifo_buf_1_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoand_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoand_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoand_d <= if4_instr_fifo_buf_1_lsu_isa_amoand_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amoor_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amoor_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amoor_d <= if4_instr_fifo_buf_1_lsu_isa_amoor_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomin_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomin_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomin_d <= if4_instr_fifo_buf_1_lsu_isa_amomin_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomax_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomax_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomax_d <= if4_instr_fifo_buf_1_lsu_isa_amomax_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amominu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amominu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amominu_d <= if4_instr_fifo_buf_1_lsu_isa_amominu_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_amomaxu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_d;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_amomaxu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_amomaxu_d <= if4_instr_fifo_buf_1_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_flw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_flw;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_flw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_flw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_flw <= if4_instr_fifo_buf_1_lsu_isa_flw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_fsw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsw;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_fsw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_fsw <= if4_instr_fifo_buf_1_lsu_isa_fsw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_fld <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fld;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_fld <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fld;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_fld <= if4_instr_fifo_buf_1_lsu_isa_fld; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_lsu_isa_fsd <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsd;
          end else begin
            if4_instr_fifo_buf_0_lsu_isa_fsd <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsd;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_lsu_isa_fsd <= if4_instr_fifo_buf_1_lsu_isa_fsd; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rw;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rw <= if4_instr_fifo_buf_1_csr_isa_rw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rs <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rs;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rs <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rs;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rs <= if4_instr_fifo_buf_1_csr_isa_rs; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rc;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rc;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rc <= if4_instr_fifo_buf_1_csr_isa_rc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rwi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rwi;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rwi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rwi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rwi <= if4_instr_fifo_buf_1_csr_isa_rwi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rsi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rsi;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rsi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rsi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rsi <= if4_instr_fifo_buf_1_csr_isa_rsi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_csr_isa_rci <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rci;
          end else begin
            if4_instr_fifo_buf_0_csr_isa_rci <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rci;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_csr_isa_rci <= if4_instr_fifo_buf_1_csr_isa_rci; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_mul <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mul;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_mul <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mul;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_mul <= if4_instr_fifo_buf_1_mul_isa_mul; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_mulh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulh;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_mulh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulh;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_mulh <= if4_instr_fifo_buf_1_mul_isa_mulh; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_mulhsu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhsu;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_mulhsu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhsu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_mulhsu <= if4_instr_fifo_buf_1_mul_isa_mulhsu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_mulhu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhu;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_mulhu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_mulhu <= if4_instr_fifo_buf_1_mul_isa_mulhu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_div <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_div;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_div <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_div;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_div <= if4_instr_fifo_buf_1_mul_isa_div; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_divu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divu;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_divu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_divu <= if4_instr_fifo_buf_1_mul_isa_divu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_rem <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_rem;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_rem <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_rem;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_rem <= if4_instr_fifo_buf_1_mul_isa_rem; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_remu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remu;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_remu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_remu <= if4_instr_fifo_buf_1_mul_isa_remu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_mulw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulw;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_mulw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_mulw <= if4_instr_fifo_buf_1_mul_isa_mulw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_divw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divw;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_divw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_divw <= if4_instr_fifo_buf_1_mul_isa_divw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_divuw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divuw;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_divuw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divuw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_divuw <= if4_instr_fifo_buf_1_mul_isa_divuw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_remw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remw;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_remw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_remw <= if4_instr_fifo_buf_1_mul_isa_remw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_mul_isa_remuw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remuw;
          end else begin
            if4_instr_fifo_buf_0_mul_isa_remuw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remuw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_mul_isa_remuw <= if4_instr_fifo_buf_1_mul_isa_remuw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_ecall <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ecall;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_ecall <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ecall;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_ecall <= if4_instr_fifo_buf_1_privil_isa_ecall; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_ebreak <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ebreak;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_ebreak <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ebreak;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_ebreak <= if4_instr_fifo_buf_1_privil_isa_ebreak; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_mret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_mret;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_mret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_mret;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_mret <= if4_instr_fifo_buf_1_privil_isa_mret; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_uret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_uret;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_uret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_uret;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_uret <= if4_instr_fifo_buf_1_privil_isa_uret; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_sret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_sret;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_sret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_sret;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_sret <= if4_instr_fifo_buf_1_privil_isa_sret; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_dret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_dret;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_dret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_dret;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_dret <= if4_instr_fifo_buf_1_privil_isa_dret; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hfence_vvma <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_vvma;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hfence_vvma <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_vvma;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hfence_vvma <= if4_instr_fifo_buf_1_privil_isa_hfence_vvma; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hfence_gvma <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_gvma;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hfence_gvma <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_gvma;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hfence_gvma <= if4_instr_fifo_buf_1_privil_isa_hfence_gvma; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_b <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_b;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_b <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_b;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_b <= if4_instr_fifo_buf_1_privil_isa_hlv_b; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_bu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_bu;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_bu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_bu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_bu <= if4_instr_fifo_buf_1_privil_isa_hlv_bu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_h <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_h;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_h <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_h;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_h <= if4_instr_fifo_buf_1_privil_isa_hlv_h; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_hu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_hu;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_hu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_hu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_hu <= if4_instr_fifo_buf_1_privil_isa_hlv_hu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlvx_hu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_hu;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlvx_hu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_hu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlvx_hu <= if4_instr_fifo_buf_1_privil_isa_hlvx_hu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_w;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_w <= if4_instr_fifo_buf_1_privil_isa_hlv_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlvx_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_wu;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlvx_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_wu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlvx_wu <= if4_instr_fifo_buf_1_privil_isa_hlvx_wu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hsv_b <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_b;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hsv_b <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_b;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hsv_b <= if4_instr_fifo_buf_1_privil_isa_hsv_b; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hsv_h <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_h;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hsv_h <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_h;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hsv_h <= if4_instr_fifo_buf_1_privil_isa_hsv_h; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hsv_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_w;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hsv_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hsv_w <= if4_instr_fifo_buf_1_privil_isa_hsv_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_wu;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_wu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_wu <= if4_instr_fifo_buf_1_privil_isa_hlv_wu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hlv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_d;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hlv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hlv_d <= if4_instr_fifo_buf_1_privil_isa_hlv_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_hsv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_d;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_hsv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_hsv_d <= if4_instr_fifo_buf_1_privil_isa_hsv_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_is_access_fault <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_access_fault;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_is_access_fault <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_access_fault;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_is_access_fault <= if4_instr_fifo_buf_1_privil_isa_is_access_fault; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_privil_isa_is_paging_fault <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_paging_fault;
          end else begin
            if4_instr_fifo_buf_0_privil_isa_is_paging_fault <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_paging_fault;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_privil_isa_is_paging_fault <= if4_instr_fifo_buf_1_privil_isa_is_paging_fault; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmadd_s <= if4_instr_fifo_buf_1_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmsub_s <= if4_instr_fifo_buf_1_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fnmsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fnmsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fnmsub_s <= if4_instr_fifo_buf_1_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fnmadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fnmadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fnmadd_s <= if4_instr_fifo_buf_1_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fadd_s <= if4_instr_fifo_buf_1_fpu_isa_fadd_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsub_s <= if4_instr_fifo_buf_1_fpu_isa_fsub_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmul_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmul_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmul_s <= if4_instr_fifo_buf_1_fpu_isa_fmul_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fdiv_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fdiv_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fdiv_s <= if4_instr_fifo_buf_1_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsqrt_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsqrt_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsqrt_s <= if4_instr_fifo_buf_1_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnj_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnj_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnj_s <= if4_instr_fifo_buf_1_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s <= if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s <= if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmin_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmin_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmin_s <= if4_instr_fifo_buf_1_fpu_isa_fmin_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmax_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmax_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmax_s <= if4_instr_fifo_buf_1_fpu_isa_fmax_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s <= if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s <= if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmv_x_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_w;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmv_x_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmv_x_w <= if4_instr_fifo_buf_1_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_feq_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_feq_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_feq_s <= if4_instr_fifo_buf_1_fpu_isa_feq_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_flt_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_flt_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_flt_s <= if4_instr_fifo_buf_1_fpu_isa_flt_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fle_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fle_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fle_s <= if4_instr_fifo_buf_1_fpu_isa_fle_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fclass_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fclass_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fclass_s <= if4_instr_fifo_buf_1_fpu_isa_fclass_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_w;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w <= if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_wu;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_wu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu <= if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmv_w_x <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_w_x;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmv_w_x <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_w_x;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmv_w_x <= if4_instr_fifo_buf_1_fpu_isa_fmv_w_x; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s <= if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s <= if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_l;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_l;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l <= if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_lu;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_lu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu <= if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmadd_d <= if4_instr_fifo_buf_1_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmsub_d <= if4_instr_fifo_buf_1_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fnmsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fnmsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fnmsub_d <= if4_instr_fifo_buf_1_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fnmadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fnmadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fnmadd_d <= if4_instr_fifo_buf_1_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fadd_d <= if4_instr_fifo_buf_1_fpu_isa_fadd_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsub_d <= if4_instr_fifo_buf_1_fpu_isa_fsub_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmul_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmul_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmul_d <= if4_instr_fifo_buf_1_fpu_isa_fmul_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fdiv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fdiv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fdiv_d <= if4_instr_fifo_buf_1_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsqrt_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsqrt_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsqrt_d <= if4_instr_fifo_buf_1_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnj_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnj_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnj_d <= if4_instr_fifo_buf_1_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d <= if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d <= if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmin_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmin_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmin_d <= if4_instr_fifo_buf_1_fpu_isa_fmin_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmax_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmax_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmax_d <= if4_instr_fifo_buf_1_fpu_isa_fmax_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d <= if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_s;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_s;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s <= if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_feq_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_feq_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_feq_d <= if4_instr_fifo_buf_1_fpu_isa_feq_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_flt_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_flt_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_flt_d <= if4_instr_fifo_buf_1_fpu_isa_flt_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fle_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fle_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fle_d <= if4_instr_fifo_buf_1_fpu_isa_fle_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fclass_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fclass_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fclass_d <= if4_instr_fifo_buf_1_fpu_isa_fclass_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d <= if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d <= if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_w;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_w;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w <= if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_wu;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_wu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu <= if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d <= if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d <= if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmv_x_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_d;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmv_x_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_d;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmv_x_d <= if4_instr_fifo_buf_1_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_l;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_l;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l <= if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_lu;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_lu;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu <= if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fmv_d_x <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_d_x;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fmv_d_x <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_d_x;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fmv_d_x <= if4_instr_fifo_buf_1_fpu_isa_fmv_d_x; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rw;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rw;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rw <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rw; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rs <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rs;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rs <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rs;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rs <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rs; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rc;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rc;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rc <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rwi;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rwi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rsi;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rsi;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rci <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rci;
          end else begin
            if4_instr_fifo_buf_0_fpu_isa_fcsr_rci <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rci;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_fpu_isa_fcsr_rci <= if4_instr_fifo_buf_1_fpu_isa_fcsr_rci; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_is_rvc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_is_rvc;
          end else begin
            if4_instr_fifo_buf_0_param_is_rvc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_is_rvc;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_is_rvc <= if4_instr_fifo_buf_1_param_is_rvc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_pc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_pc;
          end else begin
            if4_instr_fifo_buf_0_param_pc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_pc;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_pc <= if4_instr_fifo_buf_1_param_pc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_imm <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_imm;
          end else begin
            if4_instr_fifo_buf_0_param_imm <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_imm;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_imm <= if4_instr_fifo_buf_1_param_imm; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_raw_rs1 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs1;
          end else begin
            if4_instr_fifo_buf_0_param_raw_rs1 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs1;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_raw_rs1 <= if4_instr_fifo_buf_1_param_raw_rs1; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_raw_rs2 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs2;
          end else begin
            if4_instr_fifo_buf_0_param_raw_rs2 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs2;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_raw_rs2 <= if4_instr_fifo_buf_1_param_raw_rs2; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_0_param_raw_rd0 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rd0;
          end else begin
            if4_instr_fifo_buf_0_param_raw_rd0 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rd0;
          end
        end else if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_0_param_raw_rd0 <= if4_instr_fifo_buf_1_param_raw_rd0; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_lui <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_lui;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_lui <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_lui;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_lui <= if4_instr_fifo_buf_0_alu_isa_lui;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_auipc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_auipc;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_auipc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_auipc;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_auipc <= if4_instr_fifo_buf_0_alu_isa_auipc;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_addi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addi;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_addi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_addi <= if4_instr_fifo_buf_0_alu_isa_addi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_addiw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addiw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_addiw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addiw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_addiw <= if4_instr_fifo_buf_0_alu_isa_addiw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_slti <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slti;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_slti <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slti;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_slti <= if4_instr_fifo_buf_0_alu_isa_slti;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sltiu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltiu;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sltiu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltiu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sltiu <= if4_instr_fifo_buf_0_alu_isa_sltiu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_xori <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xori;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_xori <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xori;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_xori <= if4_instr_fifo_buf_0_alu_isa_xori;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_ori <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_ori;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_ori <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_ori;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_ori <= if4_instr_fifo_buf_0_alu_isa_ori;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_andi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_andi;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_andi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_andi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_andi <= if4_instr_fifo_buf_0_alu_isa_andi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_slli <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slli;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_slli <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slli;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_slli <= if4_instr_fifo_buf_0_alu_isa_slli;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_slliw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slliw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_slliw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slliw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_slliw <= if4_instr_fifo_buf_0_alu_isa_slliw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_srli <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srli;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_srli <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srli;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_srli <= if4_instr_fifo_buf_0_alu_isa_srli;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_srliw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srliw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_srliw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srliw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_srliw <= if4_instr_fifo_buf_0_alu_isa_srliw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_srai <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srai;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_srai <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srai;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_srai <= if4_instr_fifo_buf_0_alu_isa_srai;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sraiw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraiw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sraiw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraiw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sraiw <= if4_instr_fifo_buf_0_alu_isa_sraiw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_add <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_add;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_add <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_add;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_add <= if4_instr_fifo_buf_0_alu_isa_add;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_addw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_addw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_addw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_addw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_addw <= if4_instr_fifo_buf_0_alu_isa_addw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sub <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sub;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sub <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sub;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sub <= if4_instr_fifo_buf_0_alu_isa_sub;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_subw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_subw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_subw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_subw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_subw <= if4_instr_fifo_buf_0_alu_isa_subw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sll <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sll;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sll <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sll;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sll <= if4_instr_fifo_buf_0_alu_isa_sll;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sllw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sllw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sllw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sllw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sllw <= if4_instr_fifo_buf_0_alu_isa_sllw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_slt <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_slt;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_slt <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_slt;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_slt <= if4_instr_fifo_buf_0_alu_isa_slt;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sltu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sltu;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sltu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sltu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sltu <= if4_instr_fifo_buf_0_alu_isa_sltu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_xor <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_xor;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_xor <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_xor;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_xor <= if4_instr_fifo_buf_0_alu_isa_xor;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_srl <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srl;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_srl <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srl;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_srl <= if4_instr_fifo_buf_0_alu_isa_srl;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_srlw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_srlw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_srlw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_srlw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_srlw <= if4_instr_fifo_buf_0_alu_isa_srlw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sra <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sra;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sra <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sra;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sra <= if4_instr_fifo_buf_0_alu_isa_sra;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_sraw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_sraw;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_sraw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_sraw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_sraw <= if4_instr_fifo_buf_0_alu_isa_sraw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_or <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_or;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_or <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_or;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_or <= if4_instr_fifo_buf_0_alu_isa_or;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_and <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_and;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_and <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_and;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_and <= if4_instr_fifo_buf_0_alu_isa_and;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_alu_isa_wfi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_alu_isa_wfi;
          end else begin
            if4_instr_fifo_buf_1_alu_isa_wfi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_alu_isa_wfi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_alu_isa_wfi <= if4_instr_fifo_buf_0_alu_isa_wfi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_jal <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jal;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_jal <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jal;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_jal <= if4_instr_fifo_buf_0_bru_isa_jal;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_jalr <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_jalr;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_jalr <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_jalr;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_jalr <= if4_instr_fifo_buf_0_bru_isa_jalr;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_beq <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_beq;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_beq <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_beq;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_beq <= if4_instr_fifo_buf_0_bru_isa_beq;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_bne <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bne;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_bne <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bne;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_bne <= if4_instr_fifo_buf_0_bru_isa_bne;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_blt <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_blt;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_blt <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_blt;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_blt <= if4_instr_fifo_buf_0_bru_isa_blt;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_bge <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bge;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_bge <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bge;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_bge <= if4_instr_fifo_buf_0_bru_isa_bge;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_bltu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bltu;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_bltu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bltu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_bltu <= if4_instr_fifo_buf_0_bru_isa_bltu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_bru_isa_bgeu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_bru_isa_bgeu;
          end else begin
            if4_instr_fifo_buf_1_bru_isa_bgeu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_bru_isa_bgeu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_bru_isa_bgeu <= if4_instr_fifo_buf_0_bru_isa_bgeu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lb <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lb;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lb <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lb;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lb <= if4_instr_fifo_buf_0_lsu_isa_lb;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lh;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lh;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lh <= if4_instr_fifo_buf_0_lsu_isa_lh;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lw;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lw <= if4_instr_fifo_buf_0_lsu_isa_lw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_ld <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_ld;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_ld <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_ld;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_ld <= if4_instr_fifo_buf_0_lsu_isa_ld;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lbu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lbu;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lbu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lbu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lbu <= if4_instr_fifo_buf_0_lsu_isa_lbu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lhu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lhu;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lhu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lhu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lhu <= if4_instr_fifo_buf_0_lsu_isa_lhu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lwu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lwu;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lwu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lwu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lwu <= if4_instr_fifo_buf_0_lsu_isa_lwu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sb <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sb;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sb <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sb;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sb <= if4_instr_fifo_buf_0_lsu_isa_sb;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sh;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sh;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sh <= if4_instr_fifo_buf_0_lsu_isa_sh;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sw;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sw <= if4_instr_fifo_buf_0_lsu_isa_sw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sd <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sd;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sd <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sd;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sd <= if4_instr_fifo_buf_0_lsu_isa_sd;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_fence <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_fence <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_fence <= if4_instr_fifo_buf_0_lsu_isa_fence;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_fence_i <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fence_i;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_fence_i <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fence_i;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_fence_i <= if4_instr_fifo_buf_0_lsu_isa_fence_i;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sfence_vma <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sfence_vma;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sfence_vma <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sfence_vma;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sfence_vma <= if4_instr_fifo_buf_0_lsu_isa_sfence_vma;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lr_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lr_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lr_w <= if4_instr_fifo_buf_0_lsu_isa_lr_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sc_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sc_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sc_w <= if4_instr_fifo_buf_0_lsu_isa_sc_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoswap_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoswap_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoswap_w <= if4_instr_fifo_buf_0_lsu_isa_amoswap_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoadd_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoadd_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoadd_w <= if4_instr_fifo_buf_0_lsu_isa_amoadd_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoxor_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoxor_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoxor_w <= if4_instr_fifo_buf_0_lsu_isa_amoxor_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoand_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoand_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoand_w <= if4_instr_fifo_buf_0_lsu_isa_amoand_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoor_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoor_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoor_w <= if4_instr_fifo_buf_0_lsu_isa_amoor_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomin_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomin_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomin_w <= if4_instr_fifo_buf_0_lsu_isa_amomin_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomax_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomax_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomax_w <= if4_instr_fifo_buf_0_lsu_isa_amomax_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amominu_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amominu_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amominu_w <= if4_instr_fifo_buf_0_lsu_isa_amominu_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomaxu_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_w;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomaxu_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomaxu_w <= if4_instr_fifo_buf_0_lsu_isa_amomaxu_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_lr_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_lr_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_lr_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_lr_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_lr_d <= if4_instr_fifo_buf_0_lsu_isa_lr_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_sc_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_sc_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_sc_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_sc_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_sc_d <= if4_instr_fifo_buf_0_lsu_isa_sc_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoswap_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoswap_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoswap_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoswap_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoswap_d <= if4_instr_fifo_buf_0_lsu_isa_amoswap_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoadd_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoadd_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoadd_d <= if4_instr_fifo_buf_0_lsu_isa_amoadd_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoxor_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoxor_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoxor_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoxor_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoxor_d <= if4_instr_fifo_buf_0_lsu_isa_amoxor_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoand_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoand_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoand_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoand_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoand_d <= if4_instr_fifo_buf_0_lsu_isa_amoand_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amoor_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amoor_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amoor_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amoor_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amoor_d <= if4_instr_fifo_buf_0_lsu_isa_amoor_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomin_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomin_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomin_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomin_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomin_d <= if4_instr_fifo_buf_0_lsu_isa_amomin_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomax_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomax_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomax_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomax_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomax_d <= if4_instr_fifo_buf_0_lsu_isa_amomax_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amominu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amominu_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amominu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amominu_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amominu_d <= if4_instr_fifo_buf_0_lsu_isa_amominu_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_amomaxu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_amomaxu_d;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_amomaxu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_amomaxu_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_amomaxu_d <= if4_instr_fifo_buf_0_lsu_isa_amomaxu_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_flw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_flw;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_flw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_flw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_flw <= if4_instr_fifo_buf_0_lsu_isa_flw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_fsw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsw;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_fsw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_fsw <= if4_instr_fifo_buf_0_lsu_isa_fsw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_fld <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fld;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_fld <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fld;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_fld <= if4_instr_fifo_buf_0_lsu_isa_fld;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_lsu_isa_fsd <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_lsu_isa_fsd;
          end else begin
            if4_instr_fifo_buf_1_lsu_isa_fsd <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_lsu_isa_fsd;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_lsu_isa_fsd <= if4_instr_fifo_buf_0_lsu_isa_fsd;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rw;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rw <= if4_instr_fifo_buf_0_csr_isa_rw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rs <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rs;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rs <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rs;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rs <= if4_instr_fifo_buf_0_csr_isa_rs;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rc;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rc;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rc <= if4_instr_fifo_buf_0_csr_isa_rc;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rwi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rwi;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rwi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rwi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rwi <= if4_instr_fifo_buf_0_csr_isa_rwi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rsi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rsi;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rsi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rsi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rsi <= if4_instr_fifo_buf_0_csr_isa_rsi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_csr_isa_rci <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_csr_isa_rci;
          end else begin
            if4_instr_fifo_buf_1_csr_isa_rci <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_csr_isa_rci;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_csr_isa_rci <= if4_instr_fifo_buf_0_csr_isa_rci;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_mul <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mul;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_mul <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mul;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_mul <= if4_instr_fifo_buf_0_mul_isa_mul;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_mulh <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulh;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_mulh <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulh;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_mulh <= if4_instr_fifo_buf_0_mul_isa_mulh;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_mulhsu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhsu;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_mulhsu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhsu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_mulhsu <= if4_instr_fifo_buf_0_mul_isa_mulhsu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_mulhu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulhu;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_mulhu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulhu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_mulhu <= if4_instr_fifo_buf_0_mul_isa_mulhu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_div <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_div;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_div <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_div;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_div <= if4_instr_fifo_buf_0_mul_isa_div;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_divu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divu;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_divu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_divu <= if4_instr_fifo_buf_0_mul_isa_divu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_rem <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_rem;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_rem <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_rem;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_rem <= if4_instr_fifo_buf_0_mul_isa_rem;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_remu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remu;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_remu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_remu <= if4_instr_fifo_buf_0_mul_isa_remu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_mulw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_mulw;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_mulw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_mulw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_mulw <= if4_instr_fifo_buf_0_mul_isa_mulw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_divw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divw;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_divw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_divw <= if4_instr_fifo_buf_0_mul_isa_divw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_divuw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_divuw;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_divuw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_divuw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_divuw <= if4_instr_fifo_buf_0_mul_isa_divuw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_remw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remw;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_remw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_remw <= if4_instr_fifo_buf_0_mul_isa_remw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_mul_isa_remuw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_mul_isa_remuw;
          end else begin
            if4_instr_fifo_buf_1_mul_isa_remuw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_mul_isa_remuw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_mul_isa_remuw <= if4_instr_fifo_buf_0_mul_isa_remuw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_ecall <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ecall;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_ecall <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ecall;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_ecall <= if4_instr_fifo_buf_0_privil_isa_ecall;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_ebreak <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_ebreak;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_ebreak <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_ebreak;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_ebreak <= if4_instr_fifo_buf_0_privil_isa_ebreak;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_mret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_mret;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_mret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_mret;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_mret <= if4_instr_fifo_buf_0_privil_isa_mret;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_uret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_uret;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_uret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_uret;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_uret <= if4_instr_fifo_buf_0_privil_isa_uret;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_sret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_sret;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_sret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_sret;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_sret <= if4_instr_fifo_buf_0_privil_isa_sret;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_dret <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_dret;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_dret <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_dret;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_dret <= if4_instr_fifo_buf_0_privil_isa_dret;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hfence_vvma <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_vvma;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hfence_vvma <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_vvma;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hfence_vvma <= if4_instr_fifo_buf_0_privil_isa_hfence_vvma;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hfence_gvma <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hfence_gvma;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hfence_gvma <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hfence_gvma;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hfence_gvma <= if4_instr_fifo_buf_0_privil_isa_hfence_gvma;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_b <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_b;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_b <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_b;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_b <= if4_instr_fifo_buf_0_privil_isa_hlv_b;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_bu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_bu;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_bu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_bu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_bu <= if4_instr_fifo_buf_0_privil_isa_hlv_bu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_h <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_h;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_h <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_h;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_h <= if4_instr_fifo_buf_0_privil_isa_hlv_h;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_hu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_hu;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_hu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_hu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_hu <= if4_instr_fifo_buf_0_privil_isa_hlv_hu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlvx_hu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_hu;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlvx_hu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_hu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlvx_hu <= if4_instr_fifo_buf_0_privil_isa_hlvx_hu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_w;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_w <= if4_instr_fifo_buf_0_privil_isa_hlv_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlvx_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlvx_wu;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlvx_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlvx_wu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlvx_wu <= if4_instr_fifo_buf_0_privil_isa_hlvx_wu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hsv_b <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_b;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hsv_b <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_b;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hsv_b <= if4_instr_fifo_buf_0_privil_isa_hsv_b;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hsv_h <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_h;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hsv_h <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_h;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hsv_h <= if4_instr_fifo_buf_0_privil_isa_hsv_h;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hsv_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_w;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hsv_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hsv_w <= if4_instr_fifo_buf_0_privil_isa_hsv_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_wu;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_wu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_wu <= if4_instr_fifo_buf_0_privil_isa_hlv_wu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hlv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hlv_d;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hlv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hlv_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hlv_d <= if4_instr_fifo_buf_0_privil_isa_hlv_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_hsv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_hsv_d;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_hsv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_hsv_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_hsv_d <= if4_instr_fifo_buf_0_privil_isa_hsv_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_is_access_fault <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_access_fault;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_is_access_fault <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_access_fault;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_is_access_fault <= if4_instr_fifo_buf_0_privil_isa_is_access_fault;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_privil_isa_is_paging_fault <=
              if4_instr_fifo_io_enq_0_bits_dec16_io_info_privil_isa_is_paging_fault;
          end else begin
            if4_instr_fifo_buf_1_privil_isa_is_paging_fault <=
              if4_instr_fifo_io_enq_0_bits_dec32_io_info_privil_isa_is_paging_fault;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_privil_isa_is_paging_fault <= if4_instr_fifo_buf_0_privil_isa_is_paging_fault;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmadd_s <= if4_instr_fifo_buf_0_fpu_isa_fmadd_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmsub_s <= if4_instr_fifo_buf_0_fpu_isa_fmsub_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fnmsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fnmsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fnmsub_s <= if4_instr_fifo_buf_0_fpu_isa_fnmsub_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fnmadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fnmadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fnmadd_s <= if4_instr_fifo_buf_0_fpu_isa_fnmadd_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fadd_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fadd_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fadd_s <= if4_instr_fifo_buf_0_fpu_isa_fadd_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsub_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsub_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsub_s <= if4_instr_fifo_buf_0_fpu_isa_fsub_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmul_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmul_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmul_s <= if4_instr_fifo_buf_0_fpu_isa_fmul_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fdiv_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fdiv_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fdiv_s <= if4_instr_fifo_buf_0_fpu_isa_fdiv_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsqrt_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsqrt_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsqrt_s <= if4_instr_fifo_buf_0_fpu_isa_fsqrt_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnj_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnj_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnj_s <= if4_instr_fifo_buf_0_fpu_isa_fsgnj_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s <= if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s <= if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmin_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmin_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmin_s <= if4_instr_fifo_buf_0_fpu_isa_fmin_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmax_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmax_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmax_s <= if4_instr_fifo_buf_0_fpu_isa_fmax_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s <= if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s <= if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmv_x_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_w;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmv_x_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmv_x_w <= if4_instr_fifo_buf_0_fpu_isa_fmv_x_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_feq_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_feq_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_feq_s <= if4_instr_fifo_buf_0_fpu_isa_feq_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_flt_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_flt_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_flt_s <= if4_instr_fifo_buf_0_fpu_isa_flt_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fle_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fle_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fle_s <= if4_instr_fifo_buf_0_fpu_isa_fle_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fclass_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fclass_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fclass_s <= if4_instr_fifo_buf_0_fpu_isa_fclass_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_w;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w <= if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_wu;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_wu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu <= if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmv_w_x <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_w_x;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmv_w_x <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_w_x;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmv_w_x <= if4_instr_fifo_buf_0_fpu_isa_fmv_w_x;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s <= if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s <= if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_l;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_l;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l <= if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_lu;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_lu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu <= if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmadd_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmadd_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmadd_d <= if4_instr_fifo_buf_0_fpu_isa_fmadd_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmsub_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmsub_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmsub_d <= if4_instr_fifo_buf_0_fpu_isa_fmsub_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fnmsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmsub_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fnmsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmsub_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fnmsub_d <= if4_instr_fifo_buf_0_fpu_isa_fnmsub_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fnmadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fnmadd_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fnmadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fnmadd_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fnmadd_d <= if4_instr_fifo_buf_0_fpu_isa_fnmadd_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fadd_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fadd_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fadd_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fadd_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fadd_d <= if4_instr_fifo_buf_0_fpu_isa_fadd_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsub_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsub_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsub_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsub_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsub_d <= if4_instr_fifo_buf_0_fpu_isa_fsub_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmul_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmul_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmul_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmul_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmul_d <= if4_instr_fifo_buf_0_fpu_isa_fmul_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fdiv_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fdiv_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fdiv_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fdiv_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fdiv_d <= if4_instr_fifo_buf_0_fpu_isa_fdiv_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsqrt_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsqrt_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsqrt_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsqrt_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsqrt_d <= if4_instr_fifo_buf_0_fpu_isa_fsqrt_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnj_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnj_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnj_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnj_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnj_d <= if4_instr_fifo_buf_0_fpu_isa_fsgnj_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjn_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjn_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d <= if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fsgnjx_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fsgnjx_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d <= if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmin_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmin_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmin_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmin_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmin_d <= if4_instr_fifo_buf_0_fpu_isa_fmin_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmax_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmax_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmax_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmax_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmax_d <= if4_instr_fifo_buf_0_fpu_isa_fmax_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_s_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_s_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d <= if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_s;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_s;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s <= if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_feq_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_feq_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_feq_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_feq_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_feq_d <= if4_instr_fifo_buf_0_fpu_isa_feq_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_flt_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_flt_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_flt_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_flt_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_flt_d <= if4_instr_fifo_buf_0_fpu_isa_flt_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fle_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fle_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fle_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fle_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fle_d <= if4_instr_fifo_buf_0_fpu_isa_fle_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fclass_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fclass_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fclass_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fclass_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fclass_d <= if4_instr_fifo_buf_0_fpu_isa_fclass_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_w_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_w_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d <= if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_wu_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_wu_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d <= if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_w;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_w;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w <= if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_wu;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_wu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu <= if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_l_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_l_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d <= if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_lu_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_lu_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d <= if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmv_x_d <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_x_d;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmv_x_d <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_x_d;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmv_x_d <= if4_instr_fifo_buf_0_fpu_isa_fmv_x_d;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_l;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_l;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l <= if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcvt_d_lu;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcvt_d_lu;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu <= if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fmv_d_x <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fmv_d_x;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fmv_d_x <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fmv_d_x;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fmv_d_x <= if4_instr_fifo_buf_0_fpu_isa_fmv_d_x;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rw <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rw;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rw <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rw;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rw <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rw;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rs <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rs;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rs <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rs;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rs <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rs;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rc;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rc;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rc <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rc;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rwi;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rwi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rsi;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rsi;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rci <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_fpu_isa_fcsr_rci;
          end else begin
            if4_instr_fifo_buf_1_fpu_isa_fcsr_rci <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_fpu_isa_fcsr_rci;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_fpu_isa_fcsr_rci <= if4_instr_fifo_buf_0_fpu_isa_fcsr_rci;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_is_rvc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_is_rvc;
          end else begin
            if4_instr_fifo_buf_1_param_is_rvc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_is_rvc;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_is_rvc <= if4_instr_fifo_buf_0_param_is_rvc;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_pc <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_pc;
          end else begin
            if4_instr_fifo_buf_1_param_pc <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_pc;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_pc <= if4_instr_fifo_buf_0_param_pc;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_imm <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_imm;
          end else begin
            if4_instr_fifo_buf_1_param_imm <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_imm;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_imm <= if4_instr_fifo_buf_0_param_imm;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_raw_rs1 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs1;
          end else begin
            if4_instr_fifo_buf_1_param_raw_rs1 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs1;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_raw_rs1 <= if4_instr_fifo_buf_0_param_raw_rs1;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_raw_rs2 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rs2;
          end else begin
            if4_instr_fifo_buf_1_param_raw_rs2 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rs2;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_raw_rs2 <= if4_instr_fifo_buf_0_param_raw_rs2;
        end
      end
    end
    if (!(if4_instr_fifo_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_instr_fifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_instr_fifo__T) begin // @[MultiPortFifo.scala 101:33]
          if (if4_io_if4_req_0_bits_isRVC) begin // @[IF4.scala 93:10]
            if4_instr_fifo_buf_1_param_raw_rd0 <= if4_instr_fifo_io_enq_0_bits_dec16_io_info_param_raw_rd0;
          end else begin
            if4_instr_fifo_buf_1_param_raw_rd0 <= if4_instr_fifo_io_enq_0_bits_dec32_io_info_param_raw_rd0;
          end
        end else if (!(if4_instr_fifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_instr_fifo_buf_1_param_raw_rd0 <= if4_instr_fifo_buf_0_param_raw_rd0;
        end
      end
    end
    if (if4_instr_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_instr_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_instr_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_instr_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_instr_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if4_instr_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_instr_fifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_instr_fifo_buf_valid_0 <= if4_instr_fifo__GEN_6;
      end
    end else begin
      if4_instr_fifo_buf_valid_0 <= if4_instr_fifo__GEN_6;
    end
    if (if4_instr_fifo_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_instr_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_instr_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_instr_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_instr_fifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if4_instr_fifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_instr_fifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_instr_fifo_buf_valid_1 <= if4_instr_fifo__GEN_7;
      end
    end else begin
      if4_instr_fifo_buf_valid_1 <= if4_instr_fifo__GEN_7;
    end
    if (if4_instr_fifo_reset) begin // @[MultiPortFifo.scala 60:27]
      if4_instr_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if4_instr_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_instr_fifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if4_instr_fifo_rd_ptr <= if4_instr_fifo__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if4_instr_fifo_reset) begin // @[MultiPortFifo.scala 61:27]
      if4_instr_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if4_instr_fifo_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_instr_fifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if4_instr_fifo_wr_ptr <= if4_instr_fifo__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_instr_fifo__T_9 & if4_instr_fifo__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_instr_fifo__T_7 & if4_instr_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_instr_fifo__T_9 & if4_instr_fifo__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_instr_fifo__T_16 & if4_instr_fifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_bftq_clock) begin
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_pc <= if4_bftq_io_enq_0_bits_pc;
        end else if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_pc <= if4_bftq_buf_1_pc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_bimResp_bim_p <= if4_bftq_io_enq_0_bits_bimResp_bim_p;
        end else if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_bimResp_bim_p <= if4_bftq_buf_1_bimResp_bim_p; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_bimResp_bim_h <= if4_bftq_io_enq_0_bits_bimResp_bim_h;
        end else if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_bimResp_bim_h <= if4_bftq_buf_1_bimResp_bim_h; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_isPredictTaken <= if4_bftq_io_enq_0_bits_isPredictTaken;
        end else if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_0_isPredictTaken <= if4_bftq_buf_1_isPredictTaken; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_pc <= if4_bftq_io_enq_0_bits_pc;
        end else if (!(if4_bftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_pc <= if4_bftq_buf_0_pc;
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_bimResp_bim_p <= if4_bftq_io_enq_0_bits_bimResp_bim_p;
        end else if (!(if4_bftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_bimResp_bim_p <= if4_bftq_buf_0_bimResp_bim_p;
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_bimResp_bim_h <= if4_bftq_io_enq_0_bits_bimResp_bim_h;
        end else if (!(if4_bftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_bimResp_bim_h <= if4_bftq_buf_0_bimResp_bim_h;
        end
      end
    end
    if (!(if4_bftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_bftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_bftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_isPredictTaken <= if4_bftq_io_enq_0_bits_isPredictTaken;
        end else if (!(if4_bftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_bftq_buf_1_isPredictTaken <= if4_bftq_buf_0_isPredictTaken;
        end
      end
    end
    if (if4_bftq_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_bftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_bftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_bftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_bftq__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if4_bftq__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_bftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_bftq_buf_valid_0 <= if4_bftq__GEN_6;
      end
    end else begin
      if4_bftq_buf_valid_0 <= if4_bftq__GEN_6;
    end
    if (if4_bftq_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_bftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_bftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_bftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_bftq__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if4_bftq__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_bftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_bftq_buf_valid_1 <= if4_bftq__GEN_7;
      end
    end else begin
      if4_bftq_buf_valid_1 <= if4_bftq__GEN_7;
    end
    if (if4_bftq_reset) begin // @[MultiPortFifo.scala 60:27]
      if4_bftq_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if4_bftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_bftq_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if4_bftq_rd_ptr <= if4_bftq__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if4_bftq_reset) begin // @[MultiPortFifo.scala 61:27]
      if4_bftq_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if4_bftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_bftq_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if4_bftq_wr_ptr <= if4_bftq__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_bftq__T_9 & if4_bftq__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_bftq__T_7 & if4_bftq__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_bftq__T_9 & if4_bftq__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_bftq__T_16 & if4_bftq__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_jftq_clock) begin
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_pc <= if4_jftq_io_enq_0_bits_pc;
        end else if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_pc <= if4_jftq_buf_1_pc; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_btbResp_target <= if4_jftq_io_enq_0_bits_btbResp_target;
        end else if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_btbResp_target <= if4_jftq_buf_1_btbResp_target; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_rasResp_target <= if4_jftq_io_enq_0_bits_rasResp_target;
        end else if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_rasResp_target <= if4_jftq_buf_1_rasResp_target; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (~if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_isRas <= if4_jftq_io_enq_0_bits_isRas;
        end else if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_0_isRas <= if4_jftq_buf_1_isRas; // @[MultiPortFifo.scala 101:33]
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_pc <= if4_jftq_io_enq_0_bits_pc;
        end else if (!(if4_jftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_pc <= if4_jftq_buf_0_pc;
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_btbResp_target <= if4_jftq_io_enq_0_bits_btbResp_target;
        end else if (!(if4_jftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_btbResp_target <= if4_jftq_buf_0_btbResp_target;
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_rasResp_target <= if4_jftq_io_enq_0_bits_rasResp_target;
        end else if (!(if4_jftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_rasResp_target <= if4_jftq_buf_0_rasResp_target;
        end
      end
    end
    if (!(if4_jftq_io_flush)) begin // @[MultiPortFifo.scala 87:23]
      if (if4_jftq__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
        if (if4_jftq__T) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_isRas <= if4_jftq_io_enq_0_bits_isRas;
        end else if (!(if4_jftq__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
          if4_jftq_buf_1_isRas <= if4_jftq_buf_0_isRas;
        end
      end
    end
    if (if4_jftq_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_jftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_jftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_jftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_jftq__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~if4_jftq__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_jftq_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_jftq_buf_valid_0 <= if4_jftq__GEN_6;
      end
    end else begin
      if4_jftq_buf_valid_0 <= if4_jftq__GEN_6;
    end
    if (if4_jftq_reset) begin // @[MultiPortFifo.scala 58:30]
      if4_jftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (if4_jftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_jftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 88:54]
    end else if (if4_jftq__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (if4_jftq__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        if4_jftq_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        if4_jftq_buf_valid_1 <= if4_jftq__GEN_7;
      end
    end else begin
      if4_jftq_buf_valid_1 <= if4_jftq__GEN_7;
    end
    if (if4_jftq_reset) begin // @[MultiPortFifo.scala 60:27]
      if4_jftq_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else if (if4_jftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_jftq_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 89:16]
    end else begin
      if4_jftq_rd_ptr <= if4_jftq__rd_ptr_T_2; // @[MultiPortFifo.scala 106:16]
    end
    if (if4_jftq_reset) begin // @[MultiPortFifo.scala 61:27]
      if4_jftq_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else if (if4_jftq_io_flush) begin // @[MultiPortFifo.scala 87:23]
      if4_jftq_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 90:16]
    end else begin
      if4_jftq_wr_ptr <= if4_jftq__wr_ptr_T_2; // @[MultiPortFifo.scala 107:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_jftq__T_9 & if4_jftq__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_jftq__T_7 & if4_jftq__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_jftq__T_9 & if4_jftq__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_jftq__T_16 & if4_jftq__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_bRePort_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_bRePort__T_4 & if4_bRePort__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_bRePort__T_2 & if4_bRePort__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_jRePort_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4_jRePort__T_4 & if4_jRePort__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4_jRePort__T_2 & if4_jRePort__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge if4_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_1 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_6 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_14) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_11 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_16 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_24) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_21 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at TAGE.scala:262 assert( resp.isAltpred(i) === (resp.isProvider(i) ^ isTableSel(i)) )\n"
            ); // @[TAGE.scala 262:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_26 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 262:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__tage_decode_T_43) begin
          $fwrite(32'h80000002,"Assertion failed\n    at TAGE.scala:264 assert( PopCount( resp.isProvider ) <= 1.U )\n"
            ); // @[TAGE.scala 264:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__tage_decode_T_40 & if4__tage_decode_T_3) begin
          $fatal; // @[TAGE.scala 264:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__T & if4__tage_decode_T_3 & if4__T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:173 when( ~isRedirect(i) ) { assert( redirectTarget(i) === 0.U ) }\n"); // @[IF4.scala 173:36]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__T_1 & (if4__T & if4__tage_decode_T_3)) begin
          $fatal; // @[IF4.scala 173:36]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__T_6 & if4__tage_decode_T_3 & if4__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:174 when( io.if4_req(i).valid & ~io.if4_req(i).bits.isRedirect ) { assert( io.if4_req(i).bits.target === 0.U ) }\n"
            ); // @[IF4.scala 174:74]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__T_7 & (if4__T_6 & if4__tage_decode_T_3)) begin
          $fatal; // @[IF4.scala 174:74]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:224 assert( ~(btbRedirect(i).ready  & ~btbRedirect(i).valid) )\n"); // @[IF4.scala 224:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__T_13 & if4__tage_decode_T_3) begin
          $fatal; // @[IF4.scala 224:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (if4__tage_decode_T_3 & if4__T_22) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IF4.scala:225 assert( ~(bimRedirect(i).ready  & ~bimRedirect(i).valid) )\n"); // @[IF4.scala 225:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~if4__T_19 & if4__tage_decode_T_3) begin
          $fatal; // @[IF4.scala 225:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge rnm_stage_rnRspReport_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage_rnRspReport__T_4 & rnm_stage_rnRspReport__T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at RePort! enq-fire should equal to deq-fire!\n    at RePort.scala:32 assert ( PopCount( io.enq.map(_.fire) ) === PopCount( io.deq.map(_.fire) ), \"Assert Failed at RePort! enq-fire should equal to deq-fire!\"  )\n"
            ); // @[RePort.scala 32:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage_rnRspReport__T_2 & rnm_stage_rnRspReport__T_4) begin
          $fatal; // @[RePort.scala 32:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge rnm_stage_rnRspFifo_clock) begin
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_lui <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_lui;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_lui <= rnm_stage_rnRspFifo_buf_1_alu_isa_lui; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_auipc <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_auipc;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_auipc <= rnm_stage_rnRspFifo_buf_1_alu_isa_auipc; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addi;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addi <= rnm_stage_rnRspFifo_buf_1_alu_isa_addi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addiw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addiw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addiw <= rnm_stage_rnRspFifo_buf_1_alu_isa_addiw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slti <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slti;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slti <= rnm_stage_rnRspFifo_buf_1_alu_isa_slti; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltiu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu <= rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_xori <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xori;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_xori <= rnm_stage_rnRspFifo_buf_1_alu_isa_xori; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_ori <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_ori;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_ori <= rnm_stage_rnRspFifo_buf_1_alu_isa_ori; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_andi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_andi;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_andi <= rnm_stage_rnRspFifo_buf_1_alu_isa_andi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slli <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slli;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slli <= rnm_stage_rnRspFifo_buf_1_alu_isa_slli; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slliw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slliw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slliw <= rnm_stage_rnRspFifo_buf_1_alu_isa_slliw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srli <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srli;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srli <= rnm_stage_rnRspFifo_buf_1_alu_isa_srli; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srliw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srliw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srliw <= rnm_stage_rnRspFifo_buf_1_alu_isa_srliw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srai <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srai;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srai <= rnm_stage_rnRspFifo_buf_1_alu_isa_srai; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraiw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw <= rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_add <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_add;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_add <= rnm_stage_rnRspFifo_buf_1_alu_isa_add; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_addw <= rnm_stage_rnRspFifo_buf_1_alu_isa_addw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sub <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sub;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sub <= rnm_stage_rnRspFifo_buf_1_alu_isa_sub; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_subw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_subw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_subw <= rnm_stage_rnRspFifo_buf_1_alu_isa_subw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sll <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sll;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sll <= rnm_stage_rnRspFifo_buf_1_alu_isa_sll; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sllw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sllw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sllw <= rnm_stage_rnRspFifo_buf_1_alu_isa_sllw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slt <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slt;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_slt <= rnm_stage_rnRspFifo_buf_1_alu_isa_slt; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sltu <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sltu <= rnm_stage_rnRspFifo_buf_1_alu_isa_sltu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_xor <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xor;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_xor <= rnm_stage_rnRspFifo_buf_1_alu_isa_xor; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srl <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srl;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srl <= rnm_stage_rnRspFifo_buf_1_alu_isa_srl; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srlw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srlw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_srlw <= rnm_stage_rnRspFifo_buf_1_alu_isa_srlw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sra <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sra;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sra <= rnm_stage_rnRspFifo_buf_1_alu_isa_sra; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sraw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_sraw <= rnm_stage_rnRspFifo_buf_1_alu_isa_sraw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_or <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_or;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_or <= rnm_stage_rnRspFifo_buf_1_alu_isa_or; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_and <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_and;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_and <= rnm_stage_rnRspFifo_buf_1_alu_isa_and; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_wfi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_wfi;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_alu_isa_wfi <= rnm_stage_rnRspFifo_buf_1_alu_isa_wfi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_jal <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jal;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_jal <= rnm_stage_rnRspFifo_buf_1_bru_isa_jal; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_jalr <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jalr;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_jalr <= rnm_stage_rnRspFifo_buf_1_bru_isa_jalr; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_beq <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_beq;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_beq <= rnm_stage_rnRspFifo_buf_1_bru_isa_beq; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bne <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bne;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bne <= rnm_stage_rnRspFifo_buf_1_bru_isa_bne; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_blt <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_blt;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_blt <= rnm_stage_rnRspFifo_buf_1_bru_isa_blt; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bge <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bge;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bge <= rnm_stage_rnRspFifo_buf_1_bru_isa_bge; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bltu <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bltu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bltu <= rnm_stage_rnRspFifo_buf_1_bru_isa_bltu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bgeu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu <= rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lb <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lb;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lb <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lb; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lh <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lh;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lh <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lh; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lw <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_ld <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_ld;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_ld <= rnm_stage_rnRspFifo_buf_1_lsu_isa_ld; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lbu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lhu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lwu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sb <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sb;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sb <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sb; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sh <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sh;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sh <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sh; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sw <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sd <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sd;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sd <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sd; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fence <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fence <= rnm_stage_rnRspFifo_buf_1_lsu_isa_fence; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence_i;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i <= rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sfence_vma;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d <= rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_flw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_flw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_flw <= rnm_stage_rnRspFifo_buf_1_lsu_isa_flw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw <= rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fld <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fld;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fld <= rnm_stage_rnRspFifo_buf_1_lsu_isa_fld; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsd;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd <= rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rw <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rw <= rnm_stage_rnRspFifo_buf_1_csr_isa_rw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rs <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rs;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rs <= rnm_stage_rnRspFifo_buf_1_csr_isa_rs; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rc <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rc;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rc <= rnm_stage_rnRspFifo_buf_1_csr_isa_rc; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rwi <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rwi;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rwi <= rnm_stage_rnRspFifo_buf_1_csr_isa_rwi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rsi <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rsi;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rsi <= rnm_stage_rnRspFifo_buf_1_csr_isa_rsi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rci <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rci;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_csr_isa_rci <= rnm_stage_rnRspFifo_buf_1_csr_isa_rci; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mul <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mul;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mul <= rnm_stage_rnRspFifo_buf_1_mul_isa_mul; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulh <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulh;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulh <= rnm_stage_rnRspFifo_buf_1_mul_isa_mulh; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhsu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu <= rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu <= rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_div <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_div;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_div <= rnm_stage_rnRspFifo_buf_1_mul_isa_div; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divu <= rnm_stage_rnRspFifo_buf_1_mul_isa_divu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_rem <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_rem;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_rem <= rnm_stage_rnRspFifo_buf_1_mul_isa_rem; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remu;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remu <= rnm_stage_rnRspFifo_buf_1_mul_isa_remu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_mulw <= rnm_stage_rnRspFifo_buf_1_mul_isa_mulw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divw <= rnm_stage_rnRspFifo_buf_1_mul_isa_divw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divuw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divuw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_divuw <= rnm_stage_rnRspFifo_buf_1_mul_isa_divuw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remw <= rnm_stage_rnRspFifo_buf_1_mul_isa_remw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remuw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remuw;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_mul_isa_remuw <= rnm_stage_rnRspFifo_buf_1_mul_isa_remuw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_w;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_s_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_d_s;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_d;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d <= rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_is_rvc <= rnm_stage_rnRspFifo_io_enq_0_bits_param_is_rvc;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_is_rvc <= rnm_stage_rnRspFifo_buf_1_param_is_rvc; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_pc <= rnm_stage_rnRspFifo_io_enq_0_bits_param_pc;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_pc <= rnm_stage_rnRspFifo_buf_1_param_pc; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_imm <= rnm_stage_rnRspFifo_io_enq_0_bits_param_imm;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_imm <= rnm_stage_rnRspFifo_buf_1_param_imm; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_raw_rs1 <= rnm_stage_rnRspFifo_io_enq_0_bits_param_raw_rs1;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_param_raw_rs1 <= rnm_stage_rnRspFifo_buf_1_param_raw_rs1; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs1 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs1;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs1 <= rnm_stage_rnRspFifo_buf_1_phy_rs1; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs2 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs2;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs2 <= rnm_stage_rnRspFifo_buf_1_phy_rs2; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs3 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs3;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rs3 <= rnm_stage_rnRspFifo_buf_1_phy_rs3; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rd0 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rd0;
      end else if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_0_phy_rd0 <= rnm_stage_rnRspFifo_buf_1_phy_rd0; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_lui <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_lui;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_lui <= rnm_stage_rnRspFifo_buf_0_alu_isa_lui;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_auipc <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_auipc;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_auipc <= rnm_stage_rnRspFifo_buf_0_alu_isa_auipc;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addi;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addi <= rnm_stage_rnRspFifo_buf_0_alu_isa_addi;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addiw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addiw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addiw <= rnm_stage_rnRspFifo_buf_0_alu_isa_addiw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slti <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slti;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slti <= rnm_stage_rnRspFifo_buf_0_alu_isa_slti;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltiu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu <= rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_xori <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xori;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_xori <= rnm_stage_rnRspFifo_buf_0_alu_isa_xori;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_ori <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_ori;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_ori <= rnm_stage_rnRspFifo_buf_0_alu_isa_ori;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_andi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_andi;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_andi <= rnm_stage_rnRspFifo_buf_0_alu_isa_andi;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slli <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slli;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slli <= rnm_stage_rnRspFifo_buf_0_alu_isa_slli;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slliw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slliw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slliw <= rnm_stage_rnRspFifo_buf_0_alu_isa_slliw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srli <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srli;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srli <= rnm_stage_rnRspFifo_buf_0_alu_isa_srli;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srliw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srliw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srliw <= rnm_stage_rnRspFifo_buf_0_alu_isa_srliw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srai <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srai;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srai <= rnm_stage_rnRspFifo_buf_0_alu_isa_srai;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraiw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw <= rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_add <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_add;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_add <= rnm_stage_rnRspFifo_buf_0_alu_isa_add;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_addw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_addw <= rnm_stage_rnRspFifo_buf_0_alu_isa_addw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sub <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sub;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sub <= rnm_stage_rnRspFifo_buf_0_alu_isa_sub;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_subw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_subw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_subw <= rnm_stage_rnRspFifo_buf_0_alu_isa_subw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sll <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sll;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sll <= rnm_stage_rnRspFifo_buf_0_alu_isa_sll;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sllw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sllw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sllw <= rnm_stage_rnRspFifo_buf_0_alu_isa_sllw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slt <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_slt;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_slt <= rnm_stage_rnRspFifo_buf_0_alu_isa_slt;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sltu <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sltu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sltu <= rnm_stage_rnRspFifo_buf_0_alu_isa_sltu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_xor <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_xor;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_xor <= rnm_stage_rnRspFifo_buf_0_alu_isa_xor;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srl <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srl;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srl <= rnm_stage_rnRspFifo_buf_0_alu_isa_srl;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srlw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_srlw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_srlw <= rnm_stage_rnRspFifo_buf_0_alu_isa_srlw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sra <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sra;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sra <= rnm_stage_rnRspFifo_buf_0_alu_isa_sra;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sraw <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_sraw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_sraw <= rnm_stage_rnRspFifo_buf_0_alu_isa_sraw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_or <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_or;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_or <= rnm_stage_rnRspFifo_buf_0_alu_isa_or;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_and <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_and;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_and <= rnm_stage_rnRspFifo_buf_0_alu_isa_and;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_wfi <= rnm_stage_rnRspFifo_io_enq_0_bits_alu_isa_wfi;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_alu_isa_wfi <= rnm_stage_rnRspFifo_buf_0_alu_isa_wfi;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_jal <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jal;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_jal <= rnm_stage_rnRspFifo_buf_0_bru_isa_jal;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_jalr <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_jalr;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_jalr <= rnm_stage_rnRspFifo_buf_0_bru_isa_jalr;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_beq <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_beq;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_beq <= rnm_stage_rnRspFifo_buf_0_bru_isa_beq;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bne <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bne;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bne <= rnm_stage_rnRspFifo_buf_0_bru_isa_bne;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_blt <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_blt;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_blt <= rnm_stage_rnRspFifo_buf_0_bru_isa_blt;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bge <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bge;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bge <= rnm_stage_rnRspFifo_buf_0_bru_isa_bge;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bltu <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bltu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bltu <= rnm_stage_rnRspFifo_buf_0_bru_isa_bltu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu <= rnm_stage_rnRspFifo_io_enq_0_bits_bru_isa_bgeu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu <= rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lb <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lb;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lb <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lb;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lh <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lh;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lh <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lh;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lw <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_ld <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_ld;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_ld <= rnm_stage_rnRspFifo_buf_0_lsu_isa_ld;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lbu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lhu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lwu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sb <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sb;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sb <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sb;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sh <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sh;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sh <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sh;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sw <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sd <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sd;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sd <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sd;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fence <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fence <= rnm_stage_rnRspFifo_buf_0_lsu_isa_fence;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fence_i;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i <= rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sfence_vma;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_lr_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_sc_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoswap_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoadd_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoxor_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoand_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amoor_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomin_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomax_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amominu_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_amomaxu_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d <= rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_flw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_flw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_flw <= rnm_stage_rnRspFifo_buf_0_lsu_isa_flw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw <= rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fld <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fld;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fld <= rnm_stage_rnRspFifo_buf_0_lsu_isa_fld;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd <= rnm_stage_rnRspFifo_io_enq_0_bits_lsu_isa_fsd;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd <= rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rw <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rw <= rnm_stage_rnRspFifo_buf_0_csr_isa_rw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rs <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rs;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rs <= rnm_stage_rnRspFifo_buf_0_csr_isa_rs;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rc <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rc;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rc <= rnm_stage_rnRspFifo_buf_0_csr_isa_rc;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rwi <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rwi;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rwi <= rnm_stage_rnRspFifo_buf_0_csr_isa_rwi;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rsi <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rsi;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rsi <= rnm_stage_rnRspFifo_buf_0_csr_isa_rsi;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rci <= rnm_stage_rnRspFifo_io_enq_0_bits_csr_isa_rci;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_csr_isa_rci <= rnm_stage_rnRspFifo_buf_0_csr_isa_rci;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mul <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mul;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mul <= rnm_stage_rnRspFifo_buf_0_mul_isa_mul;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulh <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulh;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulh <= rnm_stage_rnRspFifo_buf_0_mul_isa_mulh;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhsu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu <= rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulhu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu <= rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_div <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_div;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_div <= rnm_stage_rnRspFifo_buf_0_mul_isa_div;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divu <= rnm_stage_rnRspFifo_buf_0_mul_isa_divu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_rem <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_rem;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_rem <= rnm_stage_rnRspFifo_buf_0_mul_isa_rem;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remu <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remu;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remu <= rnm_stage_rnRspFifo_buf_0_mul_isa_remu;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_mulw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_mulw <= rnm_stage_rnRspFifo_buf_0_mul_isa_mulw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divw <= rnm_stage_rnRspFifo_buf_0_mul_isa_divw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divuw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_divuw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_divuw <= rnm_stage_rnRspFifo_buf_0_mul_isa_divuw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remw <= rnm_stage_rnRspFifo_buf_0_mul_isa_remw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remuw <= rnm_stage_rnRspFifo_io_enq_0_bits_mul_isa_remuw;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_mul_isa_remuw <= rnm_stage_rnRspFifo_buf_0_mul_isa_remuw;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_w;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmadd_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmsub_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmsub_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fnmadd_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fadd_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsub_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmul_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fdiv_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsqrt_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnj_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjn_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fsgnjx_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmin_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmax_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_s_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_d_s;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_feq_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_flt_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fle_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fclass_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_w_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_wu_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_l_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fcvt_lu_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d <= rnm_stage_rnRspFifo_io_enq_0_bits_fpu_isa_fmv_x_d;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d <= rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_is_rvc <= rnm_stage_rnRspFifo_io_enq_0_bits_param_is_rvc;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_is_rvc <= rnm_stage_rnRspFifo_buf_0_param_is_rvc;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_pc <= rnm_stage_rnRspFifo_io_enq_0_bits_param_pc;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_pc <= rnm_stage_rnRspFifo_buf_0_param_pc;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_imm <= rnm_stage_rnRspFifo_io_enq_0_bits_param_imm;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_imm <= rnm_stage_rnRspFifo_buf_0_param_imm;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_raw_rs1 <= rnm_stage_rnRspFifo_io_enq_0_bits_param_raw_rs1;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_param_raw_rs1 <= rnm_stage_rnRspFifo_buf_0_param_raw_rs1;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs1 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs1;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs1 <= rnm_stage_rnRspFifo_buf_0_phy_rs1;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs2 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs2;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs2 <= rnm_stage_rnRspFifo_buf_0_phy_rs2;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs3 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rs3;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rs3 <= rnm_stage_rnRspFifo_buf_0_phy_rs3;
      end
    end
    if (rnm_stage_rnRspFifo__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_rnRspFifo__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rd0 <= rnm_stage_rnRspFifo_io_enq_0_bits_phy_rd0;
      end else if (!(rnm_stage_rnRspFifo__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_rnRspFifo_buf_1_phy_rd0 <= rnm_stage_rnRspFifo_buf_0_phy_rd0;
      end
    end
    if (rnm_stage_rnRspFifo_reset) begin // @[MultiPortFifo.scala 58:30]
      rnm_stage_rnRspFifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (rnm_stage_rnRspFifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~rnm_stage_rnRspFifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        rnm_stage_rnRspFifo_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        rnm_stage_rnRspFifo_buf_valid_0 <= rnm_stage_rnRspFifo__GEN_6;
      end
    end else begin
      rnm_stage_rnRspFifo_buf_valid_0 <= rnm_stage_rnRspFifo__GEN_6;
    end
    if (rnm_stage_rnRspFifo_reset) begin // @[MultiPortFifo.scala 58:30]
      rnm_stage_rnRspFifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (rnm_stage_rnRspFifo__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (rnm_stage_rnRspFifo__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        rnm_stage_rnRspFifo_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        rnm_stage_rnRspFifo_buf_valid_1 <= rnm_stage_rnRspFifo__GEN_7;
      end
    end else begin
      rnm_stage_rnRspFifo_buf_valid_1 <= rnm_stage_rnRspFifo__GEN_7;
    end
    if (rnm_stage_rnRspFifo_reset) begin // @[MultiPortFifo.scala 60:27]
      rnm_stage_rnRspFifo_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else begin
      rnm_stage_rnRspFifo_rd_ptr <= rnm_stage_rnRspFifo__rd_ptr_T_2;
    end
    if (rnm_stage_rnRspFifo_reset) begin // @[MultiPortFifo.scala 61:27]
      rnm_stage_rnRspFifo_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else begin
      rnm_stage_rnRspFifo_wr_ptr <= rnm_stage_rnRspFifo__wr_ptr_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage_rnRspFifo__T_9 & rnm_stage_rnRspFifo__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage_rnRspFifo__T_7 & rnm_stage_rnRspFifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage_rnRspFifo__T_9 & rnm_stage_rnRspFifo__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage_rnRspFifo__T_16 & rnm_stage_rnRspFifo__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge rnm_stage_reOrder_fifo_i_clock) begin
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_pc <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_pc;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_pc <= rnm_stage_reOrder_fifo_i_buf_1_pc; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_rd0_raw <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_raw;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_rd0_raw <= rnm_stage_reOrder_fifo_i_buf_1_rd0_raw; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_rd0_phy <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_phy;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_rd0_phy <= rnm_stage_reOrder_fifo_i_buf_1_rd0_phy; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_branch <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_branch;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_branch <= rnm_stage_reOrder_fifo_i_buf_1_is_branch; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_jalr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_jalr;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_jalr <= rnm_stage_reOrder_fifo_i_buf_1_is_jalr; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_lu <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_lu;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_lu <= rnm_stage_reOrder_fifo_i_buf_1_is_lu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_su <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_su;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_su <= rnm_stage_reOrder_fifo_i_buf_1_is_su; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_amo <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_amo;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_amo <= rnm_stage_reOrder_fifo_i_buf_1_is_amo; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fence_i <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fence_i;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fence_i <= rnm_stage_reOrder_fifo_i_buf_1_is_fence_i; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_sfence_vma;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma <= rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_wfi <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_wfi;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_wfi <= rnm_stage_reOrder_fifo_i_buf_1_is_wfi; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_csr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_csr;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_csr <= rnm_stage_reOrder_fifo_i_buf_1_is_csr; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fpu <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fpu;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fpu <= rnm_stage_reOrder_fifo_i_buf_1_is_fpu; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fcsr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcsr;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fcsr <= rnm_stage_reOrder_fifo_i_buf_1_is_fcsr; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_xcmm <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_xcmm;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_xcmm <= rnm_stage_reOrder_fifo_i_buf_1_is_xcmm; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fcmm <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcmm;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_fcmm <= rnm_stage_reOrder_fifo_i_buf_1_is_fcmm; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_ecall <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ecall;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_ecall <= rnm_stage_reOrder_fifo_i_buf_1_privil_ecall; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ebreak;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak <= rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_mret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_mret;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_mret <= rnm_stage_reOrder_fifo_i_buf_1_privil_mret; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_sret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_sret;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_sret <= rnm_stage_reOrder_fifo_i_buf_1_privil_sret; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_dret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_dret;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_dret <= rnm_stage_reOrder_fifo_i_buf_1_privil_dret; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault <=
          rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_access_fault;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault <= rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault <=
          rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_paging_fault;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault <= rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (~rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_illeage <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_illeage;
      end else if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_0_is_illeage <= rnm_stage_reOrder_fifo_i_buf_1_is_illeage; // @[MultiPortFifo.scala 101:33]
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_pc <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_pc;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_pc <= rnm_stage_reOrder_fifo_i_buf_0_pc;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_rd0_raw <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_raw;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_rd0_raw <= rnm_stage_reOrder_fifo_i_buf_0_rd0_raw;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_rd0_phy <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_rd0_phy;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_rd0_phy <= rnm_stage_reOrder_fifo_i_buf_0_rd0_phy;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_branch <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_branch;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_branch <= rnm_stage_reOrder_fifo_i_buf_0_is_branch;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_jalr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_jalr;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_jalr <= rnm_stage_reOrder_fifo_i_buf_0_is_jalr;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_lu <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_lu;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_lu <= rnm_stage_reOrder_fifo_i_buf_0_is_lu;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_su <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_su;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_su <= rnm_stage_reOrder_fifo_i_buf_0_is_su;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_amo <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_amo;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_amo <= rnm_stage_reOrder_fifo_i_buf_0_is_amo;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fence_i <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fence_i;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fence_i <= rnm_stage_reOrder_fifo_i_buf_0_is_fence_i;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_sfence_vma;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma <= rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_wfi <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_wfi;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_wfi <= rnm_stage_reOrder_fifo_i_buf_0_is_wfi;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_csr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_csr;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_csr <= rnm_stage_reOrder_fifo_i_buf_0_is_csr;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fpu <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fpu;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fpu <= rnm_stage_reOrder_fifo_i_buf_0_is_fpu;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fcsr <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcsr;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fcsr <= rnm_stage_reOrder_fifo_i_buf_0_is_fcsr;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_xcmm <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_xcmm;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_xcmm <= rnm_stage_reOrder_fifo_i_buf_0_is_xcmm;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fcmm <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_fcmm;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_fcmm <= rnm_stage_reOrder_fifo_i_buf_0_is_fcmm;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_ecall <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ecall;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_ecall <= rnm_stage_reOrder_fifo_i_buf_0_privil_ecall;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_ebreak;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak <= rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_mret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_mret;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_mret <= rnm_stage_reOrder_fifo_i_buf_0_privil_mret;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_sret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_sret;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_sret <= rnm_stage_reOrder_fifo_i_buf_0_privil_sret;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_dret <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_dret;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_dret <= rnm_stage_reOrder_fifo_i_buf_0_privil_dret;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault <=
          rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_access_fault;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault <= rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault <=
          rnm_stage_reOrder_fifo_i_io_enq_0_bits_privil_is_paging_fault;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault <= rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault;
      end
    end
    if (rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1) begin // @[MultiPortFifo.scala 101:27]
      if (rnm_stage_reOrder_fifo_i__T) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_illeage <= rnm_stage_reOrder_fifo_i_io_enq_0_bits_is_illeage;
      end else if (!(rnm_stage_reOrder_fifo_i__io_enq_0_ready_T_1)) begin // @[MultiPortFifo.scala 101:33]
        rnm_stage_reOrder_fifo_i_buf_1_is_illeage <= rnm_stage_reOrder_fifo_i_buf_0_is_illeage;
      end
    end
    if (rnm_stage_reOrder_fifo_i_reset) begin // @[MultiPortFifo.scala 58:30]
      rnm_stage_reOrder_fifo_i_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (rnm_stage_reOrder_fifo_i__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (~rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        rnm_stage_reOrder_fifo_i_buf_valid_0 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        rnm_stage_reOrder_fifo_i_buf_valid_0 <= rnm_stage_reOrder_fifo_i__GEN_6;
      end
    end else begin
      rnm_stage_reOrder_fifo_i_buf_valid_0 <= rnm_stage_reOrder_fifo_i__GEN_6;
    end
    if (rnm_stage_reOrder_fifo_i_reset) begin // @[MultiPortFifo.scala 58:30]
      rnm_stage_reOrder_fifo_i_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 58:30]
    end else if (rnm_stage_reOrder_fifo_i__T_1) begin // @[MultiPortFifo.scala 98:34]
      if (rnm_stage_reOrder_fifo_i__io_deq_0_valid_T_1) begin // @[MultiPortFifo.scala 98:57]
        rnm_stage_reOrder_fifo_i_buf_valid_1 <= 1'h0; // @[MultiPortFifo.scala 98:57]
      end else begin
        rnm_stage_reOrder_fifo_i_buf_valid_1 <= rnm_stage_reOrder_fifo_i__GEN_7;
      end
    end else begin
      rnm_stage_reOrder_fifo_i_buf_valid_1 <= rnm_stage_reOrder_fifo_i__GEN_7;
    end
    if (rnm_stage_reOrder_fifo_i_reset) begin // @[MultiPortFifo.scala 60:27]
      rnm_stage_reOrder_fifo_i_rd_ptr <= 1'h0; // @[MultiPortFifo.scala 60:27]
    end else begin
      rnm_stage_reOrder_fifo_i_rd_ptr <= rnm_stage_reOrder_fifo_i__rd_ptr_T_2;
    end
    if (rnm_stage_reOrder_fifo_i_reset) begin // @[MultiPortFifo.scala 61:27]
      rnm_stage_reOrder_fifo_i_wr_ptr <= 1'h0; // @[MultiPortFifo.scala 61:27]
    end else begin
      rnm_stage_reOrder_fifo_i_wr_ptr <= rnm_stage_reOrder_fifo_i__wr_ptr_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage_reOrder_fifo_i__T_9 & rnm_stage_reOrder_fifo_i__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! in port illegal\n    at MultiPortFifo.scala:161 assert( !(io.enq(i).valid === true.B && io.enq(j).valid === false.B && i.U >= j.U), \"Assert Fail! in port illegal\")\n"
            ); // @[MultiPortFifo.scala 161:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage_reOrder_fifo_i__T_7 & rnm_stage_reOrder_fifo_i__T_9) begin
          $fatal; // @[MultiPortFifo.scala 161:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage_reOrder_fifo_i__T_9 & rnm_stage_reOrder_fifo_i__T_19) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail! out port illegal\n    at MultiPortFifo.scala:164 assert( !(io.deq(i).valid === true.B && io.deq(j).valid === false.B && i.U >= j.U), \"Assert Fail! out port illegal\")\n"
            ); // @[MultiPortFifo.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage_reOrder_fifo_i__T_16 & rnm_stage_reOrder_fifo_i__T_9) begin
          $fatal; // @[MultiPortFifo.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge rnm_stage_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage__T_6 & rnm_stage__T_7) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, rename should be one-hot\n    at Rename.scala:84 for ( j <- 0 until rnChn ) { assert( PopCount( Seq(io.fRename(j).req.fire, io.xRename(j).req.fire)) <= 1.U, \"Assert Failed, rename should be one-hot\" ) }\n"
            ); // @[Rename.scala 84:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage__T_4 & rnm_stage__T_6) begin
          $fatal; // @[Rename.scala 84:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (rnm_stage__rnRspReport_io_enq_0_valid_T & rnm_stage__T_6 & rnm_stage__T_75) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Rename.scala:157 assert(io.rnReq(i).bits.fpu_isa.is_fpu === false.B)\n"); // @[Rename.scala 157:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage__T_72 & (rnm_stage__rnRspReport_io_enq_0_valid_T & rnm_stage__T_6)) begin
          $fatal; // @[Rename.scala 157:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_243 & rnm_stage__T_120) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Rename.scala:158 assert(io.rnReq(i).bits.is_fwb === false.B)\n"
            ); // @[Rename.scala 158:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~rnm_stage__io_xRename_0_req_valid_T_42 & (rnm_stage__rnRspReport_io_enq_0_valid_T & rnm_stage__T_6)) begin
          $fatal; // @[Rename.scala 158:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_add_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_add_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_add_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_add[iss_stage_aluIssFifo_0_ram_fun_add_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_add_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_slt_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_slt[iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_slt_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_xor_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_xor[iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_xor_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_or_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_or_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_or_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_or[iss_stage_aluIssFifo_0_ram_fun_or_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_or_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_and_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_and_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_and_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_and[iss_stage_aluIssFifo_0_ram_fun_and_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_and_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_sll_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_sll[iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_sll_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_srl_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_srl[iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_srl_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_fun_sra_clock) begin
    if (iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_en & iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_fun_sra[iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_fun_sra_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_param_rd0_clock) begin
    if (iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_en & iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_param_rd0[iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_param_is_32w_clock) begin
    if (iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_en & iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_param_is_32w[iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_param_is_32w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_param_is_usi_clock) begin
    if (iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_en & iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_param_is_usi[iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_param_is_usi_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_param_dat_op1_clock) begin
    if (iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_en & iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_param_dat_op1[iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_ram_param_dat_op2_clock) begin
    if (iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_en & iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_mask) begin
      iss_stage_aluIssFifo_0_ram_param_dat_op2[iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_addr] <=
        iss_stage_aluIssFifo_0_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_aluIssFifo_0_clock) begin
    if (iss_stage_aluIssFifo_0_reset) begin // @[Decoupled.scala 278:27]
      iss_stage_aluIssFifo_0_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (iss_stage_aluIssFifo_0__T) begin // @[Decoupled.scala 295:27]
      if (iss_stage_aluIssFifo_0__empty_T) begin // @[Decoupled.scala 317:17]
        if (iss_stage_aluIssFifo_0_io_deq_ready) begin // @[Decoupled.scala 320:26]
          iss_stage_aluIssFifo_0_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          iss_stage_aluIssFifo_0_maybe_full <= iss_stage_aluIssFifo_0__do_enq_T;
        end
      end else begin
        iss_stage_aluIssFifo_0_maybe_full <= iss_stage_aluIssFifo_0__do_enq_T;
      end
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_mul_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_mul[iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_mul_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_mulh_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_mulh[iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_mulh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_mulhsu_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_mulhsu[iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_mulhsu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_mulhu_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_mulhu[iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_mulhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_div_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_div_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_div_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_div[iss_stage_mulIssFifo_0_ram_fun_div_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_div_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_divu_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_divu[iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_divu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_rem_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_rem[iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_rem_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_remu_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_remu[iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_remu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_mulw_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_mulw[iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_mulw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_divw_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_divw[iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_divw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_divuw_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_divuw[iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_divuw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_remw_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_remw[iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_remw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_fun_remuw_clock) begin
    if (iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_en & iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_fun_remuw[iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_fun_remuw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_param_rd0_clock) begin
    if (iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_en & iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_param_rd0[iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_param_dat_op1_clock) begin
    if (iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_en & iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_param_dat_op1[iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_ram_param_dat_op2_clock) begin
    if (iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_en & iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_mask) begin
      iss_stage_mulIssFifo_0_ram_param_dat_op2[iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_addr] <=
        iss_stage_mulIssFifo_0_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_mulIssFifo_0_clock) begin
    if (iss_stage_mulIssFifo_0_reset) begin // @[Decoupled.scala 278:27]
      iss_stage_mulIssFifo_0_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (iss_stage_mulIssFifo_0__T) begin // @[Decoupled.scala 295:27]
      if (iss_stage_mulIssFifo_0__empty_T) begin // @[Decoupled.scala 317:17]
        if (iss_stage_mulIssFifo_0_io_deq_ready) begin // @[Decoupled.scala 320:26]
          iss_stage_mulIssFifo_0_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          iss_stage_mulIssFifo_0_maybe_full <= iss_stage_mulIssFifo_0__do_enq_T;
        end
      end else begin
        iss_stage_mulIssFifo_0_maybe_full <= iss_stage_mulIssFifo_0__do_enq_T;
      end
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_jalr_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_jalr_MPORT_en & iss_stage_bruIssFifo_ram_fun_jalr_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_jalr[iss_stage_bruIssFifo_ram_fun_jalr_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_jalr_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_beq_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_beq_MPORT_en & iss_stage_bruIssFifo_ram_fun_beq_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_beq[iss_stage_bruIssFifo_ram_fun_beq_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_beq_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_bne_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_bne_MPORT_en & iss_stage_bruIssFifo_ram_fun_bne_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_bne[iss_stage_bruIssFifo_ram_fun_bne_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_bne_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_blt_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_blt_MPORT_en & iss_stage_bruIssFifo_ram_fun_blt_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_blt[iss_stage_bruIssFifo_ram_fun_blt_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_blt_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_bge_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_bge_MPORT_en & iss_stage_bruIssFifo_ram_fun_bge_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_bge[iss_stage_bruIssFifo_ram_fun_bge_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_bge_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_bltu_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_bltu_MPORT_en & iss_stage_bruIssFifo_ram_fun_bltu_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_bltu[iss_stage_bruIssFifo_ram_fun_bltu_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_bltu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_fun_bgeu_clock) begin
    if (iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_en & iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_fun_bgeu[iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_fun_bgeu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_rd0_clock) begin
    if (iss_stage_bruIssFifo_ram_param_rd0_MPORT_en & iss_stage_bruIssFifo_ram_param_rd0_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_rd0[iss_stage_bruIssFifo_ram_param_rd0_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_is_rvc_clock) begin
    if (iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_en & iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_is_rvc[iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_is_rvc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_pc_clock) begin
    if (iss_stage_bruIssFifo_ram_param_pc_MPORT_en & iss_stage_bruIssFifo_ram_param_pc_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_pc[iss_stage_bruIssFifo_ram_param_pc_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_pc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_imm_clock) begin
    if (iss_stage_bruIssFifo_ram_param_imm_MPORT_en & iss_stage_bruIssFifo_ram_param_imm_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_imm[iss_stage_bruIssFifo_ram_param_imm_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_imm_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_dat_op1_clock) begin
    if (iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_en & iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_dat_op1[iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_ram_param_dat_op2_clock) begin
    if (iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_en & iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_mask) begin
      iss_stage_bruIssFifo_ram_param_dat_op2[iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_addr] <=
        iss_stage_bruIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_bruIssFifo_clock) begin
    if (iss_stage_bruIssFifo_reset) begin // @[Decoupled.scala 278:27]
      iss_stage_bruIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (iss_stage_bruIssFifo__T) begin // @[Decoupled.scala 295:27]
      if (iss_stage_bruIssFifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (iss_stage_bruIssFifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          iss_stage_bruIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          iss_stage_bruIssFifo_maybe_full <= iss_stage_bruIssFifo__do_enq_T;
        end
      end else begin
        iss_stage_bruIssFifo_maybe_full <= iss_stage_bruIssFifo__do_enq_T;
      end
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_fun_rw_clock) begin
    if (iss_stage_csrIssFifo_ram_fun_rw_MPORT_en & iss_stage_csrIssFifo_ram_fun_rw_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_fun_rw[iss_stage_csrIssFifo_ram_fun_rw_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_fun_rw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_fun_rs_clock) begin
    if (iss_stage_csrIssFifo_ram_fun_rs_MPORT_en & iss_stage_csrIssFifo_ram_fun_rs_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_fun_rs[iss_stage_csrIssFifo_ram_fun_rs_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_fun_rs_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_fun_rc_clock) begin
    if (iss_stage_csrIssFifo_ram_fun_rc_MPORT_en & iss_stage_csrIssFifo_ram_fun_rc_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_fun_rc[iss_stage_csrIssFifo_ram_fun_rc_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_fun_rc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_param_rd0_clock) begin
    if (iss_stage_csrIssFifo_ram_param_rd0_MPORT_en & iss_stage_csrIssFifo_ram_param_rd0_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_param_rd0[iss_stage_csrIssFifo_ram_param_rd0_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_param_dat_op1_clock) begin
    if (iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_en & iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_param_dat_op1[iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_ram_param_dat_op2_clock) begin
    if (iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_en & iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_mask) begin
      iss_stage_csrIssFifo_ram_param_dat_op2[iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_addr] <=
        iss_stage_csrIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_csrIssFifo_clock) begin
    if (iss_stage_csrIssFifo_reset) begin // @[Decoupled.scala 278:27]
      iss_stage_csrIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (iss_stage_csrIssFifo__T) begin // @[Decoupled.scala 295:27]
      if (iss_stage_csrIssFifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (iss_stage_csrIssFifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          iss_stage_csrIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          iss_stage_csrIssFifo_maybe_full <= iss_stage_csrIssFifo__do_enq_T;
        end
      end else begin
        iss_stage_csrIssFifo_maybe_full <= iss_stage_csrIssFifo__do_enq_T;
      end
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lb_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lb_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lb_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lb[iss_stage_lsuIssFifo_ram_fun_lb_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lh_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lh_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lh_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lh[iss_stage_lsuIssFifo_ram_fun_lh_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lw_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lw_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lw_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lw[iss_stage_lsuIssFifo_ram_fun_lw_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_ld_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_ld_MPORT_en & iss_stage_lsuIssFifo_ram_fun_ld_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_ld[iss_stage_lsuIssFifo_ram_fun_ld_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lbu_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lbu[iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lhu_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lhu[iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lwu_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lwu[iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sb_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sb_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sb_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sb[iss_stage_lsuIssFifo_ram_fun_sb_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sh_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sh_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sh_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sh[iss_stage_lsuIssFifo_ram_fun_sh_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sw_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sw_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sw_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sw[iss_stage_lsuIssFifo_ram_fun_sw_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sd_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sd_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sd_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sd[iss_stage_lsuIssFifo_ram_fun_sd_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_fence_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_fence_MPORT_en & iss_stage_lsuIssFifo_ram_fun_fence_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_fence[iss_stage_lsuIssFifo_ram_fun_fence_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_fence_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_fence_i_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_en & iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_fence_i[iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_fence_i_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sfence_vma_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sfence_vma[iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sfence_vma_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lr_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lr_w[iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sc_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sc_w[iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoswap_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoswap_w[iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoadd_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoadd_w[iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoxor_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoxor_w[iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoand_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoand_w[iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoor_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoor_w[iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomin_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomin_w[iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomax_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomax_w[iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amominu_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amominu_w[iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomaxu_w_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomaxu_w[iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_lr_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_lr_d[iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_sc_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_sc_d[iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoswap_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoswap_d[iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoadd_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoadd_d[iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoxor_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoxor_d[iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoand_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoand_d[iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amoor_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amoor_d[iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomin_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomin_d[iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomax_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomax_d[iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amominu_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amominu_d[iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_amomaxu_d_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_en & iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_amomaxu_d[iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_flw_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_flw_MPORT_en & iss_stage_lsuIssFifo_ram_fun_flw_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_flw[iss_stage_lsuIssFifo_ram_fun_flw_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_fsw_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_en & iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_fsw[iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_fld_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_fld_MPORT_en & iss_stage_lsuIssFifo_ram_fun_fld_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_fld[iss_stage_lsuIssFifo_ram_fun_fld_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_fun_fsd_clock) begin
    if (iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_en & iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_fun_fsd[iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_param_rd0_clock) begin
    if (iss_stage_lsuIssFifo_ram_param_rd0_MPORT_en & iss_stage_lsuIssFifo_ram_param_rd0_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_param_rd0[iss_stage_lsuIssFifo_ram_param_rd0_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_param_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_param_dat_op1_clock) begin
    if (iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_en & iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_param_dat_op1[iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_param_dat_op1_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_ram_param_dat_op2_clock) begin
    if (iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_en & iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_mask) begin
      iss_stage_lsuIssFifo_ram_param_dat_op2[iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_addr] <=
        iss_stage_lsuIssFifo_ram_param_dat_op2_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge iss_stage_lsuIssFifo_clock) begin
    if (iss_stage_lsuIssFifo_reset) begin // @[Decoupled.scala 278:27]
      iss_stage_lsuIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (iss_stage_lsuIssFifo__T) begin // @[Decoupled.scala 295:27]
      if (iss_stage_lsuIssFifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (iss_stage_lsuIssFifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          iss_stage_lsuIssFifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          iss_stage_lsuIssFifo_maybe_full <= iss_stage_lsuIssFifo__do_enq_T;
        end
      end else begin
        iss_stage_lsuIssFifo_maybe_full <= iss_stage_lsuIssFifo__do_enq_T;
      end
    end
  end
  always @(posedge iss_stage_clock) begin
    if (iss_stage_reset) begin // @[Issue.scala 61:29]
      iss_stage_bufValid_0 <= 1'h0; // @[Issue.scala 61:29]
    end else if (iss_stage__T_2184) begin // @[Issue.scala 900:56]
      iss_stage_bufValid_0 <= 1'h0; // @[Issue.scala 901:19]
    end else if (iss_stage__T_2033) begin // @[Issue.scala 837:56]
      iss_stage_bufValid_0 <= 1'h0; // @[Issue.scala 838:19]
    end else if (iss_stage__T_1874) begin // @[Issue.scala 771:56]
      iss_stage_bufValid_0 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      iss_stage_bufValid_0 <= iss_stage__GEN_3546;
    end
    if (iss_stage_reset) begin // @[Issue.scala 61:29]
      iss_stage_bufValid_1 <= 1'h0; // @[Issue.scala 61:29]
    end else if (iss_stage__T_2238) begin // @[Issue.scala 900:56]
      iss_stage_bufValid_1 <= 1'h0; // @[Issue.scala 901:19]
    end else if (iss_stage__T_2051) begin // @[Issue.scala 837:56]
      iss_stage_bufValid_1 <= 1'h0; // @[Issue.scala 838:19]
    end else if (iss_stage__T_1894) begin // @[Issue.scala 771:56]
      iss_stage_bufValid_1 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      iss_stage_bufValid_1 <= iss_stage__GEN_3547;
    end
    if (iss_stage_reset) begin // @[Issue.scala 61:29]
      iss_stage_bufValid_2 <= 1'h0; // @[Issue.scala 61:29]
    end else if (iss_stage__T_2292) begin // @[Issue.scala 900:56]
      iss_stage_bufValid_2 <= 1'h0; // @[Issue.scala 901:19]
    end else if (iss_stage__T_2069) begin // @[Issue.scala 837:56]
      iss_stage_bufValid_2 <= 1'h0; // @[Issue.scala 838:19]
    end else if (iss_stage__T_1914) begin // @[Issue.scala 771:56]
      iss_stage_bufValid_2 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      iss_stage_bufValid_2 <= iss_stage__GEN_3548;
    end
    if (iss_stage_reset) begin // @[Issue.scala 61:29]
      iss_stage_bufValid_3 <= 1'h0; // @[Issue.scala 61:29]
    end else if (iss_stage__T_2346) begin // @[Issue.scala 900:56]
      iss_stage_bufValid_3 <= 1'h0; // @[Issue.scala 901:19]
    end else if (iss_stage__T_2087) begin // @[Issue.scala 837:56]
      iss_stage_bufValid_3 <= 1'h0; // @[Issue.scala 838:19]
    end else if (iss_stage__T_1934) begin // @[Issue.scala 771:56]
      iss_stage_bufValid_3 <= 1'h0; // @[Issue.scala 772:19]
    end else begin
      iss_stage_bufValid_3 <= iss_stage__GEN_3549;
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_lui <= iss_stage_io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_auipc <= iss_stage_io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_addi <= iss_stage_io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_addiw <= iss_stage_io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_slti <= iss_stage_io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sltiu <= iss_stage_io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_xori <= iss_stage_io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_ori <= iss_stage_io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_andi <= iss_stage_io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_slli <= iss_stage_io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_slliw <= iss_stage_io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_srli <= iss_stage_io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_srliw <= iss_stage_io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_srai <= iss_stage_io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sraiw <= iss_stage_io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_add <= iss_stage_io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_addw <= iss_stage_io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sub <= iss_stage_io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_subw <= iss_stage_io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sll <= iss_stage_io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sllw <= iss_stage_io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_slt <= iss_stage_io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sltu <= iss_stage_io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_xor <= iss_stage_io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_srl <= iss_stage_io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_srlw <= iss_stage_io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sra <= iss_stage_io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_sraw <= iss_stage_io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_or <= iss_stage_io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_and <= iss_stage_io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_alu_isa_wfi <= iss_stage_io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_jal <= iss_stage_io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_jalr <= iss_stage_io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_beq <= iss_stage_io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_bne <= iss_stage_io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_blt <= iss_stage_io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_bge <= iss_stage_io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_bltu <= iss_stage_io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_bru_isa_bgeu <= iss_stage_io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lb <= iss_stage_io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lh <= iss_stage_io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lw <= iss_stage_io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_ld <= iss_stage_io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lbu <= iss_stage_io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lhu <= iss_stage_io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lwu <= iss_stage_io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sb <= iss_stage_io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sh <= iss_stage_io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sw <= iss_stage_io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sd <= iss_stage_io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_fence <= iss_stage_io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_fence_i <= iss_stage_io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sfence_vma <= iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lr_w <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sc_w <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoswap_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoadd_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoxor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoand_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomin_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomax_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amominu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomaxu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_lr_d <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_sc_d <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoswap_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoadd_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoxor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoand_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amoor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomin_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomax_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amominu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_amomaxu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_flw <= iss_stage_io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_fsw <= iss_stage_io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_fld <= iss_stage_io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_lsu_isa_fsd <= iss_stage_io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rw <= iss_stage_io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rs <= iss_stage_io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rc <= iss_stage_io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rwi <= iss_stage_io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rsi <= iss_stage_io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_csr_isa_rci <= iss_stage_io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_mul <= iss_stage_io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_mulh <= iss_stage_io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_mulhsu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_mulhu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_div <= iss_stage_io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_divu <= iss_stage_io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_rem <= iss_stage_io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_remu <= iss_stage_io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_mulw <= iss_stage_io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_divw <= iss_stage_io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_divuw <= iss_stage_io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_remw <= iss_stage_io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_mul_isa_remuw <= iss_stage_io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_param_is_rvc <= iss_stage_io_dptReq_0_bits_param_is_rvc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_param_pc <= iss_stage_io_dptReq_0_bits_param_pc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_param_imm <= iss_stage_io_dptReq_0_bits_param_imm; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_param_raw_rs1 <= iss_stage_io_dptReq_0_bits_param_raw_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_phy_rs1 <= iss_stage_io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_phy_rs2 <= iss_stage_io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_0_phy_rd0 <= iss_stage_io_dptReq_0_bits_phy_rd0; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_lui <= iss_stage_io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_auipc <= iss_stage_io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_addi <= iss_stage_io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_addiw <= iss_stage_io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_slti <= iss_stage_io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sltiu <= iss_stage_io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_xori <= iss_stage_io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_ori <= iss_stage_io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_andi <= iss_stage_io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_slli <= iss_stage_io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_slliw <= iss_stage_io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_srli <= iss_stage_io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_srliw <= iss_stage_io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_srai <= iss_stage_io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sraiw <= iss_stage_io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_add <= iss_stage_io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_addw <= iss_stage_io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sub <= iss_stage_io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_subw <= iss_stage_io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sll <= iss_stage_io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sllw <= iss_stage_io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_slt <= iss_stage_io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sltu <= iss_stage_io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_xor <= iss_stage_io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_srl <= iss_stage_io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_srlw <= iss_stage_io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sra <= iss_stage_io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_sraw <= iss_stage_io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_or <= iss_stage_io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_and <= iss_stage_io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_alu_isa_wfi <= iss_stage_io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_jal <= iss_stage_io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_jalr <= iss_stage_io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_beq <= iss_stage_io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_bne <= iss_stage_io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_blt <= iss_stage_io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_bge <= iss_stage_io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_bltu <= iss_stage_io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_bru_isa_bgeu <= iss_stage_io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lb <= iss_stage_io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lh <= iss_stage_io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lw <= iss_stage_io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_ld <= iss_stage_io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lbu <= iss_stage_io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lhu <= iss_stage_io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lwu <= iss_stage_io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sb <= iss_stage_io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sh <= iss_stage_io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sw <= iss_stage_io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sd <= iss_stage_io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_fence <= iss_stage_io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_fence_i <= iss_stage_io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sfence_vma <= iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lr_w <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sc_w <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoswap_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoadd_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoxor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoand_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomin_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomax_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amominu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomaxu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_lr_d <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_sc_d <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoswap_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoadd_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoxor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoand_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amoor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomin_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomax_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amominu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_amomaxu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_flw <= iss_stage_io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_fsw <= iss_stage_io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_fld <= iss_stage_io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_lsu_isa_fsd <= iss_stage_io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rw <= iss_stage_io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rs <= iss_stage_io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rc <= iss_stage_io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rwi <= iss_stage_io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rsi <= iss_stage_io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_csr_isa_rci <= iss_stage_io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_mul <= iss_stage_io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_mulh <= iss_stage_io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_mulhsu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_mulhu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_div <= iss_stage_io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_divu <= iss_stage_io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_rem <= iss_stage_io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_remu <= iss_stage_io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_mulw <= iss_stage_io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_divw <= iss_stage_io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_divuw <= iss_stage_io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_remw <= iss_stage_io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_mul_isa_remuw <= iss_stage_io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_param_is_rvc <= iss_stage_io_dptReq_0_bits_param_is_rvc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_param_pc <= iss_stage_io_dptReq_0_bits_param_pc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_param_imm <= iss_stage_io_dptReq_0_bits_param_imm; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_param_raw_rs1 <= iss_stage_io_dptReq_0_bits_param_raw_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_phy_rs1 <= iss_stage_io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_phy_rs2 <= iss_stage_io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_1_phy_rd0 <= iss_stage_io_dptReq_0_bits_phy_rd0; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_lui <= iss_stage_io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_auipc <= iss_stage_io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_addi <= iss_stage_io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_addiw <= iss_stage_io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_slti <= iss_stage_io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sltiu <= iss_stage_io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_xori <= iss_stage_io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_ori <= iss_stage_io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_andi <= iss_stage_io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_slli <= iss_stage_io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_slliw <= iss_stage_io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_srli <= iss_stage_io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_srliw <= iss_stage_io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_srai <= iss_stage_io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sraiw <= iss_stage_io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_add <= iss_stage_io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_addw <= iss_stage_io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sub <= iss_stage_io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_subw <= iss_stage_io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sll <= iss_stage_io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sllw <= iss_stage_io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_slt <= iss_stage_io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sltu <= iss_stage_io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_xor <= iss_stage_io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_srl <= iss_stage_io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_srlw <= iss_stage_io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sra <= iss_stage_io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_sraw <= iss_stage_io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_or <= iss_stage_io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_and <= iss_stage_io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_alu_isa_wfi <= iss_stage_io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_jal <= iss_stage_io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_jalr <= iss_stage_io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_beq <= iss_stage_io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_bne <= iss_stage_io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_blt <= iss_stage_io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_bge <= iss_stage_io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_bltu <= iss_stage_io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_bru_isa_bgeu <= iss_stage_io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lb <= iss_stage_io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lh <= iss_stage_io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lw <= iss_stage_io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_ld <= iss_stage_io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lbu <= iss_stage_io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lhu <= iss_stage_io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lwu <= iss_stage_io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sb <= iss_stage_io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sh <= iss_stage_io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sw <= iss_stage_io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sd <= iss_stage_io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_fence <= iss_stage_io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_fence_i <= iss_stage_io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sfence_vma <= iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lr_w <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sc_w <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoswap_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoadd_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoxor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoand_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomin_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomax_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amominu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomaxu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_lr_d <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_sc_d <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoswap_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoadd_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoxor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoand_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amoor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomin_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomax_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amominu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_amomaxu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_flw <= iss_stage_io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_fsw <= iss_stage_io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_fld <= iss_stage_io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_lsu_isa_fsd <= iss_stage_io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rw <= iss_stage_io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rs <= iss_stage_io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rc <= iss_stage_io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rwi <= iss_stage_io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rsi <= iss_stage_io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_csr_isa_rci <= iss_stage_io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_mul <= iss_stage_io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_mulh <= iss_stage_io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_mulhsu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_mulhu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_div <= iss_stage_io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_divu <= iss_stage_io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_rem <= iss_stage_io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_remu <= iss_stage_io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_mulw <= iss_stage_io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_divw <= iss_stage_io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_divuw <= iss_stage_io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_remw <= iss_stage_io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_mul_isa_remuw <= iss_stage_io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_param_is_rvc <= iss_stage_io_dptReq_0_bits_param_is_rvc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_param_pc <= iss_stage_io_dptReq_0_bits_param_pc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_param_imm <= iss_stage_io_dptReq_0_bits_param_imm; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_param_raw_rs1 <= iss_stage_io_dptReq_0_bits_param_raw_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_phy_rs1 <= iss_stage_io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_phy_rs2 <= iss_stage_io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_2_phy_rd0 <= iss_stage_io_dptReq_0_bits_phy_rd0; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_lui <= iss_stage_io_dptReq_0_bits_alu_isa_lui; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_auipc <= iss_stage_io_dptReq_0_bits_alu_isa_auipc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_addi <= iss_stage_io_dptReq_0_bits_alu_isa_addi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_addiw <= iss_stage_io_dptReq_0_bits_alu_isa_addiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_slti <= iss_stage_io_dptReq_0_bits_alu_isa_slti; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sltiu <= iss_stage_io_dptReq_0_bits_alu_isa_sltiu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_xori <= iss_stage_io_dptReq_0_bits_alu_isa_xori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_ori <= iss_stage_io_dptReq_0_bits_alu_isa_ori; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_andi <= iss_stage_io_dptReq_0_bits_alu_isa_andi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_slli <= iss_stage_io_dptReq_0_bits_alu_isa_slli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_slliw <= iss_stage_io_dptReq_0_bits_alu_isa_slliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_srli <= iss_stage_io_dptReq_0_bits_alu_isa_srli; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_srliw <= iss_stage_io_dptReq_0_bits_alu_isa_srliw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_srai <= iss_stage_io_dptReq_0_bits_alu_isa_srai; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sraiw <= iss_stage_io_dptReq_0_bits_alu_isa_sraiw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_add <= iss_stage_io_dptReq_0_bits_alu_isa_add; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_addw <= iss_stage_io_dptReq_0_bits_alu_isa_addw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sub <= iss_stage_io_dptReq_0_bits_alu_isa_sub; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_subw <= iss_stage_io_dptReq_0_bits_alu_isa_subw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sll <= iss_stage_io_dptReq_0_bits_alu_isa_sll; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sllw <= iss_stage_io_dptReq_0_bits_alu_isa_sllw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_slt <= iss_stage_io_dptReq_0_bits_alu_isa_slt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sltu <= iss_stage_io_dptReq_0_bits_alu_isa_sltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_xor <= iss_stage_io_dptReq_0_bits_alu_isa_xor; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_srl <= iss_stage_io_dptReq_0_bits_alu_isa_srl; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_srlw <= iss_stage_io_dptReq_0_bits_alu_isa_srlw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sra <= iss_stage_io_dptReq_0_bits_alu_isa_sra; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_sraw <= iss_stage_io_dptReq_0_bits_alu_isa_sraw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_or <= iss_stage_io_dptReq_0_bits_alu_isa_or; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_and <= iss_stage_io_dptReq_0_bits_alu_isa_and; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_alu_isa_wfi <= iss_stage_io_dptReq_0_bits_alu_isa_wfi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_jal <= iss_stage_io_dptReq_0_bits_bru_isa_jal; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_jalr <= iss_stage_io_dptReq_0_bits_bru_isa_jalr; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_beq <= iss_stage_io_dptReq_0_bits_bru_isa_beq; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_bne <= iss_stage_io_dptReq_0_bits_bru_isa_bne; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_blt <= iss_stage_io_dptReq_0_bits_bru_isa_blt; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_bge <= iss_stage_io_dptReq_0_bits_bru_isa_bge; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_bltu <= iss_stage_io_dptReq_0_bits_bru_isa_bltu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_bru_isa_bgeu <= iss_stage_io_dptReq_0_bits_bru_isa_bgeu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lb <= iss_stage_io_dptReq_0_bits_lsu_isa_lb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lh <= iss_stage_io_dptReq_0_bits_lsu_isa_lh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lw <= iss_stage_io_dptReq_0_bits_lsu_isa_lw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_ld <= iss_stage_io_dptReq_0_bits_lsu_isa_ld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lbu <= iss_stage_io_dptReq_0_bits_lsu_isa_lbu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lhu <= iss_stage_io_dptReq_0_bits_lsu_isa_lhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lwu <= iss_stage_io_dptReq_0_bits_lsu_isa_lwu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sb <= iss_stage_io_dptReq_0_bits_lsu_isa_sb; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sh <= iss_stage_io_dptReq_0_bits_lsu_isa_sh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sw <= iss_stage_io_dptReq_0_bits_lsu_isa_sw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sd <= iss_stage_io_dptReq_0_bits_lsu_isa_sd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_fence <= iss_stage_io_dptReq_0_bits_lsu_isa_fence; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_fence_i <= iss_stage_io_dptReq_0_bits_lsu_isa_fence_i; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sfence_vma <= iss_stage_io_dptReq_0_bits_lsu_isa_sfence_vma; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lr_w <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sc_w <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoswap_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoadd_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoxor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoand_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoor_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomin_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomax_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amominu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomaxu_w <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_w; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_lr_d <= iss_stage_io_dptReq_0_bits_lsu_isa_lr_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_sc_d <= iss_stage_io_dptReq_0_bits_lsu_isa_sc_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoswap_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoswap_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoadd_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoadd_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoxor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoxor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoand_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoand_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amoor_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amoor_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomin_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomin_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomax_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomax_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amominu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amominu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_amomaxu_d <= iss_stage_io_dptReq_0_bits_lsu_isa_amomaxu_d; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_flw <= iss_stage_io_dptReq_0_bits_lsu_isa_flw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_fsw <= iss_stage_io_dptReq_0_bits_lsu_isa_fsw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_fld <= iss_stage_io_dptReq_0_bits_lsu_isa_fld; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_lsu_isa_fsd <= iss_stage_io_dptReq_0_bits_lsu_isa_fsd; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rw <= iss_stage_io_dptReq_0_bits_csr_isa_rw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rs <= iss_stage_io_dptReq_0_bits_csr_isa_rs; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rc <= iss_stage_io_dptReq_0_bits_csr_isa_rc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rwi <= iss_stage_io_dptReq_0_bits_csr_isa_rwi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rsi <= iss_stage_io_dptReq_0_bits_csr_isa_rsi; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_csr_isa_rci <= iss_stage_io_dptReq_0_bits_csr_isa_rci; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_mul <= iss_stage_io_dptReq_0_bits_mul_isa_mul; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_mulh <= iss_stage_io_dptReq_0_bits_mul_isa_mulh; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_mulhsu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhsu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_mulhu <= iss_stage_io_dptReq_0_bits_mul_isa_mulhu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_div <= iss_stage_io_dptReq_0_bits_mul_isa_div; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_divu <= iss_stage_io_dptReq_0_bits_mul_isa_divu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_rem <= iss_stage_io_dptReq_0_bits_mul_isa_rem; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_remu <= iss_stage_io_dptReq_0_bits_mul_isa_remu; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_mulw <= iss_stage_io_dptReq_0_bits_mul_isa_mulw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_divw <= iss_stage_io_dptReq_0_bits_mul_isa_divw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_divuw <= iss_stage_io_dptReq_0_bits_mul_isa_divuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_remw <= iss_stage_io_dptReq_0_bits_mul_isa_remw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_mul_isa_remuw <= iss_stage_io_dptReq_0_bits_mul_isa_remuw; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_param_is_rvc <= iss_stage_io_dptReq_0_bits_param_is_rvc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_param_pc <= iss_stage_io_dptReq_0_bits_param_pc; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_param_imm <= iss_stage_io_dptReq_0_bits_param_imm; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_param_raw_rs1 <= iss_stage_io_dptReq_0_bits_param_raw_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_phy_rs1 <= iss_stage_io_dptReq_0_bits_phy_rs1; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_phy_rs2 <= iss_stage_io_dptReq_0_bits_phy_rs2; // @[Issue.scala 90:28]
        end
      end
    end
    if (!(iss_stage_io_flush)) begin // @[Issue.scala 86:22]
      if (iss_stage__T) begin // @[Issue.scala 88:38]
        if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 90:28]
          iss_stage_bufInfo_3_phy_rd0 <= iss_stage_io_dptReq_0_bits_phy_rd0; // @[Issue.scala 90:28]
        end
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_0_0 <= iss_stage__GEN_3414;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_0_0 <= iss_stage__GEN_3382;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_3) begin // @[Issue.scala 121:58]
        iss_stage_isOpReady_0_0 <= iss_stage__GEN_2400;
      end else begin
        iss_stage_isOpReady_0_0 <= iss_stage__GEN_2408;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_0_1 <= iss_stage__GEN_3416;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_0_1 <= iss_stage__GEN_3384;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_4) begin // @[Issue.scala 127:58]
        iss_stage_isOpReady_0_1 <= iss_stage__GEN_2420;
      end else begin
        iss_stage_isOpReady_0_1 <= iss_stage__GEN_2428;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_1_0 <= iss_stage__GEN_3418;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_1_0 <= iss_stage__GEN_3386;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_3) begin // @[Issue.scala 121:58]
        iss_stage_isOpReady_1_0 <= iss_stage__GEN_2401;
      end else begin
        iss_stage_isOpReady_1_0 <= iss_stage__GEN_2409;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_1_1 <= iss_stage__GEN_3420;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_1_1 <= iss_stage__GEN_3388;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_4) begin // @[Issue.scala 127:58]
        iss_stage_isOpReady_1_1 <= iss_stage__GEN_2421;
      end else begin
        iss_stage_isOpReady_1_1 <= iss_stage__GEN_2429;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_2_0 <= iss_stage__GEN_3422;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_2_0 <= iss_stage__GEN_3390;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_3) begin // @[Issue.scala 121:58]
        iss_stage_isOpReady_2_0 <= iss_stage__GEN_2402;
      end else begin
        iss_stage_isOpReady_2_0 <= iss_stage__GEN_2410;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_2_1 <= iss_stage__GEN_3424;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_2_1 <= iss_stage__GEN_3392;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_4) begin // @[Issue.scala 127:58]
        iss_stage_isOpReady_2_1 <= iss_stage__GEN_2422;
      end else begin
        iss_stage_isOpReady_2_1 <= iss_stage__GEN_2430;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_3_0 <= iss_stage__GEN_3426;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_3_0 <= iss_stage__GEN_3394;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_3) begin // @[Issue.scala 121:58]
        iss_stage_isOpReady_3_0 <= iss_stage__GEN_2403;
      end else begin
        iss_stage_isOpReady_3_0 <= iss_stage__GEN_2411;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_3_1 <= iss_stage__GEN_3428;
    end else if (iss_stage_io_irgRsp_0_valid) begin // @[Issue.scala 486:33]
      iss_stage_isOpReady_3_1 <= iss_stage__GEN_3396;
    end else if (iss_stage__T) begin // @[Issue.scala 120:31]
      if (iss_stage__T_4) begin // @[Issue.scala 127:58]
        iss_stage_isOpReady_3_1 <= iss_stage__GEN_2423;
      end else begin
        iss_stage_isOpReady_3_1 <= iss_stage__GEN_2431;
      end
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1228) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_0_0 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_0_0 <= iss_stage__GEN_3399;
      end
    end else begin
      iss_stage_bufOperator_0_0 <= iss_stage__GEN_3399;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1233) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_0_1 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_0_1 <= iss_stage__GEN_3401;
      end
    end else begin
      iss_stage_bufOperator_0_1 <= iss_stage__GEN_3401;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1238) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_1_0 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_1_0 <= iss_stage__GEN_3403;
      end
    end else begin
      iss_stage_bufOperator_1_0 <= iss_stage__GEN_3403;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1243) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_1_1 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_1_1 <= iss_stage__GEN_3405;
      end
    end else begin
      iss_stage_bufOperator_1_1 <= iss_stage__GEN_3405;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1248) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_2_0 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_2_0 <= iss_stage__GEN_3407;
      end
    end else begin
      iss_stage_bufOperator_2_0 <= iss_stage__GEN_3407;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1253) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_2_1 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_2_1 <= iss_stage__GEN_3409;
      end
    end else begin
      iss_stage_bufOperator_2_1 <= iss_stage__GEN_3409;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1258) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_3_0 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_3_0 <= iss_stage__GEN_3411;
      end
    end else begin
      iss_stage_bufOperator_3_0 <= iss_stage__GEN_3411;
    end
    if (iss_stage_io_irgRsp_1_valid) begin // @[Issue.scala 486:33]
      if (iss_stage__T_1263) begin // @[Issue.scala 489:98]
        iss_stage_bufOperator_3_1 <= {{1'd0}, iss_stage_io_irgRsp_1_bits_op}; // @[Issue.scala 492:32]
      end else begin
        iss_stage_bufOperator_3_1 <= iss_stage__GEN_3413;
      end
    end else begin
      iss_stage_bufOperator_3_1 <= iss_stage__GEN_3413;
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h0 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_0_0 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_0_0 <= iss_stage__GEN_2484;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_0_1 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_0_1 <= iss_stage__GEN_2488;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_0_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_0_2 <= iss_stage__GEN_2492;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_0_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_0_3 <= iss_stage__GEN_2496;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h1 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_1_1 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_1_1 <= iss_stage__GEN_2489;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_1_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_1_2 <= iss_stage__GEN_2493;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_1_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_1_3 <= iss_stage__GEN_2497;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h2 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_2_2 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_2_2 <= iss_stage__GEN_2494;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_2_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_2_3 <= iss_stage__GEN_2498;
      end
    end
    if (iss_stage__T) begin // @[Issue.scala 170:31]
      if (2'h3 == iss_stage_entrySel_0) begin // @[Issue.scala 172:44]
        iss_stage_ageMatrixW_3_3 <= 1'h0; // @[Issue.scala 172:44]
      end else begin
        iss_stage_ageMatrixW_3_3 <= iss_stage__GEN_2499;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_124) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:276 assert(\n"); // @[Issue.scala 276:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_121 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 276:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_242) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:281 assert(\n"); // @[Issue.scala 281:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_239 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 281:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_360) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:276 assert(\n"); // @[Issue.scala 276:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_357 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 276:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_478) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:281 assert(\n"); // @[Issue.scala 281:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_475 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 281:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_596) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:412 assert(\n"); // @[Issue.scala 412:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_593 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 412:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_714) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:417 assert(\n"); // @[Issue.scala 417:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_711 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 417:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_832) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:422 assert(\n"); // @[Issue.scala 422:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_829 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 422:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_950) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:412 assert(\n"); // @[Issue.scala 412:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_947 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 412:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_1068) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:417 assert(\n"); // @[Issue.scala 417:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_1065 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 417:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_1186) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:422 assert(\n"); // @[Issue.scala 422:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_1183 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 422:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_1441) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:627 assert(\n"); // @[Issue.scala 627:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_1438 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 627:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1444 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_33 & (iss_stage__T_1444 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_327 & iss_stage__entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_0 & (iss_stage__T_1444 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_327 & iss_stage__maskCondAluIss_0_0_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_30 & (iss_stage__T_1444 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1487 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_33 & (iss_stage__T_1487 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_330 & iss_stage__entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_1 & (iss_stage__T_1487 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_330 & iss_stage__maskCondAluIss_0_1_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_30 & (iss_stage__T_1487 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1530 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_33 & (iss_stage__T_1530 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_333 & iss_stage__entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_2 & (iss_stage__T_1530 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_333 & iss_stage__maskCondAluIss_0_2_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_30 & (iss_stage__T_1530 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1573 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:642 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 642:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_33 & (iss_stage__T_1573 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 642:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_336 & iss_stage__io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:643 assert( bufValid(i) )\n"); // @[Issue.scala 643:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_3 & (iss_stage__T_1573 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 643:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_336 & iss_stage__maskCondAluIss_0_3_T_31) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:644 assert( bufInfo(i).alu_isa.is_alu )\n"); // @[Issue.scala 644:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_30 & (iss_stage__T_1573 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 644:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_1692) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:692 assert(\n"); // @[Issue.scala 692:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_1689 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 692:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1695 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_33 & (iss_stage__T_1695 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_339 & iss_stage__entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_0 & (iss_stage__T_1695 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_339 & iss_stage__maskCondMulIss_0_0_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondMulIss_0_0_T_12 & (iss_stage__T_1695 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1720 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_33 & (iss_stage__T_1720 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_342 & iss_stage__entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_1 & (iss_stage__T_1720 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_342 & iss_stage__maskCondMulIss_0_1_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondMulIss_0_1_T_12 & (iss_stage__T_1720 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1745 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_33 & (iss_stage__T_1745 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_345 & iss_stage__entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_2 & (iss_stage__T_1745 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_345 & iss_stage__maskCondMulIss_0_2_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondMulIss_0_2_T_12 & (iss_stage__T_1745 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1770 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:707 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 707:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_33 & (iss_stage__T_1770 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 707:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_348 & iss_stage__io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:708 assert( bufValid(i) )\n"); // @[Issue.scala 708:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_3 & (iss_stage__T_1770 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 708:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_348 & iss_stage__maskCondMulIss_0_3_T_13) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:709 assert( bufInfo(i).mul_isa.is_mulDiv )\n"); // @[Issue.scala 709:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondMulIss_0_3_T_12 & (iss_stage__T_1770 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 709:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_1871) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:757 assert(\n"); // @[Issue.scala 757:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_1868 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 757:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1874 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_33 & (iss_stage__T_1874 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_351 & iss_stage__entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_0 & (iss_stage__T_1874 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_351 & iss_stage__maskCondBruIss_0_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondBruIss_0_T_7 & (iss_stage__T_1874 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1894 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_33 & (iss_stage__T_1894 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_354 & iss_stage__entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_1 & (iss_stage__T_1894 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_354 & iss_stage__maskCondBruIss_1_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondBruIss_1_T_7 & (iss_stage__T_1894 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1914 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_33 & (iss_stage__T_1914 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_357 & iss_stage__entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_2 & (iss_stage__T_1914 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_357 & iss_stage__maskCondBruIss_2_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondBruIss_2_T_7 & (iss_stage__T_1914 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_1934 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:773 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 773:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_33 & (iss_stage__T_1934 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 773:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_360 & iss_stage__io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:774 assert( bufValid(i) )\n"); // @[Issue.scala 774:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_3 & (iss_stage__T_1934 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 774:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_360 & iss_stage__maskCondBruIss_3_T_8) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:775 assert( bufInfo(i).bru_isa.is_bru )\n"); // @[Issue.scala 775:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondBruIss_3_T_7 & (iss_stage__T_1934 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 775:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_2030) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:823 assert(\n"); // @[Issue.scala 823:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_2027 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 823:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2033 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_33 & (iss_stage__T_2033 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_363 & iss_stage__entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_0 & (iss_stage__T_2033 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_363 & iss_stage__maskCondCsrIss_0_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondCsrIss_0_T_5 & (iss_stage__T_2033 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2051 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_33 & (iss_stage__T_2051 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_366 & iss_stage__entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_1 & (iss_stage__T_2051 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_366 & iss_stage__maskCondCsrIss_1_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondCsrIss_1_T_5 & (iss_stage__T_2051 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2069 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_33 & (iss_stage__T_2069 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_369 & iss_stage__entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_2 & (iss_stage__T_2069 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_369 & iss_stage__maskCondCsrIss_2_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondCsrIss_2_T_5 & (iss_stage__T_2069 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2087 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:839 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 839:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_33 & (iss_stage__T_2087 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 839:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_372 & iss_stage__io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:840 assert( bufValid(i) )\n"); // @[Issue.scala 840:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_3 & (iss_stage__T_2087 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 840:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_372 & iss_stage__maskCondCsrIss_3_T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:841 assert( bufInfo(i).csr_isa.is_csr )\n"); // @[Issue.scala 841:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondCsrIss_3_T_5 & (iss_stage__T_2087 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 841:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_123 & iss_stage__T_2181) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:886 assert(\n"); // @[Issue.scala 886:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__T_2178 & iss_stage__T_123) begin
          $fatal; // @[Issue.scala 886:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2184 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_0_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_0_T_33 & (iss_stage__T_2184 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_375 & iss_stage__entrySel_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_0 & (iss_stage__T_2184 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_375 & iss_stage__maskCondLsuIss_0_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondLsuIss_0_T_41 & (iss_stage__T_2184 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2238 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_1_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_1_T_33 & (iss_stage__T_2238 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_378 & iss_stage__entrySel_T_1) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_1 & (iss_stage__T_2238 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_378 & iss_stage__maskCondLsuIss_1_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondLsuIss_1_T_41 & (iss_stage__T_2238 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2292 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_2_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_2_T_33 & (iss_stage__T_2292 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_381 & iss_stage__entrySel_T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_2 & (iss_stage__T_2292 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_381 & iss_stage__maskCondLsuIss_2_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondLsuIss_2_T_41 & (iss_stage__T_2292 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iss_stage__T_2346 & iss_stage__T_123 & iss_stage__maskCondAluIss_0_3_T_34) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Issue.scala:902 assert( postIsOpReady(i)(0) & postIsOpReady(i)(1) )\n"); // @[Issue.scala 902:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondAluIss_0_3_T_33 & (iss_stage__T_2346 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 902:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_384 & iss_stage__io_dptReq_0_ready_T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:903 assert( bufValid(i) )\n"); // @[Issue.scala 903:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage_bufValid_3 & (iss_stage__T_2346 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 903:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_384 & iss_stage__maskCondLsuIss_3_T_42) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Issue.scala:904 assert( bufInfo(i).lsu_isa.is_lsu )\n"); // @[Issue.scala 904:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iss_stage__maskCondLsuIss_3_T_41 & (iss_stage__T_2346 & iss_stage__T_123)) begin
          $fatal; // @[Issue.scala 904:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_clock) begin
    if (exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_en & exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0[exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_clock) begin
    if (exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_en & exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_mask) begin
      exe_stage_alu_0_alu_exe_iwb_fifo_ram_res[exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_addr] <=
        exe_stage_alu_0_alu_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_alu_0_alu_exe_iwb_fifo_clock) begin
    if (exe_stage_alu_0_alu_exe_iwb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_alu_0_alu_exe_iwb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_alu_0_alu_exe_iwb_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_alu_0_alu_exe_iwb_fifo_maybe_full <= exe_stage_alu_0_alu_exe_iwb_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_clock) begin
    if (exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_en & exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_bru_bru_exe_iwb_fifo_ram_rd0[exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_bru_bru_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bru_exe_iwb_fifo_ram_res_clock) begin
    if (exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_en & exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_mask) begin
      exe_stage_bru_bru_exe_iwb_fifo_ram_res[exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_addr] <=
        exe_stage_bru_bru_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bru_exe_iwb_fifo_clock) begin
    if (exe_stage_bru_bru_exe_iwb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_bru_bru_exe_iwb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_bru_bru_exe_iwb_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_bru_bru_exe_iwb_fifo_maybe_full <= exe_stage_bru_bru_exe_iwb_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_pc_clock) begin
    if (exe_stage_bru_bctq_ram_pc_MPORT_en & exe_stage_bru_bctq_ram_pc_MPORT_mask) begin
      exe_stage_bru_bctq_ram_pc[exe_stage_bru_bctq_ram_pc_MPORT_addr] <= exe_stage_bru_bctq_ram_pc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_bimResp_bim_p_clock) begin
    if (exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_en & exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_mask) begin
      exe_stage_bru_bctq_ram_bimResp_bim_p[exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_addr] <=
        exe_stage_bru_bctq_ram_bimResp_bim_p_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_bimResp_bim_h_clock) begin
    if (exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_en & exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_mask) begin
      exe_stage_bru_bctq_ram_bimResp_bim_h[exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_addr] <=
        exe_stage_bru_bctq_ram_bimResp_bim_h_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_isPredictTaken_clock) begin
    if (exe_stage_bru_bctq_ram_isPredictTaken_MPORT_en & exe_stage_bru_bctq_ram_isPredictTaken_MPORT_mask) begin
      exe_stage_bru_bctq_ram_isPredictTaken[exe_stage_bru_bctq_ram_isPredictTaken_MPORT_addr] <=
        exe_stage_bru_bctq_ram_isPredictTaken_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_isFinalTaken_clock) begin
    if (exe_stage_bru_bctq_ram_isFinalTaken_MPORT_en & exe_stage_bru_bctq_ram_isFinalTaken_MPORT_mask) begin
      exe_stage_bru_bctq_ram_isFinalTaken[exe_stage_bru_bctq_ram_isFinalTaken_MPORT_addr] <=
        exe_stage_bru_bctq_ram_isFinalTaken_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_ram_finalTarget_clock) begin
    if (exe_stage_bru_bctq_ram_finalTarget_MPORT_en & exe_stage_bru_bctq_ram_finalTarget_MPORT_mask) begin
      exe_stage_bru_bctq_ram_finalTarget[exe_stage_bru_bctq_ram_finalTarget_MPORT_addr] <=
        exe_stage_bru_bctq_ram_finalTarget_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_bctq_clock) begin
    if (exe_stage_bru_bctq_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_bru_bctq_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_bru_bctq__T) begin // @[Decoupled.scala 295:27]
      exe_stage_bru_bctq_maybe_full <= exe_stage_bru_bctq__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_bru_jctq_ram_pc_clock) begin
    if (exe_stage_bru_jctq_ram_pc_MPORT_en & exe_stage_bru_jctq_ram_pc_MPORT_mask) begin
      exe_stage_bru_jctq_ram_pc[exe_stage_bru_jctq_ram_pc_MPORT_addr] <= exe_stage_bru_jctq_ram_pc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_jctq_ram_btbResp_target_clock) begin
    if (exe_stage_bru_jctq_ram_btbResp_target_MPORT_en & exe_stage_bru_jctq_ram_btbResp_target_MPORT_mask) begin
      exe_stage_bru_jctq_ram_btbResp_target[exe_stage_bru_jctq_ram_btbResp_target_MPORT_addr] <=
        exe_stage_bru_jctq_ram_btbResp_target_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_jctq_ram_rasResp_target_clock) begin
    if (exe_stage_bru_jctq_ram_rasResp_target_MPORT_en & exe_stage_bru_jctq_ram_rasResp_target_MPORT_mask) begin
      exe_stage_bru_jctq_ram_rasResp_target[exe_stage_bru_jctq_ram_rasResp_target_MPORT_addr] <=
        exe_stage_bru_jctq_ram_rasResp_target_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_jctq_ram_isRas_clock) begin
    if (exe_stage_bru_jctq_ram_isRas_MPORT_en & exe_stage_bru_jctq_ram_isRas_MPORT_mask) begin
      exe_stage_bru_jctq_ram_isRas[exe_stage_bru_jctq_ram_isRas_MPORT_addr] <= exe_stage_bru_jctq_ram_isRas_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_jctq_ram_finalTarget_clock) begin
    if (exe_stage_bru_jctq_ram_finalTarget_MPORT_en & exe_stage_bru_jctq_ram_finalTarget_MPORT_mask) begin
      exe_stage_bru_jctq_ram_finalTarget[exe_stage_bru_jctq_ram_finalTarget_MPORT_addr] <=
        exe_stage_bru_jctq_ram_finalTarget_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_bru_jctq_clock) begin
    if (exe_stage_bru_jctq_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_bru_jctq_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_bru_jctq__T) begin // @[Decoupled.scala 295:27]
      exe_stage_bru_jctq_maybe_full <= exe_stage_bru_jctq__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_bru_clock) begin
    if (exe_stage_bru_reset) begin // @[Bru.scala 50:34]
      exe_stage_bru_misPredict_locker <= 1'h0; // @[Bru.scala 50:34]
    end else if (exe_stage_bru_io_flush) begin // @[Bru.scala 95:20]
      exe_stage_bru_misPredict_locker <= 1'h0; // @[Bru.scala 96:23]
    end else begin
      exe_stage_bru_misPredict_locker <= exe_stage_bru__GEN_0;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_bru__T_14 & exe_stage_bru__T_15) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:124 assert( jctq.io.enq.fire === (io.bru_iss_exe.fire & io.bru_iss_exe.bits.fun.jalr) )\n"
            ); // @[Bru.scala 124:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_bru__T_12 & exe_stage_bru__T_14) begin
          $fatal; // @[Bru.scala 124:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_bru__T_14 & exe_stage_bru__T_21) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Bru.scala:125 assert( io.jftq.fire === jctq.io.enq.fire )\n"); // @[Bru.scala 125:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_bru__T_18 & exe_stage_bru__T_14) begin
          $fatal; // @[Bru.scala 125:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_bru__T_14 & exe_stage_bru__T_33) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:126 assert( bctq.io.enq.fire === (io.bru_iss_exe.fire & io.bru_iss_exe.bits.fun.is_branch)  )\n"
            ); // @[Bru.scala 126:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_bru__T_30 & exe_stage_bru__T_14) begin
          $fatal; // @[Bru.scala 126:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_bru__T_14 & exe_stage_bru__T_39) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Bru.scala:127 assert( io.bftq.fire === bctq.io.enq.fire )\n"); // @[Bru.scala 127:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_bru__T_36 & exe_stage_bru__T_14) begin
          $fatal; // @[Bru.scala 127:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_bru__T_14 & exe_stage_bru__T_45) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Bru.scala:128 assert( io.bru_iss_exe.fire === bru_exe_iwb_fifo.io.enq.fire )\n"); // @[Bru.scala 128:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_bru__T_42 & exe_stage_bru__T_14) begin
          $fatal; // @[Bru.scala 128:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_stQueue_clock) begin
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lb <= exe_stage_lsu_stQueue__GEN_270;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lb <= exe_stage_lsu_stQueue__GEN_270;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lh <= exe_stage_lsu_stQueue__GEN_272;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lh <= exe_stage_lsu_stQueue__GEN_272;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lw <= exe_stage_lsu_stQueue__GEN_274;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lw <= exe_stage_lsu_stQueue__GEN_274;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_ld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_ld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_ld <= exe_stage_lsu_stQueue__GEN_276;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_ld <= exe_stage_lsu_stQueue__GEN_276;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lbu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lbu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lbu <= exe_stage_lsu_stQueue__GEN_278;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lbu <= exe_stage_lsu_stQueue__GEN_278;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lhu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lhu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lhu <= exe_stage_lsu_stQueue__GEN_280;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lhu <= exe_stage_lsu_stQueue__GEN_280;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lwu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lwu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lwu <= exe_stage_lsu_stQueue__GEN_282;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lwu <= exe_stage_lsu_stQueue__GEN_282;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sb <= exe_stage_lsu_stQueue__GEN_284;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sb <= exe_stage_lsu_stQueue__GEN_284;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sh <= exe_stage_lsu_stQueue__GEN_286;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sh <= exe_stage_lsu_stQueue__GEN_286;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sw <= exe_stage_lsu_stQueue__GEN_288;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sw <= exe_stage_lsu_stQueue__GEN_288;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sd <= exe_stage_lsu_stQueue__GEN_290;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sd <= exe_stage_lsu_stQueue__GEN_290;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lr_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lr_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lr_w <= exe_stage_lsu_stQueue__GEN_298;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lr_w <= exe_stage_lsu_stQueue__GEN_298;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sc_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sc_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sc_w <= exe_stage_lsu_stQueue__GEN_300;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sc_w <= exe_stage_lsu_stQueue__GEN_300;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoswap_w <= exe_stage_lsu_stQueue__GEN_302;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoswap_w <= exe_stage_lsu_stQueue__GEN_302;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoadd_w <= exe_stage_lsu_stQueue__GEN_304;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoadd_w <= exe_stage_lsu_stQueue__GEN_304;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoxor_w <= exe_stage_lsu_stQueue__GEN_306;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoxor_w <= exe_stage_lsu_stQueue__GEN_306;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoand_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoand_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoand_w <= exe_stage_lsu_stQueue__GEN_308;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoand_w <= exe_stage_lsu_stQueue__GEN_308;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoor_w <= exe_stage_lsu_stQueue__GEN_310;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoor_w <= exe_stage_lsu_stQueue__GEN_310;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomin_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomin_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomin_w <= exe_stage_lsu_stQueue__GEN_312;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomin_w <= exe_stage_lsu_stQueue__GEN_312;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomax_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomax_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomax_w <= exe_stage_lsu_stQueue__GEN_314;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomax_w <= exe_stage_lsu_stQueue__GEN_314;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amominu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amominu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amominu_w <= exe_stage_lsu_stQueue__GEN_316;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amominu_w <= exe_stage_lsu_stQueue__GEN_316;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w <= exe_stage_lsu_stQueue__GEN_318;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w <= exe_stage_lsu_stQueue__GEN_318;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_lr_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_lr_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_lr_d <= exe_stage_lsu_stQueue__GEN_320;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_lr_d <= exe_stage_lsu_stQueue__GEN_320;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_sc_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_sc_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_sc_d <= exe_stage_lsu_stQueue__GEN_322;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_sc_d <= exe_stage_lsu_stQueue__GEN_322;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoswap_d <= exe_stage_lsu_stQueue__GEN_324;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoswap_d <= exe_stage_lsu_stQueue__GEN_324;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoadd_d <= exe_stage_lsu_stQueue__GEN_326;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoadd_d <= exe_stage_lsu_stQueue__GEN_326;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoxor_d <= exe_stage_lsu_stQueue__GEN_328;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoxor_d <= exe_stage_lsu_stQueue__GEN_328;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoand_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoand_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoand_d <= exe_stage_lsu_stQueue__GEN_330;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoand_d <= exe_stage_lsu_stQueue__GEN_330;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amoor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amoor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amoor_d <= exe_stage_lsu_stQueue__GEN_332;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amoor_d <= exe_stage_lsu_stQueue__GEN_332;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomin_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomin_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomin_d <= exe_stage_lsu_stQueue__GEN_334;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomin_d <= exe_stage_lsu_stQueue__GEN_334;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomax_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomax_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomax_d <= exe_stage_lsu_stQueue__GEN_336;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomax_d <= exe_stage_lsu_stQueue__GEN_336;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amominu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amominu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amominu_d <= exe_stage_lsu_stQueue__GEN_338;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amominu_d <= exe_stage_lsu_stQueue__GEN_338;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d <= exe_stage_lsu_stQueue__GEN_340;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d <= exe_stage_lsu_stQueue__GEN_340;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_flw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_flw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_flw <= exe_stage_lsu_stQueue__GEN_342;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_flw <= exe_stage_lsu_stQueue__GEN_342;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_fsw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_fsw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_fsw <= exe_stage_lsu_stQueue__GEN_344;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_fsw <= exe_stage_lsu_stQueue__GEN_344;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_fld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_fld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_fld <= exe_stage_lsu_stQueue__GEN_346;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_fld <= exe_stage_lsu_stQueue__GEN_346;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_fun_fsd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_fun_fsd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_fun_fsd <= exe_stage_lsu_stQueue__GEN_348;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_fun_fsd <= exe_stage_lsu_stQueue__GEN_348;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_param_rd0 <= 6'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_param_rd0 <= 6'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_param_rd0 <= exe_stage_lsu_stQueue__GEN_350;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_param_rd0 <= exe_stage_lsu_stQueue__GEN_350;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_param_dat_op1 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_param_dat_op1 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_param_dat_op1 <= exe_stage_lsu_stQueue__GEN_352;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_param_dat_op1 <= exe_stage_lsu_stQueue__GEN_352;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_0_param_dat_op2 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (~exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_0_param_dat_op2 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_0_param_dat_op2 <= exe_stage_lsu_stQueue__GEN_354;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_0_param_dat_op2 <= exe_stage_lsu_stQueue__GEN_354;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lb <= exe_stage_lsu_stQueue__GEN_271;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lb <= exe_stage_lsu_stQueue__GEN_271;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lh <= exe_stage_lsu_stQueue__GEN_273;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lh <= exe_stage_lsu_stQueue__GEN_273;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lw <= exe_stage_lsu_stQueue__GEN_275;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lw <= exe_stage_lsu_stQueue__GEN_275;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_ld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_ld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_ld <= exe_stage_lsu_stQueue__GEN_277;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_ld <= exe_stage_lsu_stQueue__GEN_277;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lbu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lbu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lbu <= exe_stage_lsu_stQueue__GEN_279;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lbu <= exe_stage_lsu_stQueue__GEN_279;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lhu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lhu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lhu <= exe_stage_lsu_stQueue__GEN_281;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lhu <= exe_stage_lsu_stQueue__GEN_281;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lwu <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lwu <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lwu <= exe_stage_lsu_stQueue__GEN_283;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lwu <= exe_stage_lsu_stQueue__GEN_283;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sb <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sb <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sb <= exe_stage_lsu_stQueue__GEN_285;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sb <= exe_stage_lsu_stQueue__GEN_285;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sh <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sh <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sh <= exe_stage_lsu_stQueue__GEN_287;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sh <= exe_stage_lsu_stQueue__GEN_287;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sw <= exe_stage_lsu_stQueue__GEN_289;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sw <= exe_stage_lsu_stQueue__GEN_289;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sd <= exe_stage_lsu_stQueue__GEN_291;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sd <= exe_stage_lsu_stQueue__GEN_291;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lr_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lr_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lr_w <= exe_stage_lsu_stQueue__GEN_299;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lr_w <= exe_stage_lsu_stQueue__GEN_299;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sc_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sc_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sc_w <= exe_stage_lsu_stQueue__GEN_301;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sc_w <= exe_stage_lsu_stQueue__GEN_301;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoswap_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoswap_w <= exe_stage_lsu_stQueue__GEN_303;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoswap_w <= exe_stage_lsu_stQueue__GEN_303;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoadd_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoadd_w <= exe_stage_lsu_stQueue__GEN_305;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoadd_w <= exe_stage_lsu_stQueue__GEN_305;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoxor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoxor_w <= exe_stage_lsu_stQueue__GEN_307;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoxor_w <= exe_stage_lsu_stQueue__GEN_307;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoand_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoand_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoand_w <= exe_stage_lsu_stQueue__GEN_309;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoand_w <= exe_stage_lsu_stQueue__GEN_309;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoor_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoor_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoor_w <= exe_stage_lsu_stQueue__GEN_311;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoor_w <= exe_stage_lsu_stQueue__GEN_311;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomin_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomin_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomin_w <= exe_stage_lsu_stQueue__GEN_313;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomin_w <= exe_stage_lsu_stQueue__GEN_313;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomax_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomax_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomax_w <= exe_stage_lsu_stQueue__GEN_315;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomax_w <= exe_stage_lsu_stQueue__GEN_315;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amominu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amominu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amominu_w <= exe_stage_lsu_stQueue__GEN_317;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amominu_w <= exe_stage_lsu_stQueue__GEN_317;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w <= exe_stage_lsu_stQueue__GEN_319;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w <= exe_stage_lsu_stQueue__GEN_319;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_lr_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_lr_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_lr_d <= exe_stage_lsu_stQueue__GEN_321;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_lr_d <= exe_stage_lsu_stQueue__GEN_321;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_sc_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_sc_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_sc_d <= exe_stage_lsu_stQueue__GEN_323;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_sc_d <= exe_stage_lsu_stQueue__GEN_323;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoswap_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoswap_d <= exe_stage_lsu_stQueue__GEN_325;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoswap_d <= exe_stage_lsu_stQueue__GEN_325;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoadd_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoadd_d <= exe_stage_lsu_stQueue__GEN_327;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoadd_d <= exe_stage_lsu_stQueue__GEN_327;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoxor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoxor_d <= exe_stage_lsu_stQueue__GEN_329;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoxor_d <= exe_stage_lsu_stQueue__GEN_329;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoand_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoand_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoand_d <= exe_stage_lsu_stQueue__GEN_331;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoand_d <= exe_stage_lsu_stQueue__GEN_331;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amoor_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amoor_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amoor_d <= exe_stage_lsu_stQueue__GEN_333;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amoor_d <= exe_stage_lsu_stQueue__GEN_333;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomin_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomin_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomin_d <= exe_stage_lsu_stQueue__GEN_335;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomin_d <= exe_stage_lsu_stQueue__GEN_335;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomax_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomax_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomax_d <= exe_stage_lsu_stQueue__GEN_337;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomax_d <= exe_stage_lsu_stQueue__GEN_337;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amominu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amominu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amominu_d <= exe_stage_lsu_stQueue__GEN_339;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amominu_d <= exe_stage_lsu_stQueue__GEN_339;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d <= exe_stage_lsu_stQueue__GEN_341;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d <= exe_stage_lsu_stQueue__GEN_341;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_flw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_flw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_flw <= exe_stage_lsu_stQueue__GEN_343;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_flw <= exe_stage_lsu_stQueue__GEN_343;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_fsw <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_fsw <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_fsw <= exe_stage_lsu_stQueue__GEN_345;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_fsw <= exe_stage_lsu_stQueue__GEN_345;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_fld <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_fld <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_fld <= exe_stage_lsu_stQueue__GEN_347;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_fld <= exe_stage_lsu_stQueue__GEN_347;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_fun_fsd <= 1'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_fun_fsd <= 1'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_fun_fsd <= exe_stage_lsu_stQueue__GEN_349;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_fun_fsd <= exe_stage_lsu_stQueue__GEN_349;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_param_rd0 <= 6'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_param_rd0 <= 6'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_param_rd0 <= exe_stage_lsu_stQueue__GEN_351;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_param_rd0 <= exe_stage_lsu_stQueue__GEN_351;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_param_dat_op1 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_param_dat_op1 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_param_dat_op1 <= exe_stage_lsu_stQueue__GEN_353;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_param_dat_op1 <= exe_stage_lsu_stQueue__GEN_353;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 54:21]
      exe_stage_lsu_stQueue_buff_1_param_dat_op2 <= 64'h0; // @[Store_queue.scala 54:21]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      if (exe_stage_lsu_stQueue_rd_ptr) begin // @[Store_queue.scala 113:18]
        exe_stage_lsu_stQueue_buff_1_param_dat_op2 <= 64'h0; // @[Store_queue.scala 113:18]
      end else begin
        exe_stage_lsu_stQueue_buff_1_param_dat_op2 <= exe_stage_lsu_stQueue__GEN_355;
      end
    end else begin
      exe_stage_lsu_stQueue_buff_1_param_dat_op2 <= exe_stage_lsu_stQueue__GEN_355;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 56:27]
      exe_stage_lsu_stQueue_cm_ptr_reg <= 2'h0; // @[Store_queue.scala 56:27]
    end else if (exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0) begin // @[Store_queue.scala 127:31]
      exe_stage_lsu_stQueue_cm_ptr_reg <= exe_stage_lsu_stQueue__wr_ptr_reg_T_1; // @[Store_queue.scala 128:18]
    end else if (exe_stage_lsu_stQueue__T_1) begin // @[Store_queue.scala 131:44]
      exe_stage_lsu_stQueue_cm_ptr_reg <= exe_stage_lsu_stQueue__wr_ptr_reg_T_1; // @[Store_queue.scala 132:18]
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 57:27]
      exe_stage_lsu_stQueue_wr_ptr_reg <= 2'h0; // @[Store_queue.scala 57:27]
    end else if (exe_stage_lsu_stQueue_io_flush) begin // @[Store_queue.scala 94:20]
      if (exe_stage_lsu_stQueue__T_4) begin // @[Store_queue.scala 100:59]
        exe_stage_lsu_stQueue_wr_ptr_reg <= exe_stage_lsu_stQueue__wr_ptr_reg_T_1; // @[Store_queue.scala 100:72]
      end else begin
        exe_stage_lsu_stQueue_wr_ptr_reg <= exe_stage_lsu_stQueue_cm_ptr_reg; // @[Store_queue.scala 101:30]
      end
    end else if (exe_stage_lsu_stQueue__T_5) begin // @[Store_queue.scala 106:30]
      exe_stage_lsu_stQueue_wr_ptr_reg <= exe_stage_lsu_stQueue__wr_ptr_reg_T_3; // @[Store_queue.scala 108:16]
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 58:27]
      exe_stage_lsu_stQueue_rd_ptr_reg <= 2'h0; // @[Store_queue.scala 58:27]
    end else if (exe_stage_lsu_stQueue__T_6) begin // @[Store_queue.scala 111:23]
      exe_stage_lsu_stQueue_rd_ptr_reg <= exe_stage_lsu_stQueue__rd_ptr_reg_T_1; // @[Store_queue.scala 112:16]
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 69:23]
      exe_stage_lsu_stQueue_is_amo <= 1'h0; // @[Store_queue.scala 69:23]
    end else if (exe_stage_lsu_stQueue_io_flush) begin // @[Store_queue.scala 78:22]
      exe_stage_lsu_stQueue_is_amo <= 1'h0; // @[Store_queue.scala 79:14]
    end else begin
      exe_stage_lsu_stQueue_is_amo <= exe_stage_lsu_stQueue__GEN_1;
    end
    if (exe_stage_lsu_stQueue_reset) begin // @[Store_queue.scala 76:29]
      exe_stage_lsu_stQueue_is_amo_pre <= 1'h0; // @[Store_queue.scala 76:29]
    end else begin
      exe_stage_lsu_stQueue_is_amo_pre <= exe_stage_lsu_stQueue_io_cmm_lsu_is_amo_pending; // @[Store_queue.scala 76:29]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_9 &
          exe_stage_lsu_stQueue__T_10) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:129 assert( ~is_amo )\n"); // @[Store_queue.scala 129:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_7 & (exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 &
          exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 129:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_397 & exe_stage_lsu_stQueue__T_14) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:130 assert( cm_ptr_reg =/= wr_ptr_reg )\n"); // @[Store_queue.scala 130:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_11 & (exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 &
          exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 130:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 & exe_stage_lsu_stQueue__T_1 &
          exe_stage_lsu_stQueue__T_9 & exe_stage_lsu_stQueue__T_23) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, is_amo only launch at chn 0!\n\n    at Store_queue.scala:133 assert( ~((is_st_commited(0)) & (is_amo & ~io.is_empty)), \"Assert Failed, is_amo only launch at chn 0!\\n\" )\n"
            ); // @[Store_queue.scala 133:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_20 & (~exe_stage_lsu_stQueue_io_cmm_lsu_is_store_commit_0 &
          exe_stage_lsu_stQueue__T_1 & exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 133:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_401 & exe_stage_lsu_stQueue__T_14) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:134 assert( cm_ptr_reg =/= wr_ptr_reg )\n"); // @[Store_queue.scala 134:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_11 & (_GEN_400 & exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 134:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_stQueue__T_30 & exe_stage_lsu_stQueue__T_9 & exe_stage_lsu_stQueue__T_34) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:149 assert( rd_ptr >= wr_ptr )\n"); // @[Store_queue.scala 149:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_31 & (exe_stage_lsu_stQueue__T_30 & exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 149:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_30 & exe_stage_lsu_stQueue__T_9 & exe_stage_lsu_stQueue__T_90) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Store_queue.scala:162 assert( rd_ptr <= wr_ptr )\n"); // @[Store_queue.scala 162:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_stQueue__T_87 & (~exe_stage_lsu_stQueue__T_30 & exe_stage_lsu_stQueue__T_9)) begin
          $fatal; // @[Store_queue.scala 162:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_system_clock) begin
    if (exe_stage_lsu_system_reset) begin // @[IO_Lsu.scala 45:27]
      exe_stage_lsu_system_is_busy <= 1'h0; // @[IO_Lsu.scala 45:27]
    end else begin
      exe_stage_lsu_system_is_busy <= exe_stage_lsu_system__GEN_74;
    end
    if (exe_stage_lsu_system_reset) begin // @[IO_Lsu.scala 46:27]
      exe_stage_lsu_system_isTransing <= 1'h0; // @[IO_Lsu.scala 46:27]
    end else if (!(exe_stage_lsu_system__T_24)) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu_system__T_35) begin // @[IO_Lsu.scala 89:50]
        exe_stage_lsu_system_isTransing <= 1'h0; // @[IO_Lsu.scala 91:16]
      end else begin
        exe_stage_lsu_system_isTransing <= exe_stage_lsu_system__GEN_26;
      end
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lb <= exe_stage_lsu_system_io_enq_bits_fun_lb; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lh <= exe_stage_lsu_system_io_enq_bits_fun_lh; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lw <= exe_stage_lsu_system_io_enq_bits_fun_lw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_ld <= exe_stage_lsu_system_io_enq_bits_fun_ld; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lbu <= exe_stage_lsu_system_io_enq_bits_fun_lbu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lhu <= exe_stage_lsu_system_io_enq_bits_fun_lhu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lwu <= exe_stage_lsu_system_io_enq_bits_fun_lwu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sb <= exe_stage_lsu_system_io_enq_bits_fun_sb; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sh <= exe_stage_lsu_system_io_enq_bits_fun_sh; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sw <= exe_stage_lsu_system_io_enq_bits_fun_sw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sd <= exe_stage_lsu_system_io_enq_bits_fun_sd; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lr_w <= exe_stage_lsu_system_io_enq_bits_fun_lr_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sc_w <= exe_stage_lsu_system_io_enq_bits_fun_sc_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoswap_w <= exe_stage_lsu_system_io_enq_bits_fun_amoswap_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoadd_w <= exe_stage_lsu_system_io_enq_bits_fun_amoadd_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoxor_w <= exe_stage_lsu_system_io_enq_bits_fun_amoxor_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoand_w <= exe_stage_lsu_system_io_enq_bits_fun_amoand_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoor_w <= exe_stage_lsu_system_io_enq_bits_fun_amoor_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomin_w <= exe_stage_lsu_system_io_enq_bits_fun_amomin_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomax_w <= exe_stage_lsu_system_io_enq_bits_fun_amomax_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amominu_w <= exe_stage_lsu_system_io_enq_bits_fun_amominu_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomaxu_w <= exe_stage_lsu_system_io_enq_bits_fun_amomaxu_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_lr_d <= exe_stage_lsu_system_io_enq_bits_fun_lr_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_sc_d <= exe_stage_lsu_system_io_enq_bits_fun_sc_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoswap_d <= exe_stage_lsu_system_io_enq_bits_fun_amoswap_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoadd_d <= exe_stage_lsu_system_io_enq_bits_fun_amoadd_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoxor_d <= exe_stage_lsu_system_io_enq_bits_fun_amoxor_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoand_d <= exe_stage_lsu_system_io_enq_bits_fun_amoand_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amoor_d <= exe_stage_lsu_system_io_enq_bits_fun_amoor_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomin_d <= exe_stage_lsu_system_io_enq_bits_fun_amomin_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomax_d <= exe_stage_lsu_system_io_enq_bits_fun_amomax_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amominu_d <= exe_stage_lsu_system_io_enq_bits_fun_amominu_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_amomaxu_d <= exe_stage_lsu_system_io_enq_bits_fun_amomaxu_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_flw <= exe_stage_lsu_system_io_enq_bits_fun_flw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_fsw <= exe_stage_lsu_system_io_enq_bits_fun_fsw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_fld <= exe_stage_lsu_system_io_enq_bits_fun_fld; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_system_pending_fun_fsd <= exe_stage_lsu_system_io_enq_bits_fun_fsd; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_35) begin // @[Lsu.scala 237:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_system_pending_param_rd0 <= exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_system_pending_param_rd0 <= 6'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_system_pending_param_rd0 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_rd0; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_system_pending_param_rd0 <= 6'h0; // @[Lsu.scala 243:26]
      end
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_35) begin // @[Lsu.scala 237:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_system_pending_param_dat_op1 <= exe_stage_lsu_io_mmu_lsu_bits_paddr; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_system_pending_param_dat_op1 <= 64'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_system_pending_param_dat_op1 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op1; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_system_pending_param_dat_op1 <= 64'h0; // @[Lsu.scala 243:26]
      end
    end
    if (exe_stage_lsu_system__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_35) begin // @[Lsu.scala 237:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_system_pending_param_dat_op2 <= exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_system_pending_param_dat_op2 <= 64'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_system_pending_param_dat_op2 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op2; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_system_pending_param_dat_op2 <= 64'h0; // @[Lsu.scala 243:26]
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_system_is_busy & ~exe_stage_lsu_system__T_12 & ~exe_stage_lsu_system__T_20 &
          exe_stage_lsu_system__T_22) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IO_Lsu, RISCV-A is not support at IO region\n    at IO_Lsu.scala:73 assert(false.B, \"Assert Failed at IO_Lsu, RISCV-A is not support at IO region\")\n"
            ); // @[IO_Lsu.scala 73:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (exe_stage_lsu_system_is_busy & ~exe_stage_lsu_system__T_12 & ~exe_stage_lsu_system__T_20 &
          exe_stage_lsu_system__T_22)) begin
          $fatal; // @[IO_Lsu.scala 73:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_system__T_24 & exe_stage_lsu_system__T_22 & exe_stage_lsu_system__T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:85 assert( is_busy === false.B  )\n"); // @[IO_Lsu.scala 85:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_system__io_is_empty_T & (exe_stage_lsu_system__T_24 & exe_stage_lsu_system__T_22)) begin
          $fatal; // @[IO_Lsu.scala 85:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_426 & exe_stage_lsu_system__T_32) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:86 assert( isTransing === false.B  )\n"); // @[IO_Lsu.scala 86:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_system__io_getPut_valid_T & (exe_stage_lsu_system__T_24 & exe_stage_lsu_system__T_22)) begin
          $fatal; // @[IO_Lsu.scala 86:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_system__T_24 & exe_stage_lsu_system__T_35 & exe_stage_lsu_system__T_22) begin
          $fwrite(32'h80000002,"Warning! Accessing a Non-define Region."); // @[IO_Lsu.scala 92:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_428 & ~exe_stage_lsu_system__T_35 & exe_stage_lsu_system__T_33 & exe_stage_lsu_system__T_22 &
          exe_stage_lsu_system__io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:94 assert( is_busy === true.B )\n"); // @[IO_Lsu.scala 94:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_system_is_busy & (_GEN_428 & ~exe_stage_lsu_system__T_35 & exe_stage_lsu_system__T_33 &
          exe_stage_lsu_system__T_22)) begin
          $fatal; // @[IO_Lsu.scala 94:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_432 & ~exe_stage_lsu_system__T_33 & exe_stage_lsu_system__T_34 & exe_stage_lsu_system__T_22 &
          exe_stage_lsu_system__io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:97 assert( is_busy === true.B  )\n"); // @[IO_Lsu.scala 97:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_system_is_busy & (_GEN_432 & ~exe_stage_lsu_system__T_33 & exe_stage_lsu_system__T_34 &
          exe_stage_lsu_system__T_22)) begin
          $fatal; // @[IO_Lsu.scala 97:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_periph_clock) begin
    if (exe_stage_lsu_periph_reset) begin // @[IO_Lsu.scala 45:27]
      exe_stage_lsu_periph_is_busy <= 1'h0; // @[IO_Lsu.scala 45:27]
    end else begin
      exe_stage_lsu_periph_is_busy <= exe_stage_lsu_periph__GEN_74;
    end
    if (exe_stage_lsu_periph_reset) begin // @[IO_Lsu.scala 46:27]
      exe_stage_lsu_periph_isTransing <= 1'h0; // @[IO_Lsu.scala 46:27]
    end else if (!(exe_stage_lsu_periph__T_24)) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu_periph__T_35) begin // @[IO_Lsu.scala 89:50]
        exe_stage_lsu_periph_isTransing <= 1'h0; // @[IO_Lsu.scala 91:16]
      end else begin
        exe_stage_lsu_periph_isTransing <= exe_stage_lsu_periph__GEN_26;
      end
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lb <= exe_stage_lsu_periph_io_enq_bits_fun_lb; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lh <= exe_stage_lsu_periph_io_enq_bits_fun_lh; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lw <= exe_stage_lsu_periph_io_enq_bits_fun_lw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_ld <= exe_stage_lsu_periph_io_enq_bits_fun_ld; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lbu <= exe_stage_lsu_periph_io_enq_bits_fun_lbu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lhu <= exe_stage_lsu_periph_io_enq_bits_fun_lhu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lwu <= exe_stage_lsu_periph_io_enq_bits_fun_lwu; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sb <= exe_stage_lsu_periph_io_enq_bits_fun_sb; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sh <= exe_stage_lsu_periph_io_enq_bits_fun_sh; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sw <= exe_stage_lsu_periph_io_enq_bits_fun_sw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sd <= exe_stage_lsu_periph_io_enq_bits_fun_sd; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lr_w <= exe_stage_lsu_periph_io_enq_bits_fun_lr_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sc_w <= exe_stage_lsu_periph_io_enq_bits_fun_sc_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoswap_w <= exe_stage_lsu_periph_io_enq_bits_fun_amoswap_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoadd_w <= exe_stage_lsu_periph_io_enq_bits_fun_amoadd_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoxor_w <= exe_stage_lsu_periph_io_enq_bits_fun_amoxor_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoand_w <= exe_stage_lsu_periph_io_enq_bits_fun_amoand_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoor_w <= exe_stage_lsu_periph_io_enq_bits_fun_amoor_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomin_w <= exe_stage_lsu_periph_io_enq_bits_fun_amomin_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomax_w <= exe_stage_lsu_periph_io_enq_bits_fun_amomax_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amominu_w <= exe_stage_lsu_periph_io_enq_bits_fun_amominu_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomaxu_w <= exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_w; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_lr_d <= exe_stage_lsu_periph_io_enq_bits_fun_lr_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_sc_d <= exe_stage_lsu_periph_io_enq_bits_fun_sc_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoswap_d <= exe_stage_lsu_periph_io_enq_bits_fun_amoswap_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoadd_d <= exe_stage_lsu_periph_io_enq_bits_fun_amoadd_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoxor_d <= exe_stage_lsu_periph_io_enq_bits_fun_amoxor_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoand_d <= exe_stage_lsu_periph_io_enq_bits_fun_amoand_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amoor_d <= exe_stage_lsu_periph_io_enq_bits_fun_amoor_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomin_d <= exe_stage_lsu_periph_io_enq_bits_fun_amomin_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomax_d <= exe_stage_lsu_periph_io_enq_bits_fun_amomax_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amominu_d <= exe_stage_lsu_periph_io_enq_bits_fun_amominu_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_amomaxu_d <= exe_stage_lsu_periph_io_enq_bits_fun_amomaxu_d; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_flw <= exe_stage_lsu_periph_io_enq_bits_fun_flw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_fsw <= exe_stage_lsu_periph_io_enq_bits_fun_fsw; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_fld <= exe_stage_lsu_periph_io_enq_bits_fun_fld; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      exe_stage_lsu_periph_pending_fun_fsd <= exe_stage_lsu_periph_io_enq_bits_fun_fsd; // @[IO_Lsu.scala 87:13]
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_34) begin // @[Lsu.scala 228:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_periph_pending_param_rd0 <= exe_stage_lsu_io_lsu_iss_exe_bits_param_rd0; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_periph_pending_param_rd0 <= 6'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_periph_pending_param_rd0 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_rd0; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_periph_pending_param_rd0 <= 6'h0; // @[Lsu.scala 234:26]
      end
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_34) begin // @[Lsu.scala 228:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_periph_pending_param_dat_op1 <= exe_stage_lsu_io_mmu_lsu_bits_paddr; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_periph_pending_param_dat_op1 <= 64'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_periph_pending_param_dat_op1 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op1; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_periph_pending_param_dat_op1 <= 64'h0; // @[Lsu.scala 234:26]
      end
    end
    if (exe_stage_lsu_periph__T_24) begin // @[IO_Lsu.scala 84:23]
      if (exe_stage_lsu__T_34) begin // @[Lsu.scala 228:23]
        if (exe_stage_lsu_ls_arb_io_in_0_valid) begin // @[Arbiter.scala 138:26]
          if (exe_stage_lsu__T_9) begin // @[Lsu.scala 162:38]
            exe_stage_lsu_periph_pending_param_dat_op2 <= exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op2; // @[Lsu.scala 164:23]
          end else begin
            exe_stage_lsu_periph_pending_param_dat_op2 <= 64'h0; // @[Lsu.scala 168:18]
          end
        end else begin
          exe_stage_lsu_periph_pending_param_dat_op2 <= exe_stage_lsu_ls_arb_io_in_1_bits_param_dat_op2; // @[Arbiter.scala 136:15]
        end
      end else begin
        exe_stage_lsu_periph_pending_param_dat_op2 <= 64'h0; // @[Lsu.scala 234:26]
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_periph_is_busy & ~exe_stage_lsu_periph__T_12 & ~exe_stage_lsu_periph__T_20 &
          exe_stage_lsu_periph__T_22) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at IO_Lsu, RISCV-A is not support at IO region\n    at IO_Lsu.scala:73 assert(false.B, \"Assert Failed at IO_Lsu, RISCV-A is not support at IO region\")\n"
            ); // @[IO_Lsu.scala 73:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (exe_stage_lsu_periph_is_busy & ~exe_stage_lsu_periph__T_12 & ~exe_stage_lsu_periph__T_20 &
          exe_stage_lsu_periph__T_22)) begin
          $fatal; // @[IO_Lsu.scala 73:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_periph__T_24 & exe_stage_lsu_periph__T_22 & exe_stage_lsu_periph__T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:85 assert( is_busy === false.B  )\n"); // @[IO_Lsu.scala 85:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_periph__io_is_empty_T & (exe_stage_lsu_periph__T_24 & exe_stage_lsu_periph__T_22)) begin
          $fatal; // @[IO_Lsu.scala 85:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_465 & exe_stage_lsu_periph__T_32) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:86 assert( isTransing === false.B  )\n"); // @[IO_Lsu.scala 86:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_periph__io_getPut_valid_T & (exe_stage_lsu_periph__T_24 & exe_stage_lsu_periph__T_22)) begin
          $fatal; // @[IO_Lsu.scala 86:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_periph__T_24 & exe_stage_lsu_periph__T_35 & exe_stage_lsu_periph__T_22) begin
          $fwrite(32'h80000002,"Warning! Accessing a Non-define Region."); // @[IO_Lsu.scala 92:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_467 & ~exe_stage_lsu_periph__T_35 & exe_stage_lsu_periph__T_33 & exe_stage_lsu_periph__T_22 &
          exe_stage_lsu_periph__io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:94 assert( is_busy === true.B )\n"); // @[IO_Lsu.scala 94:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_periph_is_busy & (_GEN_467 & ~exe_stage_lsu_periph__T_35 & exe_stage_lsu_periph__T_33 &
          exe_stage_lsu_periph__T_22)) begin
          $fatal; // @[IO_Lsu.scala 94:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_471 & ~exe_stage_lsu_periph__T_33 & exe_stage_lsu_periph__T_34 & exe_stage_lsu_periph__T_22 &
          exe_stage_lsu_periph__io_is_empty_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IO_Lsu.scala:97 assert( is_busy === true.B  )\n"); // @[IO_Lsu.scala 97:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_periph_is_busy & (_GEN_471 & ~exe_stage_lsu_periph__T_33 & exe_stage_lsu_periph__T_34 &
          exe_stage_lsu_periph__T_22)) begin
          $fatal; // @[IO_Lsu.scala 97:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_cache_0_missUnit_clock) begin
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 56:27]
      exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr <= 32'h0; // @[MissUnit.scala 56:27]
    end else if (exe_stage_lsu_cache_0_missUnit_io_req_valid) begin // @[MissUnit.scala 183:21]
      if (exe_stage_lsu_cache_0_missUnit__T_36) begin // @[MissUnit.scala 184:44]
        if (~exe_stage_lsu_cache_0_missUnit_load_sel) begin // @[MissUnit.scala 185:28]
          exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr <= exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr; // @[MissUnit.scala 185:28]
        end
      end
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 56:27]
      exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr <= 32'h0; // @[MissUnit.scala 56:27]
    end else if (exe_stage_lsu_cache_0_missUnit_io_req_valid) begin // @[MissUnit.scala 183:21]
      if (exe_stage_lsu_cache_0_missUnit__T_36) begin // @[MissUnit.scala 184:44]
        if (exe_stage_lsu_cache_0_missUnit_load_sel) begin // @[MissUnit.scala 185:28]
          exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr <= exe_stage_lsu_cache_0_missUnit_io_req_bits_paddr; // @[MissUnit.scala 185:28]
        end
      end
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 59:27]
      exe_stage_lsu_cache_0_missUnit_miss_valid_0 <= 1'h0; // @[MissUnit.scala 59:27]
    end else if (exe_stage_lsu_cache_0_missUnit_io_req_valid) begin // @[MissUnit.scala 183:21]
      if (exe_stage_lsu_cache_0_missUnit__T_36) begin // @[MissUnit.scala 184:44]
        exe_stage_lsu_cache_0_missUnit_miss_valid_0 <= exe_stage_lsu_cache_0_missUnit__GEN_33;
      end else begin
        exe_stage_lsu_cache_0_missUnit_miss_valid_0 <= exe_stage_lsu_cache_0_missUnit__GEN_29;
      end
    end else begin
      exe_stage_lsu_cache_0_missUnit_miss_valid_0 <= exe_stage_lsu_cache_0_missUnit__GEN_29;
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 59:27]
      exe_stage_lsu_cache_0_missUnit_miss_valid_1 <= 1'h0; // @[MissUnit.scala 59:27]
    end else if (exe_stage_lsu_cache_0_missUnit_io_req_valid) begin // @[MissUnit.scala 183:21]
      if (exe_stage_lsu_cache_0_missUnit__T_36) begin // @[MissUnit.scala 184:44]
        exe_stage_lsu_cache_0_missUnit_miss_valid_1 <= exe_stage_lsu_cache_0_missUnit__GEN_34;
      end else begin
        exe_stage_lsu_cache_0_missUnit_miss_valid_1 <= exe_stage_lsu_cache_0_missUnit__GEN_30;
      end
    end else begin
      exe_stage_lsu_cache_0_missUnit_miss_valid_1 <= exe_stage_lsu_cache_0_missUnit__GEN_30;
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 62:25]
      exe_stage_lsu_cache_0_missUnit_miss_rsp_0 <= 64'h0; // @[MissUnit.scala 62:25]
    end else if (exe_stage_lsu_cache_0_missUnit__T) begin // @[MissUnit.scala 140:31]
      if (~exe_stage_lsu_cache_0_missUnit_transCnt) begin // @[MissUnit.scala 141:25]
        exe_stage_lsu_cache_0_missUnit_miss_rsp_0 <= exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_data; // @[MissUnit.scala 141:25]
      end
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 62:25]
      exe_stage_lsu_cache_0_missUnit_miss_rsp_1 <= 64'h0; // @[MissUnit.scala 62:25]
    end else if (exe_stage_lsu_cache_0_missUnit__T) begin // @[MissUnit.scala 140:31]
      if (exe_stage_lsu_cache_0_missUnit_transCnt) begin // @[MissUnit.scala 141:25]
        exe_stage_lsu_cache_0_missUnit_miss_rsp_1 <= exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_data; // @[MissUnit.scala 141:25]
      end
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 65:32]
      exe_stage_lsu_cache_0_missUnit_mshr_state_qout <= 3'h0; // @[MissUnit.scala 65:32]
    end else begin
      exe_stage_lsu_cache_0_missUnit_mshr_state_qout <= exe_stage_lsu_cache_0_missUnit_mshr_state_dnxt; // @[MissUnit.scala 65:32]
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[Edges.scala 228:27]
      exe_stage_lsu_cache_0_missUnit_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (exe_stage_lsu_cache_0_missUnit__T) begin // @[Edges.scala 234:17]
      if (exe_stage_lsu_cache_0_missUnit_first) begin // @[Edges.scala 235:21]
        exe_stage_lsu_cache_0_missUnit_counter <= exe_stage_lsu_cache_0_missUnit_beats1;
      end else begin
        exe_stage_lsu_cache_0_missUnit_counter <= exe_stage_lsu_cache_0_missUnit_counter1;
      end
    end
    if (exe_stage_lsu_cache_0_missUnit__acquire_sel_T_3) begin // @[Reg.scala 20:18]
      if (exe_stage_lsu_cache_0_missUnit_miss_valid_0) begin // @[MissUnit.scala 75:36]
        exe_stage_lsu_cache_0_missUnit_acquire_sel_r <= 1'h0;
      end else begin
        exe_stage_lsu_cache_0_missUnit_acquire_sel_r <= 1'h1;
      end
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 81:37]
      exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild <= 1'h0; // @[MissUnit.scala 81:37]
    end else begin
      exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild <= exe_stage_lsu_cache_0_missUnit__GEN_11;
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 87:37]
      exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid <= 1'h0; // @[MissUnit.scala 87:37]
    end else if (!(exe_stage_lsu_cache_0_missUnit__T_23)) begin // @[MissUnit.scala 145:61]
      exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid <= exe_stage_lsu_cache_0_missUnit__GEN_24;
    end
    if (exe_stage_lsu_cache_0_missUnit_reset) begin // @[MissUnit.scala 90:26]
      exe_stage_lsu_cache_0_missUnit_rsp_valid <= 1'h0; // @[MissUnit.scala 90:26]
    end else begin
      exe_stage_lsu_cache_0_missUnit_rsp_valid <= exe_stage_lsu_cache_0_missUnit__GEN_27;
    end
    if (exe_stage_lsu_cache_0_missUnit__T) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_missUnit_cache_grant_reg_sink <= exe_stage_lsu_cache_0_missUnit_io_cache_grant_bits_sink; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_missUnit__T_6 & exe_stage_lsu_cache_0_missUnit__T_7) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at missUnit, source-id of grant mis-match\n    at MissUnit.scala:93 assert( ~(io.cache_grant.fire & io.cache_grant.bits.source =/= id.U), \"Assert Failed at missUnit, source-id of grant mis-match\"  )\n"
            ); // @[MissUnit.scala 93:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__T_4 & exe_stage_lsu_cache_0_missUnit__T_6) begin
          $fatal; // @[MissUnit.scala 93:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__acquire_sel_T_3 & exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_9 &
          exe_stage_lsu_cache_0_missUnit__T_6 & exe_stage_lsu_cache_0_missUnit__T_15) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:113 assert(mshr_state_qout === 1.U)\n"); // @[MissUnit.scala 113:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_8 & (~exe_stage_lsu_cache_0_missUnit__acquire_sel_T_3 &
          exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_9 & exe_stage_lsu_cache_0_missUnit__T_6)) begin
          $fatal; // @[MissUnit.scala 113:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_missUnit__T & exe_stage_lsu_cache_0_missUnit__T_6 &
          exe_stage_lsu_cache_0_missUnit__T_20) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:142 assert( mshr_state_qout === 2.U )\n"); // @[MissUnit.scala 142:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_11 & (exe_stage_lsu_cache_0_missUnit__T &
          exe_stage_lsu_cache_0_missUnit__T_6)) begin
          $fatal; // @[MissUnit.scala 142:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__T_23 & exe_stage_lsu_cache_0_missUnit__T_24 &
          exe_stage_lsu_cache_0_missUnit__T_6 & exe_stage_lsu_cache_0_missUnit__T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:150 assert(mshr_state_qout === 3.U)\n"); // @[MissUnit.scala 150:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_13 & (~exe_stage_lsu_cache_0_missUnit__T_23 &
          exe_stage_lsu_cache_0_missUnit__T_24 & exe_stage_lsu_cache_0_missUnit__T_6)) begin
          $fatal; // @[MissUnit.scala 150:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_500 & ~exe_stage_lsu_cache_0_missUnit__T_24 & exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 &
          exe_stage_lsu_cache_0_missUnit__T_6 & exe_stage_lsu_cache_0_missUnit__T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MissUnit.scala:154 assert(mshr_state_qout === 3.U)\n"); // @[MissUnit.scala 154:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_13 & (_GEN_500 & ~exe_stage_lsu_cache_0_missUnit__T_24 &
          exe_stage_lsu_cache_0_missUnit__mshr_state_dnxt_T_14 & exe_stage_lsu_cache_0_missUnit__T_6)) begin
          $fatal; // @[MissUnit.scala 154:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_missUnit_io_req_valid & exe_stage_lsu_cache_0_missUnit__T_6 &
          exe_stage_lsu_cache_0_missUnit__T_51) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at MissUnit, the Miss-Entry is equal to SB-Entry, which hints that missUnit never full!\n    at MissUnit.scala:193 assert(\n"
            ); // @[MissUnit.scala 193:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_missUnit__T_48 & (exe_stage_lsu_cache_0_missUnit_io_req_valid &
          exe_stage_lsu_cache_0_missUnit__T_6)) begin
          $fatal; // @[MissUnit.scala 193:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_clock) begin
    if (exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_en &
      exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_mask) begin
      exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram[exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_addr] <=
        exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_probeUnit_probe_fifo_clock) begin
    if (exe_stage_lsu_cache_0_probeUnit_probe_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_cache_0_probeUnit_probe_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full <= exe_stage_lsu_cache_0_probeUnit_probe_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_en &
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_mask) begin

        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData[exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_addr]
         <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_25) begin // @[Decoupled.scala 288:16]
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value <=
        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__value_T_1; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__GEN_24) begin // @[Decoupled.scala 292:16]
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value <=
        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__value_T_3; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_empty) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full <=
            exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full <= exe_stage_lsu_cache_0_writeBackUnit_wb_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_cache_0_writeBackUnit_clock) begin
    if (exe_stage_lsu_cache_0_writeBackUnit_reset) begin // @[wrtieBackUnit.scala 70:30]
      exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout <= 2'h0; // @[wrtieBackUnit.scala 70:30]
    end else begin
      exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout <= exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_20; // @[wrtieBackUnit.scala 70:30]
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_reset) begin // @[Edges.scala 228:27]
      exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (exe_stage_lsu_cache_0_writeBackUnit__is_release_done_T) begin // @[Edges.scala 234:17]
      if (exe_stage_lsu_cache_0_writeBackUnit_is_release_done_first) begin // @[Edges.scala 235:21]
        exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter <=
          exe_stage_lsu_cache_0_writeBackUnit_is_release_done_beats1;
      end else begin
        exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter <=
          exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter1;
      end
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_reset) begin // @[wrtieBackUnit.scala 76:36]
      exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid <= 1'h0; // @[wrtieBackUnit.scala 76:36]
    end else if (exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_8) begin // @[wrtieBackUnit.scala 104:33]
      if (exe_stage_lsu_cache_0_writeBackUnit__is_release_done_T) begin // @[wrtieBackUnit.scala 105:35]
        exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid <= 1'h0; // @[wrtieBackUnit.scala 105:57]
      end else begin
        exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid <= exe_stage_lsu_cache_0_writeBackUnit__GEN_3;
      end
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_reset) begin // @[wrtieBackUnit.scala 79:36]
      exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready <= 1'h0; // @[wrtieBackUnit.scala 79:36]
    end else begin
      exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready <= exe_stage_lsu_cache_0_writeBackUnit__GEN_7;
    end
    if (exe_stage_lsu_cache_0_writeBackUnit_reset) begin // @[wrtieBackUnit.scala 100:24]
      exe_stage_lsu_cache_0_writeBackUnit_beatCnt <= 1'h0; // @[wrtieBackUnit.scala 100:24]
    end else if (exe_stage_lsu_cache_0_writeBackUnit__T_2) begin // @[wrtieBackUnit.scala 101:57]
      exe_stage_lsu_cache_0_writeBackUnit_beatCnt <= 1'h0; // @[wrtieBackUnit.scala 101:67]
    end else if (exe_stage_lsu_cache_0_writeBackUnit__is_release_done_T) begin // @[wrtieBackUnit.scala 102:38]
      exe_stage_lsu_cache_0_writeBackUnit_beatCnt <= exe_stage_lsu_cache_0_writeBackUnit__beatCnt_T_1; // @[wrtieBackUnit.scala 102:48]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_writeBackUnit__T_8 & exe_stage_lsu_cache_0_writeBackUnit__T_11 &
          exe_stage_lsu_cache_0_writeBackUnit__T_12) begin
          $fwrite(32'h80000002,"Assertion failed\n    at wrtieBackUnit.scala:162 assert( wb_state_qout === 2.U )\n"); // @[wrtieBackUnit.scala 162:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13 & (exe_stage_lsu_cache_0_writeBackUnit__T_8 &
          exe_stage_lsu_cache_0_writeBackUnit__T_11)) begin
          $fatal; // @[wrtieBackUnit.scala 162:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_writeBackUnit__T_8 & exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready &
          exe_stage_lsu_cache_0_writeBackUnit__T_11 & exe_stage_lsu_cache_0_writeBackUnit__T_12) begin
          $fwrite(32'h80000002,"Assertion failed\n    at wrtieBackUnit.scala:165 assert( wb_state_qout === 2.U )\n"); // @[wrtieBackUnit.scala 165:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_writeBackUnit__wb_state_dnxt_T_13 & (~exe_stage_lsu_cache_0_writeBackUnit__T_8 &
          exe_stage_lsu_cache_0_writeBackUnit_io_cache_grant_ready & exe_stage_lsu_cache_0_writeBackUnit__T_11)) begin
          $fatal; // @[wrtieBackUnit.scala 165:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_writeBackUnit__T_11 & exe_stage_lsu_cache_0_writeBackUnit__T_23) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at writeBack-Unit, grant-id mis-match\n    at wrtieBackUnit.scala:167 assert( ~(io.cache_grant.fire & io.cache_grant.bits.source =/= id.U), \"Assert Failed at writeBack-Unit, grant-id mis-match\" )\n"
            ); // @[wrtieBackUnit.scala 167:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_writeBackUnit__T_20 & exe_stage_lsu_cache_0_writeBackUnit__T_11) begin
          $fatal; // @[wrtieBackUnit.scala 167:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_writeBackUnit__T_24 & exe_stage_lsu_cache_0_writeBackUnit__T_11 &
          exe_stage_lsu_cache_0_writeBackUnit__T_28) begin
          $fwrite(32'h80000002,
            "Assertion failed: When WriteBack Unit is busy, no new acquire will be emitted, and there is no wb request!\n    at wrtieBackUnit.scala:176 assert(~io.wb_req.valid, \"When WriteBack Unit is busy, no new acquire will be emitted, and there is no wb request!\")\n"
            ); // @[wrtieBackUnit.scala 176:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_writeBackUnit__T_25 & (exe_stage_lsu_cache_0_writeBackUnit__T_24 &
          exe_stage_lsu_cache_0_writeBackUnit__T_11)) begin
          $fatal; // @[wrtieBackUnit.scala 176:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_chkIdx[exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_paddr_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_paddr[exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_wdata_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_wdata[exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_wdata_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_wstrb_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_wstrb[exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_wstrb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lb[exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lh[exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lw[exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_ld[exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu[exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sb[exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sh[exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sw[exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sd[exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_en &
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d[exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_flw[exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw[exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_fld[exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd[exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_probe[exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_grant[exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_lsEntry_ram_fun_preft[exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_en & exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_mask) begin
      exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0[exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_addr] <=
        exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_lsEntry_clock) begin
    if (exe_stage_lsu_cache_0_lsEntry_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_lsEntry_enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_lsEntry__GEN_109) begin // @[Decoupled.scala 288:16]
      exe_stage_lsu_cache_0_lsEntry_enq_ptr_value <= exe_stage_lsu_cache_0_lsEntry__value_T_1; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_lsEntry_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_lsEntry_deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_lsEntry__GEN_108) begin // @[Decoupled.scala 292:16]
      exe_stage_lsu_cache_0_lsEntry_deq_ptr_value <= exe_stage_lsu_cache_0_lsEntry__value_T_3; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_lsEntry_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_cache_0_lsEntry_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_cache_0_lsEntry__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_cache_0_lsEntry_empty) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_cache_0_lsEntry_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_cache_0_lsEntry_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_cache_0_lsEntry_maybe_full <= exe_stage_lsu_cache_0_lsEntry__do_enq_T;
        end
      end else begin
        exe_stage_lsu_cache_0_lsEntry_maybe_full <= exe_stage_lsu_cache_0_lsEntry__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_en & exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx[exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_en & exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0[exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_en & exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res[exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_en &
      exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo[exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_en & exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw[exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_en & exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_mask) begin
      exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld[exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_addr] <=
        exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_rtn_fifo_clock) begin
    if (exe_stage_lsu_cache_0_rtn_fifo_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_rtn_fifo__GEN_25) begin // @[Decoupled.scala 288:16]
      exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value <= exe_stage_lsu_cache_0_rtn_fifo__value_T_1; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_rtn_fifo_reset) begin // @[Counter.scala 61:40]
      exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (exe_stage_lsu_cache_0_rtn_fifo__GEN_24) begin // @[Decoupled.scala 292:16]
      exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value <= exe_stage_lsu_cache_0_rtn_fifo__value_T_3; // @[Counter.scala 77:15]
    end
    if (exe_stage_lsu_cache_0_rtn_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_cache_0_rtn_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_cache_0_rtn_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_cache_0_rtn_fifo_empty) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_cache_0_rtn_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_cache_0_rtn_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_cache_0_rtn_fifo_maybe_full <= exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_cache_0_rtn_fifo_maybe_full <= exe_stage_lsu_cache_0_rtn_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx[exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_paddr_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_paddr[exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_paddr_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_wdata_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_wdata[exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_wdata_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_wstrb[exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_wstrb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld[exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_mask) begin

        exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d[exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_addr]
         <= exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd[exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe[exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant[exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_en &
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_mask) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft[exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_en & exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0[exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_addr] <=
        exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_reload_fifo_clock) begin
    if (exe_stage_lsu_cache_0_reload_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_cache_0_reload_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_cache_0_reload_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_lsu_cache_0_reload_fifo_maybe_full <= exe_stage_lsu_cache_0_reload_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15[exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_clock) begin
    if (exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_en &
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_mask) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15[exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_addr] <=
        exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_1_data; // @[CacheRAM.scala 46:27]
    end
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_datRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr_pipe_0 <= exe_stage_lsu_cache_0_stage_datRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_clock) begin
    if (exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_en & exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem[exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_addr] <=
        exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
    end
    exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_tagRAM_0_io_enr;
    if (exe_stage_lsu_cache_0_stage_tagRAM_0_io_enr) begin
      exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0 <=
        exe_stage_lsu_cache_0_stage_tagRAM_0_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_clock) begin
    if (exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_en & exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_mask
      ) begin
      exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem[exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_addr] <=
        exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_MPORT_data; // @[CacheRAM.scala 152:27]
    end
    exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0 <= exe_stage_lsu_cache_0_stage_tagRAM_1_io_enr;
    if (exe_stage_lsu_cache_0_stage_tagRAM_1_io_enr) begin
      exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0 <=
        exe_stage_lsu_cache_0_stage_tagRAM_1_io_addrr;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_clock) begin
    exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_0 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset |
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng__T_2; // @[PRNG.scala 55:{49,49}]
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_0;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13;
    end
    if (exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_reset) begin // @[PRNG.scala 55:49]
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15 <= exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14;
    end
  end
  always @(posedge exe_stage_lsu_cache_0_stage_clock) begin
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 71:32]
      exe_stage_lsu_cache_0_stage_pipeStage1Valid <= 1'h0; // @[DcacheStage.scala 71:32]
    end else begin
      exe_stage_lsu_cache_0_stage_pipeStage1Valid <= exe_stage_lsu_cache_0_stage__pipeStage1Valid_T; // @[DcacheStage.scala 71:32]
    end
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_chkIdx <= exe_stage_lsu_cache_0_stage_io_enq_bits_chkIdx; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr <= exe_stage_lsu_cache_0_stage_io_enq_bits_paddr; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata <= exe_stage_lsu_cache_0_stage_io_enq_bits_wdata; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb <= exe_stage_lsu_cache_0_stage_io_enq_bits_wstrb; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lb; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lh; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lw; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_ld; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lbu; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lhu; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lwu; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sb; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sh; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sw; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sd; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_w; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_lr_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_sc_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoswap_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoadd_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoxor_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoand_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amoor_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomin_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomax_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amominu_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_amomaxu_d; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_flw; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsw; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fld; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_fsd; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_probe; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_grant; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft <= exe_stage_lsu_cache_0_stage_io_enq_bits_fun_preft; // @[DcacheStage.scala 72:32]
    exe_stage_lsu_cache_0_stage_pipeStage1Bits_rd_rd0 <= exe_stage_lsu_cache_0_stage_io_enq_bits_rd_rd0; // @[DcacheStage.scala 72:32]
    if (exe_stage_lsu_cache_0_stage__pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_isTagBypass_1 <= exe_stage_lsu_cache_0_stage__isTagBypass_T_4; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__tagBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_tagBypassData_1 <= exe_stage_lsu_cache_0_stage__tagInfoW_T; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_3_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_542 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_3_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_3_1 <= exe_stage_lsu_cache_0_stage__GEN_141;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_3_1 <= exe_stage_lsu_cache_0_stage__GEN_141;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_2_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_537 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_2_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_2_1 <= exe_stage_lsu_cache_0_stage__GEN_139;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_2_1 <= exe_stage_lsu_cache_0_stage__GEN_139;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_1_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_532 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_1_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_1_1 <= exe_stage_lsu_cache_0_stage__GEN_137;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_1_1 <= exe_stage_lsu_cache_0_stage__GEN_137;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_0_1 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_527 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_0_1 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_0_1 <= exe_stage_lsu_cache_0_stage__GEN_135;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_0_1 <= exe_stage_lsu_cache_0_stage__GEN_135;
      end
    end
    if (exe_stage_lsu_cache_0_stage__pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_isTagBypass <= exe_stage_lsu_cache_0_stage__isTagBypass_T_1; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__tagBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_tagBypassData <= exe_stage_lsu_cache_0_stage__tagInfoW_T; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_3_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_542 & exe_stage_lsu_cache_0_stage__datEnW_0_T) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_3_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_3_0 <= exe_stage_lsu_cache_0_stage__GEN_140;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_3_0 <= exe_stage_lsu_cache_0_stage__GEN_140;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_2_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_537 & exe_stage_lsu_cache_0_stage__datEnW_0_T) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_2_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_2_0 <= exe_stage_lsu_cache_0_stage__GEN_138;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_2_0 <= exe_stage_lsu_cache_0_stage__GEN_138;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_1_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_532 & exe_stage_lsu_cache_0_stage__datEnW_0_T) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_1_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_1_0 <= exe_stage_lsu_cache_0_stage__GEN_136;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_1_0 <= exe_stage_lsu_cache_0_stage__GEN_136;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 84:26]
      exe_stage_lsu_cache_0_stage_isCBValid_0_0 <= 1'h0; // @[DcacheStage.scala 84:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__T_280) begin // @[DcacheStage.scala 235:46]
        if (_GEN_527 & exe_stage_lsu_cache_0_stage__datEnW_0_T) begin // @[DcacheStage.scala 236:34]
          exe_stage_lsu_cache_0_stage_isCBValid_0_0 <= 1'h0; // @[DcacheStage.scala 236:34]
        end else begin
          exe_stage_lsu_cache_0_stage_isCBValid_0_0 <= exe_stage_lsu_cache_0_stage__GEN_134;
        end
      end else begin
        exe_stage_lsu_cache_0_stage_isCBValid_0_0 <= exe_stage_lsu_cache_0_stage__GEN_134;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_0_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_0_0 <= exe_stage_lsu_cache_0_stage__GEN_150;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_0_0 <= exe_stage_lsu_cache_0_stage__GEN_126;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_0_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_0_1 <= exe_stage_lsu_cache_0_stage__GEN_151;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_0_1 <= exe_stage_lsu_cache_0_stage__GEN_127;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_1_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_1_0 <= exe_stage_lsu_cache_0_stage__GEN_152;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_1_0 <= exe_stage_lsu_cache_0_stage__GEN_128;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_1_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_1_1 <= exe_stage_lsu_cache_0_stage__GEN_153;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_1_1 <= exe_stage_lsu_cache_0_stage__GEN_129;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_2_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_2_0 <= exe_stage_lsu_cache_0_stage__GEN_154;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_2_0 <= exe_stage_lsu_cache_0_stage__GEN_130;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_2_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_2_1 <= exe_stage_lsu_cache_0_stage__GEN_155;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_2_1 <= exe_stage_lsu_cache_0_stage__GEN_131;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_3_0 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_3_0 <= exe_stage_lsu_cache_0_stage__GEN_156;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_3_0 <= exe_stage_lsu_cache_0_stage__GEN_132;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 86:26]
      exe_stage_lsu_cache_0_stage_isCBDirty_3_1 <= 1'h0; // @[DcacheStage.scala 86:26]
    end else if (exe_stage_lsu_cache_0_stage_pipeStage1Valid) begin // @[DcacheStage.scala 226:27]
      if (exe_stage_lsu_cache_0_stage__datEnW_0_T_28) begin // @[DcacheStage.scala 231:42]
        exe_stage_lsu_cache_0_stage_isCBDirty_3_1 <= exe_stage_lsu_cache_0_stage__GEN_157;
      end else if (exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant) begin // @[DcacheStage.scala 227:38]
        exe_stage_lsu_cache_0_stage_isCBDirty_3_1 <= exe_stage_lsu_cache_0_stage__GEN_133;
      end
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 147:30]
      exe_stage_lsu_cache_0_stage_is_pending_lr <= 1'h0; // @[DcacheStage.scala 147:30]
    end else if (exe_stage_lsu_cache_0_stage__T_124) begin // @[DcacheStage.scala 157:32]
      exe_stage_lsu_cache_0_stage_is_pending_lr <= 1'h0; // @[DcacheStage.scala 158:19]
    end else if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 159:73]
      exe_stage_lsu_cache_0_stage_is_pending_lr <= exe_stage_lsu_cache_0_stage__GEN_73;
    end else if (exe_stage_lsu_cache_0_stage__T_234) begin // @[DcacheStage.scala 172:61]
      exe_stage_lsu_cache_0_stage_is_pending_lr <= exe_stage_lsu_cache_0_stage__GEN_70;
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 148:29]
      exe_stage_lsu_cache_0_stage_is_lr_64_32n <= 1'h0; // @[DcacheStage.scala 148:29]
    end else if (!(exe_stage_lsu_cache_0_stage__T_124)) begin // @[DcacheStage.scala 157:32]
      if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 159:73]
        if (exe_stage_lsu_cache_0_stage__cbSel_T_27) begin // @[DcacheStage.scala 160:38]
          exe_stage_lsu_cache_0_stage_is_lr_64_32n <= exe_stage_lsu_cache_0_stage__is_sc_fail_T_32; // @[DcacheStage.scala 162:20]
        end
      end
    end
    if (!(exe_stage_lsu_cache_0_stage__T_124)) begin // @[DcacheStage.scala 157:32]
      if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 159:73]
        if (exe_stage_lsu_cache_0_stage__cbSel_T_27) begin // @[DcacheStage.scala 160:38]
          exe_stage_lsu_cache_0_stage_lr_addr <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr; // @[DcacheStage.scala 163:15]
        end
      end
    end
    if (exe_stage_lsu_cache_0_stage__pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_isDatBypass <= exe_stage_lsu_cache_0_stage__isDatBypass_T_1; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__0 <= exe_stage_lsu_cache_0_stage__T_237; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__1 <= exe_stage_lsu_cache_0_stage__T_238; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__2 <= exe_stage_lsu_cache_0_stage__T_239; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__3 <= exe_stage_lsu_cache_0_stage__T_240; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__4 <= exe_stage_lsu_cache_0_stage__T_241; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__5 <= exe_stage_lsu_cache_0_stage__T_242; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__6 <= exe_stage_lsu_cache_0_stage__T_243; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__7 <= exe_stage_lsu_cache_0_stage__T_244; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__8 <= exe_stage_lsu_cache_0_stage__T_245; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__9 <= exe_stage_lsu_cache_0_stage__T_246; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__10 <= exe_stage_lsu_cache_0_stage__T_247; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__11 <= exe_stage_lsu_cache_0_stage__T_248; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__12 <= exe_stage_lsu_cache_0_stage__T_249; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__13 <= exe_stage_lsu_cache_0_stage__T_250; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__14 <= exe_stage_lsu_cache_0_stage__T_251; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData__15 <= exe_stage_lsu_cache_0_stage__T_252; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__pipeStage1Valid_T) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_isDatBypass_1 <= exe_stage_lsu_cache_0_stage__isDatBypass_T_4; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_15 <= exe_stage_lsu_cache_0_stage__T_59; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_15 <= exe_stage_lsu_cache_0_stage__T_252; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__15 <= exe_stage_lsu_cache_0_stage__T_59; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_14 <= exe_stage_lsu_cache_0_stage__T_58; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_14 <= exe_stage_lsu_cache_0_stage__T_251; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__14 <= exe_stage_lsu_cache_0_stage__T_58; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_13 <= exe_stage_lsu_cache_0_stage__T_57; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_13 <= exe_stage_lsu_cache_0_stage__T_250; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__13 <= exe_stage_lsu_cache_0_stage__T_57; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_12 <= exe_stage_lsu_cache_0_stage__T_56; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_12 <= exe_stage_lsu_cache_0_stage__T_249; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__12 <= exe_stage_lsu_cache_0_stage__T_56; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_11 <= exe_stage_lsu_cache_0_stage__T_55; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_11 <= exe_stage_lsu_cache_0_stage__T_248; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__11 <= exe_stage_lsu_cache_0_stage__T_55; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_10 <= exe_stage_lsu_cache_0_stage__T_54; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_10 <= exe_stage_lsu_cache_0_stage__T_247; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__10 <= exe_stage_lsu_cache_0_stage__T_54; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_9 <= exe_stage_lsu_cache_0_stage__T_53; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_9 <= exe_stage_lsu_cache_0_stage__T_246; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__9 <= exe_stage_lsu_cache_0_stage__T_53; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_8 <= exe_stage_lsu_cache_0_stage__T_52; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_8 <= exe_stage_lsu_cache_0_stage__T_245; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__8 <= exe_stage_lsu_cache_0_stage__T_52; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_7 <= exe_stage_lsu_cache_0_stage__T_51; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_7 <= exe_stage_lsu_cache_0_stage__T_244; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__7 <= exe_stage_lsu_cache_0_stage__T_51; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_6 <= exe_stage_lsu_cache_0_stage__T_50; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_6 <= exe_stage_lsu_cache_0_stage__T_243; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__6 <= exe_stage_lsu_cache_0_stage__T_50; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_5 <= exe_stage_lsu_cache_0_stage__T_49; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_5 <= exe_stage_lsu_cache_0_stage__T_242; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__5 <= exe_stage_lsu_cache_0_stage__T_49; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_4 <= exe_stage_lsu_cache_0_stage__T_48; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_4 <= exe_stage_lsu_cache_0_stage__T_241; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__4 <= exe_stage_lsu_cache_0_stage__T_48; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_3 <= exe_stage_lsu_cache_0_stage__T_47; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_3 <= exe_stage_lsu_cache_0_stage__T_240; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__3 <= exe_stage_lsu_cache_0_stage__T_47; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_2 <= exe_stage_lsu_cache_0_stage__T_46; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_2 <= exe_stage_lsu_cache_0_stage__T_239; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__2 <= exe_stage_lsu_cache_0_stage__T_46; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_1 <= exe_stage_lsu_cache_0_stage__T_45; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_1 <= exe_stage_lsu_cache_0_stage__T_238; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__1 <= exe_stage_lsu_cache_0_stage__T_45; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM_1_0 <= exe_stage_lsu_cache_0_stage__T_44; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_7) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassData_1_0 <= exe_stage_lsu_cache_0_stage__T_237; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage__datBypassData_T_3) begin // @[Reg.scala 20:18]
      exe_stage_lsu_cache_0_stage_datBypassWM__0 <= exe_stage_lsu_cache_0_stage__T_44; // @[Reg.scala 20:22]
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 146:26]
      exe_stage_lsu_cache_0_stage_killTrans <= 1'h0; // @[DcacheStage.scala 146:26]
    end else begin
      exe_stage_lsu_cache_0_stage_killTrans <= exe_stage_lsu_cache_0_stage__GEN_85;
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 291:33]
      exe_stage_lsu_cache_0_stage_missUnitReqValid <= 1'h0; // @[DcacheStage.scala 291:33]
    end else begin
      exe_stage_lsu_cache_0_stage_missUnitReqValid <= exe_stage_lsu_cache_0_stage__T_333;
    end
    exe_stage_lsu_cache_0_stage_missUnitReqPaddr <= exe_stage_lsu_cache_0_stage__GEN_207[31:0];
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 307:27]
      exe_stage_lsu_cache_0_stage_wbReqValid <= 1'h0; // @[DcacheStage.scala 307:27]
    end else begin
      exe_stage_lsu_cache_0_stage_wbReqValid <= exe_stage_lsu_cache_0_stage__GEN_223;
    end
    exe_stage_lsu_cache_0_stage_wbReqPaddr <= exe_stage_lsu_cache_0_stage__GEN_224[31:0];
    if (exe_stage_lsu_cache_0_stage__T_340) begin // @[DcacheStage.scala 322:99]
      exe_stage_lsu_cache_0_stage_wbReqData <= exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T; // @[DcacheStage.scala 325:17]
    end else if (exe_stage_lsu_cache_0_stage__T_234) begin // @[DcacheStage.scala 328:60]
      exe_stage_lsu_cache_0_stage_wbReqData <= exe_stage_lsu_cache_0_stage__amo_reAlign_64_b_T; // @[DcacheStage.scala 331:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_340) begin // @[DcacheStage.scala 322:99]
      if (_GEN_542 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 326:17]
        exe_stage_lsu_cache_0_stage_wbReqisData <= exe_stage_lsu_cache_0_stage_isCBDirty_3_1; // @[DcacheStage.scala 326:17]
      end else if (_GEN_542 & exe_stage_lsu_cache_0_stage__datEnW_0_T) begin // @[DcacheStage.scala 326:17]
        exe_stage_lsu_cache_0_stage_wbReqisData <= exe_stage_lsu_cache_0_stage_isCBDirty_3_0; // @[DcacheStage.scala 326:17]
      end else if (_GEN_537 & exe_stage_lsu_cache_0_stage__cbSel_T_46) begin // @[DcacheStage.scala 326:17]
        exe_stage_lsu_cache_0_stage_wbReqisData <= exe_stage_lsu_cache_0_stage_isCBDirty_2_1; // @[DcacheStage.scala 326:17]
      end else begin
        exe_stage_lsu_cache_0_stage_wbReqisData <= exe_stage_lsu_cache_0_stage__GEN_214;
      end
    end else if (exe_stage_lsu_cache_0_stage__T_234) begin // @[DcacheStage.scala 328:60]
      exe_stage_lsu_cache_0_stage_wbReqisData <= exe_stage_lsu_cache_0_stage__wbReqisData_T; // @[DcacheStage.scala 332:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_340) begin // @[DcacheStage.scala 322:99]
      exe_stage_lsu_cache_0_stage_isPb <= 1'h0; // @[DcacheStage.scala 327:17]
    end else begin
      exe_stage_lsu_cache_0_stage_isPb <= exe_stage_lsu_cache_0_stage__GEN_222;
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 347:28]
      exe_stage_lsu_cache_0_stage_reloadValid <= 1'h0; // @[DcacheStage.scala 347:28]
    end else begin
      exe_stage_lsu_cache_0_stage_reloadValid <= exe_stage_lsu_cache_0_stage__T_384;
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_chkIdx <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_chkIdx; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_paddr <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_wdata <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_wstrb <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lb <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lh <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lw <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_ld <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lbu <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lhu <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lwu <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sb <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sh <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sw <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sd <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_w <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_d <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_flw <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_fsw <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_fld <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_fsd <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_probe <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_grant <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_fun_preft <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage__T_384) begin // @[DcacheStage.scala 350:67]
      exe_stage_lsu_cache_0_stage_reloadBits_rd_rd0 <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_rd_rd0; // @[DcacheStage.scala 352:17]
    end
    if (exe_stage_lsu_cache_0_stage_reset) begin // @[DcacheStage.scala 362:25]
      exe_stage_lsu_cache_0_stage_deqValid <= 1'h0; // @[DcacheStage.scala 362:25]
    end else begin
      exe_stage_lsu_cache_0_stage_deqValid <= exe_stage_lsu_cache_0_stage__T_166;
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      exe_stage_lsu_cache_0_stage_deqBits_chkIdx <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_chkIdx; // @[DcacheStage.scala 395:24]
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      exe_stage_lsu_cache_0_stage_deqBits_wb_rd0 <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_rd_rd0; // @[DcacheStage.scala 394:25]
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      if (exe_stage_lsu_cache_0_stage__cbSel_T_17) begin // @[DcacheStage.scala 386:20]
        exe_stage_lsu_cache_0_stage_deqBits_wb_res <= {{63'd0}, exe_stage_lsu_cache_0_stage__is_sc_fail_T_36};
      end else begin
        exe_stage_lsu_cache_0_stage_deqBits_wb_res <= exe_stage_lsu_cache_0_stage__deqBits_wb_res_res_pre_res_T_63;
      end
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      exe_stage_lsu_cache_0_stage_deqBits_is_load_amo <= exe_stage_lsu_cache_0_stage__deqBits_is_load_amo_T_31; // @[DcacheStage.scala 396:25]
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      exe_stage_lsu_cache_0_stage_deqBits_is_flw <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw; // @[DcacheStage.scala 397:25]
    end
    if (exe_stage_lsu_cache_0_stage__T_166) begin // @[DcacheStage.scala 368:66]
      exe_stage_lsu_cache_0_stage_deqBits_is_fld <= exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld; // @[DcacheStage.scala 398:25]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_stage__T_124 & exe_stage_lsu_cache_0_stage__T_166 &
          exe_stage_lsu_cache_0_stage__cbSel_T_27 & exe_stage_lsu_cache_0_stage__T_199 &
          exe_stage_lsu_cache_0_stage__T_200) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at DcacheStage.scala:164 assert( pipeStage1Bits.fun.is_dubl | pipeStage1Bits.fun.is_word )\n"
            ); // @[DcacheStage.scala 164:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_stage__T_197 & (~exe_stage_lsu_cache_0_stage__T_124 &
          exe_stage_lsu_cache_0_stage__T_166 & exe_stage_lsu_cache_0_stage__cbSel_T_27 &
          exe_stage_lsu_cache_0_stage__T_199)) begin
          $fatal; // @[DcacheStage.scala 164:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_stage_pipeStage1Valid & exe_stage_lsu_cache_0_stage__T_199 &
          exe_stage_lsu_cache_0_stage__T_286) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at DcacheStage.scala:242 when( pipeStage1Valid ) {assert(PopCount(res) <= 1.U)}\n"); // @[DcacheStage.scala 242:36]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_stage__T_283 & (exe_stage_lsu_cache_0_stage_pipeStage1Valid &
          exe_stage_lsu_cache_0_stage__T_199)) begin
          $fatal; // @[DcacheStage.scala 242:36]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_stage__T_234 & exe_stage_lsu_cache_0_stage__T_287 & exe_stage_lsu_cache_0_stage__T_199
          ) begin
          $fwrite(32'h80000002,"Warning, l2 will never request a empty probe, is it in writeback unit?\n"); // @[DcacheStage.scala 283:63]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_cache_0_clock) begin
    if (exe_stage_lsu_cache_0_reset) begin // @[Dcache.scala 138:23]
      exe_stage_lsu_cache_0_sbBuff_0_paddr <= 32'h0; // @[Dcache.scala 138:23]
    end else if (exe_stage_lsu_cache_0__T_1) begin // @[Dcache.scala 155:23]
      if (~exe_stage_lsu_cache_0_io_deq_bits_chkIdx) begin // @[Dcache.scala 156:33]
        exe_stage_lsu_cache_0_sbBuff_0_paddr <= 32'h0; // @[Dcache.scala 156:33]
      end else begin
        exe_stage_lsu_cache_0_sbBuff_0_paddr <= exe_stage_lsu_cache_0__GEN_100;
      end
    end else begin
      exe_stage_lsu_cache_0_sbBuff_0_paddr <= exe_stage_lsu_cache_0__GEN_100;
    end
    if (exe_stage_lsu_cache_0_reset) begin // @[Dcache.scala 138:23]
      exe_stage_lsu_cache_0_sbBuff_1_paddr <= 32'h0; // @[Dcache.scala 138:23]
    end else if (exe_stage_lsu_cache_0__T_1) begin // @[Dcache.scala 155:23]
      if (exe_stage_lsu_cache_0_io_deq_bits_chkIdx) begin // @[Dcache.scala 156:33]
        exe_stage_lsu_cache_0_sbBuff_1_paddr <= 32'h0; // @[Dcache.scala 156:33]
      end else begin
        exe_stage_lsu_cache_0_sbBuff_1_paddr <= exe_stage_lsu_cache_0__GEN_101;
      end
    end else begin
      exe_stage_lsu_cache_0_sbBuff_1_paddr <= exe_stage_lsu_cache_0__GEN_101;
    end
    if (exe_stage_lsu_cache_0_reset) begin // @[Dcache.scala 139:24]
      exe_stage_lsu_cache_0_sbValid_0 <= 1'h0; // @[Dcache.scala 139:24]
    end else if (exe_stage_lsu_cache_0__T_1) begin // @[Dcache.scala 155:23]
      if (~exe_stage_lsu_cache_0_io_deq_bits_chkIdx) begin // @[Dcache.scala 157:33]
        exe_stage_lsu_cache_0_sbValid_0 <= 1'h0; // @[Dcache.scala 157:33]
      end else begin
        exe_stage_lsu_cache_0_sbValid_0 <= exe_stage_lsu_cache_0__GEN_194;
      end
    end else begin
      exe_stage_lsu_cache_0_sbValid_0 <= exe_stage_lsu_cache_0__GEN_194;
    end
    if (exe_stage_lsu_cache_0_reset) begin // @[Dcache.scala 139:24]
      exe_stage_lsu_cache_0_sbValid_1 <= 1'h0; // @[Dcache.scala 139:24]
    end else if (exe_stage_lsu_cache_0__T_1) begin // @[Dcache.scala 155:23]
      if (exe_stage_lsu_cache_0_io_deq_bits_chkIdx) begin // @[Dcache.scala 157:33]
        exe_stage_lsu_cache_0_sbValid_1 <= 1'h0; // @[Dcache.scala 157:33]
      end else begin
        exe_stage_lsu_cache_0_sbValid_1 <= exe_stage_lsu_cache_0__GEN_195;
      end
    end else begin
      exe_stage_lsu_cache_0_sbValid_1 <= exe_stage_lsu_cache_0__GEN_195;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0__T_1 & exe_stage_lsu_cache_0__T_5 & exe_stage_lsu_cache_0__T_6) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Dcache.scala:161 when( io.deq.fire ) { assert(~isSBEmpty) }\n"
            ); // @[Dcache.scala 161:31]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0__T_3 & (exe_stage_lsu_cache_0__T_1 & exe_stage_lsu_cache_0__T_5)) begin
          $fatal; // @[Dcache.scala 161:31]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_sbValid_0 & exe_stage_lsu_cache_0__T_5 & exe_stage_lsu_cache_0__T_15) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Dcache.scala:168 assert( sbBuff.count( (x: Dcache_Enq_Bundle) => (x.paddr === sbBuff(i).paddr) ) === 1.U )\n"
            ); // @[Dcache.scala 168:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0__T_12 & (exe_stage_lsu_cache_0_sbValid_0 & exe_stage_lsu_cache_0__T_5)) begin
          $fatal; // @[Dcache.scala 168:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_sbValid_1 & exe_stage_lsu_cache_0__T_5 & exe_stage_lsu_cache_0__T_24) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Dcache.scala:168 assert( sbBuff.count( (x: Dcache_Enq_Bundle) => (x.paddr === sbBuff(i).paddr) ) === 1.U )\n"
            ); // @[Dcache.scala 168:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0__T_21 & (exe_stage_lsu_cache_0_sbValid_1 & exe_stage_lsu_cache_0__T_5)) begin
          $fatal; // @[Dcache.scala 168:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_reload_fifo_io_enq_valid & exe_stage_lsu_cache_0__T_5 & exe_stage_lsu_cache_0__T_27
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at Dcache, Pipeline stuck!\n    at Dcache.scala:281 when(reload_fifo.io.enq.valid) {assert(reload_fifo.io.enq.ready, \"Assert Failed at Dcache, Pipeline stuck!\")}\n"
            ); // @[Dcache.scala 281:41]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_reload_fifo_io_enq_ready & (exe_stage_lsu_cache_0_reload_fifo_io_enq_valid &
          exe_stage_lsu_cache_0__T_5)) begin
          $fatal; // @[Dcache.scala 281:41]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid & exe_stage_lsu_cache_0__T_5 & exe_stage_lsu_cache_0__T_30
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed at Dcache, Pipeline stuck!\n    at Dcache.scala:282 when(rtn_fifo.io.enq.valid) {assert(rtn_fifo.io.enq.ready, \"Assert Failed at Dcache, Pipeline stuck!\")}\n"
            ); // @[Dcache.scala 282:38]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu_cache_0_rtn_fifo_io_enq_ready & (exe_stage_lsu_cache_0_rtn_fifo_io_enq_valid &
          exe_stage_lsu_cache_0__T_5)) begin
          $fatal; // @[Dcache.scala 282:38]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_lsu_lu_wb_fifo_ram_rd0_clock) begin
    if (exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_en & exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_lsu_lu_wb_fifo_ram_rd0[exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_lsu_lu_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_lu_wb_fifo_ram_res_clock) begin
    if (exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_en & exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_mask) begin
      exe_stage_lsu_lu_wb_fifo_ram_res[exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_addr] <=
        exe_stage_lsu_lu_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_lu_wb_fifo_clock) begin
    if (exe_stage_lsu_lu_wb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_lu_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_lu_wb_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_lu_wb_fifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_lu_wb_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_lu_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_lu_wb_fifo_maybe_full <= exe_stage_lsu_lu_wb_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_lu_wb_fifo_maybe_full <= exe_stage_lsu_lu_wb_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_flu_wb_fifo_clock) begin
    if (exe_stage_lsu_flu_wb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_flu_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_flu_wb_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_flu_wb_fifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_flu_wb_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_flu_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_flu_wb_fifo_maybe_full <= exe_stage_lsu_flu_wb_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_flu_wb_fifo_maybe_full <= exe_stage_lsu_flu_wb_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_su_wb_fifo_ram_rd0_clock) begin
    if (exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_en & exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_lsu_su_wb_fifo_ram_rd0[exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_lsu_su_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_su_wb_fifo_ram_res_clock) begin
    if (exe_stage_lsu_su_wb_fifo_ram_res_MPORT_en & exe_stage_lsu_su_wb_fifo_ram_res_MPORT_mask) begin
      exe_stage_lsu_su_wb_fifo_ram_res[exe_stage_lsu_su_wb_fifo_ram_res_MPORT_addr] <=
        exe_stage_lsu_su_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_su_wb_fifo_clock) begin
    if (exe_stage_lsu_su_wb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_su_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_su_wb_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_su_wb_fifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_su_wb_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_su_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_su_wb_fifo_maybe_full <= exe_stage_lsu_su_wb_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_su_wb_fifo_maybe_full <= exe_stage_lsu_su_wb_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_fe_wb_fifo_ram_rd0_clock) begin
    if (exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_en & exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_lsu_fe_wb_fifo_ram_rd0[exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_lsu_fe_wb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_fe_wb_fifo_ram_res_clock) begin
    if (exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_en & exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_mask) begin
      exe_stage_lsu_fe_wb_fifo_ram_res[exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_addr] <=
        exe_stage_lsu_fe_wb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_lsu_fe_wb_fifo_clock) begin
    if (exe_stage_lsu_fe_wb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_lsu_fe_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_lsu_fe_wb_fifo__T) begin // @[Decoupled.scala 295:27]
      if (exe_stage_lsu_fe_wb_fifo__empty_T) begin // @[Decoupled.scala 317:17]
        if (exe_stage_lsu_fe_wb_fifo_io_deq_ready) begin // @[Decoupled.scala 320:26]
          exe_stage_lsu_fe_wb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          exe_stage_lsu_fe_wb_fifo_maybe_full <= exe_stage_lsu_fe_wb_fifo__do_enq_T;
        end
      end else begin
        exe_stage_lsu_fe_wb_fifo_maybe_full <= exe_stage_lsu_fe_wb_fifo__do_enq_T;
      end
    end
  end
  always @(posedge exe_stage_lsu_clock) begin
    if (exe_stage_lsu_reset) begin // @[Lsu.scala 73:27]
      exe_stage_lsu_trans_kill <= 1'h0; // @[Lsu.scala 73:27]
    end else begin
      exe_stage_lsu_trans_kill <= exe_stage_lsu__GEN_378;
    end
    if (exe_stage_lsu_reset) begin // @[Lsu.scala 325:33]
      exe_stage_lsu_is_chnc_busy_0 <= 1'h0; // @[Lsu.scala 325:33]
    end else if (exe_stage_lsu__is_release_done_T) begin // @[Lsu.scala 328:67]
      if (exe_stage_lsu_is_release_done_0) begin // @[Lsu.scala 328:91]
        exe_stage_lsu_is_chnc_busy_0 <= 1'h0;
      end else begin
        exe_stage_lsu_is_chnc_busy_0 <= 1'h1;
      end
    end
    if (exe_stage_lsu_reset) begin // @[Edges.scala 228:27]
      exe_stage_lsu_is_release_done_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (exe_stage_lsu__is_release_done_T) begin // @[Edges.scala 234:17]
      if (exe_stage_lsu_is_release_done_first) begin // @[Edges.scala 235:21]
        exe_stage_lsu_is_release_done_counter <= exe_stage_lsu_is_release_done_beats1;
      end else begin
        exe_stage_lsu_is_release_done_counter <= exe_stage_lsu_is_release_done_counter1;
      end
    end
    if (exe_stage_lsu_reset) begin // @[Lsu.scala 485:33]
      exe_stage_lsu_isAccessFaultReg <= 1'h0; // @[Lsu.scala 485:33]
    end else if (exe_stage_lsu_io_flush) begin // @[Lsu.scala 490:20]
      exe_stage_lsu_isAccessFaultReg <= 1'h0; // @[Lsu.scala 491:22]
    end else if (exe_stage_lsu__T_67) begin // @[Lsu.scala 494:46]
      exe_stage_lsu_isAccessFaultReg <= exe_stage_lsu_io_mmu_lsu_bits_is_access_fault; // @[Lsu.scala 495:22]
    end
    if (exe_stage_lsu_reset) begin // @[Lsu.scala 486:33]
      exe_stage_lsu_isPagingFault <= 1'h0; // @[Lsu.scala 486:33]
    end else if (exe_stage_lsu_io_flush) begin // @[Lsu.scala 490:20]
      exe_stage_lsu_isPagingFault <= 1'h0; // @[Lsu.scala 492:22]
    end else if (exe_stage_lsu__T_67) begin // @[Lsu.scala 494:46]
      exe_stage_lsu_isPagingFault <= exe_stage_lsu_io_mmu_lsu_bits_is_paging_fault; // @[Lsu.scala 496:22]
    end
    if (exe_stage_lsu_reset) begin // @[Lsu.scala 487:27]
      exe_stage_lsu_isMisAlign <= 1'h0; // @[Lsu.scala 487:27]
    end else if (exe_stage_lsu_io_flush) begin // @[Lsu.scala 490:20]
      exe_stage_lsu_isMisAlign <= 1'h0; // @[Lsu.scala 493:22]
    end else if (exe_stage_lsu__T_67) begin // @[Lsu.scala 494:46]
      exe_stage_lsu_isMisAlign <= exe_stage_lsu__addrTransIO_valid_T_44; // @[Lsu.scala 497:22]
    end
    if (!(exe_stage_lsu_io_flush)) begin // @[Lsu.scala 490:20]
      if (exe_stage_lsu__T_67) begin // @[Lsu.scala 494:46]
        exe_stage_lsu_trapAddrReg <= exe_stage_lsu_io_lsu_iss_exe_bits_param_dat_op1; // @[Lsu.scala 498:22]
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & exe_stage_lsu__T_47) begin
          $fatal; // @[Lsu.scala 342:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_cache_0_io_deq_bits_is_load_amo & exe_stage_lsu__T_47 & exe_stage_lsu__T_54) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:422 when( cache(i).io.deq.bits.is_load_amo ) { assert(cache(i).io.deq.fire === lu_wb_arb.io.in(i).fire) }\n"
            ); // @[Lsu.scala 422:54]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu__T_51 & (exe_stage_lsu_cache_0_io_deq_bits_is_load_amo & exe_stage_lsu__T_47)) begin
          $fatal; // @[Lsu.scala 422:54]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_system_io_deq_bits_is_load_amo & exe_stage_lsu__T_47 & exe_stage_lsu__T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:428 when( system.io.deq.bits.is_load_amo ) { assert(system.io.deq.fire === lu_wb_arb.io.in(bk).fire) }\n"
            ); // @[Lsu.scala 428:50]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu__T_57 & (exe_stage_lsu_system_io_deq_bits_is_load_amo & exe_stage_lsu__T_47)) begin
          $fatal; // @[Lsu.scala 428:50]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_lsu_periph_io_deq_bits_is_load_amo & exe_stage_lsu__T_47 & exe_stage_lsu__T_66) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Lsu.scala:433 when( periph.io.deq.bits.is_load_amo ) { assert(periph.io.deq.fire === lu_wb_arb.io.in(bk+1).fire) }\n"
            ); // @[Lsu.scala 433:50]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_lsu__T_63 & (exe_stage_lsu_periph_io_deq_bits_is_load_amo & exe_stage_lsu__T_47)) begin
          $fatal; // @[Lsu.scala 433:50]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_clock) begin
    if (exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_en & exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_mask) begin
      exe_stage_csr_csr_exe_iwb_fifo_ram_rd0[exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_csr_csr_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_exe_iwb_fifo_ram_res_clock) begin
    if (exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_en & exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_mask) begin
      exe_stage_csr_csr_exe_iwb_fifo_ram_res[exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_addr] <=
        exe_stage_csr_csr_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_exe_iwb_fifo_clock) begin
    if (exe_stage_csr_csr_exe_iwb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_csr_csr_exe_iwb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_csr_csr_exe_iwb_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_csr_csr_exe_iwb_fifo_maybe_full <= exe_stage_csr_csr_exe_iwb_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_ram_addr_clock) begin
    if (exe_stage_csr_csr_op_fifo_ram_addr_MPORT_en & exe_stage_csr_csr_op_fifo_ram_addr_MPORT_mask) begin
      exe_stage_csr_csr_op_fifo_ram_addr[exe_stage_csr_csr_op_fifo_ram_addr_MPORT_addr] <=
        exe_stage_csr_csr_op_fifo_ram_addr_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_ram_dat_i_clock) begin
    if (exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_en & exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_mask) begin
      exe_stage_csr_csr_op_fifo_ram_dat_i[exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_addr] <=
        exe_stage_csr_csr_op_fifo_ram_dat_i_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_ram_op_rw_clock) begin
    if (exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_en & exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_mask) begin
      exe_stage_csr_csr_op_fifo_ram_op_rw[exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_addr] <=
        exe_stage_csr_csr_op_fifo_ram_op_rw_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_ram_op_rs_clock) begin
    if (exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_en & exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_mask) begin
      exe_stage_csr_csr_op_fifo_ram_op_rs[exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_addr] <=
        exe_stage_csr_csr_op_fifo_ram_op_rs_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_ram_op_rc_clock) begin
    if (exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_en & exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_mask) begin
      exe_stage_csr_csr_op_fifo_ram_op_rc[exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_addr] <=
        exe_stage_csr_csr_op_fifo_ram_op_rc_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_csr_csr_op_fifo_clock) begin
    if (exe_stage_csr_csr_op_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_csr_csr_op_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_csr_csr_op_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_csr_csr_op_fifo_maybe_full <= exe_stage_csr_csr_op_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_clock) begin
    if (exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_en & exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_mask
      ) begin
      exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0[exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_addr] <=
        exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_clock) begin
    if (exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_en & exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_mask
      ) begin
      exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res[exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_addr] <=
        exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res_MPORT_data; // @[Decoupled.scala 275:95]
    end
  end
  always @(posedge exe_stage_mulDiv_0_mul_exe_iwb_fifo_clock) begin
    if (exe_stage_mulDiv_0_mul_exe_iwb_fifo_reset) begin // @[Decoupled.scala 278:27]
      exe_stage_mulDiv_0_mul_exe_iwb_fifo_maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (exe_stage_mulDiv_0_mul_exe_iwb_fifo__T) begin // @[Decoupled.scala 295:27]
      exe_stage_mulDiv_0_mul_exe_iwb_fifo_maybe_full <= exe_stage_mulDiv_0_mul_exe_iwb_fifo__do_enq_T; // @[Decoupled.scala 296:16]
    end
  end
  always @(posedge exe_stage_mulDiv_0_dividor_algDivider_clock) begin
    if (exe_stage_mulDiv_0_dividor_algDivider_reset) begin // @[Mul.scala 582:26]
      exe_stage_mulDiv_0_dividor_algDivider_isDivBusy <= 1'h0; // @[Mul.scala 582:26]
    end else if (exe_stage_mulDiv_0_dividor_algDivider__T_5) begin // @[Mul.scala 596:34]
      exe_stage_mulDiv_0_dividor_algDivider_isDivBusy <= 1'h0; // @[Mul.scala 597:15]
    end else begin
      exe_stage_mulDiv_0_dividor_algDivider_isDivBusy <= exe_stage_mulDiv_0_dividor_algDivider__GEN_2;
    end
    if (exe_stage_mulDiv_0_dividor_algDivider_reset) begin // @[Mul.scala 584:20]
      exe_stage_mulDiv_0_dividor_algDivider_cnt <= 7'h0; // @[Mul.scala 584:20]
    end else if (exe_stage_mulDiv_0_dividor_algDivider__T_1) begin // @[Mul.scala 585:34]
      exe_stage_mulDiv_0_dividor_algDivider_cnt <= 7'h0; // @[Mul.scala 586:9]
    end else if (exe_stage_mulDiv_0_dividor_algDivider__T_3) begin // @[Mul.scala 587:43]
      exe_stage_mulDiv_0_dividor_algDivider_cnt <= exe_stage_mulDiv_0_dividor_algDivider__cnt_T_1; // @[Mul.scala 588:9]
    end
    exe_stage_mulDiv_0_dividor_algDivider_dividend <= exe_stage_mulDiv_0_dividor_algDivider__GEN_4[127:0];
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Mul.scala 616:23]
      if (exe_stage_mulDiv_0_dividor_isUsiPre) begin // @[Mul.scala 459:8]
        if (exe_stage_mulDiv_0_dividor_is32wPre) begin // @[Mul.scala 461:10]
          exe_stage_mulDiv_0_dividor_algDivider_divisor <= {{32'd0}, exe_stage_mulDiv_0_dividor__divisor_load_T};
        end else begin
          exe_stage_mulDiv_0_dividor_algDivider_divisor <= exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2;
        end
      end else if (exe_stage_mulDiv_0_dividor_is32wPre) begin // @[Mul.scala 462:10]
        exe_stage_mulDiv_0_dividor_algDivider_divisor <= exe_stage_mulDiv_0_dividor__divisor_load_T_10;
      end else if (exe_stage_mulDiv_0_dividor__divisor_load_T_11) begin // @[Mul.scala 465:12]
        exe_stage_mulDiv_0_dividor_algDivider_divisor <= exe_stage_mulDiv_0_dividor__divisor_load_T_14;
      end else begin
        exe_stage_mulDiv_0_dividor_algDivider_divisor <= exe_stage_mulDiv_0_dividor_io_enq_bits_param_dat_op2;
      end
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_div <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_div; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divu <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divu; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_rem <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_rem; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remu <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remu; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divw <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divw; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divuw <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_divuw; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remw <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remw; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remuw <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_fun_remuw; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_rd0 <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_rd0; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op1 <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op1; // @[Reg.scala 20:22]
    end
    if (exe_stage_mulDiv_0_dividor_algDivider__T) begin // @[Reg.scala 20:18]
      exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op2 <=
        exe_stage_mulDiv_0_dividor_algDivider_io_enq_bits_param_dat_op2; // @[Reg.scala 20:22]
    end
  end
  always @(posedge exe_stage_mulDiv_0_dividor_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_mulDiv_0_dividor__T & exe_stage_mulDiv_0_dividor__T_9 & exe_stage_mulDiv_0_dividor__T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Mul.scala:430 when( io.enq.fire ) { assert( io.enq.bits.fun.isDiv ) }\n"); // @[Mul.scala 430:31]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_mulDiv_0_dividor__T_7 & (exe_stage_mulDiv_0_dividor__T & exe_stage_mulDiv_0_dividor__T_9)) begin
          $fatal; // @[Mul.scala 430:31]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge exe_stage_fpu_0_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (exe_stage_fpu_0__T_2 & exe_stage_fpu_0__T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at FAlu.scala:282 assert( ~io.fpu_iss_exe.valid )\n"); // @[FAlu.scala 282:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~exe_stage_fpu_0__T & exe_stage_fpu_0__T_2) begin
          $fatal; // @[FAlu.scala 282:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge iwb_stage_iReg_clock) begin
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_0 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h0 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_0 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_122) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_0 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_0 <= iwb_stage_iReg__GEN_1690;
      end
    end else begin
      iwb_stage_iReg_log_reg_0 <= iwb_stage_iReg__GEN_1690;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_1 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_1 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_123) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_1 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_1 <= iwb_stage_iReg__GEN_1691;
      end
    end else begin
      iwb_stage_iReg_log_reg_1 <= iwb_stage_iReg__GEN_1691;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_2 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h2 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_2 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_124) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_2 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_2 <= iwb_stage_iReg__GEN_1692;
      end
    end else begin
      iwb_stage_iReg_log_reg_2 <= iwb_stage_iReg__GEN_1692;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_3 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h3 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_3 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_125) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_3 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_3 <= iwb_stage_iReg__GEN_1693;
      end
    end else begin
      iwb_stage_iReg_log_reg_3 <= iwb_stage_iReg__GEN_1693;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_4 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h4 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_4 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_126) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_4 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_4 <= iwb_stage_iReg__GEN_1694;
      end
    end else begin
      iwb_stage_iReg_log_reg_4 <= iwb_stage_iReg__GEN_1694;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_5 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h5 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_5 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_127) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_5 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_5 <= iwb_stage_iReg__GEN_1695;
      end
    end else begin
      iwb_stage_iReg_log_reg_5 <= iwb_stage_iReg__GEN_1695;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_6 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h6 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_6 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_128) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_6 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_6 <= iwb_stage_iReg__GEN_1696;
      end
    end else begin
      iwb_stage_iReg_log_reg_6 <= iwb_stage_iReg__GEN_1696;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_7 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h7 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_7 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_129) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_7 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_7 <= iwb_stage_iReg__GEN_1697;
      end
    end else begin
      iwb_stage_iReg_log_reg_7 <= iwb_stage_iReg__GEN_1697;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_8 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h8 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_8 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_130) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_8 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_8 <= iwb_stage_iReg__GEN_1698;
      end
    end else begin
      iwb_stage_iReg_log_reg_8 <= iwb_stage_iReg__GEN_1698;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_9 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h9 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_9 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_131) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_9 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_9 <= iwb_stage_iReg__GEN_1699;
      end
    end else begin
      iwb_stage_iReg_log_reg_9 <= iwb_stage_iReg__GEN_1699;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_10 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'ha == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_10 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_132) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_10 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_10 <= iwb_stage_iReg__GEN_1700;
      end
    end else begin
      iwb_stage_iReg_log_reg_10 <= iwb_stage_iReg__GEN_1700;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_11 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'hb == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_11 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_133) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_11 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_11 <= iwb_stage_iReg__GEN_1701;
      end
    end else begin
      iwb_stage_iReg_log_reg_11 <= iwb_stage_iReg__GEN_1701;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_12 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'hc == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_12 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_134) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_12 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_12 <= iwb_stage_iReg__GEN_1702;
      end
    end else begin
      iwb_stage_iReg_log_reg_12 <= iwb_stage_iReg__GEN_1702;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_13 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'hd == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_13 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_135) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_13 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_13 <= iwb_stage_iReg__GEN_1703;
      end
    end else begin
      iwb_stage_iReg_log_reg_13 <= iwb_stage_iReg__GEN_1703;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_14 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'he == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_14 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_136) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_14 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_14 <= iwb_stage_iReg__GEN_1704;
      end
    end else begin
      iwb_stage_iReg_log_reg_14 <= iwb_stage_iReg__GEN_1704;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_15 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'hf == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_15 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_137) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_15 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_15 <= iwb_stage_iReg__GEN_1705;
      end
    end else begin
      iwb_stage_iReg_log_reg_15 <= iwb_stage_iReg__GEN_1705;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_16 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h10 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_16 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_138) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_16 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_16 <= iwb_stage_iReg__GEN_1706;
      end
    end else begin
      iwb_stage_iReg_log_reg_16 <= iwb_stage_iReg__GEN_1706;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_17 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h11 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_17 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_139) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_17 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_17 <= iwb_stage_iReg__GEN_1707;
      end
    end else begin
      iwb_stage_iReg_log_reg_17 <= iwb_stage_iReg__GEN_1707;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_18 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h12 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_18 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_140) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_18 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_18 <= iwb_stage_iReg__GEN_1708;
      end
    end else begin
      iwb_stage_iReg_log_reg_18 <= iwb_stage_iReg__GEN_1708;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_19 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h13 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_19 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_141) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_19 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_19 <= iwb_stage_iReg__GEN_1709;
      end
    end else begin
      iwb_stage_iReg_log_reg_19 <= iwb_stage_iReg__GEN_1709;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_20 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h14 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_20 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_142) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_20 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_20 <= iwb_stage_iReg__GEN_1710;
      end
    end else begin
      iwb_stage_iReg_log_reg_20 <= iwb_stage_iReg__GEN_1710;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_21 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h15 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_21 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_143) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_21 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_21 <= iwb_stage_iReg__GEN_1711;
      end
    end else begin
      iwb_stage_iReg_log_reg_21 <= iwb_stage_iReg__GEN_1711;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_22 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h16 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_22 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_144) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_22 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_22 <= iwb_stage_iReg__GEN_1712;
      end
    end else begin
      iwb_stage_iReg_log_reg_22 <= iwb_stage_iReg__GEN_1712;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_23 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h17 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_23 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_145) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_23 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_23 <= iwb_stage_iReg__GEN_1713;
      end
    end else begin
      iwb_stage_iReg_log_reg_23 <= iwb_stage_iReg__GEN_1713;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_24 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h18 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_24 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_146) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_24 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_24 <= iwb_stage_iReg__GEN_1714;
      end
    end else begin
      iwb_stage_iReg_log_reg_24 <= iwb_stage_iReg__GEN_1714;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_25 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h19 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_25 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_147) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_25 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_25 <= iwb_stage_iReg__GEN_1715;
      end
    end else begin
      iwb_stage_iReg_log_reg_25 <= iwb_stage_iReg__GEN_1715;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_26 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1a == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_26 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_148) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_26 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_26 <= iwb_stage_iReg__GEN_1716;
      end
    end else begin
      iwb_stage_iReg_log_reg_26 <= iwb_stage_iReg__GEN_1716;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_27 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1b == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_27 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_149) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_27 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_27 <= iwb_stage_iReg__GEN_1717;
      end
    end else begin
      iwb_stage_iReg_log_reg_27 <= iwb_stage_iReg__GEN_1717;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_28 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1c == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_28 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_150) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_28 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_28 <= iwb_stage_iReg__GEN_1718;
      end
    end else begin
      iwb_stage_iReg_log_reg_28 <= iwb_stage_iReg__GEN_1718;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_29 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1d == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_29 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_151) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_29 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_29 <= iwb_stage_iReg__GEN_1719;
      end
    end else begin
      iwb_stage_iReg_log_reg_29 <= iwb_stage_iReg__GEN_1719;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_30 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1e == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_30 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_152) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_30 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_30 <= iwb_stage_iReg__GEN_1720;
      end
    end else begin
      iwb_stage_iReg_log_reg_30 <= iwb_stage_iReg__GEN_1720;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_31 <= 2'h3; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h1f == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_31 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_153) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_31 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_31 <= iwb_stage_iReg__GEN_1721;
      end
    end else begin
      iwb_stage_iReg_log_reg_31 <= iwb_stage_iReg__GEN_1721;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 101:12]
      iwb_stage_iReg_log_reg_32 <= 2'h0; // @[Regfiles.scala 101:12]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 225:66]
      if (6'h20 == iwb_stage_iReg_io_commit_0_phy) begin // @[Regfiles.scala 232:23]
        iwb_stage_iReg_log_reg_32 <= 2'h3; // @[Regfiles.scala 232:23]
      end else if (iwb_stage_iReg__T_154) begin // @[Regfiles.scala 229:35]
        iwb_stage_iReg_log_reg_32 <= 2'h0; // @[Regfiles.scala 229:47]
      end else begin
        iwb_stage_iReg_log_reg_32 <= iwb_stage_iReg__GEN_1722;
      end
    end else begin
      iwb_stage_iReg_log_reg_32 <= iwb_stage_iReg__GEN_1722;
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_0 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h0 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_0 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_1 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_1 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_2 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h2 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_2 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_3 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h3 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_3 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_4 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h4 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_4 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_5 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h5 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_5 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_6 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h6 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_6 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_7 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h7 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_7 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_8 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h8 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_8 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_9 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h9 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_9 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_10 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'ha == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_10 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_11 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'hb == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_11 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_12 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'hc == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_12 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_13 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'hd == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_13 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_14 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'he == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_14 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_15 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'hf == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_15 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_16 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h10 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_16 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_17 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h11 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_17 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_18 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h12 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_18 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_19 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h13 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_19 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_20 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h14 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_20 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_21 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h15 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_21 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_22 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h16 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_22 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_23 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h17 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_23 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_24 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h18 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_24 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_25 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h19 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_25 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_26 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1a == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_26 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_27 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1b == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_27 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_28 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1c == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_28 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_29 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1d == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_29 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_30 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1e == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_30 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_31 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h1f == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_31 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 114:26]
      iwb_stage_iReg_files_reg_32 <= 64'h0; // @[Regfiles.scala 114:26]
    end else if (iwb_stage_iReg__T_112) begin // @[Regfiles.scala 201:38]
      if (6'h20 == iwb_stage_iReg_io_exe_writeBack_0_bits_rd0) begin // @[Regfiles.scala 205:22]
        iwb_stage_iReg_files_reg_32 <= iwb_stage_iReg_io_exe_writeBack_0_bits_res; // @[Regfiles.scala 205:22]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_0 <= 6'h0; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_41) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_0 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_0 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_0 <= iwb_stage_iReg_archit_ptr_0; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h0 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_0 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_1 <= 6'h1; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_43) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_1 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_1 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_1 <= iwb_stage_iReg_archit_ptr_1; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_1 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_2 <= 6'h2; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_45) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_2 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_2 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_2 <= iwb_stage_iReg_archit_ptr_2; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h2 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_2 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_3 <= 6'h3; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_47) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_3 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_3 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_3 <= iwb_stage_iReg_archit_ptr_3; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h3 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_3 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_4 <= 6'h4; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_49) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_4 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_4 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_4 <= iwb_stage_iReg_archit_ptr_4; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h4 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_4 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_5 <= 6'h5; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_51) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_5 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_5 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_5 <= iwb_stage_iReg_archit_ptr_5; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h5 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_5 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_6 <= 6'h6; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_53) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_6 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_6 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_6 <= iwb_stage_iReg_archit_ptr_6; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h6 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_6 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_7 <= 6'h7; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_55) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_7 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_7 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_7 <= iwb_stage_iReg_archit_ptr_7; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h7 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_7 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_8 <= 6'h8; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_57) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_8 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_8 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_8 <= iwb_stage_iReg_archit_ptr_8; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h8 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_8 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_9 <= 6'h9; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_59) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_9 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_9 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_9 <= iwb_stage_iReg_archit_ptr_9; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h9 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_9 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_10 <= 6'ha; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_61) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_10 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_10 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_10 <= iwb_stage_iReg_archit_ptr_10; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'ha == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_10 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_11 <= 6'hb; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_63) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_11 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_11 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_11 <= iwb_stage_iReg_archit_ptr_11; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'hb == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_11 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_12 <= 6'hc; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_65) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_12 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_12 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_12 <= iwb_stage_iReg_archit_ptr_12; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'hc == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_12 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_13 <= 6'hd; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_67) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_13 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_13 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_13 <= iwb_stage_iReg_archit_ptr_13; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'hd == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_13 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_14 <= 6'he; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_69) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_14 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_14 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_14 <= iwb_stage_iReg_archit_ptr_14; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'he == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_14 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_15 <= 6'hf; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_71) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_15 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_15 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_15 <= iwb_stage_iReg_archit_ptr_15; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'hf == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_15 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_16 <= 6'h10; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_73) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_16 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_16 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_16 <= iwb_stage_iReg_archit_ptr_16; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h10 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_16 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_17 <= 6'h11; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_75) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_17 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_17 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_17 <= iwb_stage_iReg_archit_ptr_17; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h11 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_17 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_18 <= 6'h12; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_77) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_18 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_18 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_18 <= iwb_stage_iReg_archit_ptr_18; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h12 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_18 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_19 <= 6'h13; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_79) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_19 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_19 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_19 <= iwb_stage_iReg_archit_ptr_19; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h13 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_19 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_20 <= 6'h14; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_81) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_20 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_20 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_20 <= iwb_stage_iReg_archit_ptr_20; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h14 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_20 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_21 <= 6'h15; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_83) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_21 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_21 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_21 <= iwb_stage_iReg_archit_ptr_21; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h15 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_21 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_22 <= 6'h16; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_85) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_22 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_22 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_22 <= iwb_stage_iReg_archit_ptr_22; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h16 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_22 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_23 <= 6'h17; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_87) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_23 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_23 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_23 <= iwb_stage_iReg_archit_ptr_23; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h17 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_23 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_24 <= 6'h18; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_89) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_24 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_24 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_24 <= iwb_stage_iReg_archit_ptr_24; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h18 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_24 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_25 <= 6'h19; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_91) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_25 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_25 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_25 <= iwb_stage_iReg_archit_ptr_25; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h19 == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_25 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_26 <= 6'h1a; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_93) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_26 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_26 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_26 <= iwb_stage_iReg_archit_ptr_26; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1a == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_26 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_27 <= 6'h1b; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_95) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_27 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_27 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_27 <= iwb_stage_iReg_archit_ptr_27; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1b == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_27 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_28 <= 6'h1c; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_97) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_28 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_28 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_28 <= iwb_stage_iReg_archit_ptr_28; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1c == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_28 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_29 <= 6'h1d; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_99) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_29 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_29 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_29 <= iwb_stage_iReg_archit_ptr_29; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1d == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_29 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_30 <= 6'h1e; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_101) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_30 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_30 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_30 <= iwb_stage_iReg_archit_ptr_30; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1e == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_30 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 125:27]
      iwb_stage_iReg_rename_ptr_31 <= 6'h1f; // @[Regfiles.scala 125:27]
    end else if (iwb_stage_iReg__T_39) begin // @[Regfiles.scala 172:65]
      if (iwb_stage_iReg__T_103) begin // @[Regfiles.scala 180:61]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_rename_ptr_31 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_rename_ptr_31 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end else begin
        iwb_stage_iReg_rename_ptr_31 <= iwb_stage_iReg_archit_ptr_31; // @[Regfiles.scala 174:23]
      end
    end else if (iwb_stage_iReg__T_34) begin // @[Regfiles.scala 158:35]
      if (5'h1f == iwb_stage_iReg_io_rename_0_req_bits_rd0) begin // @[Regfiles.scala 162:23]
        iwb_stage_iReg_rename_ptr_31 <= iwb_stage_iReg__GEN_1121; // @[Regfiles.scala 162:23]
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_0 <= 6'h0; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h0 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_0 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_0 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_1 <= 6'h1; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_1 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_1 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_2 <= 6'h2; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h2 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_2 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_2 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_3 <= 6'h3; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h3 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_3 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_3 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_4 <= 6'h4; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h4 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_4 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_4 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_5 <= 6'h5; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h5 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_5 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_5 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_6 <= 6'h6; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h6 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_6 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_6 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_7 <= 6'h7; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h7 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_7 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_7 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_8 <= 6'h8; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h8 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_8 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_8 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_9 <= 6'h9; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h9 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_9 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_9 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_10 <= 6'ha; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'ha == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_10 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_10 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_11 <= 6'hb; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'hb == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_11 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_11 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_12 <= 6'hc; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'hc == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_12 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_12 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_13 <= 6'hd; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'hd == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_13 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_13 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_14 <= 6'he; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'he == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_14 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_14 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_15 <= 6'hf; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'hf == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_15 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_15 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_16 <= 6'h10; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h10 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_16 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_16 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_17 <= 6'h11; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h11 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_17 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_17 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_18 <= 6'h12; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h12 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_18 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_18 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_19 <= 6'h13; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h13 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_19 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_19 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_20 <= 6'h14; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h14 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_20 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_20 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_21 <= 6'h15; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h15 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_21 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_21 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_22 <= 6'h16; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h16 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_22 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_22 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_23 <= 6'h17; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h17 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_23 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_23 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_24 <= 6'h18; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h18 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_24 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_24 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_25 <= 6'h19; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h19 == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_25 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_25 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_26 <= 6'h1a; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1a == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_26 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_26 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_27 <= 6'h1b; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1b == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_27 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_27 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_28 <= 6'h1c; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1c == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_28 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_28 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_29 <= 6'h1d; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1d == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_29 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_29 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_30 <= 6'h1e; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1e == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_30 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_30 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 130:27]
      iwb_stage_iReg_archit_ptr_31 <= 6'h1f; // @[Regfiles.scala 130:27]
    end else if (iwb_stage_iReg__T_118) begin // @[Regfiles.scala 235:66]
      if (5'h1f == iwb_stage_iReg_io_commit_0_raw) begin // @[Regfiles.scala 236:26]
        if (iwb_stage_io_commit_0_toX) begin // @[WriteBack.scala 102:41]
          iwb_stage_iReg_archit_ptr_31 <= iwb_stage_io_commit_0_phy; // @[WriteBack.scala 102:60]
        end else begin
          iwb_stage_iReg_archit_ptr_31 <= 6'h0; // @[WriteBack.scala 88:37]
        end
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 191:36]
      iwb_stage_iReg_io_rgRsp_0_valid_REG <= 1'h0; // @[Regfiles.scala 191:36]
    end else begin
      iwb_stage_iReg_io_rgRsp_0_valid_REG <= iwb_stage_iReg_io_rgReq_0_valid; // @[Regfiles.scala 191:36]
    end
    if (iwb_stage_iReg_io_rgReq_0_valid) begin // @[Reg.scala 20:18]
      iwb_stage_iReg_io_rgRsp_0_bits_phy_r <= iwb_stage_iReg_io_rgReq_0_bits; // @[Reg.scala 20:22]
    end
    if (iwb_stage_iReg_io_rgReq_0_valid) begin // @[Reg.scala 20:18]
      if (6'h21 == iwb_stage_iReg_io_rgReq_0_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_0_bits_op_r <= 64'h0; // @[Reg.scala 20:22]
      end else if (6'h20 == iwb_stage_iReg_io_rgReq_0_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_0_bits_op_r <= iwb_stage_iReg_files_reg_32; // @[Reg.scala 20:22]
      end else if (6'h1f == iwb_stage_iReg_io_rgReq_0_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_0_bits_op_r <= iwb_stage_iReg_files_reg_31; // @[Reg.scala 20:22]
      end else begin
        iwb_stage_iReg_io_rgRsp_0_bits_op_r <= iwb_stage_iReg__GEN_1381;
      end
    end
    if (iwb_stage_iReg_reset) begin // @[Regfiles.scala 191:36]
      iwb_stage_iReg_io_rgRsp_1_valid_REG <= 1'h0; // @[Regfiles.scala 191:36]
    end else begin
      iwb_stage_iReg_io_rgRsp_1_valid_REG <= iwb_stage_iReg_io_rgReq_1_valid; // @[Regfiles.scala 191:36]
    end
    if (iwb_stage_iReg_io_rgReq_1_valid) begin // @[Reg.scala 20:18]
      iwb_stage_iReg_io_rgRsp_1_bits_phy_r <= iwb_stage_iReg_io_rgReq_1_bits; // @[Reg.scala 20:22]
    end
    if (iwb_stage_iReg_io_rgReq_1_valid) begin // @[Reg.scala 20:18]
      if (6'h21 == iwb_stage_iReg_io_rgReq_1_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_1_bits_op_r <= 64'h0; // @[Reg.scala 20:22]
      end else if (6'h20 == iwb_stage_iReg_io_rgReq_1_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_1_bits_op_r <= iwb_stage_iReg_files_reg_32; // @[Reg.scala 20:22]
      end else if (6'h1f == iwb_stage_iReg_io_rgReq_1_bits) begin // @[Reg.scala 20:22]
        iwb_stage_iReg_io_rgRsp_1_bits_op_r <= iwb_stage_iReg_files_reg_31; // @[Reg.scala 20:22]
      end else begin
        iwb_stage_iReg_io_rgRsp_1_bits_op_r <= iwb_stage_iReg__GEN_1451;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_34 & iwb_stage_iReg__T_37 & iwb_stage_iReg__T_38) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Regfiles.scala:160 assert( log(molloc_idx(i)) === \"b00\".U )\n"); // @[Regfiles.scala 160:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_35 & (iwb_stage_iReg__T_34 & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 160:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg_io_rgRsp_0_valid & iwb_stage_iReg__T_37 & iwb_stage_iReg__T_107) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed while reading operator, log is not ready!\n    at Regfiles.scala:194 when( io.rgRsp(i).valid ) {  assert( log(io.rgReq(i).bits) === \"b11\".U, \"Assert Failed while reading operator, log is not ready!\" ) }\n"
            ); // @[Regfiles.scala 194:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_104 & (iwb_stage_iReg_io_rgRsp_0_valid & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 194:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg_io_rgRsp_1_valid & iwb_stage_iReg__T_37 & iwb_stage_iReg__T_111) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed while reading operator, log is not ready!\n    at Regfiles.scala:194 when( io.rgRsp(i).valid ) {  assert( log(io.rgReq(i).bits) === \"b11\".U, \"Assert Failed while reading operator, log is not ready!\" ) }\n"
            ); // @[Regfiles.scala 194:40]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_108 & (iwb_stage_iReg_io_rgRsp_1_valid & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 194:40]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_112 & iwb_stage_iReg__T_37 & iwb_stage_iReg__T_116) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed when writeback at chn0, log(XRegFiles.io.exe_writeBack[0].bits.rd0: IO[UInt<6>])\n    at Regfiles.scala:203 assert( log(idx) === \"b01\".U, \"Assert Failed when writeback at chn\" + i + \", log(\" + idx + \")\" )\n"
            ); // @[Regfiles.scala 203:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_113 & (iwb_stage_iReg__T_112 & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 203:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_118 & iwb_stage_iReg__T_37 & iwb_stage_iReg__T_121) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:227 assert( io.commit(m).is_writeback )\n"); // @[Regfiles.scala 227:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg_io_commit_0_is_writeback & (iwb_stage_iReg__T_118 & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 227:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_634 & iwb_stage_iReg__T_158) begin
          $fwrite(32'h80000002,
            "Assertion failed: log_reg which going to commit to will be overrided to \"b11\" if there is an abort in-front.\n    at Regfiles.scala:231 assert( log_reg(phy(m)) === \"b11\".U, \"log_reg which going to commit to will be overrided to \\\"b11\\\" if there is an abort in-front.\" )\n"
            ); // @[Regfiles.scala 231:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_155 & (iwb_stage_iReg__T_118 & iwb_stage_iReg__T_37)) begin
          $fatal; // @[Regfiles.scala 231:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_163) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[0]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_160 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[1]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_164 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[2]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_168 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_175) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[3]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_172 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_179) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[4]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_176 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_183) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[5]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_180 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[6]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_184 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_191) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[7]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_188 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[8]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_192 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_199) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[9]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_196 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_203) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[10]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_200 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_207) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[11]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_204 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_211) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[12]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_208 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_215) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[13]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_212 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_219) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[14]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_216 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_223) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[15]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_220 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[16]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_224 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_231) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[17]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_228 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_235) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[18]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_232 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_239) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[19]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_236 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_243) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[20]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_240 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_247) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[21]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_244 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_251) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[22]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_248 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_255) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[23]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_252 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_259) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[24]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_256 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_263) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[25]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_260 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_267) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[26]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_264 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_271) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[27]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_268 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_275) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[28]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_272 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_279) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[29]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_276 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_283) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[30]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_280 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_iReg__T_37 & iwb_stage_iReg__T_287) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, archit point to should be b11.U! i = XRegFiles.archit_ptr[31]: Reg[UInt<6>]\n\n    at Regfiles.scala:242 i => assert( log(i) === \"b11\".U, \"Assert Failed, archit point to should be b11.U! i = \"+i+\"\\n\")\n"
            ); // @[Regfiles.scala 242:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_iReg__T_284 & iwb_stage_iReg__T_37) begin
          $fatal; // @[Regfiles.scala 242:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge iwb_stage_fReg_clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_fReg__T_2 & iwb_stage_fReg__T_3) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:324 assert( ~io.exe_writeBack(i).valid )\n"); // @[Regfiles.scala 324:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_fReg__T & iwb_stage_fReg__T_2) begin
          $fatal; // @[Regfiles.scala 324:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (iwb_stage_fReg__T_2 & iwb_stage_fReg__T_7) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Regfiles.scala:324 assert( ~io.exe_writeBack(i).valid )\n"); // @[Regfiles.scala 324:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~iwb_stage_fReg__T_4 & iwb_stage_fReg__T_2) begin
          $fatal; // @[Regfiles.scala 324:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge cmm_stage_clock) begin
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_priv_lvl <= 2'h3; // @[Commit.scala 449:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csrfiles_DMode) begin // @[CsrFiles.scala 709:31]
        if (cmm_stage_is_xRet_is_dRet) begin // @[CsrFiles.scala 710:24]
          cmm_stage_csrfiles_priv_lvl <= cmm_stage_csrfiles_dcsr_prv; // @[CsrFiles.scala 710:35]
        end else begin
          cmm_stage_csrfiles_priv_lvl <= cmm_stage__GEN_469;
        end
      end else if (cmm_stage_is_trap_is_exception_is_store_pagingFault) begin // @[CsrFiles.scala 736:41]
        cmm_stage_csrfiles_priv_lvl <= cmm_stage__csr_state_0_csrfiles_priv_lvl_priv_lvl_T_75; // @[CsrFiles.scala 736:52]
      end else begin
        cmm_stage_csrfiles_priv_lvl <= cmm_stage__GEN_491;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_DMode <= 1'h0; // @[Commit.scala 450:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_DMode <= cmm_stage__GEN_495; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_fcsr_frm <= 3'h0; // @[Commit.scala 451:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_fcsr_frm <= cmm_stage_csr_state_0_csrfiles_fcsr_fcsr_frm; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_fcsr_fflags <= 5'h0; // @[Commit.scala 451:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_fcsr_fflags <= cmm_stage_csr_state_0_csrfiles_fcsr_fcsr_fflags; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_time <= 64'h0; // @[Commit.scala 453:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_time <= 64'h0; // @[Commit.scala 398:100]
    end else if (cmm_stage__T) begin // @[Commit.scala 396:87]
      cmm_stage_csrfiles_time <= cmm_stage__csrfiles_time_T_1; // @[Commit.scala 396:103]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_stvec_base <= 62'h0; // @[Commit.scala 455:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_stvec_enable) begin // @[CsrFiles.scala 1322:18]
        cmm_stage_csrfiles_stvec_base <= cmm_stage__csr_state_0_csrfiles_stvec_stvec_base_T; // @[CsrFiles.scala 1322:31]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_scounteren_hpm <= 32'h0; // @[Commit.scala 456:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_scounteren_hpm <= cmm_stage_csr_state_0_csrfiles_scounteren_scounteren_hpm; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_sscratch <= 64'h0; // @[Commit.scala 457:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_sscratch_enable) begin // @[CsrFiles.scala 1358:18]
        cmm_stage_csrfiles_sscratch <= cmm_stage__csr_state_0_csrfiles_sscratch_dnxt_T_7; // @[CsrFiles.scala 1358:29]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_sepc <= 64'h0; // @[Commit.scala 458:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_sepc_T_10) begin // @[CsrFiles.scala 1373:79]
        cmm_stage_csrfiles_sepc <= cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4; // @[CsrFiles.scala 1373:86]
      end else if (cmm_stage_csr_state_0_csrfiles_sepc_enable) begin // @[CsrFiles.scala 1374:23]
        cmm_stage_csrfiles_sepc <= cmm_stage__csr_state_0_csrfiles_sepc_dnxt_T_7; // @[CsrFiles.scala 1374:30]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_scause_interrupt <= 1'h0; // @[Commit.scala 459:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_scause_interrupt <= cmm_stage__GEN_583; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_scause_exception_code <= 63'h0; // @[Commit.scala 459:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_scause_T_12) begin // @[CsrFiles.scala 1388:128]
        cmm_stage_csrfiles_scause_exception_code <= {{59'd0},
          cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_16}; // @[CsrFiles.scala 1390:29]
      end else if (cmm_stage__csr_state_0_csrfiles_scause_T_23) begin // @[CsrFiles.scala 1399:89]
        cmm_stage_csrfiles_scause_exception_code <= {{59'd0},
          cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_44}; // @[CsrFiles.scala 1401:29]
      end else begin
        cmm_stage_csrfiles_scause_exception_code <= cmm_stage__GEN_580;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_stval <= 64'h0; // @[Commit.scala 460:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_sepc_T_10) begin // @[CsrFiles.scala 1436:79]
        cmm_stage_csrfiles_stval <= cmm_stage__csr_state_0_csrfiles_stval_stval_T_19; // @[CsrFiles.scala 1437:13]
      end else if (cmm_stage_csr_state_0_csrfiles_stval_enable) begin // @[CsrFiles.scala 1450:23]
        cmm_stage_csrfiles_stval <= cmm_stage__csr_state_0_csrfiles_stval_dnxt_T_7; // @[CsrFiles.scala 1450:31]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_satp_mode <= 4'h0; // @[Commit.scala 462:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_satp_enable) begin // @[CsrFiles.scala 1495:18]
        cmm_stage_csrfiles_satp_mode <= cmm_stage__csr_state_0_csrfiles_satp_satp_mode_T_1; // @[CsrFiles.scala 1497:17]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_satp_asid <= 16'h0; // @[Commit.scala 462:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_satp_enable) begin // @[CsrFiles.scala 1495:18]
        cmm_stage_csrfiles_satp_asid <= cmm_stage__csr_state_0_csrfiles_satp_satp_asid_T; // @[CsrFiles.scala 1498:17]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_satp_ppn <= 44'h0; // @[Commit.scala 462:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_satp_enable) begin // @[CsrFiles.scala 1495:18]
        cmm_stage_csrfiles_satp_ppn <= cmm_stage__csr_state_0_csrfiles_satp_satp_ppn_T; // @[CsrFiles.scala 1499:17]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_marchid <= 64'h0; // @[Commit.scala 464:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_marchid <= 64'h1d; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_sd <= 1'h0; // @[Commit.scala 487:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mstatus_sd <= cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_sd_T_1; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_tsr <= 1'h0; // @[Commit.scala 472:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_tsr <= cmm_stage__GEN_749;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_tw <= 1'h0; // @[Commit.scala 473:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_tw <= cmm_stage__GEN_750;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_tvm <= 1'h0; // @[Commit.scala 474:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_tvm <= cmm_stage__GEN_751;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_mxr <= 1'h0; // @[Commit.scala 475:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_mxr <= cmm_stage__GEN_745;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_sum <= 1'h0; // @[Commit.scala 476:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_sum <= cmm_stage__GEN_746;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_mprv <= 1'h0; // @[Commit.scala 477:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_mstatus_T_21) begin // @[CsrFiles.scala 770:50]
          cmm_stage_csrfiles_mstatus_mprv <= cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_mprv_T_8; // @[CsrFiles.scala 775:20]
        end else begin
          cmm_stage_csrfiles_mstatus_mprv <= cmm_stage__GEN_744;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_fs <= 2'h0; // @[Commit.scala 479:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_25) begin // @[CsrFiles.scala 808:67]
        cmm_stage_csrfiles_mstatus_fs <= 2'h3; // @[CsrFiles.scala 809:18]
      end else if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_3)) begin // @[CsrFiles.scala 758:45]
        cmm_stage_csrfiles_mstatus_fs <= cmm_stage__GEN_763;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_mpp <= 2'h3; // @[Commit.scala 480:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_mstatus_T_11) begin // @[CsrFiles.scala 759:47]
          cmm_stage_csrfiles_mstatus_mpp <= cmm_stage_csrfiles_priv_lvl; // @[CsrFiles.scala 762:22]
        end
      end else if (cmm_stage__csr_state_0_csrfiles_mstatus_T_21) begin // @[CsrFiles.scala 770:50]
        cmm_stage_csrfiles_mstatus_mpp <= 2'h0; // @[CsrFiles.scala 773:20]
      end else begin
        cmm_stage_csrfiles_mstatus_mpp <= cmm_stage__GEN_752;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_spp <= 1'h0; // @[Commit.scala 481:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_sepc_T_7) begin // @[CsrFiles.scala 764:47]
          cmm_stage_csrfiles_mstatus_spp <= cmm_stage__csr_state_0_csrfiles_mstatus_mstatus_spp_T_1; // @[CsrFiles.scala 765:22]
        end
      end else if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
        cmm_stage_csrfiles_mstatus_spp <= cmm_stage__GEN_748;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_mpie <= 1'h0; // @[Commit.scala 482:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_mstatus_T_11) begin // @[CsrFiles.scala 759:47]
          cmm_stage_csrfiles_mstatus_mpie <= cmm_stage_csrfiles_mstatus_mie; // @[CsrFiles.scala 760:22]
        end
      end else begin
        cmm_stage_csrfiles_mstatus_mpie <= cmm_stage__GEN_756;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_spie <= 1'h0; // @[Commit.scala 484:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_sepc_T_7) begin // @[CsrFiles.scala 764:47]
          cmm_stage_csrfiles_mstatus_spie <= cmm_stage_csrfiles_mstatus_sie; // @[CsrFiles.scala 766:22]
        end
      end else if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
        cmm_stage_csrfiles_mstatus_spie <= cmm_stage__GEN_742;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_mie <= 1'h0; // @[Commit.scala 485:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_mstatus_T_11) begin // @[CsrFiles.scala 759:47]
          cmm_stage_csrfiles_mstatus_mie <= 1'h0; // @[CsrFiles.scala 761:22]
        end
      end else if (cmm_stage__csr_state_0_csrfiles_mstatus_T_21) begin // @[CsrFiles.scala 770:50]
        cmm_stage_csrfiles_mstatus_mie <= cmm_stage_csrfiles_mstatus_mpie; // @[CsrFiles.scala 771:20]
      end else begin
        cmm_stage_csrfiles_mstatus_mie <= cmm_stage__GEN_754;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mstatus_sie <= 1'h0; // @[Commit.scala 486:27]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mstatus_T_3) begin // @[CsrFiles.scala 758:45]
        if (cmm_stage__csr_state_0_csrfiles_sepc_T_7) begin // @[CsrFiles.scala 764:47]
          cmm_stage_csrfiles_mstatus_sie <= 1'h0; // @[CsrFiles.scala 767:22]
        end
      end else if (!(cmm_stage__csr_state_0_csrfiles_mstatus_T_21)) begin // @[CsrFiles.scala 770:50]
        cmm_stage_csrfiles_mstatus_sie <= cmm_stage__GEN_743;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_misa <= 64'h800000000014112d; // @[Commit.scala 489:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_misa <= 64'h8000000000141105; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_medeleg <= 64'h0; // @[Commit.scala 490:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_medeleg_enable) begin // @[CsrFiles.scala 850:18]
        cmm_stage_csrfiles_medeleg <= cmm_stage__csr_state_0_csrfiles_medeleg_dnxt_T_7; // @[CsrFiles.scala 850:28]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mideleg <= 64'h0; // @[Commit.scala 491:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mideleg_enable) begin // @[CsrFiles.scala 862:18]
        cmm_stage_csrfiles_mideleg <= cmm_stage__csr_state_0_csrfiles_mideleg_dnxt_T_7; // @[CsrFiles.scala 862:28]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_mei <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_mei <= cmm_stage__csr_state_0_csrfiles_mie_mie_mei_T; // @[CsrFiles.scala 883:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_sei <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_sei <= cmm_stage__csr_state_0_csrfiles_mie_mie_sei_T; // @[CsrFiles.scala 884:15]
      end else if (cmm_stage_csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        cmm_stage_csrfiles_mie_sei <= cmm_stage__csr_state_0_csrfiles_mie_mie_sei_T; // @[CsrFiles.scala 891:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_mti <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_mti <= cmm_stage__csr_state_0_csrfiles_mie_mie_mti_T; // @[CsrFiles.scala 885:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_sti <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_sti <= cmm_stage__csr_state_0_csrfiles_mie_mie_sti_T; // @[CsrFiles.scala 886:15]
      end else if (cmm_stage_csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        cmm_stage_csrfiles_mie_sti <= cmm_stage__csr_state_0_csrfiles_mie_mie_sti_T; // @[CsrFiles.scala 892:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_msi <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_msi <= cmm_stage__csr_state_0_csrfiles_mie_mie_msi_T; // @[CsrFiles.scala 887:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mie_ssi <= 1'h0; // @[Commit.scala 492:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mie_enable0) begin // @[CsrFiles.scala 882:19]
        cmm_stage_csrfiles_mie_ssi <= cmm_stage__csr_state_0_csrfiles_mie_mie_ssi_T; // @[CsrFiles.scala 888:15]
      end else if (cmm_stage_csr_state_0_csrfiles_mie_enable1) begin // @[CsrFiles.scala 890:24]
        cmm_stage_csrfiles_mie_ssi <= cmm_stage__csr_state_0_csrfiles_mie_mie_ssi_T; // @[CsrFiles.scala 893:15]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mtvec_base <= 62'h0; // @[Commit.scala 493:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mtvec_enable) begin // @[CsrFiles.scala 912:18]
        cmm_stage_csrfiles_mtvec_base <= cmm_stage__csr_state_0_csrfiles_mtvec_mtvec_base_T; // @[CsrFiles.scala 912:31]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mcounteren_hpm <= 32'h0; // @[Commit.scala 494:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mcounteren_hpm <= cmm_stage_csr_state_0_csrfiles_mcounteren_mcounteren_hpm; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mscratch <= 64'h0; // @[Commit.scala 495:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mscratch_enable) begin // @[CsrFiles.scala 947:18]
        cmm_stage_csrfiles_mscratch <= cmm_stage__csr_state_0_csrfiles_mscratch_dnxt_T_7; // @[CsrFiles.scala 947:29]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mepc <= 64'h0; // @[Commit.scala 496:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mepc_T_10) begin // @[CsrFiles.scala 962:78]
        cmm_stage_csrfiles_mepc <= cmm_stage__csr_state_0_csrfiles_sepc_sepc_commit_pc_v64_T_4; // @[CsrFiles.scala 962:85]
      end else if (cmm_stage_csr_state_0_csrfiles_mepc_enable) begin // @[CsrFiles.scala 963:23]
        cmm_stage_csrfiles_mepc <= cmm_stage__csr_state_0_csrfiles_mepc_dnxt_T_7; // @[CsrFiles.scala 963:30]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mcause_interrupt <= 1'h0; // @[Commit.scala 497:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mcause_interrupt <= cmm_stage__GEN_874; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mcause_exception_code <= 63'h0; // @[Commit.scala 497:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mcause_T_11) begin // @[CsrFiles.scala 978:95]
        cmm_stage_csrfiles_mcause_exception_code <= {{59'd0},
          cmm_stage__csr_state_0_csrfiles_mcause_mcause_exception_code_T_7}; // @[CsrFiles.scala 980:29]
      end else if (cmm_stage__csr_state_0_csrfiles_mcause_T_22) begin // @[CsrFiles.scala 989:89]
        cmm_stage_csrfiles_mcause_exception_code <= {{59'd0},
          cmm_stage__csr_state_0_csrfiles_scause_scause_exception_code_T_44}; // @[CsrFiles.scala 991:29]
      end else begin
        cmm_stage_csrfiles_mcause_exception_code <= cmm_stage__GEN_871;
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mtval <= 64'h0; // @[Commit.scala 498:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage__csr_state_0_csrfiles_mepc_T_10) begin // @[CsrFiles.scala 1027:79]
        cmm_stage_csrfiles_mtval <= cmm_stage__csr_state_0_csrfiles_stval_stval_T_19; // @[CsrFiles.scala 1028:13]
      end else if (cmm_stage_csr_state_0_csrfiles_mtval_enable) begin // @[CsrFiles.scala 1041:23]
        cmm_stage_csrfiles_mtval <= cmm_stage__csr_state_0_csrfiles_mtval_dnxt_T_7; // @[CsrFiles.scala 1041:31]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_mei <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_mei <= cmm_stage_io_plic_mei; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_sei <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_sei <= cmm_stage_io_plic_sei; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_mti <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_mti <= cmm_stage_io_aclint_mti; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_sti <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_sti <= cmm_stage_io_aclint_sti; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_msi <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_msi <= cmm_stage_io_aclint_msi; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mip_ssi <= 1'h0; // @[Commit.scala 499:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      cmm_stage_csrfiles_mip_ssi <= cmm_stage_io_aclint_ssi; // @[Commit.scala 398:100]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mtinst <= 64'h0; // @[Commit.scala 500:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mtinst_enable) begin // @[CsrFiles.scala 1077:18]
        cmm_stage_csrfiles_mtinst <= cmm_stage__csr_state_0_csrfiles_mtinst_dnxt_T_7; // @[CsrFiles.scala 1077:27]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mtval2 <= 64'h0; // @[Commit.scala 501:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mtval2_enable) begin // @[CsrFiles.scala 1085:18]
        cmm_stage_csrfiles_mtval2 <= cmm_stage__csr_state_0_csrfiles_mtval2_dnxt_T_7; // @[CsrFiles.scala 1085:27]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_mcycle <= 64'h0; // @[Commit.scala 502:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_mcycle_enable) begin // @[CsrFiles.scala 1143:20]
        cmm_stage_csrfiles_mcycle <= cmm_stage__csr_state_0_csrfiles_mcycle_dnxt_T_7; // @[CsrFiles.scala 1143:29]
      end else begin
        cmm_stage_csrfiles_mcycle <= cmm_stage__csrfiles_mcycle_T_1; // @[CsrFiles.scala 1144:26]
      end
    end else begin
      cmm_stage_csrfiles_mcycle <= cmm_stage__csrfiles_mcycle_T_1; // @[Commit.scala 395:19]
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_minstret <= 64'h0; // @[Commit.scala 503:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_minstret_enable) begin // @[CsrFiles.scala 1158:18]
        cmm_stage_csrfiles_minstret <= cmm_stage__csr_state_0_csrfiles_minstret_dnxt_T_7; // @[CsrFiles.scala 1158:29]
      end else begin
        cmm_stage_csrfiles_minstret <= cmm_stage__csr_state_0_csrfiles_minstret_minstret_T_1; // @[CsrFiles.scala 1159:27]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_tselect <= 64'h0; // @[Commit.scala 505:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_tselect_enable) begin // @[CsrFiles.scala 1746:20]
        cmm_stage_csrfiles_tselect <= cmm_stage__csr_state_0_csrfiles_tselect_tselect_T_1; // @[CsrFiles.scala 1746:30]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_tdata1 <= 64'h0; // @[Commit.scala 506:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_tdata1_enable) begin // @[CsrFiles.scala 1757:20]
        cmm_stage_csrfiles_tdata1 <= cmm_stage__csr_state_0_csrfiles_tdata1_dnxt_T_7; // @[CsrFiles.scala 1757:29]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_tdata2 <= 64'h0; // @[Commit.scala 507:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_tdata2_enable) begin // @[CsrFiles.scala 1767:20]
        cmm_stage_csrfiles_tdata2 <= cmm_stage__csr_state_0_csrfiles_tdata2_dnxt_T_7; // @[CsrFiles.scala 1767:29]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_tdata3 <= 64'h0; // @[Commit.scala 508:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_tdata3_enable) begin // @[CsrFiles.scala 1777:20]
        cmm_stage_csrfiles_tdata3 <= cmm_stage__csr_state_0_csrfiles_tdata3_dnxt_T_7; // @[CsrFiles.scala 1777:29]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_ebreakm <= 1'h0; // @[Commit.scala 511:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (cmm_stage_csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          cmm_stage_csrfiles_dcsr_ebreakm <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreakm_T; // @[CsrFiles.scala 1809:24]
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_ebreaks <= 1'h0; // @[Commit.scala 512:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (cmm_stage_csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          cmm_stage_csrfiles_dcsr_ebreaks <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreaks_T; // @[CsrFiles.scala 1810:24]
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_ebreaku <= 1'h0; // @[Commit.scala 513:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (cmm_stage_csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          cmm_stage_csrfiles_dcsr_ebreaku <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_ebreaku_T; // @[CsrFiles.scala 1811:24]
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_cause <= 3'h0; // @[Commit.scala 517:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt) begin // @[CsrFiles.scala 1796:41]
        if (cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt_is_ebreak_dm) begin // @[Mux.scala 101:16]
          cmm_stage_csrfiles_dcsr_cause <= 3'h1;
        end else begin
          cmm_stage_csrfiles_dcsr_cause <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_cause_T_1;
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_step <= 1'h0; // @[Commit.scala 520:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (!(cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt)) begin // @[CsrFiles.scala 1796:41]
        if (cmm_stage_csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
          cmm_stage_csrfiles_dcsr_step <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_step_T; // @[CsrFiles.scala 1812:19]
        end
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dcsr_prv <= 2'h3; // @[Commit.scala 521:29]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_is_trap_is_interrupt_is_nomask_interrupt_is_debug_interrupt) begin // @[CsrFiles.scala 1796:41]
        cmm_stage_csrfiles_dcsr_prv <= cmm_stage_csrfiles_priv_lvl; // @[CsrFiles.scala 1797:18]
      end else if (cmm_stage_csr_state_0_csrfiles_dcsr_enable) begin // @[CsrFiles.scala 1808:25]
        cmm_stage_csrfiles_dcsr_prv <= cmm_stage__csr_state_0_csrfiles_dcsr_dcsr_prv_T; // @[CsrFiles.scala 1813:19]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dpc <= 64'h0; // @[Commit.scala 523:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_dpc_enable) begin // @[CsrFiles.scala 1825:20]
        cmm_stage_csrfiles_dpc <= cmm_stage__csr_state_0_csrfiles_dpc_dnxt_T_7; // @[CsrFiles.scala 1825:26]
      end else if (cmm_stage__csr_state_0_csrfiles_dpc_T_2) begin // @[CsrFiles.scala 1827:84]
        cmm_stage_csrfiles_dpc <= cmm_stage__csr_state_0_csrfiles_dpc_dpc_T_6; // @[CsrFiles.scala 1828:13]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dscratch0 <= 64'h0; // @[Commit.scala 524:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_dscratch0_enable) begin // @[CsrFiles.scala 1845:20]
        cmm_stage_csrfiles_dscratch0 <= cmm_stage__csr_state_0_csrfiles_dscratch0_dnxt_T_7; // @[CsrFiles.scala 1845:32]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dscratch1 <= 64'h0; // @[Commit.scala 525:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_dscratch1_enable) begin // @[CsrFiles.scala 1854:20]
        cmm_stage_csrfiles_dscratch1 <= cmm_stage__csr_state_0_csrfiles_dscratch1_dnxt_T_7; // @[CsrFiles.scala 1854:32]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 399:24]
      cmm_stage_csrfiles_dscratch2 <= 64'h0; // @[Commit.scala 526:28]
    end else if (cmm_stage__T_1) begin // @[Commit.scala 398:89]
      if (cmm_stage_csr_state_0_csrfiles_dscratch2_enable) begin // @[CsrFiles.scala 1863:20]
        cmm_stage_csrfiles_dscratch2 <= cmm_stage__csr_state_0_csrfiles_dscratch2_dnxt_T_7; // @[CsrFiles.scala 1863:32]
      end
    end
    if (cmm_stage_reset) begin // @[Commit.scala 404:31]
      cmm_stage_is_single_step <= 1'h0; // @[Commit.scala 404:31]
    end else begin
      cmm_stage_is_single_step <= cmm_stage__GEN_461;
    end
    if (cmm_stage_reset) begin // @[Commit.scala 363:26]
      cmm_stage_emu_reset <= 1'h0; // @[Commit.scala 363:26]
    end else begin
      cmm_stage_emu_reset <= cmm_stage__GEN_1;
    end
    if (cmm_stage_reset) begin // @[Reg.scala 35:20]
      cmm_stage_rtc_0 <= 1'h0; // @[Reg.scala 35:20]
    end else begin
      cmm_stage_rtc_0 <= cmm_stage_io_rtc_clock;
    end
    if (cmm_stage_reset) begin // @[Reg.scala 35:20]
      cmm_stage_rtc_1 <= 1'h0; // @[Reg.scala 35:20]
    end else begin
      cmm_stage_rtc_1 <= cmm_stage_rtc_0;
    end
    if (cmm_stage_reset) begin // @[Reg.scala 35:20]
      cmm_stage_rtc_2 <= 1'h0; // @[Reg.scala 35:20]
    end else begin
      cmm_stage_rtc_2 <= cmm_stage_rtc_1;
    end
    if (cmm_stage_reset) begin // @[Reg.scala 35:20]
      cmm_stage_rtc_3 <= 1'h0; // @[Reg.scala 35:20]
    end else begin
      cmm_stage_rtc_3 <= cmm_stage_rtc_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_39) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:680 assert( bctq(i).fire === (is_retired(i) & io.rod(i).bits.is_branch) )\n"
            ); // @[Commit.scala 680:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_36 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 680:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_45) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:681 assert( bctq.map{_.fire}.reduce(_|_) === io.bctq.fire )\n"); // @[Commit.scala 681:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_42 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 681:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_51) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:686 assert( jctq(i).fire === (is_retired(i) & io.rod(i).bits.is_jalr) )\n"
            ); // @[Commit.scala 686:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_48 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 686:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_57) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:687 assert( jctq.map{_.fire}.reduce(_|_) === io.jctq.fire )\n"); // @[Commit.scala 687:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_54 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 687:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage_commit_state_is_abort_0 & cmm_stage_csrfiles_DMode & cmm_stage_is_trap_is_interrupt &
          cmm_stage__T_38) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed, All interrupts (including NMI) are masked in Dmode! Page-39\n    at Commit.scala:730 assert(false.B, \"Assert Failed, All interrupts (including NMI) are masked in Dmode! Page-39\")\n"
            ); // @[Commit.scala 730:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (cmm_stage_commit_state_is_abort_0 & cmm_stage_csrfiles_DMode & cmm_stage_is_trap_is_interrupt &
          cmm_stage__T_38)) begin
          $fatal; // @[Commit.scala 730:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage_commit_state_is_abort_0 & cmm_stage__is_trap_is_interrupt_T_2 & cmm_stage__T_38 & cmm_stage__T_86
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:768 assert( PopCount(Seq( cmm_state(i).is_xRet, cmm_state(i).is_trap, cmm_state(i).is_fence_i, cmm_state(i).is_sfence_vma)) <= 1.U )\n"
            ); // @[Commit.scala 768:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_83 & (cmm_stage_commit_state_is_abort_0 & cmm_stage__is_trap_is_interrupt_T_2 &
          cmm_stage__T_38)) begin
          $fatal; // @[Commit.scala 768:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_92) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:803 assert( ~(csrExe(i).ready & ~csrExe(i).valid) )\n"); // @[Commit.scala 803:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_89 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 803:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (cmm_stage__T_38 & cmm_stage__T_98) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Commit.scala:814 assert( ~(fcsrExe(i).ready & ~fcsrExe(i).valid) )\n"); // @[Commit.scala 814:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~cmm_stage__T_95 & cmm_stage__T_38) begin
          $fatal; // @[Commit.scala 814:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge i_mmu_itlb_random_idx_prng_clock) begin
    i_mmu_itlb_random_idx_prng_state_0 <= i_mmu_itlb_random_idx_prng_reset | i_mmu_itlb_random_idx_prng__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_itlb_random_idx_prng_reset) begin // @[PRNG.scala 55:49]
      i_mmu_itlb_random_idx_prng_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_itlb_random_idx_prng_state_1 <= i_mmu_itlb_random_idx_prng_state_0;
    end
  end
  always @(posedge i_mmu_itlb_random_idx_prng_1_clock) begin
    i_mmu_itlb_random_idx_prng_1_state_0 <= i_mmu_itlb_random_idx_prng_1_reset | i_mmu_itlb_random_idx_prng_1__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_itlb_random_idx_prng_1_reset) begin // @[PRNG.scala 55:49]
      i_mmu_itlb_random_idx_prng_1_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_itlb_random_idx_prng_1_state_1 <= i_mmu_itlb_random_idx_prng_1_state_0;
    end
  end
  always @(posedge i_mmu_itlb_random_idx_prng_2_clock) begin
    i_mmu_itlb_random_idx_prng_2_state_0 <= i_mmu_itlb_random_idx_prng_2_reset | i_mmu_itlb_random_idx_prng_2__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_itlb_random_idx_prng_2_reset) begin // @[PRNG.scala 55:49]
      i_mmu_itlb_random_idx_prng_2_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_itlb_random_idx_prng_2_state_1 <= i_mmu_itlb_random_idx_prng_2_state_0;
    end
  end
  always @(posedge i_mmu_itlb_random_idx_prng_3_clock) begin
    i_mmu_itlb_random_idx_prng_3_state_0 <= i_mmu_itlb_random_idx_prng_3_reset | i_mmu_itlb_random_idx_prng_3__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_itlb_random_idx_prng_3_reset) begin // @[PRNG.scala 55:49]
      i_mmu_itlb_random_idx_prng_3_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_itlb_random_idx_prng_3_state_1 <= i_mmu_itlb_random_idx_prng_3_state_0;
    end
  end
  always @(posedge i_mmu_itlb_clock) begin
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_0_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_0_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      i_mmu_itlb_tag_0_is_valid <= i_mmu_itlb__GEN_0;
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_0_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_0_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_itlb__T_3) begin // @[TLB.scala 69:32]
        i_mmu_itlb_tag_0_asid <= i_mmu_itlb_io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_0_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_0_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_0_vpn_0 <= i_mmu_itlb_io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_0_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_0_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_0_vpn_1 <= i_mmu_itlb_io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_0_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_0_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_0_vpn_2 <= i_mmu_itlb_io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_1_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_1_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      i_mmu_itlb_tag_1_is_valid <= i_mmu_itlb__GEN_1;
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_1_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_1_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_itlb__T_3) begin // @[TLB.scala 69:32]
        i_mmu_itlb_tag_1_asid <= i_mmu_itlb_io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_1_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_1_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_1_vpn_0 <= i_mmu_itlb_io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_1_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_1_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_1_vpn_1 <= i_mmu_itlb_io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_itlb_tag_1_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_itlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_itlb_tag_1_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_itlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_itlb_tag_1_vpn_2 <= i_mmu_itlb_io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_0_value <= 64'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_0_value <= i_mmu_itlb_io_tlb_renew_bits_value; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_0_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_0_is_giga_page <= i_mmu_itlb_io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_0_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_0_is_mega_page <= i_mmu_itlb_io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_1_value <= 64'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_1_value <= i_mmu_itlb_io_tlb_renew_bits_value; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_1_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_1_is_giga_page <= i_mmu_itlb_io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_itlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_itlb_pte_1_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_itlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_itlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_itlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_itlb_pte_1_is_mega_page <= i_mmu_itlb_io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu_itlb__T_15 & i_mmu_itlb__T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail at tlb, more than 1 entry hit!\n    at TLB.scala:110 assert( PopCount( tlb_hit.asUInt ) <= 1.U, \"Assert Fail at tlb, more than 1 entry hit!\"  )\n"
            ); // @[TLB.scala 110:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu_itlb__T_13 & i_mmu_itlb__T_15) begin
          $fatal; // @[TLB.scala 110:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge i_mmu_dtlb_random_idx_prng_clock) begin
    i_mmu_dtlb_random_idx_prng_state_0 <= i_mmu_dtlb_random_idx_prng_reset | i_mmu_dtlb_random_idx_prng__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_dtlb_random_idx_prng_reset) begin // @[PRNG.scala 55:49]
      i_mmu_dtlb_random_idx_prng_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_dtlb_random_idx_prng_state_1 <= i_mmu_dtlb_random_idx_prng_state_0;
    end
  end
  always @(posedge i_mmu_dtlb_random_idx_prng_1_clock) begin
    i_mmu_dtlb_random_idx_prng_1_state_0 <= i_mmu_dtlb_random_idx_prng_1_reset | i_mmu_dtlb_random_idx_prng_1__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_dtlb_random_idx_prng_1_reset) begin // @[PRNG.scala 55:49]
      i_mmu_dtlb_random_idx_prng_1_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_dtlb_random_idx_prng_1_state_1 <= i_mmu_dtlb_random_idx_prng_1_state_0;
    end
  end
  always @(posedge i_mmu_dtlb_random_idx_prng_2_clock) begin
    i_mmu_dtlb_random_idx_prng_2_state_0 <= i_mmu_dtlb_random_idx_prng_2_reset | i_mmu_dtlb_random_idx_prng_2__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_dtlb_random_idx_prng_2_reset) begin // @[PRNG.scala 55:49]
      i_mmu_dtlb_random_idx_prng_2_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_dtlb_random_idx_prng_2_state_1 <= i_mmu_dtlb_random_idx_prng_2_state_0;
    end
  end
  always @(posedge i_mmu_dtlb_random_idx_prng_3_clock) begin
    i_mmu_dtlb_random_idx_prng_3_state_0 <= i_mmu_dtlb_random_idx_prng_3_reset | i_mmu_dtlb_random_idx_prng_3__T; // @[PRNG.scala 55:{49,49}]
    if (i_mmu_dtlb_random_idx_prng_3_reset) begin // @[PRNG.scala 55:49]
      i_mmu_dtlb_random_idx_prng_3_state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else begin
      i_mmu_dtlb_random_idx_prng_3_state_1 <= i_mmu_dtlb_random_idx_prng_3_state_0;
    end
  end
  always @(posedge i_mmu_dtlb_clock) begin
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_0_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_0_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      i_mmu_dtlb_tag_0_is_valid <= i_mmu_dtlb__GEN_0;
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_0_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_0_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_dtlb__T_3) begin // @[TLB.scala 69:32]
        i_mmu_dtlb_tag_0_asid <= i_mmu_dtlb_io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_0_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_0_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_0_vpn_0 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_0_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_0_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_0_vpn_1 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_0_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_0_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (~i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_0_vpn_2 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_1_is_valid <= 1'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_1_is_valid <= 1'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      i_mmu_dtlb_tag_1_is_valid <= i_mmu_dtlb__GEN_1;
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_1_asid <= 16'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_1_asid <= 16'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_dtlb__T_3) begin // @[TLB.scala 69:32]
        i_mmu_dtlb_tag_1_asid <= i_mmu_dtlb_io_tlb_renew_bits_asid; // @[TLB.scala 69:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_1_vpn_0 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_1_vpn_0 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_1_vpn_0 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_0; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_1_vpn_1 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_1_vpn_1 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_1_vpn_1 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_1; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 59:20]
      i_mmu_dtlb_tag_1_vpn_2 <= 9'h0; // @[TLB.scala 59:20]
    end else if (i_mmu_dtlb_io_sfence_vma) begin // @[TLB.scala 64:25]
      i_mmu_dtlb_tag_1_vpn_2 <= 9'h0; // @[TLB.scala 65:47]
    end else if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
      if (i_mmu_dtlb__T_5) begin // @[TLB.scala 70:32]
        i_mmu_dtlb_tag_1_vpn_2 <= i_mmu_dtlb_io_tlb_renew_bits_vpn_2; // @[TLB.scala 70:32]
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_0_value <= 64'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_0_value <= i_mmu_dtlb_io_tlb_renew_bits_value; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_0_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_0_is_giga_page <= i_mmu_dtlb_io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_0_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (~i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_0_is_mega_page <= i_mmu_dtlb_io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_1_value <= 64'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_1_value <= i_mmu_dtlb_io_tlb_renew_bits_value; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_1_is_giga_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_1_is_giga_page <= i_mmu_dtlb_io_tlb_renew_bits_is_giga_page; // @[TLB.scala 71:32]
        end
      end
    end
    if (i_mmu_dtlb_reset) begin // @[TLB.scala 62:20]
      i_mmu_dtlb_pte_1_is_mega_page <= 1'h0; // @[TLB.scala 62:20]
    end else if (!(i_mmu_dtlb_io_sfence_vma)) begin // @[TLB.scala 64:25]
      if (i_mmu_dtlb_io_tlb_renew_valid) begin // @[TLB.scala 67:33]
        if (i_mmu_dtlb__T_7) begin // @[TLB.scala 71:32]
          i_mmu_dtlb_pte_1_is_mega_page <= i_mmu_dtlb_io_tlb_renew_bits_is_mega_page; // @[TLB.scala 71:32]
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu_dtlb__T_15 & i_mmu_dtlb__T_16) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Fail at tlb, more than 1 entry hit!\n    at TLB.scala:110 assert( PopCount( tlb_hit.asUInt ) <= 1.U, \"Assert Fail at tlb, more than 1 entry hit!\"  )\n"
            ); // @[TLB.scala 110:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu_dtlb__T_13 & i_mmu_dtlb__T_15) begin
          $fatal; // @[TLB.scala 110:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge i_mmu_iptw_clock) begin
    if (i_mmu_iptw_reset) begin // @[PTW.scala 87:26]
      i_mmu_iptw_currState <= 2'h0; // @[PTW.scala 87:26]
    end else if (i_mmu_iptw__T_1) begin // @[PTW.scala 110:23]
      if (i_mmu_iptw__nextState_T) begin // @[PTW.scala 112:23]
        i_mmu_iptw_currState <= 2'h1;
      end else begin
        i_mmu_iptw_currState <= 2'h0;
      end
    end else if (i_mmu_iptw__T_2) begin // @[PTW.scala 110:23]
      if (i_mmu_iptw_is_trans_done) begin // @[PTW.scala 116:12]
        i_mmu_iptw_currState <= i_mmu_iptw__nextState_T_5;
      end else begin
        i_mmu_iptw_currState <= 2'h1;
      end
    end else if (i_mmu_iptw__T_3) begin // @[PTW.scala 110:23]
      i_mmu_iptw_currState <= i_mmu_iptw__nextState_T_11; // @[PTW.scala 123:17]
    end else begin
      i_mmu_iptw_currState <= i_mmu_iptw__GEN_6;
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 89:27]
      i_mmu_iptw_kill_trans <= 1'h0; // @[PTW.scala 89:27]
    end else begin
      i_mmu_iptw_kill_trans <= i_mmu_iptw__GEN_36;
    end
    if (i_mmu_iptw_reset) begin // @[Edges.scala 228:27]
      i_mmu_iptw_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (i_mmu_iptw__T) begin // @[Edges.scala 234:17]
      if (i_mmu_iptw_first) begin // @[Edges.scala 235:21]
        i_mmu_iptw_counter <= i_mmu_iptw_beats1;
      end else begin
        i_mmu_iptw_counter <= i_mmu_iptw_counter1;
      end
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 95:26]
      i_mmu_iptw_addr_qout <= 32'h0; // @[PTW.scala 95:26]
    end else begin
      i_mmu_iptw_addr_qout <= i_mmu_iptw_addr_dnxt; // @[PTW.scala 95:26]
    end
    if (i_mmu_iptw__T_19) begin // @[PTW.scala 243:46]
      if (i_mmu__T_23) begin // @[MMU.scala 292:45]
        i_mmu_iptw_ptw_access_data_lo_0 <= i_mmu_io_ptw_access_bits_data; // @[MMU.scala 293:24]
      end else begin
        i_mmu_iptw_ptw_access_data_lo_0 <= 64'h0; // @[MMU.scala 281:27]
      end
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 234:24]
      i_mmu_iptw_pte_value_value <= 64'h0; // @[PTW.scala 234:24]
    end else if (i_mmu_iptw_is_trans_done) begin // @[PTW.scala 240:8]
      i_mmu_iptw_pte_value_value <= i_mmu_iptw_pte_value_data_sel;
    end
    if (i_mmu_iptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_iptw_walkReq_is_X <= i_mmu_iptw_io_ptw_i_bits_is_X; // @[Reg.scala 20:22]
    end
    if (i_mmu_iptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_iptw_walkReq_vaddr <= i_mmu_iptw_io_ptw_i_bits_vaddr; // @[Reg.scala 20:22]
    end
    if (i_mmu_iptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_iptw_asidReq <= i_mmu_iptw__asidReq_T; // @[Reg.scala 20:22]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_is_X <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_is_X <= i_mmu_iptw_walkReq_is_X; // @[PTW.scala 199:22]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_value <= 64'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      if (i_mmu_iptw_is_trans_done) begin // @[PTW.scala 240:8]
        i_mmu_iptw_walkRspBits_renew_value <= i_mmu_iptw_pte_value_data_sel;
      end else begin
        i_mmu_iptw_walkRspBits_renew_value <= i_mmu_iptw_pte_value_value;
      end
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_is_giga_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_is_giga_page <= i_mmu_iptw__pte_is_giga_page_T_1; // @[PTW.scala 202:58]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_is_mega_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_is_mega_page <= i_mmu_iptw__pte_is_mega_page_T_1; // @[PTW.scala 202:58]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_asid <= 16'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_asid <= i_mmu_iptw_asidReq; // @[PTW.scala 206:30]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_vpn_0 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_vpn_0 <= i_mmu_iptw__addr_dnxt_T_7; // @[PTW.scala 203:30]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_vpn_1 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_vpn_1 <= i_mmu_iptw__addr_dnxt_T_4; // @[PTW.scala 204:30]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_renew_vpn_2 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_renew_vpn_2 <= i_mmu_iptw__walkRspBits_renew_vpn_2_T; // @[PTW.scala 205:30]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_is_ptw_fail <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_iptw_walkRspBits_is_ptw_fail <= i_mmu_iptw__is_ptw_fail_T_36; // @[PTW.scala 198:29]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_iptw_walkRspBits_is_access_fault <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_iptw__T_7) begin // @[PTW.scala 188:73]
      i_mmu_iptw_walkRspBits_is_access_fault <= 1'h0; // @[PTW.scala 189:33]
    end else if (i_mmu_iptw__T_8) begin // @[PTW.scala 191:32]
      i_mmu_iptw_walkRspBits_is_access_fault <= i_mmu_iptw__walkRspBits_is_access_fault_T_1; // @[PTW.scala 192:33]
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 105:29]
      i_mmu_iptw_walkRspValid <= 1'h0; // @[PTW.scala 105:29]
    end else begin
      i_mmu_iptw_walkRspValid <= i_mmu_iptw__GEN_25;
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 342:30]
      i_mmu_iptw_ptw_get_valid <= 1'h0; // @[PTW.scala 342:30]
    end else begin
      i_mmu_iptw_ptw_get_valid <= i_mmu_iptw__GEN_32;
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 343:33]
      i_mmu_iptw_ptw_access_ready <= 1'h0; // @[PTW.scala 343:33]
    end else begin
      i_mmu_iptw_ptw_access_ready <= i_mmu_iptw__GEN_34;
    end
    if (i_mmu_iptw_reset) begin // @[PTW.scala 348:29]
      i_mmu_iptw_is_get_reqed <= 1'h0; // @[PTW.scala 348:29]
    end else begin
      i_mmu_iptw_is_get_reqed <= i_mmu_iptw__GEN_30;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu_iptw__T_11 & i_mmu_iptw__T_14 & i_mmu_iptw__T_15) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:210 assert( io.ptw_o.valid === false.B )\n"); // @[PTW.scala 210:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu_iptw__T_12 & (i_mmu_iptw__T_11 & i_mmu_iptw__T_14)) begin
          $fatal; // @[PTW.scala 210:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge i_mmu_dptw_clock) begin
    if (i_mmu_dptw_reset) begin // @[PTW.scala 87:26]
      i_mmu_dptw_currState <= 2'h0; // @[PTW.scala 87:26]
    end else if (i_mmu_dptw__T_1) begin // @[PTW.scala 110:23]
      if (i_mmu_dptw__nextState_T) begin // @[PTW.scala 112:23]
        i_mmu_dptw_currState <= 2'h1;
      end else begin
        i_mmu_dptw_currState <= 2'h0;
      end
    end else if (i_mmu_dptw__T_2) begin // @[PTW.scala 110:23]
      if (i_mmu_dptw_is_trans_done) begin // @[PTW.scala 116:12]
        i_mmu_dptw_currState <= i_mmu_dptw__nextState_T_5;
      end else begin
        i_mmu_dptw_currState <= 2'h1;
      end
    end else if (i_mmu_dptw__T_3) begin // @[PTW.scala 110:23]
      i_mmu_dptw_currState <= i_mmu_dptw__nextState_T_11; // @[PTW.scala 123:17]
    end else begin
      i_mmu_dptw_currState <= i_mmu_dptw__GEN_6;
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 89:27]
      i_mmu_dptw_kill_trans <= 1'h0; // @[PTW.scala 89:27]
    end else begin
      i_mmu_dptw_kill_trans <= i_mmu_dptw__GEN_36;
    end
    if (i_mmu_dptw_reset) begin // @[Edges.scala 228:27]
      i_mmu_dptw_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (i_mmu_dptw__T) begin // @[Edges.scala 234:17]
      if (i_mmu_dptw_first) begin // @[Edges.scala 235:21]
        i_mmu_dptw_counter <= i_mmu_dptw_beats1;
      end else begin
        i_mmu_dptw_counter <= i_mmu_dptw_counter1;
      end
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 95:26]
      i_mmu_dptw_addr_qout <= 32'h0; // @[PTW.scala 95:26]
    end else begin
      i_mmu_dptw_addr_qout <= i_mmu_dptw_addr_dnxt; // @[PTW.scala 95:26]
    end
    if (i_mmu_dptw__T_19) begin // @[PTW.scala 243:46]
      if (i_mmu__T_23) begin // @[MMU.scala 292:45]
        i_mmu_dptw_ptw_access_data_lo_0 <= 64'h0; // @[MMU.scala 282:27]
      end else if (i_mmu_io_ptw_access_bits_source) begin // @[MMU.scala 294:52]
        i_mmu_dptw_ptw_access_data_lo_0 <= i_mmu_io_ptw_access_bits_data; // @[MMU.scala 295:24]
      end else begin
        i_mmu_dptw_ptw_access_data_lo_0 <= 64'h0; // @[MMU.scala 282:27]
      end
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 234:24]
      i_mmu_dptw_pte_value_value <= 64'h0; // @[PTW.scala 234:24]
    end else if (i_mmu_dptw_is_trans_done) begin // @[PTW.scala 240:8]
      i_mmu_dptw_pte_value_value <= i_mmu_dptw_pte_value_data_sel;
    end
    if (i_mmu_dptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_dptw_walkReq_is_X <= i_mmu_dptw_io_ptw_i_bits_is_X; // @[Reg.scala 20:22]
    end
    if (i_mmu_dptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_dptw_walkReq_vaddr <= i_mmu_dptw_io_ptw_i_bits_vaddr; // @[Reg.scala 20:22]
    end
    if (i_mmu_dptw__walkReq_T_2) begin // @[Reg.scala 20:18]
      i_mmu_dptw_asidReq <= i_mmu_dptw__asidReq_T; // @[Reg.scala 20:22]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_is_X <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_is_X <= i_mmu_dptw_walkReq_is_X; // @[PTW.scala 199:22]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_value <= 64'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      if (i_mmu_dptw_is_trans_done) begin // @[PTW.scala 240:8]
        i_mmu_dptw_walkRspBits_renew_value <= i_mmu_dptw_pte_value_data_sel;
      end else begin
        i_mmu_dptw_walkRspBits_renew_value <= i_mmu_dptw_pte_value_value;
      end
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_is_giga_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_is_giga_page <= i_mmu_dptw__pte_is_giga_page_T_1; // @[PTW.scala 202:58]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_is_mega_page <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_is_mega_page <= i_mmu_dptw__pte_is_mega_page_T_1; // @[PTW.scala 202:58]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_asid <= 16'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_asid <= i_mmu_dptw_asidReq; // @[PTW.scala 206:30]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_vpn_0 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_vpn_0 <= i_mmu_dptw__addr_dnxt_T_7; // @[PTW.scala 203:30]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_vpn_1 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_vpn_1 <= i_mmu_dptw__addr_dnxt_T_4; // @[PTW.scala 204:30]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_renew_vpn_2 <= 9'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_renew_vpn_2 <= i_mmu_dptw__walkRspBits_renew_vpn_2_T; // @[PTW.scala 205:30]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_is_ptw_fail <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_11) begin // @[PTW.scala 197:73]
      i_mmu_dptw_walkRspBits_is_ptw_fail <= i_mmu_dptw__is_ptw_fail_T_36; // @[PTW.scala 198:29]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 104:28]
      i_mmu_dptw_walkRspBits_is_access_fault <= 1'h0; // @[PTW.scala 104:28]
    end else if (i_mmu_dptw__T_7) begin // @[PTW.scala 188:73]
      i_mmu_dptw_walkRspBits_is_access_fault <= 1'h0; // @[PTW.scala 189:33]
    end else if (i_mmu_dptw__T_8) begin // @[PTW.scala 191:32]
      i_mmu_dptw_walkRspBits_is_access_fault <= i_mmu_dptw__walkRspBits_is_access_fault_T_1; // @[PTW.scala 192:33]
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 105:29]
      i_mmu_dptw_walkRspValid <= 1'h0; // @[PTW.scala 105:29]
    end else begin
      i_mmu_dptw_walkRspValid <= i_mmu_dptw__GEN_25;
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 342:30]
      i_mmu_dptw_ptw_get_valid <= 1'h0; // @[PTW.scala 342:30]
    end else begin
      i_mmu_dptw_ptw_get_valid <= i_mmu_dptw__GEN_32;
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 343:33]
      i_mmu_dptw_ptw_access_ready <= 1'h0; // @[PTW.scala 343:33]
    end else begin
      i_mmu_dptw_ptw_access_ready <= i_mmu_dptw__GEN_34;
    end
    if (i_mmu_dptw_reset) begin // @[PTW.scala 348:29]
      i_mmu_dptw_is_get_reqed <= 1'h0; // @[PTW.scala 348:29]
    end else begin
      i_mmu_dptw_is_get_reqed <= i_mmu_dptw__GEN_30;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu_dptw__T_11 & i_mmu_dptw__T_14 & i_mmu_dptw__T_15) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:210 assert( io.ptw_o.valid === false.B )\n"); // @[PTW.scala 210:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu_dptw__T_12 & (i_mmu_dptw__T_11 & i_mmu_dptw__T_14)) begin
          $fatal; // @[PTW.scala 210:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge i_mmu_clock) begin
    if (i_mmu_reset) begin // @[MMU.scala 141:26]
      i_mmu_kill_iptw <= 1'h0; // @[MMU.scala 141:26]
    end else begin
      i_mmu_kill_iptw <= i_mmu__GEN_1;
    end
    if (i_mmu_reset) begin // @[MMU.scala 142:26]
      i_mmu_kill_dptw <= 1'h0; // @[MMU.scala 142:26]
    end else begin
      i_mmu_kill_dptw <= i_mmu__GEN_3;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu__T_4 & i_mmu__T_5) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MMU.scala:170 assert( io.lsu_mmu.fire === io.mmu_lsu.fire )\n"
            ); // @[MMU.scala 170:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu__T_2 & i_mmu__T_4) begin
          $fatal; // @[MMU.scala 170:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu__T_4 & i_mmu__T_13) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MMU.scala:220 assert( ~((iptw.io.ptw_o.bits.is_X & iptw.io.ptw_o.valid) & itlb.io.is_hit & ~kill_iptw )  )\n"
            ); // @[MMU.scala 220:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu__T_10 & i_mmu__T_4) begin
          $fatal; // @[MMU.scala 220:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu__T_4 & i_mmu__T_22) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MMU.scala:256 assert( ~((~dptw.io.ptw_o.bits.is_X & dptw.io.ptw_o.valid) & dtlb.io.is_hit & ~kill_dptw)  )\n"
            ); // @[MMU.scala 256:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu__T_19 & i_mmu__T_4) begin
          $fatal; // @[MMU.scala 256:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (i_mmu_io_cmm_mmu_sfence_vma & i_mmu__T_4 & i_mmu__T_28) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MMU.scala:338 assert( io.if_flush & io.lsu_flush )\n"); // @[MMU.scala 338:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~i_mmu__T_25 & (i_mmu_io_cmm_mmu_sfence_vma & i_mmu__T_4)) begin
          $fatal; // @[MMU.scala 338:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_43 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_0[initvar] = _RAND_43[7:0];
  _RAND_46 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_1[initvar] = _RAND_46[7:0];
  _RAND_49 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_2[initvar] = _RAND_49[7:0];
  _RAND_52 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_3[initvar] = _RAND_52[7:0];
  _RAND_55 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_4[initvar] = _RAND_55[7:0];
  _RAND_58 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_5[initvar] = _RAND_58[7:0];
  _RAND_61 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_6[initvar] = _RAND_61[7:0];
  _RAND_64 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_7[initvar] = _RAND_64[7:0];
  _RAND_67 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_8[initvar] = _RAND_67[7:0];
  _RAND_70 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_9[initvar] = _RAND_70[7:0];
  _RAND_73 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_10[initvar] = _RAND_73[7:0];
  _RAND_76 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_11[initvar] = _RAND_76[7:0];
  _RAND_79 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_12[initvar] = _RAND_79[7:0];
  _RAND_82 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_13[initvar] = _RAND_82[7:0];
  _RAND_85 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_14[initvar] = _RAND_85[7:0];
  _RAND_88 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_0_datMem_15[initvar] = _RAND_88[7:0];
  _RAND_91 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_0[initvar] = _RAND_91[7:0];
  _RAND_94 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_1[initvar] = _RAND_94[7:0];
  _RAND_97 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_2[initvar] = _RAND_97[7:0];
  _RAND_100 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_3[initvar] = _RAND_100[7:0];
  _RAND_103 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_4[initvar] = _RAND_103[7:0];
  _RAND_106 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_5[initvar] = _RAND_106[7:0];
  _RAND_109 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_6[initvar] = _RAND_109[7:0];
  _RAND_112 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_7[initvar] = _RAND_112[7:0];
  _RAND_115 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_8[initvar] = _RAND_115[7:0];
  _RAND_118 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_9[initvar] = _RAND_118[7:0];
  _RAND_121 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_10[initvar] = _RAND_121[7:0];
  _RAND_124 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_11[initvar] = _RAND_124[7:0];
  _RAND_127 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_12[initvar] = _RAND_127[7:0];
  _RAND_130 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_13[initvar] = _RAND_130[7:0];
  _RAND_133 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_14[initvar] = _RAND_133[7:0];
  _RAND_136 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_datRAM_1_datMem_15[initvar] = _RAND_136[7:0];
  _RAND_139 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_tagRAM_0_tagMem[initvar] = _RAND_139[25:0];
  _RAND_142 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if2_tagRAM_1_tagMem[initvar] = _RAND_142[25:0];
  _RAND_177 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    if3_btb_bypassFifo_ram_target[initvar] = _RAND_177[38:0];
  _RAND_179 = {2{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if3_btb_btb_table_target[initvar] = _RAND_179[38:0];
  _RAND_185 = {1{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    if3_bim_bim_P[initvar] = _RAND_185[0:0];
  _RAND_188 = {1{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    if3_bim_bim_H[initvar] = _RAND_188[0:0];
  _RAND_191 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    if3_bim_bypassFifo_ram_0[initvar] = _RAND_191[0:0];
  _RAND_192 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    if3_bim_bypassFifo_ram_1[initvar] = _RAND_192[0:0];
  _RAND_242 = {2{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    if4_ras_buf_target[initvar] = _RAND_242[38:0];
  _RAND_1020 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_add[initvar] = _RAND_1020[0:0];
  _RAND_1021 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_slt[initvar] = _RAND_1021[0:0];
  _RAND_1022 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_xor[initvar] = _RAND_1022[0:0];
  _RAND_1023 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_or[initvar] = _RAND_1023[0:0];
  _RAND_1024 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_and[initvar] = _RAND_1024[0:0];
  _RAND_1025 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_sll[initvar] = _RAND_1025[0:0];
  _RAND_1026 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_srl[initvar] = _RAND_1026[0:0];
  _RAND_1027 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_fun_sra[initvar] = _RAND_1027[0:0];
  _RAND_1028 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_param_rd0[initvar] = _RAND_1028[5:0];
  _RAND_1029 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_param_is_32w[initvar] = _RAND_1029[0:0];
  _RAND_1030 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_param_is_usi[initvar] = _RAND_1030[0:0];
  _RAND_1031 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_param_dat_op1[initvar] = _RAND_1031[63:0];
  _RAND_1032 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_aluIssFifo_0_ram_param_dat_op2[initvar] = _RAND_1032[63:0];
  _RAND_1034 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_mul[initvar] = _RAND_1034[0:0];
  _RAND_1035 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_mulh[initvar] = _RAND_1035[0:0];
  _RAND_1036 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_mulhsu[initvar] = _RAND_1036[0:0];
  _RAND_1037 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_mulhu[initvar] = _RAND_1037[0:0];
  _RAND_1038 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_div[initvar] = _RAND_1038[0:0];
  _RAND_1039 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_divu[initvar] = _RAND_1039[0:0];
  _RAND_1040 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_rem[initvar] = _RAND_1040[0:0];
  _RAND_1041 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_remu[initvar] = _RAND_1041[0:0];
  _RAND_1042 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_mulw[initvar] = _RAND_1042[0:0];
  _RAND_1043 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_divw[initvar] = _RAND_1043[0:0];
  _RAND_1044 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_divuw[initvar] = _RAND_1044[0:0];
  _RAND_1045 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_remw[initvar] = _RAND_1045[0:0];
  _RAND_1046 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_fun_remuw[initvar] = _RAND_1046[0:0];
  _RAND_1047 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_param_rd0[initvar] = _RAND_1047[5:0];
  _RAND_1048 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_param_dat_op1[initvar] = _RAND_1048[63:0];
  _RAND_1049 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_mulIssFifo_0_ram_param_dat_op2[initvar] = _RAND_1049[63:0];
  _RAND_1051 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_jalr[initvar] = _RAND_1051[0:0];
  _RAND_1052 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_beq[initvar] = _RAND_1052[0:0];
  _RAND_1053 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_bne[initvar] = _RAND_1053[0:0];
  _RAND_1054 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_blt[initvar] = _RAND_1054[0:0];
  _RAND_1055 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_bge[initvar] = _RAND_1055[0:0];
  _RAND_1056 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_bltu[initvar] = _RAND_1056[0:0];
  _RAND_1057 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_fun_bgeu[initvar] = _RAND_1057[0:0];
  _RAND_1058 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_rd0[initvar] = _RAND_1058[5:0];
  _RAND_1059 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_is_rvc[initvar] = _RAND_1059[0:0];
  _RAND_1060 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_pc[initvar] = _RAND_1060[63:0];
  _RAND_1061 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_imm[initvar] = _RAND_1061[63:0];
  _RAND_1062 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_dat_op1[initvar] = _RAND_1062[63:0];
  _RAND_1063 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_bruIssFifo_ram_param_dat_op2[initvar] = _RAND_1063[63:0];
  _RAND_1065 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_fun_rw[initvar] = _RAND_1065[0:0];
  _RAND_1066 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_fun_rs[initvar] = _RAND_1066[0:0];
  _RAND_1067 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_fun_rc[initvar] = _RAND_1067[0:0];
  _RAND_1068 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_param_rd0[initvar] = _RAND_1068[5:0];
  _RAND_1069 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_param_dat_op1[initvar] = _RAND_1069[63:0];
  _RAND_1070 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_csrIssFifo_ram_param_dat_op2[initvar] = _RAND_1070[63:0];
  _RAND_1072 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lb[initvar] = _RAND_1072[0:0];
  _RAND_1073 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lh[initvar] = _RAND_1073[0:0];
  _RAND_1074 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lw[initvar] = _RAND_1074[0:0];
  _RAND_1075 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_ld[initvar] = _RAND_1075[0:0];
  _RAND_1076 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lbu[initvar] = _RAND_1076[0:0];
  _RAND_1077 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lhu[initvar] = _RAND_1077[0:0];
  _RAND_1078 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lwu[initvar] = _RAND_1078[0:0];
  _RAND_1079 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sb[initvar] = _RAND_1079[0:0];
  _RAND_1080 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sh[initvar] = _RAND_1080[0:0];
  _RAND_1081 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sw[initvar] = _RAND_1081[0:0];
  _RAND_1082 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sd[initvar] = _RAND_1082[0:0];
  _RAND_1083 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_fence[initvar] = _RAND_1083[0:0];
  _RAND_1084 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_fence_i[initvar] = _RAND_1084[0:0];
  _RAND_1085 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sfence_vma[initvar] = _RAND_1085[0:0];
  _RAND_1086 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lr_w[initvar] = _RAND_1086[0:0];
  _RAND_1087 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sc_w[initvar] = _RAND_1087[0:0];
  _RAND_1088 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoswap_w[initvar] = _RAND_1088[0:0];
  _RAND_1089 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoadd_w[initvar] = _RAND_1089[0:0];
  _RAND_1090 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoxor_w[initvar] = _RAND_1090[0:0];
  _RAND_1091 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoand_w[initvar] = _RAND_1091[0:0];
  _RAND_1092 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoor_w[initvar] = _RAND_1092[0:0];
  _RAND_1093 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomin_w[initvar] = _RAND_1093[0:0];
  _RAND_1094 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomax_w[initvar] = _RAND_1094[0:0];
  _RAND_1095 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amominu_w[initvar] = _RAND_1095[0:0];
  _RAND_1096 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomaxu_w[initvar] = _RAND_1096[0:0];
  _RAND_1097 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_lr_d[initvar] = _RAND_1097[0:0];
  _RAND_1098 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_sc_d[initvar] = _RAND_1098[0:0];
  _RAND_1099 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoswap_d[initvar] = _RAND_1099[0:0];
  _RAND_1100 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoadd_d[initvar] = _RAND_1100[0:0];
  _RAND_1101 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoxor_d[initvar] = _RAND_1101[0:0];
  _RAND_1102 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoand_d[initvar] = _RAND_1102[0:0];
  _RAND_1103 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amoor_d[initvar] = _RAND_1103[0:0];
  _RAND_1104 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomin_d[initvar] = _RAND_1104[0:0];
  _RAND_1105 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomax_d[initvar] = _RAND_1105[0:0];
  _RAND_1106 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amominu_d[initvar] = _RAND_1106[0:0];
  _RAND_1107 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_amomaxu_d[initvar] = _RAND_1107[0:0];
  _RAND_1108 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_flw[initvar] = _RAND_1108[0:0];
  _RAND_1109 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_fsw[initvar] = _RAND_1109[0:0];
  _RAND_1110 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_fld[initvar] = _RAND_1110[0:0];
  _RAND_1111 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_fun_fsd[initvar] = _RAND_1111[0:0];
  _RAND_1112 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_param_rd0[initvar] = _RAND_1112[5:0];
  _RAND_1113 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_param_dat_op1[initvar] = _RAND_1113[63:0];
  _RAND_1114 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    iss_stage_lsuIssFifo_ram_param_dat_op2[initvar] = _RAND_1114[63:0];
  _RAND_1566 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_rd0[initvar] = _RAND_1566[5:0];
  _RAND_1567 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_alu_0_alu_exe_iwb_fifo_ram_res[initvar] = _RAND_1567[63:0];
  _RAND_1569 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bru_exe_iwb_fifo_ram_rd0[initvar] = _RAND_1569[5:0];
  _RAND_1570 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bru_exe_iwb_fifo_ram_res[initvar] = _RAND_1570[63:0];
  _RAND_1572 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_pc[initvar] = _RAND_1572[38:0];
  _RAND_1573 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_bimResp_bim_p[initvar] = _RAND_1573[0:0];
  _RAND_1574 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_bimResp_bim_h[initvar] = _RAND_1574[0:0];
  _RAND_1575 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_isPredictTaken[initvar] = _RAND_1575[0:0];
  _RAND_1576 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_isFinalTaken[initvar] = _RAND_1576[0:0];
  _RAND_1577 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_bctq_ram_finalTarget[initvar] = _RAND_1577[63:0];
  _RAND_1579 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_jctq_ram_pc[initvar] = _RAND_1579[38:0];
  _RAND_1580 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_jctq_ram_btbResp_target[initvar] = _RAND_1580[38:0];
  _RAND_1581 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_jctq_ram_rasResp_target[initvar] = _RAND_1581[38:0];
  _RAND_1582 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_jctq_ram_isRas[initvar] = _RAND_1582[0:0];
  _RAND_1583 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_bru_jctq_ram_finalTarget[initvar] = _RAND_1583[63:0];
  _RAND_1768 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_probeUnit_probe_fifo_ram[initvar] = _RAND_1768[31:0];
  _RAND_1770 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_paddr[initvar] = _RAND_1770[31:0];
  _RAND_1771 = {4{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_data[initvar] = _RAND_1771[127:0];
  _RAND_1772 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_releaseData[initvar] = _RAND_1772[0:0];
  _RAND_1773 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_release[initvar] = _RAND_1773[0:0];
  _RAND_1774 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probe[initvar] = _RAND_1774[0:0];
  _RAND_1775 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_ram_is_probeData[initvar] = _RAND_1775[0:0];
  _RAND_1784 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_chkIdx[initvar] = _RAND_1784[0:0];
  _RAND_1785 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_paddr[initvar] = _RAND_1785[31:0];
  _RAND_1786 = {4{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_wdata[initvar] = _RAND_1786[127:0];
  _RAND_1787 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_wstrb[initvar] = _RAND_1787[15:0];
  _RAND_1788 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lb[initvar] = _RAND_1788[0:0];
  _RAND_1789 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lh[initvar] = _RAND_1789[0:0];
  _RAND_1790 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lw[initvar] = _RAND_1790[0:0];
  _RAND_1791 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_ld[initvar] = _RAND_1791[0:0];
  _RAND_1792 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lbu[initvar] = _RAND_1792[0:0];
  _RAND_1793 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lhu[initvar] = _RAND_1793[0:0];
  _RAND_1794 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lwu[initvar] = _RAND_1794[0:0];
  _RAND_1795 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sb[initvar] = _RAND_1795[0:0];
  _RAND_1796 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sh[initvar] = _RAND_1796[0:0];
  _RAND_1797 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sw[initvar] = _RAND_1797[0:0];
  _RAND_1798 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sd[initvar] = _RAND_1798[0:0];
  _RAND_1799 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_w[initvar] = _RAND_1799[0:0];
  _RAND_1800 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_w[initvar] = _RAND_1800[0:0];
  _RAND_1801 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_w[initvar] = _RAND_1801[0:0];
  _RAND_1802 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_w[initvar] = _RAND_1802[0:0];
  _RAND_1803 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_w[initvar] = _RAND_1803[0:0];
  _RAND_1804 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_w[initvar] = _RAND_1804[0:0];
  _RAND_1805 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_w[initvar] = _RAND_1805[0:0];
  _RAND_1806 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_w[initvar] = _RAND_1806[0:0];
  _RAND_1807 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_w[initvar] = _RAND_1807[0:0];
  _RAND_1808 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_w[initvar] = _RAND_1808[0:0];
  _RAND_1809 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_w[initvar] = _RAND_1809[0:0];
  _RAND_1810 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_lr_d[initvar] = _RAND_1810[0:0];
  _RAND_1811 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_sc_d[initvar] = _RAND_1811[0:0];
  _RAND_1812 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoswap_d[initvar] = _RAND_1812[0:0];
  _RAND_1813 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoadd_d[initvar] = _RAND_1813[0:0];
  _RAND_1814 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoxor_d[initvar] = _RAND_1814[0:0];
  _RAND_1815 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoand_d[initvar] = _RAND_1815[0:0];
  _RAND_1816 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amoor_d[initvar] = _RAND_1816[0:0];
  _RAND_1817 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomin_d[initvar] = _RAND_1817[0:0];
  _RAND_1818 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomax_d[initvar] = _RAND_1818[0:0];
  _RAND_1819 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amominu_d[initvar] = _RAND_1819[0:0];
  _RAND_1820 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_amomaxu_d[initvar] = _RAND_1820[0:0];
  _RAND_1821 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_flw[initvar] = _RAND_1821[0:0];
  _RAND_1822 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fsw[initvar] = _RAND_1822[0:0];
  _RAND_1823 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fld[initvar] = _RAND_1823[0:0];
  _RAND_1824 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_fsd[initvar] = _RAND_1824[0:0];
  _RAND_1825 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_probe[initvar] = _RAND_1825[0:0];
  _RAND_1826 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_grant[initvar] = _RAND_1826[0:0];
  _RAND_1827 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_fun_preft[initvar] = _RAND_1827[0:0];
  _RAND_1828 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_lsEntry_ram_rd_rd0[initvar] = _RAND_1828[5:0];
  _RAND_1832 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_chkIdx[initvar] = _RAND_1832[0:0];
  _RAND_1833 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_wb_rd0[initvar] = _RAND_1833[5:0];
  _RAND_1834 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_wb_res[initvar] = _RAND_1834[63:0];
  _RAND_1835 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_load_amo[initvar] = _RAND_1835[0:0];
  _RAND_1836 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_flw[initvar] = _RAND_1836[0:0];
  _RAND_1837 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    exe_stage_lsu_cache_0_rtn_fifo_ram_is_fld[initvar] = _RAND_1837[0:0];
  _RAND_1841 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_chkIdx[initvar] = _RAND_1841[0:0];
  _RAND_1842 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_paddr[initvar] = _RAND_1842[31:0];
  _RAND_1843 = {4{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_wdata[initvar] = _RAND_1843[127:0];
  _RAND_1844 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_wstrb[initvar] = _RAND_1844[15:0];
  _RAND_1845 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lb[initvar] = _RAND_1845[0:0];
  _RAND_1846 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lh[initvar] = _RAND_1846[0:0];
  _RAND_1847 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lw[initvar] = _RAND_1847[0:0];
  _RAND_1848 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_ld[initvar] = _RAND_1848[0:0];
  _RAND_1849 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lbu[initvar] = _RAND_1849[0:0];
  _RAND_1850 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lhu[initvar] = _RAND_1850[0:0];
  _RAND_1851 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lwu[initvar] = _RAND_1851[0:0];
  _RAND_1852 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sb[initvar] = _RAND_1852[0:0];
  _RAND_1853 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sh[initvar] = _RAND_1853[0:0];
  _RAND_1854 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sw[initvar] = _RAND_1854[0:0];
  _RAND_1855 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sd[initvar] = _RAND_1855[0:0];
  _RAND_1856 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_w[initvar] = _RAND_1856[0:0];
  _RAND_1857 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_w[initvar] = _RAND_1857[0:0];
  _RAND_1858 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_w[initvar] = _RAND_1858[0:0];
  _RAND_1859 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_w[initvar] = _RAND_1859[0:0];
  _RAND_1860 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_w[initvar] = _RAND_1860[0:0];
  _RAND_1861 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_w[initvar] = _RAND_1861[0:0];
  _RAND_1862 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_w[initvar] = _RAND_1862[0:0];
  _RAND_1863 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_w[initvar] = _RAND_1863[0:0];
  _RAND_1864 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_w[initvar] = _RAND_1864[0:0];
  _RAND_1865 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_w[initvar] = _RAND_1865[0:0];
  _RAND_1866 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_w[initvar] = _RAND_1866[0:0];
  _RAND_1867 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_lr_d[initvar] = _RAND_1867[0:0];
  _RAND_1868 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_sc_d[initvar] = _RAND_1868[0:0];
  _RAND_1869 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoswap_d[initvar] = _RAND_1869[0:0];
  _RAND_1870 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoadd_d[initvar] = _RAND_1870[0:0];
  _RAND_1871 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoxor_d[initvar] = _RAND_1871[0:0];
  _RAND_1872 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoand_d[initvar] = _RAND_1872[0:0];
  _RAND_1873 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amoor_d[initvar] = _RAND_1873[0:0];
  _RAND_1874 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomin_d[initvar] = _RAND_1874[0:0];
  _RAND_1875 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomax_d[initvar] = _RAND_1875[0:0];
  _RAND_1876 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amominu_d[initvar] = _RAND_1876[0:0];
  _RAND_1877 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_amomaxu_d[initvar] = _RAND_1877[0:0];
  _RAND_1878 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_flw[initvar] = _RAND_1878[0:0];
  _RAND_1879 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsw[initvar] = _RAND_1879[0:0];
  _RAND_1880 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fld[initvar] = _RAND_1880[0:0];
  _RAND_1881 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_fsd[initvar] = _RAND_1881[0:0];
  _RAND_1882 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_probe[initvar] = _RAND_1882[0:0];
  _RAND_1883 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_grant[initvar] = _RAND_1883[0:0];
  _RAND_1884 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_fun_preft[initvar] = _RAND_1884[0:0];
  _RAND_1885 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_cache_0_reload_fifo_ram_rd_rd0[initvar] = _RAND_1885[5:0];
  _RAND_1887 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0[initvar] = _RAND_1887[7:0];
  _RAND_1890 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1[initvar] = _RAND_1890[7:0];
  _RAND_1893 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2[initvar] = _RAND_1893[7:0];
  _RAND_1896 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3[initvar] = _RAND_1896[7:0];
  _RAND_1899 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4[initvar] = _RAND_1899[7:0];
  _RAND_1902 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5[initvar] = _RAND_1902[7:0];
  _RAND_1905 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6[initvar] = _RAND_1905[7:0];
  _RAND_1908 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7[initvar] = _RAND_1908[7:0];
  _RAND_1911 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8[initvar] = _RAND_1911[7:0];
  _RAND_1914 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9[initvar] = _RAND_1914[7:0];
  _RAND_1917 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10[initvar] = _RAND_1917[7:0];
  _RAND_1920 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11[initvar] = _RAND_1920[7:0];
  _RAND_1923 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12[initvar] = _RAND_1923[7:0];
  _RAND_1926 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13[initvar] = _RAND_1926[7:0];
  _RAND_1929 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14[initvar] = _RAND_1929[7:0];
  _RAND_1932 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15[initvar] = _RAND_1932[7:0];
  _RAND_1935 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0[initvar] = _RAND_1935[7:0];
  _RAND_1938 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1[initvar] = _RAND_1938[7:0];
  _RAND_1941 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2[initvar] = _RAND_1941[7:0];
  _RAND_1944 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3[initvar] = _RAND_1944[7:0];
  _RAND_1947 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4[initvar] = _RAND_1947[7:0];
  _RAND_1950 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5[initvar] = _RAND_1950[7:0];
  _RAND_1953 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6[initvar] = _RAND_1953[7:0];
  _RAND_1956 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7[initvar] = _RAND_1956[7:0];
  _RAND_1959 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8[initvar] = _RAND_1959[7:0];
  _RAND_1962 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9[initvar] = _RAND_1962[7:0];
  _RAND_1965 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10[initvar] = _RAND_1965[7:0];
  _RAND_1968 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11[initvar] = _RAND_1968[7:0];
  _RAND_1971 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12[initvar] = _RAND_1971[7:0];
  _RAND_1974 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13[initvar] = _RAND_1974[7:0];
  _RAND_1977 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14[initvar] = _RAND_1977[7:0];
  _RAND_1980 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15[initvar] = _RAND_1980[7:0];
  _RAND_1983 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem[initvar] = _RAND_1983[25:0];
  _RAND_1986 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem[initvar] = _RAND_1986[25:0];
  _RAND_2205 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_lu_wb_fifo_ram_rd0[initvar] = _RAND_2205[5:0];
  _RAND_2206 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_lu_wb_fifo_ram_res[initvar] = _RAND_2206[63:0];
  _RAND_2209 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_su_wb_fifo_ram_rd0[initvar] = _RAND_2209[5:0];
  _RAND_2210 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_su_wb_fifo_ram_res[initvar] = _RAND_2210[63:0];
  _RAND_2212 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_fe_wb_fifo_ram_rd0[initvar] = _RAND_2212[5:0];
  _RAND_2213 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_lsu_fe_wb_fifo_ram_res[initvar] = _RAND_2213[63:0];
  _RAND_2222 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_exe_iwb_fifo_ram_rd0[initvar] = _RAND_2222[5:0];
  _RAND_2223 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_exe_iwb_fifo_ram_res[initvar] = _RAND_2223[63:0];
  _RAND_2225 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_op_fifo_ram_addr[initvar] = _RAND_2225[11:0];
  _RAND_2226 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_op_fifo_ram_dat_i[initvar] = _RAND_2226[63:0];
  _RAND_2227 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_op_fifo_ram_op_rw[initvar] = _RAND_2227[0:0];
  _RAND_2228 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_op_fifo_ram_op_rs[initvar] = _RAND_2228[0:0];
  _RAND_2229 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_csr_csr_op_fifo_ram_op_rc[initvar] = _RAND_2229[0:0];
  _RAND_2231 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_rd0[initvar] = _RAND_2231[5:0];
  _RAND_2232 = {2{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    exe_stage_mulDiv_0_mul_exe_iwb_fifo_ram_res[initvar] = _RAND_2232[63:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  if1_pc_qout = _RAND_0[63:0];
  _RAND_1 = {2{`RANDOM}};
  if2_ibuf_buf_0_pc = _RAND_1[38:0];
  _RAND_2 = {1{`RANDOM}};
  if2_ibuf_buf_0_instr = _RAND_2[15:0];
  _RAND_3 = {1{`RANDOM}};
  if2_ibuf_buf_0_isFault = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  if2_ibuf_buf_0_isRedirect = _RAND_4[0:0];
  _RAND_5 = {2{`RANDOM}};
  if2_ibuf_buf_1_pc = _RAND_5[38:0];
  _RAND_6 = {1{`RANDOM}};
  if2_ibuf_buf_1_instr = _RAND_6[15:0];
  _RAND_7 = {1{`RANDOM}};
  if2_ibuf_buf_1_isFault = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  if2_ibuf_buf_1_isRedirect = _RAND_8[0:0];
  _RAND_9 = {2{`RANDOM}};
  if2_ibuf_buf_2_pc = _RAND_9[38:0];
  _RAND_10 = {1{`RANDOM}};
  if2_ibuf_buf_2_instr = _RAND_10[15:0];
  _RAND_11 = {1{`RANDOM}};
  if2_ibuf_buf_2_isFault = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  if2_ibuf_buf_2_isRedirect = _RAND_12[0:0];
  _RAND_13 = {2{`RANDOM}};
  if2_ibuf_buf_3_pc = _RAND_13[38:0];
  _RAND_14 = {1{`RANDOM}};
  if2_ibuf_buf_3_instr = _RAND_14[15:0];
  _RAND_15 = {1{`RANDOM}};
  if2_ibuf_buf_3_isFault = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  if2_ibuf_buf_3_isRedirect = _RAND_16[0:0];
  _RAND_17 = {2{`RANDOM}};
  if2_ibuf_buf_4_pc = _RAND_17[38:0];
  _RAND_18 = {1{`RANDOM}};
  if2_ibuf_buf_4_instr = _RAND_18[15:0];
  _RAND_19 = {1{`RANDOM}};
  if2_ibuf_buf_4_isFault = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  if2_ibuf_buf_4_isRedirect = _RAND_20[0:0];
  _RAND_21 = {2{`RANDOM}};
  if2_ibuf_buf_5_pc = _RAND_21[38:0];
  _RAND_22 = {1{`RANDOM}};
  if2_ibuf_buf_5_instr = _RAND_22[15:0];
  _RAND_23 = {1{`RANDOM}};
  if2_ibuf_buf_5_isFault = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  if2_ibuf_buf_5_isRedirect = _RAND_24[0:0];
  _RAND_25 = {2{`RANDOM}};
  if2_ibuf_buf_6_pc = _RAND_25[38:0];
  _RAND_26 = {1{`RANDOM}};
  if2_ibuf_buf_6_instr = _RAND_26[15:0];
  _RAND_27 = {1{`RANDOM}};
  if2_ibuf_buf_6_isFault = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  if2_ibuf_buf_6_isRedirect = _RAND_28[0:0];
  _RAND_29 = {2{`RANDOM}};
  if2_ibuf_buf_7_pc = _RAND_29[38:0];
  _RAND_30 = {1{`RANDOM}};
  if2_ibuf_buf_7_instr = _RAND_30[15:0];
  _RAND_31 = {1{`RANDOM}};
  if2_ibuf_buf_7_isFault = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  if2_ibuf_buf_7_isRedirect = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  if2_ibuf_buf_valid_0 = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  if2_ibuf_buf_valid_1 = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  if2_ibuf_buf_valid_2 = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  if2_ibuf_buf_valid_3 = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  if2_ibuf_buf_valid_4 = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  if2_ibuf_buf_valid_5 = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  if2_ibuf_buf_valid_6 = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  if2_ibuf_buf_valid_7 = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  if2_ibuf_rd_ptr = _RAND_41[2:0];
  _RAND_42 = {1{`RANDOM}};
  if2_ibuf_wr_ptr = _RAND_42[2:0];
  _RAND_44 = {1{`RANDOM}};
  if2_datRAM_0_datMem_0_MPORT_en_pipe_0 = _RAND_44[0:0];
  _RAND_45 = {1{`RANDOM}};
  if2_datRAM_0_datMem_0_MPORT_addr_pipe_0 = _RAND_45[1:0];
  _RAND_47 = {1{`RANDOM}};
  if2_datRAM_0_datMem_1_MPORT_en_pipe_0 = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  if2_datRAM_0_datMem_1_MPORT_addr_pipe_0 = _RAND_48[1:0];
  _RAND_50 = {1{`RANDOM}};
  if2_datRAM_0_datMem_2_MPORT_en_pipe_0 = _RAND_50[0:0];
  _RAND_51 = {1{`RANDOM}};
  if2_datRAM_0_datMem_2_MPORT_addr_pipe_0 = _RAND_51[1:0];
  _RAND_53 = {1{`RANDOM}};
  if2_datRAM_0_datMem_3_MPORT_en_pipe_0 = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  if2_datRAM_0_datMem_3_MPORT_addr_pipe_0 = _RAND_54[1:0];
  _RAND_56 = {1{`RANDOM}};
  if2_datRAM_0_datMem_4_MPORT_en_pipe_0 = _RAND_56[0:0];
  _RAND_57 = {1{`RANDOM}};
  if2_datRAM_0_datMem_4_MPORT_addr_pipe_0 = _RAND_57[1:0];
  _RAND_59 = {1{`RANDOM}};
  if2_datRAM_0_datMem_5_MPORT_en_pipe_0 = _RAND_59[0:0];
  _RAND_60 = {1{`RANDOM}};
  if2_datRAM_0_datMem_5_MPORT_addr_pipe_0 = _RAND_60[1:0];
  _RAND_62 = {1{`RANDOM}};
  if2_datRAM_0_datMem_6_MPORT_en_pipe_0 = _RAND_62[0:0];
  _RAND_63 = {1{`RANDOM}};
  if2_datRAM_0_datMem_6_MPORT_addr_pipe_0 = _RAND_63[1:0];
  _RAND_65 = {1{`RANDOM}};
  if2_datRAM_0_datMem_7_MPORT_en_pipe_0 = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  if2_datRAM_0_datMem_7_MPORT_addr_pipe_0 = _RAND_66[1:0];
  _RAND_68 = {1{`RANDOM}};
  if2_datRAM_0_datMem_8_MPORT_en_pipe_0 = _RAND_68[0:0];
  _RAND_69 = {1{`RANDOM}};
  if2_datRAM_0_datMem_8_MPORT_addr_pipe_0 = _RAND_69[1:0];
  _RAND_71 = {1{`RANDOM}};
  if2_datRAM_0_datMem_9_MPORT_en_pipe_0 = _RAND_71[0:0];
  _RAND_72 = {1{`RANDOM}};
  if2_datRAM_0_datMem_9_MPORT_addr_pipe_0 = _RAND_72[1:0];
  _RAND_74 = {1{`RANDOM}};
  if2_datRAM_0_datMem_10_MPORT_en_pipe_0 = _RAND_74[0:0];
  _RAND_75 = {1{`RANDOM}};
  if2_datRAM_0_datMem_10_MPORT_addr_pipe_0 = _RAND_75[1:0];
  _RAND_77 = {1{`RANDOM}};
  if2_datRAM_0_datMem_11_MPORT_en_pipe_0 = _RAND_77[0:0];
  _RAND_78 = {1{`RANDOM}};
  if2_datRAM_0_datMem_11_MPORT_addr_pipe_0 = _RAND_78[1:0];
  _RAND_80 = {1{`RANDOM}};
  if2_datRAM_0_datMem_12_MPORT_en_pipe_0 = _RAND_80[0:0];
  _RAND_81 = {1{`RANDOM}};
  if2_datRAM_0_datMem_12_MPORT_addr_pipe_0 = _RAND_81[1:0];
  _RAND_83 = {1{`RANDOM}};
  if2_datRAM_0_datMem_13_MPORT_en_pipe_0 = _RAND_83[0:0];
  _RAND_84 = {1{`RANDOM}};
  if2_datRAM_0_datMem_13_MPORT_addr_pipe_0 = _RAND_84[1:0];
  _RAND_86 = {1{`RANDOM}};
  if2_datRAM_0_datMem_14_MPORT_en_pipe_0 = _RAND_86[0:0];
  _RAND_87 = {1{`RANDOM}};
  if2_datRAM_0_datMem_14_MPORT_addr_pipe_0 = _RAND_87[1:0];
  _RAND_89 = {1{`RANDOM}};
  if2_datRAM_0_datMem_15_MPORT_en_pipe_0 = _RAND_89[0:0];
  _RAND_90 = {1{`RANDOM}};
  if2_datRAM_0_datMem_15_MPORT_addr_pipe_0 = _RAND_90[1:0];
  _RAND_92 = {1{`RANDOM}};
  if2_datRAM_1_datMem_0_MPORT_en_pipe_0 = _RAND_92[0:0];
  _RAND_93 = {1{`RANDOM}};
  if2_datRAM_1_datMem_0_MPORT_addr_pipe_0 = _RAND_93[1:0];
  _RAND_95 = {1{`RANDOM}};
  if2_datRAM_1_datMem_1_MPORT_en_pipe_0 = _RAND_95[0:0];
  _RAND_96 = {1{`RANDOM}};
  if2_datRAM_1_datMem_1_MPORT_addr_pipe_0 = _RAND_96[1:0];
  _RAND_98 = {1{`RANDOM}};
  if2_datRAM_1_datMem_2_MPORT_en_pipe_0 = _RAND_98[0:0];
  _RAND_99 = {1{`RANDOM}};
  if2_datRAM_1_datMem_2_MPORT_addr_pipe_0 = _RAND_99[1:0];
  _RAND_101 = {1{`RANDOM}};
  if2_datRAM_1_datMem_3_MPORT_en_pipe_0 = _RAND_101[0:0];
  _RAND_102 = {1{`RANDOM}};
  if2_datRAM_1_datMem_3_MPORT_addr_pipe_0 = _RAND_102[1:0];
  _RAND_104 = {1{`RANDOM}};
  if2_datRAM_1_datMem_4_MPORT_en_pipe_0 = _RAND_104[0:0];
  _RAND_105 = {1{`RANDOM}};
  if2_datRAM_1_datMem_4_MPORT_addr_pipe_0 = _RAND_105[1:0];
  _RAND_107 = {1{`RANDOM}};
  if2_datRAM_1_datMem_5_MPORT_en_pipe_0 = _RAND_107[0:0];
  _RAND_108 = {1{`RANDOM}};
  if2_datRAM_1_datMem_5_MPORT_addr_pipe_0 = _RAND_108[1:0];
  _RAND_110 = {1{`RANDOM}};
  if2_datRAM_1_datMem_6_MPORT_en_pipe_0 = _RAND_110[0:0];
  _RAND_111 = {1{`RANDOM}};
  if2_datRAM_1_datMem_6_MPORT_addr_pipe_0 = _RAND_111[1:0];
  _RAND_113 = {1{`RANDOM}};
  if2_datRAM_1_datMem_7_MPORT_en_pipe_0 = _RAND_113[0:0];
  _RAND_114 = {1{`RANDOM}};
  if2_datRAM_1_datMem_7_MPORT_addr_pipe_0 = _RAND_114[1:0];
  _RAND_116 = {1{`RANDOM}};
  if2_datRAM_1_datMem_8_MPORT_en_pipe_0 = _RAND_116[0:0];
  _RAND_117 = {1{`RANDOM}};
  if2_datRAM_1_datMem_8_MPORT_addr_pipe_0 = _RAND_117[1:0];
  _RAND_119 = {1{`RANDOM}};
  if2_datRAM_1_datMem_9_MPORT_en_pipe_0 = _RAND_119[0:0];
  _RAND_120 = {1{`RANDOM}};
  if2_datRAM_1_datMem_9_MPORT_addr_pipe_0 = _RAND_120[1:0];
  _RAND_122 = {1{`RANDOM}};
  if2_datRAM_1_datMem_10_MPORT_en_pipe_0 = _RAND_122[0:0];
  _RAND_123 = {1{`RANDOM}};
  if2_datRAM_1_datMem_10_MPORT_addr_pipe_0 = _RAND_123[1:0];
  _RAND_125 = {1{`RANDOM}};
  if2_datRAM_1_datMem_11_MPORT_en_pipe_0 = _RAND_125[0:0];
  _RAND_126 = {1{`RANDOM}};
  if2_datRAM_1_datMem_11_MPORT_addr_pipe_0 = _RAND_126[1:0];
  _RAND_128 = {1{`RANDOM}};
  if2_datRAM_1_datMem_12_MPORT_en_pipe_0 = _RAND_128[0:0];
  _RAND_129 = {1{`RANDOM}};
  if2_datRAM_1_datMem_12_MPORT_addr_pipe_0 = _RAND_129[1:0];
  _RAND_131 = {1{`RANDOM}};
  if2_datRAM_1_datMem_13_MPORT_en_pipe_0 = _RAND_131[0:0];
  _RAND_132 = {1{`RANDOM}};
  if2_datRAM_1_datMem_13_MPORT_addr_pipe_0 = _RAND_132[1:0];
  _RAND_134 = {1{`RANDOM}};
  if2_datRAM_1_datMem_14_MPORT_en_pipe_0 = _RAND_134[0:0];
  _RAND_135 = {1{`RANDOM}};
  if2_datRAM_1_datMem_14_MPORT_addr_pipe_0 = _RAND_135[1:0];
  _RAND_137 = {1{`RANDOM}};
  if2_datRAM_1_datMem_15_MPORT_en_pipe_0 = _RAND_137[0:0];
  _RAND_138 = {1{`RANDOM}};
  if2_datRAM_1_datMem_15_MPORT_addr_pipe_0 = _RAND_138[1:0];
  _RAND_140 = {1{`RANDOM}};
  if2_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0 = _RAND_140[0:0];
  _RAND_141 = {1{`RANDOM}};
  if2_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0 = _RAND_141[1:0];
  _RAND_143 = {1{`RANDOM}};
  if2_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0 = _RAND_143[0:0];
  _RAND_144 = {1{`RANDOM}};
  if2_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0 = _RAND_144[1:0];
  _RAND_145 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_0 = _RAND_145[0:0];
  _RAND_146 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_1 = _RAND_146[0:0];
  _RAND_147 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_2 = _RAND_147[0:0];
  _RAND_148 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_3 = _RAND_148[0:0];
  _RAND_149 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_4 = _RAND_149[0:0];
  _RAND_150 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_5 = _RAND_150[0:0];
  _RAND_151 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_6 = _RAND_151[0:0];
  _RAND_152 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_7 = _RAND_152[0:0];
  _RAND_153 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_8 = _RAND_153[0:0];
  _RAND_154 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_9 = _RAND_154[0:0];
  _RAND_155 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_10 = _RAND_155[0:0];
  _RAND_156 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_11 = _RAND_156[0:0];
  _RAND_157 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_12 = _RAND_157[0:0];
  _RAND_158 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_13 = _RAND_158[0:0];
  _RAND_159 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_14 = _RAND_159[0:0];
  _RAND_160 = {1{`RANDOM}};
  if2_rpl_sel_rpl_prng_state_15 = _RAND_160[0:0];
  _RAND_161 = {1{`RANDOM}};
  if2_counter = _RAND_161[0:0];
  _RAND_162 = {2{`RANDOM}};
  if2_icache_access_data_lo_0 = _RAND_162[63:0];
  _RAND_163 = {1{`RANDOM}};
  if2_kill_trans = _RAND_163[0:0];
  _RAND_164 = {1{`RANDOM}};
  if2_is_valid_3_1 = _RAND_164[0:0];
  _RAND_165 = {1{`RANDOM}};
  if2_is_valid_2_1 = _RAND_165[0:0];
  _RAND_166 = {1{`RANDOM}};
  if2_is_valid_1_1 = _RAND_166[0:0];
  _RAND_167 = {1{`RANDOM}};
  if2_is_valid_0_1 = _RAND_167[0:0];
  _RAND_168 = {1{`RANDOM}};
  if2_is_valid_3_0 = _RAND_168[0:0];
  _RAND_169 = {1{`RANDOM}};
  if2_is_valid_2_0 = _RAND_169[0:0];
  _RAND_170 = {1{`RANDOM}};
  if2_is_valid_1_0 = _RAND_170[0:0];
  _RAND_171 = {1{`RANDOM}};
  if2_is_valid_0_0 = _RAND_171[0:0];
  _RAND_172 = {1{`RANDOM}};
  if2_icache_state_qout = _RAND_172[3:0];
  _RAND_173 = {1{`RANDOM}};
  if2_fault_lock = _RAND_173[0:0];
  _RAND_174 = {2{`RANDOM}};
  if2_REG = _RAND_174[63:0];
  _RAND_175 = {1{`RANDOM}};
  if2_REG_1 = _RAND_175[0:0];
  _RAND_176 = {1{`RANDOM}};
  if2_REG_2 = _RAND_176[0:0];
  _RAND_178 = {1{`RANDOM}};
  if3_btb_bypassFifo_maybe_full = _RAND_178[0:0];
  _RAND_180 = {1{`RANDOM}};
  if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_en_pipe_0 = _RAND_180[0:0];
  _RAND_181 = {1{`RANDOM}};
  if3_btb_btb_table_target_bypassFifo_io_enq_bits_MPORT_addr_pipe_0 = _RAND_181[1:0];
  _RAND_182 = {1{`RANDOM}};
  if3_btb_por_reset = _RAND_182[0:0];
  _RAND_183 = {1{`RANDOM}};
  if3_btb_reset_cl = _RAND_183[1:0];
  _RAND_184 = {1{`RANDOM}};
  if3_btb_bypassFifo_io_enq_valid_REG = _RAND_184[0:0];
  _RAND_186 = {1{`RANDOM}};
  if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_en_pipe_0 = _RAND_186[0:0];
  _RAND_187 = {1{`RANDOM}};
  if3_bim_bim_P_bypassFifo_io_enq_bits_0_MPORT_addr_pipe_0 = _RAND_187[2:0];
  _RAND_189 = {1{`RANDOM}};
  if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_en_pipe_0 = _RAND_189[0:0];
  _RAND_190 = {1{`RANDOM}};
  if3_bim_bim_H_bypassFifo_io_enq_bits_1_MPORT_addr_pipe_0 = _RAND_190[2:0];
  _RAND_193 = {1{`RANDOM}};
  if3_bim_bypassFifo_maybe_full = _RAND_193[0:0];
  _RAND_194 = {1{`RANDOM}};
  if3_bim_por_reset = _RAND_194[0:0];
  _RAND_195 = {1{`RANDOM}};
  if3_bim_reset_cl = _RAND_195[2:0];
  _RAND_196 = {1{`RANDOM}};
  if3_bim_bypassFifo_io_enq_valid_REG = _RAND_196[0:0];
  _RAND_197 = {2{`RANDOM}};
  if3_btbFifo_fifo_buf_0_target = _RAND_197[38:0];
  _RAND_198 = {2{`RANDOM}};
  if3_btbFifo_fifo_buf_1_target = _RAND_198[38:0];
  _RAND_199 = {1{`RANDOM}};
  if3_btbFifo_fifo_buf_valid_0 = _RAND_199[0:0];
  _RAND_200 = {1{`RANDOM}};
  if3_btbFifo_fifo_buf_valid_1 = _RAND_200[0:0];
  _RAND_201 = {1{`RANDOM}};
  if3_btbFifo_fifo_rd_ptr = _RAND_201[0:0];
  _RAND_202 = {1{`RANDOM}};
  if3_btbFifo_fifo_wr_ptr = _RAND_202[0:0];
  _RAND_203 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_0_bim_p = _RAND_203[0:0];
  _RAND_204 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_0_bim_h = _RAND_204[0:0];
  _RAND_205 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_1_bim_p = _RAND_205[0:0];
  _RAND_206 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_1_bim_h = _RAND_206[0:0];
  _RAND_207 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_valid_0 = _RAND_207[0:0];
  _RAND_208 = {1{`RANDOM}};
  if3_bimFifo_fifo_buf_valid_1 = _RAND_208[0:0];
  _RAND_209 = {1{`RANDOM}};
  if3_bimFifo_fifo_rd_ptr = _RAND_209[0:0];
  _RAND_210 = {1{`RANDOM}};
  if3_bimFifo_fifo_wr_ptr = _RAND_210[0:0];
  _RAND_211 = {1{`RANDOM}};
  if3_tageFifo_fifo_buf_valid_0 = _RAND_211[0:0];
  _RAND_212 = {1{`RANDOM}};
  if3_tageFifo_fifo_buf_valid_1 = _RAND_212[0:0];
  _RAND_213 = {1{`RANDOM}};
  if3_tageFifo_fifo_rd_ptr = _RAND_213[0:0];
  _RAND_214 = {1{`RANDOM}};
  if3_tageFifo_fifo_wr_ptr = _RAND_214[0:0];
  _RAND_215 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_0_isRVC = _RAND_215[0:0];
  _RAND_216 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_0_instr = _RAND_216[31:0];
  _RAND_217 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_0_pc = _RAND_217[38:0];
  _RAND_218 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_0_isRedirect = _RAND_218[0:0];
  _RAND_219 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_0_target = _RAND_219[38:0];
  _RAND_220 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_1_isRVC = _RAND_220[0:0];
  _RAND_221 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_1_instr = _RAND_221[31:0];
  _RAND_222 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_1_pc = _RAND_222[38:0];
  _RAND_223 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_1_isRedirect = _RAND_223[0:0];
  _RAND_224 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_1_target = _RAND_224[38:0];
  _RAND_225 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_2_isRVC = _RAND_225[0:0];
  _RAND_226 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_2_instr = _RAND_226[31:0];
  _RAND_227 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_2_pc = _RAND_227[38:0];
  _RAND_228 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_2_isRedirect = _RAND_228[0:0];
  _RAND_229 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_2_target = _RAND_229[38:0];
  _RAND_230 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_3_isRVC = _RAND_230[0:0];
  _RAND_231 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_3_instr = _RAND_231[31:0];
  _RAND_232 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_3_pc = _RAND_232[38:0];
  _RAND_233 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_3_isRedirect = _RAND_233[0:0];
  _RAND_234 = {2{`RANDOM}};
  if3_if3_resp_fifo_buf_3_target = _RAND_234[38:0];
  _RAND_235 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_valid_0 = _RAND_235[0:0];
  _RAND_236 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_valid_1 = _RAND_236[0:0];
  _RAND_237 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_valid_2 = _RAND_237[0:0];
  _RAND_238 = {1{`RANDOM}};
  if3_if3_resp_fifo_buf_valid_3 = _RAND_238[0:0];
  _RAND_239 = {1{`RANDOM}};
  if3_if3_resp_fifo_rd_ptr = _RAND_239[1:0];
  _RAND_240 = {1{`RANDOM}};
  if3_if3_resp_fifo_wr_ptr = _RAND_240[1:0];
  _RAND_241 = {1{`RANDOM}};
  if3_pipeLineLock = _RAND_241[0:0];
  _RAND_243 = {1{`RANDOM}};
  if4_ras_btm_ptr = _RAND_243[2:0];
  _RAND_244 = {1{`RANDOM}};
  if4_ras_top_ptr = _RAND_244[2:0];
  _RAND_245 = {2{`RANDOM}};
  if4_ras_io_deq_bits_REG_target = _RAND_245[38:0];
  _RAND_246 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_lui = _RAND_246[0:0];
  _RAND_247 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_auipc = _RAND_247[0:0];
  _RAND_248 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_addi = _RAND_248[0:0];
  _RAND_249 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_addiw = _RAND_249[0:0];
  _RAND_250 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_slti = _RAND_250[0:0];
  _RAND_251 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sltiu = _RAND_251[0:0];
  _RAND_252 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_xori = _RAND_252[0:0];
  _RAND_253 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_ori = _RAND_253[0:0];
  _RAND_254 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_andi = _RAND_254[0:0];
  _RAND_255 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_slli = _RAND_255[0:0];
  _RAND_256 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_slliw = _RAND_256[0:0];
  _RAND_257 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_srli = _RAND_257[0:0];
  _RAND_258 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_srliw = _RAND_258[0:0];
  _RAND_259 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_srai = _RAND_259[0:0];
  _RAND_260 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sraiw = _RAND_260[0:0];
  _RAND_261 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_add = _RAND_261[0:0];
  _RAND_262 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_addw = _RAND_262[0:0];
  _RAND_263 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sub = _RAND_263[0:0];
  _RAND_264 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_subw = _RAND_264[0:0];
  _RAND_265 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sll = _RAND_265[0:0];
  _RAND_266 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sllw = _RAND_266[0:0];
  _RAND_267 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_slt = _RAND_267[0:0];
  _RAND_268 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sltu = _RAND_268[0:0];
  _RAND_269 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_xor = _RAND_269[0:0];
  _RAND_270 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_srl = _RAND_270[0:0];
  _RAND_271 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_srlw = _RAND_271[0:0];
  _RAND_272 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sra = _RAND_272[0:0];
  _RAND_273 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_sraw = _RAND_273[0:0];
  _RAND_274 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_or = _RAND_274[0:0];
  _RAND_275 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_and = _RAND_275[0:0];
  _RAND_276 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_alu_isa_wfi = _RAND_276[0:0];
  _RAND_277 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_jal = _RAND_277[0:0];
  _RAND_278 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_jalr = _RAND_278[0:0];
  _RAND_279 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_beq = _RAND_279[0:0];
  _RAND_280 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_bne = _RAND_280[0:0];
  _RAND_281 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_blt = _RAND_281[0:0];
  _RAND_282 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_bge = _RAND_282[0:0];
  _RAND_283 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_bltu = _RAND_283[0:0];
  _RAND_284 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_bru_isa_bgeu = _RAND_284[0:0];
  _RAND_285 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lb = _RAND_285[0:0];
  _RAND_286 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lh = _RAND_286[0:0];
  _RAND_287 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lw = _RAND_287[0:0];
  _RAND_288 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_ld = _RAND_288[0:0];
  _RAND_289 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lbu = _RAND_289[0:0];
  _RAND_290 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lhu = _RAND_290[0:0];
  _RAND_291 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lwu = _RAND_291[0:0];
  _RAND_292 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sb = _RAND_292[0:0];
  _RAND_293 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sh = _RAND_293[0:0];
  _RAND_294 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sw = _RAND_294[0:0];
  _RAND_295 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sd = _RAND_295[0:0];
  _RAND_296 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_fence = _RAND_296[0:0];
  _RAND_297 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_fence_i = _RAND_297[0:0];
  _RAND_298 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sfence_vma = _RAND_298[0:0];
  _RAND_299 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lr_w = _RAND_299[0:0];
  _RAND_300 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sc_w = _RAND_300[0:0];
  _RAND_301 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoswap_w = _RAND_301[0:0];
  _RAND_302 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoadd_w = _RAND_302[0:0];
  _RAND_303 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoxor_w = _RAND_303[0:0];
  _RAND_304 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoand_w = _RAND_304[0:0];
  _RAND_305 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoor_w = _RAND_305[0:0];
  _RAND_306 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomin_w = _RAND_306[0:0];
  _RAND_307 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomax_w = _RAND_307[0:0];
  _RAND_308 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amominu_w = _RAND_308[0:0];
  _RAND_309 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomaxu_w = _RAND_309[0:0];
  _RAND_310 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_lr_d = _RAND_310[0:0];
  _RAND_311 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_sc_d = _RAND_311[0:0];
  _RAND_312 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoswap_d = _RAND_312[0:0];
  _RAND_313 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoadd_d = _RAND_313[0:0];
  _RAND_314 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoxor_d = _RAND_314[0:0];
  _RAND_315 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoand_d = _RAND_315[0:0];
  _RAND_316 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amoor_d = _RAND_316[0:0];
  _RAND_317 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomin_d = _RAND_317[0:0];
  _RAND_318 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomax_d = _RAND_318[0:0];
  _RAND_319 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amominu_d = _RAND_319[0:0];
  _RAND_320 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_amomaxu_d = _RAND_320[0:0];
  _RAND_321 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_flw = _RAND_321[0:0];
  _RAND_322 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_fsw = _RAND_322[0:0];
  _RAND_323 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_fld = _RAND_323[0:0];
  _RAND_324 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_lsu_isa_fsd = _RAND_324[0:0];
  _RAND_325 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rw = _RAND_325[0:0];
  _RAND_326 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rs = _RAND_326[0:0];
  _RAND_327 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rc = _RAND_327[0:0];
  _RAND_328 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rwi = _RAND_328[0:0];
  _RAND_329 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rsi = _RAND_329[0:0];
  _RAND_330 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_csr_isa_rci = _RAND_330[0:0];
  _RAND_331 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_mul = _RAND_331[0:0];
  _RAND_332 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_mulh = _RAND_332[0:0];
  _RAND_333 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_mulhsu = _RAND_333[0:0];
  _RAND_334 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_mulhu = _RAND_334[0:0];
  _RAND_335 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_div = _RAND_335[0:0];
  _RAND_336 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_divu = _RAND_336[0:0];
  _RAND_337 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_rem = _RAND_337[0:0];
  _RAND_338 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_remu = _RAND_338[0:0];
  _RAND_339 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_mulw = _RAND_339[0:0];
  _RAND_340 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_divw = _RAND_340[0:0];
  _RAND_341 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_divuw = _RAND_341[0:0];
  _RAND_342 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_remw = _RAND_342[0:0];
  _RAND_343 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_mul_isa_remuw = _RAND_343[0:0];
  _RAND_344 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_ecall = _RAND_344[0:0];
  _RAND_345 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_ebreak = _RAND_345[0:0];
  _RAND_346 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_mret = _RAND_346[0:0];
  _RAND_347 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_uret = _RAND_347[0:0];
  _RAND_348 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_sret = _RAND_348[0:0];
  _RAND_349 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_dret = _RAND_349[0:0];
  _RAND_350 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hfence_vvma = _RAND_350[0:0];
  _RAND_351 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hfence_gvma = _RAND_351[0:0];
  _RAND_352 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_b = _RAND_352[0:0];
  _RAND_353 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_bu = _RAND_353[0:0];
  _RAND_354 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_h = _RAND_354[0:0];
  _RAND_355 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_hu = _RAND_355[0:0];
  _RAND_356 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlvx_hu = _RAND_356[0:0];
  _RAND_357 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_w = _RAND_357[0:0];
  _RAND_358 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlvx_wu = _RAND_358[0:0];
  _RAND_359 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hsv_b = _RAND_359[0:0];
  _RAND_360 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hsv_h = _RAND_360[0:0];
  _RAND_361 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hsv_w = _RAND_361[0:0];
  _RAND_362 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_wu = _RAND_362[0:0];
  _RAND_363 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hlv_d = _RAND_363[0:0];
  _RAND_364 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_hsv_d = _RAND_364[0:0];
  _RAND_365 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_is_access_fault = _RAND_365[0:0];
  _RAND_366 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_privil_isa_is_paging_fault = _RAND_366[0:0];
  _RAND_367 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmadd_s = _RAND_367[0:0];
  _RAND_368 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmsub_s = _RAND_368[0:0];
  _RAND_369 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fnmsub_s = _RAND_369[0:0];
  _RAND_370 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fnmadd_s = _RAND_370[0:0];
  _RAND_371 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fadd_s = _RAND_371[0:0];
  _RAND_372 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsub_s = _RAND_372[0:0];
  _RAND_373 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmul_s = _RAND_373[0:0];
  _RAND_374 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fdiv_s = _RAND_374[0:0];
  _RAND_375 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsqrt_s = _RAND_375[0:0];
  _RAND_376 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnj_s = _RAND_376[0:0];
  _RAND_377 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnjn_s = _RAND_377[0:0];
  _RAND_378 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnjx_s = _RAND_378[0:0];
  _RAND_379 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmin_s = _RAND_379[0:0];
  _RAND_380 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmax_s = _RAND_380[0:0];
  _RAND_381 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_w_s = _RAND_381[0:0];
  _RAND_382 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_s = _RAND_382[0:0];
  _RAND_383 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmv_x_w = _RAND_383[0:0];
  _RAND_384 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_feq_s = _RAND_384[0:0];
  _RAND_385 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_flt_s = _RAND_385[0:0];
  _RAND_386 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fle_s = _RAND_386[0:0];
  _RAND_387 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fclass_s = _RAND_387[0:0];
  _RAND_388 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_w = _RAND_388[0:0];
  _RAND_389 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_wu = _RAND_389[0:0];
  _RAND_390 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmv_w_x = _RAND_390[0:0];
  _RAND_391 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_l_s = _RAND_391[0:0];
  _RAND_392 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_s = _RAND_392[0:0];
  _RAND_393 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_l = _RAND_393[0:0];
  _RAND_394 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_lu = _RAND_394[0:0];
  _RAND_395 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmadd_d = _RAND_395[0:0];
  _RAND_396 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmsub_d = _RAND_396[0:0];
  _RAND_397 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fnmsub_d = _RAND_397[0:0];
  _RAND_398 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fnmadd_d = _RAND_398[0:0];
  _RAND_399 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fadd_d = _RAND_399[0:0];
  _RAND_400 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsub_d = _RAND_400[0:0];
  _RAND_401 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmul_d = _RAND_401[0:0];
  _RAND_402 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fdiv_d = _RAND_402[0:0];
  _RAND_403 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsqrt_d = _RAND_403[0:0];
  _RAND_404 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnj_d = _RAND_404[0:0];
  _RAND_405 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnjn_d = _RAND_405[0:0];
  _RAND_406 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fsgnjx_d = _RAND_406[0:0];
  _RAND_407 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmin_d = _RAND_407[0:0];
  _RAND_408 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmax_d = _RAND_408[0:0];
  _RAND_409 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_s_d = _RAND_409[0:0];
  _RAND_410 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_s = _RAND_410[0:0];
  _RAND_411 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_feq_d = _RAND_411[0:0];
  _RAND_412 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_flt_d = _RAND_412[0:0];
  _RAND_413 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fle_d = _RAND_413[0:0];
  _RAND_414 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fclass_d = _RAND_414[0:0];
  _RAND_415 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_w_d = _RAND_415[0:0];
  _RAND_416 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_wu_d = _RAND_416[0:0];
  _RAND_417 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_w = _RAND_417[0:0];
  _RAND_418 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_wu = _RAND_418[0:0];
  _RAND_419 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_l_d = _RAND_419[0:0];
  _RAND_420 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_lu_d = _RAND_420[0:0];
  _RAND_421 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmv_x_d = _RAND_421[0:0];
  _RAND_422 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_l = _RAND_422[0:0];
  _RAND_423 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcvt_d_lu = _RAND_423[0:0];
  _RAND_424 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fmv_d_x = _RAND_424[0:0];
  _RAND_425 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rw = _RAND_425[0:0];
  _RAND_426 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rs = _RAND_426[0:0];
  _RAND_427 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rc = _RAND_427[0:0];
  _RAND_428 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rwi = _RAND_428[0:0];
  _RAND_429 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rsi = _RAND_429[0:0];
  _RAND_430 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_fpu_isa_fcsr_rci = _RAND_430[0:0];
  _RAND_431 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_param_is_rvc = _RAND_431[0:0];
  _RAND_432 = {2{`RANDOM}};
  if4_instr_fifo_buf_0_param_pc = _RAND_432[38:0];
  _RAND_433 = {2{`RANDOM}};
  if4_instr_fifo_buf_0_param_imm = _RAND_433[63:0];
  _RAND_434 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_param_raw_rs1 = _RAND_434[4:0];
  _RAND_435 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_param_raw_rs2 = _RAND_435[4:0];
  _RAND_436 = {1{`RANDOM}};
  if4_instr_fifo_buf_0_param_raw_rd0 = _RAND_436[4:0];
  _RAND_437 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_lui = _RAND_437[0:0];
  _RAND_438 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_auipc = _RAND_438[0:0];
  _RAND_439 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_addi = _RAND_439[0:0];
  _RAND_440 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_addiw = _RAND_440[0:0];
  _RAND_441 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_slti = _RAND_441[0:0];
  _RAND_442 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sltiu = _RAND_442[0:0];
  _RAND_443 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_xori = _RAND_443[0:0];
  _RAND_444 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_ori = _RAND_444[0:0];
  _RAND_445 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_andi = _RAND_445[0:0];
  _RAND_446 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_slli = _RAND_446[0:0];
  _RAND_447 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_slliw = _RAND_447[0:0];
  _RAND_448 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_srli = _RAND_448[0:0];
  _RAND_449 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_srliw = _RAND_449[0:0];
  _RAND_450 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_srai = _RAND_450[0:0];
  _RAND_451 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sraiw = _RAND_451[0:0];
  _RAND_452 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_add = _RAND_452[0:0];
  _RAND_453 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_addw = _RAND_453[0:0];
  _RAND_454 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sub = _RAND_454[0:0];
  _RAND_455 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_subw = _RAND_455[0:0];
  _RAND_456 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sll = _RAND_456[0:0];
  _RAND_457 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sllw = _RAND_457[0:0];
  _RAND_458 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_slt = _RAND_458[0:0];
  _RAND_459 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sltu = _RAND_459[0:0];
  _RAND_460 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_xor = _RAND_460[0:0];
  _RAND_461 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_srl = _RAND_461[0:0];
  _RAND_462 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_srlw = _RAND_462[0:0];
  _RAND_463 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sra = _RAND_463[0:0];
  _RAND_464 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_sraw = _RAND_464[0:0];
  _RAND_465 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_or = _RAND_465[0:0];
  _RAND_466 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_and = _RAND_466[0:0];
  _RAND_467 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_alu_isa_wfi = _RAND_467[0:0];
  _RAND_468 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_jal = _RAND_468[0:0];
  _RAND_469 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_jalr = _RAND_469[0:0];
  _RAND_470 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_beq = _RAND_470[0:0];
  _RAND_471 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_bne = _RAND_471[0:0];
  _RAND_472 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_blt = _RAND_472[0:0];
  _RAND_473 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_bge = _RAND_473[0:0];
  _RAND_474 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_bltu = _RAND_474[0:0];
  _RAND_475 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_bru_isa_bgeu = _RAND_475[0:0];
  _RAND_476 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lb = _RAND_476[0:0];
  _RAND_477 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lh = _RAND_477[0:0];
  _RAND_478 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lw = _RAND_478[0:0];
  _RAND_479 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_ld = _RAND_479[0:0];
  _RAND_480 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lbu = _RAND_480[0:0];
  _RAND_481 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lhu = _RAND_481[0:0];
  _RAND_482 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lwu = _RAND_482[0:0];
  _RAND_483 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sb = _RAND_483[0:0];
  _RAND_484 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sh = _RAND_484[0:0];
  _RAND_485 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sw = _RAND_485[0:0];
  _RAND_486 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sd = _RAND_486[0:0];
  _RAND_487 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_fence = _RAND_487[0:0];
  _RAND_488 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_fence_i = _RAND_488[0:0];
  _RAND_489 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sfence_vma = _RAND_489[0:0];
  _RAND_490 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lr_w = _RAND_490[0:0];
  _RAND_491 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sc_w = _RAND_491[0:0];
  _RAND_492 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoswap_w = _RAND_492[0:0];
  _RAND_493 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoadd_w = _RAND_493[0:0];
  _RAND_494 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoxor_w = _RAND_494[0:0];
  _RAND_495 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoand_w = _RAND_495[0:0];
  _RAND_496 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoor_w = _RAND_496[0:0];
  _RAND_497 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomin_w = _RAND_497[0:0];
  _RAND_498 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomax_w = _RAND_498[0:0];
  _RAND_499 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amominu_w = _RAND_499[0:0];
  _RAND_500 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomaxu_w = _RAND_500[0:0];
  _RAND_501 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_lr_d = _RAND_501[0:0];
  _RAND_502 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_sc_d = _RAND_502[0:0];
  _RAND_503 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoswap_d = _RAND_503[0:0];
  _RAND_504 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoadd_d = _RAND_504[0:0];
  _RAND_505 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoxor_d = _RAND_505[0:0];
  _RAND_506 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoand_d = _RAND_506[0:0];
  _RAND_507 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amoor_d = _RAND_507[0:0];
  _RAND_508 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomin_d = _RAND_508[0:0];
  _RAND_509 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomax_d = _RAND_509[0:0];
  _RAND_510 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amominu_d = _RAND_510[0:0];
  _RAND_511 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_amomaxu_d = _RAND_511[0:0];
  _RAND_512 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_flw = _RAND_512[0:0];
  _RAND_513 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_fsw = _RAND_513[0:0];
  _RAND_514 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_fld = _RAND_514[0:0];
  _RAND_515 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_lsu_isa_fsd = _RAND_515[0:0];
  _RAND_516 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rw = _RAND_516[0:0];
  _RAND_517 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rs = _RAND_517[0:0];
  _RAND_518 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rc = _RAND_518[0:0];
  _RAND_519 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rwi = _RAND_519[0:0];
  _RAND_520 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rsi = _RAND_520[0:0];
  _RAND_521 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_csr_isa_rci = _RAND_521[0:0];
  _RAND_522 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_mul = _RAND_522[0:0];
  _RAND_523 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_mulh = _RAND_523[0:0];
  _RAND_524 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_mulhsu = _RAND_524[0:0];
  _RAND_525 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_mulhu = _RAND_525[0:0];
  _RAND_526 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_div = _RAND_526[0:0];
  _RAND_527 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_divu = _RAND_527[0:0];
  _RAND_528 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_rem = _RAND_528[0:0];
  _RAND_529 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_remu = _RAND_529[0:0];
  _RAND_530 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_mulw = _RAND_530[0:0];
  _RAND_531 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_divw = _RAND_531[0:0];
  _RAND_532 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_divuw = _RAND_532[0:0];
  _RAND_533 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_remw = _RAND_533[0:0];
  _RAND_534 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_mul_isa_remuw = _RAND_534[0:0];
  _RAND_535 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_ecall = _RAND_535[0:0];
  _RAND_536 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_ebreak = _RAND_536[0:0];
  _RAND_537 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_mret = _RAND_537[0:0];
  _RAND_538 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_uret = _RAND_538[0:0];
  _RAND_539 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_sret = _RAND_539[0:0];
  _RAND_540 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_dret = _RAND_540[0:0];
  _RAND_541 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hfence_vvma = _RAND_541[0:0];
  _RAND_542 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hfence_gvma = _RAND_542[0:0];
  _RAND_543 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_b = _RAND_543[0:0];
  _RAND_544 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_bu = _RAND_544[0:0];
  _RAND_545 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_h = _RAND_545[0:0];
  _RAND_546 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_hu = _RAND_546[0:0];
  _RAND_547 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlvx_hu = _RAND_547[0:0];
  _RAND_548 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_w = _RAND_548[0:0];
  _RAND_549 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlvx_wu = _RAND_549[0:0];
  _RAND_550 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hsv_b = _RAND_550[0:0];
  _RAND_551 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hsv_h = _RAND_551[0:0];
  _RAND_552 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hsv_w = _RAND_552[0:0];
  _RAND_553 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_wu = _RAND_553[0:0];
  _RAND_554 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hlv_d = _RAND_554[0:0];
  _RAND_555 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_hsv_d = _RAND_555[0:0];
  _RAND_556 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_is_access_fault = _RAND_556[0:0];
  _RAND_557 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_privil_isa_is_paging_fault = _RAND_557[0:0];
  _RAND_558 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmadd_s = _RAND_558[0:0];
  _RAND_559 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmsub_s = _RAND_559[0:0];
  _RAND_560 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fnmsub_s = _RAND_560[0:0];
  _RAND_561 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fnmadd_s = _RAND_561[0:0];
  _RAND_562 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fadd_s = _RAND_562[0:0];
  _RAND_563 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsub_s = _RAND_563[0:0];
  _RAND_564 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmul_s = _RAND_564[0:0];
  _RAND_565 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fdiv_s = _RAND_565[0:0];
  _RAND_566 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsqrt_s = _RAND_566[0:0];
  _RAND_567 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnj_s = _RAND_567[0:0];
  _RAND_568 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnjn_s = _RAND_568[0:0];
  _RAND_569 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnjx_s = _RAND_569[0:0];
  _RAND_570 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmin_s = _RAND_570[0:0];
  _RAND_571 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmax_s = _RAND_571[0:0];
  _RAND_572 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_w_s = _RAND_572[0:0];
  _RAND_573 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_s = _RAND_573[0:0];
  _RAND_574 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmv_x_w = _RAND_574[0:0];
  _RAND_575 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_feq_s = _RAND_575[0:0];
  _RAND_576 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_flt_s = _RAND_576[0:0];
  _RAND_577 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fle_s = _RAND_577[0:0];
  _RAND_578 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fclass_s = _RAND_578[0:0];
  _RAND_579 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_w = _RAND_579[0:0];
  _RAND_580 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_wu = _RAND_580[0:0];
  _RAND_581 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmv_w_x = _RAND_581[0:0];
  _RAND_582 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_l_s = _RAND_582[0:0];
  _RAND_583 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_s = _RAND_583[0:0];
  _RAND_584 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_l = _RAND_584[0:0];
  _RAND_585 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_lu = _RAND_585[0:0];
  _RAND_586 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmadd_d = _RAND_586[0:0];
  _RAND_587 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmsub_d = _RAND_587[0:0];
  _RAND_588 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fnmsub_d = _RAND_588[0:0];
  _RAND_589 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fnmadd_d = _RAND_589[0:0];
  _RAND_590 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fadd_d = _RAND_590[0:0];
  _RAND_591 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsub_d = _RAND_591[0:0];
  _RAND_592 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmul_d = _RAND_592[0:0];
  _RAND_593 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fdiv_d = _RAND_593[0:0];
  _RAND_594 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsqrt_d = _RAND_594[0:0];
  _RAND_595 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnj_d = _RAND_595[0:0];
  _RAND_596 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnjn_d = _RAND_596[0:0];
  _RAND_597 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fsgnjx_d = _RAND_597[0:0];
  _RAND_598 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmin_d = _RAND_598[0:0];
  _RAND_599 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmax_d = _RAND_599[0:0];
  _RAND_600 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_s_d = _RAND_600[0:0];
  _RAND_601 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_s = _RAND_601[0:0];
  _RAND_602 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_feq_d = _RAND_602[0:0];
  _RAND_603 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_flt_d = _RAND_603[0:0];
  _RAND_604 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fle_d = _RAND_604[0:0];
  _RAND_605 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fclass_d = _RAND_605[0:0];
  _RAND_606 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_w_d = _RAND_606[0:0];
  _RAND_607 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_wu_d = _RAND_607[0:0];
  _RAND_608 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_w = _RAND_608[0:0];
  _RAND_609 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_wu = _RAND_609[0:0];
  _RAND_610 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_l_d = _RAND_610[0:0];
  _RAND_611 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_lu_d = _RAND_611[0:0];
  _RAND_612 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmv_x_d = _RAND_612[0:0];
  _RAND_613 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_l = _RAND_613[0:0];
  _RAND_614 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcvt_d_lu = _RAND_614[0:0];
  _RAND_615 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fmv_d_x = _RAND_615[0:0];
  _RAND_616 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rw = _RAND_616[0:0];
  _RAND_617 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rs = _RAND_617[0:0];
  _RAND_618 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rc = _RAND_618[0:0];
  _RAND_619 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rwi = _RAND_619[0:0];
  _RAND_620 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rsi = _RAND_620[0:0];
  _RAND_621 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_fpu_isa_fcsr_rci = _RAND_621[0:0];
  _RAND_622 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_param_is_rvc = _RAND_622[0:0];
  _RAND_623 = {2{`RANDOM}};
  if4_instr_fifo_buf_1_param_pc = _RAND_623[38:0];
  _RAND_624 = {2{`RANDOM}};
  if4_instr_fifo_buf_1_param_imm = _RAND_624[63:0];
  _RAND_625 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_param_raw_rs1 = _RAND_625[4:0];
  _RAND_626 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_param_raw_rs2 = _RAND_626[4:0];
  _RAND_627 = {1{`RANDOM}};
  if4_instr_fifo_buf_1_param_raw_rd0 = _RAND_627[4:0];
  _RAND_628 = {1{`RANDOM}};
  if4_instr_fifo_buf_valid_0 = _RAND_628[0:0];
  _RAND_629 = {1{`RANDOM}};
  if4_instr_fifo_buf_valid_1 = _RAND_629[0:0];
  _RAND_630 = {1{`RANDOM}};
  if4_instr_fifo_rd_ptr = _RAND_630[0:0];
  _RAND_631 = {1{`RANDOM}};
  if4_instr_fifo_wr_ptr = _RAND_631[0:0];
  _RAND_632 = {2{`RANDOM}};
  if4_bftq_buf_0_pc = _RAND_632[38:0];
  _RAND_633 = {1{`RANDOM}};
  if4_bftq_buf_0_bimResp_bim_p = _RAND_633[0:0];
  _RAND_634 = {1{`RANDOM}};
  if4_bftq_buf_0_bimResp_bim_h = _RAND_634[0:0];
  _RAND_635 = {1{`RANDOM}};
  if4_bftq_buf_0_isPredictTaken = _RAND_635[0:0];
  _RAND_636 = {2{`RANDOM}};
  if4_bftq_buf_1_pc = _RAND_636[38:0];
  _RAND_637 = {1{`RANDOM}};
  if4_bftq_buf_1_bimResp_bim_p = _RAND_637[0:0];
  _RAND_638 = {1{`RANDOM}};
  if4_bftq_buf_1_bimResp_bim_h = _RAND_638[0:0];
  _RAND_639 = {1{`RANDOM}};
  if4_bftq_buf_1_isPredictTaken = _RAND_639[0:0];
  _RAND_640 = {1{`RANDOM}};
  if4_bftq_buf_valid_0 = _RAND_640[0:0];
  _RAND_641 = {1{`RANDOM}};
  if4_bftq_buf_valid_1 = _RAND_641[0:0];
  _RAND_642 = {1{`RANDOM}};
  if4_bftq_rd_ptr = _RAND_642[0:0];
  _RAND_643 = {1{`RANDOM}};
  if4_bftq_wr_ptr = _RAND_643[0:0];
  _RAND_644 = {2{`RANDOM}};
  if4_jftq_buf_0_pc = _RAND_644[38:0];
  _RAND_645 = {2{`RANDOM}};
  if4_jftq_buf_0_btbResp_target = _RAND_645[38:0];
  _RAND_646 = {2{`RANDOM}};
  if4_jftq_buf_0_rasResp_target = _RAND_646[38:0];
  _RAND_647 = {1{`RANDOM}};
  if4_jftq_buf_0_isRas = _RAND_647[0:0];
  _RAND_648 = {2{`RANDOM}};
  if4_jftq_buf_1_pc = _RAND_648[38:0];
  _RAND_649 = {2{`RANDOM}};
  if4_jftq_buf_1_btbResp_target = _RAND_649[38:0];
  _RAND_650 = {2{`RANDOM}};
  if4_jftq_buf_1_rasResp_target = _RAND_650[38:0];
  _RAND_651 = {1{`RANDOM}};
  if4_jftq_buf_1_isRas = _RAND_651[0:0];
  _RAND_652 = {1{`RANDOM}};
  if4_jftq_buf_valid_0 = _RAND_652[0:0];
  _RAND_653 = {1{`RANDOM}};
  if4_jftq_buf_valid_1 = _RAND_653[0:0];
  _RAND_654 = {1{`RANDOM}};
  if4_jftq_rd_ptr = _RAND_654[0:0];
  _RAND_655 = {1{`RANDOM}};
  if4_jftq_wr_ptr = _RAND_655[0:0];
  _RAND_656 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_lui = _RAND_656[0:0];
  _RAND_657 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_auipc = _RAND_657[0:0];
  _RAND_658 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_addi = _RAND_658[0:0];
  _RAND_659 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_addiw = _RAND_659[0:0];
  _RAND_660 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_slti = _RAND_660[0:0];
  _RAND_661 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sltiu = _RAND_661[0:0];
  _RAND_662 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_xori = _RAND_662[0:0];
  _RAND_663 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_ori = _RAND_663[0:0];
  _RAND_664 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_andi = _RAND_664[0:0];
  _RAND_665 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_slli = _RAND_665[0:0];
  _RAND_666 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_slliw = _RAND_666[0:0];
  _RAND_667 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_srli = _RAND_667[0:0];
  _RAND_668 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_srliw = _RAND_668[0:0];
  _RAND_669 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_srai = _RAND_669[0:0];
  _RAND_670 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sraiw = _RAND_670[0:0];
  _RAND_671 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_add = _RAND_671[0:0];
  _RAND_672 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_addw = _RAND_672[0:0];
  _RAND_673 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sub = _RAND_673[0:0];
  _RAND_674 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_subw = _RAND_674[0:0];
  _RAND_675 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sll = _RAND_675[0:0];
  _RAND_676 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sllw = _RAND_676[0:0];
  _RAND_677 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_slt = _RAND_677[0:0];
  _RAND_678 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sltu = _RAND_678[0:0];
  _RAND_679 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_xor = _RAND_679[0:0];
  _RAND_680 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_srl = _RAND_680[0:0];
  _RAND_681 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_srlw = _RAND_681[0:0];
  _RAND_682 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sra = _RAND_682[0:0];
  _RAND_683 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_sraw = _RAND_683[0:0];
  _RAND_684 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_or = _RAND_684[0:0];
  _RAND_685 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_and = _RAND_685[0:0];
  _RAND_686 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_alu_isa_wfi = _RAND_686[0:0];
  _RAND_687 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_jal = _RAND_687[0:0];
  _RAND_688 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_jalr = _RAND_688[0:0];
  _RAND_689 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_beq = _RAND_689[0:0];
  _RAND_690 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_bne = _RAND_690[0:0];
  _RAND_691 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_blt = _RAND_691[0:0];
  _RAND_692 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_bge = _RAND_692[0:0];
  _RAND_693 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_bltu = _RAND_693[0:0];
  _RAND_694 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_bru_isa_bgeu = _RAND_694[0:0];
  _RAND_695 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lb = _RAND_695[0:0];
  _RAND_696 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lh = _RAND_696[0:0];
  _RAND_697 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lw = _RAND_697[0:0];
  _RAND_698 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_ld = _RAND_698[0:0];
  _RAND_699 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lbu = _RAND_699[0:0];
  _RAND_700 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lhu = _RAND_700[0:0];
  _RAND_701 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lwu = _RAND_701[0:0];
  _RAND_702 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sb = _RAND_702[0:0];
  _RAND_703 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sh = _RAND_703[0:0];
  _RAND_704 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sw = _RAND_704[0:0];
  _RAND_705 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sd = _RAND_705[0:0];
  _RAND_706 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_fence = _RAND_706[0:0];
  _RAND_707 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_fence_i = _RAND_707[0:0];
  _RAND_708 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sfence_vma = _RAND_708[0:0];
  _RAND_709 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_w = _RAND_709[0:0];
  _RAND_710 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_w = _RAND_710[0:0];
  _RAND_711 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_w = _RAND_711[0:0];
  _RAND_712 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_w = _RAND_712[0:0];
  _RAND_713 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_w = _RAND_713[0:0];
  _RAND_714 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_w = _RAND_714[0:0];
  _RAND_715 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_w = _RAND_715[0:0];
  _RAND_716 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_w = _RAND_716[0:0];
  _RAND_717 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_w = _RAND_717[0:0];
  _RAND_718 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_w = _RAND_718[0:0];
  _RAND_719 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_w = _RAND_719[0:0];
  _RAND_720 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_lr_d = _RAND_720[0:0];
  _RAND_721 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_sc_d = _RAND_721[0:0];
  _RAND_722 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoswap_d = _RAND_722[0:0];
  _RAND_723 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoadd_d = _RAND_723[0:0];
  _RAND_724 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoxor_d = _RAND_724[0:0];
  _RAND_725 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoand_d = _RAND_725[0:0];
  _RAND_726 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amoor_d = _RAND_726[0:0];
  _RAND_727 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomin_d = _RAND_727[0:0];
  _RAND_728 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomax_d = _RAND_728[0:0];
  _RAND_729 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amominu_d = _RAND_729[0:0];
  _RAND_730 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_amomaxu_d = _RAND_730[0:0];
  _RAND_731 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_flw = _RAND_731[0:0];
  _RAND_732 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_fsw = _RAND_732[0:0];
  _RAND_733 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_fld = _RAND_733[0:0];
  _RAND_734 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_lsu_isa_fsd = _RAND_734[0:0];
  _RAND_735 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rw = _RAND_735[0:0];
  _RAND_736 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rs = _RAND_736[0:0];
  _RAND_737 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rc = _RAND_737[0:0];
  _RAND_738 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rwi = _RAND_738[0:0];
  _RAND_739 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rsi = _RAND_739[0:0];
  _RAND_740 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_csr_isa_rci = _RAND_740[0:0];
  _RAND_741 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_mul = _RAND_741[0:0];
  _RAND_742 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_mulh = _RAND_742[0:0];
  _RAND_743 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_mulhsu = _RAND_743[0:0];
  _RAND_744 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_mulhu = _RAND_744[0:0];
  _RAND_745 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_div = _RAND_745[0:0];
  _RAND_746 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_divu = _RAND_746[0:0];
  _RAND_747 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_rem = _RAND_747[0:0];
  _RAND_748 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_remu = _RAND_748[0:0];
  _RAND_749 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_mulw = _RAND_749[0:0];
  _RAND_750 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_divw = _RAND_750[0:0];
  _RAND_751 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_divuw = _RAND_751[0:0];
  _RAND_752 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_remw = _RAND_752[0:0];
  _RAND_753 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_mul_isa_remuw = _RAND_753[0:0];
  _RAND_754 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_s = _RAND_754[0:0];
  _RAND_755 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_s = _RAND_755[0:0];
  _RAND_756 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_s = _RAND_756[0:0];
  _RAND_757 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_s = _RAND_757[0:0];
  _RAND_758 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_s = _RAND_758[0:0];
  _RAND_759 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_s = _RAND_759[0:0];
  _RAND_760 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_s = _RAND_760[0:0];
  _RAND_761 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_s = _RAND_761[0:0];
  _RAND_762 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_s = _RAND_762[0:0];
  _RAND_763 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_s = _RAND_763[0:0];
  _RAND_764 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_s = _RAND_764[0:0];
  _RAND_765 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_s = _RAND_765[0:0];
  _RAND_766 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_s = _RAND_766[0:0];
  _RAND_767 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_s = _RAND_767[0:0];
  _RAND_768 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_s = _RAND_768[0:0];
  _RAND_769 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_s = _RAND_769[0:0];
  _RAND_770 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_w = _RAND_770[0:0];
  _RAND_771 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_s = _RAND_771[0:0];
  _RAND_772 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_s = _RAND_772[0:0];
  _RAND_773 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_s = _RAND_773[0:0];
  _RAND_774 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_s = _RAND_774[0:0];
  _RAND_775 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_s = _RAND_775[0:0];
  _RAND_776 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_s = _RAND_776[0:0];
  _RAND_777 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmadd_d = _RAND_777[0:0];
  _RAND_778 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmsub_d = _RAND_778[0:0];
  _RAND_779 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmsub_d = _RAND_779[0:0];
  _RAND_780 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fnmadd_d = _RAND_780[0:0];
  _RAND_781 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fadd_d = _RAND_781[0:0];
  _RAND_782 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsub_d = _RAND_782[0:0];
  _RAND_783 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmul_d = _RAND_783[0:0];
  _RAND_784 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fdiv_d = _RAND_784[0:0];
  _RAND_785 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsqrt_d = _RAND_785[0:0];
  _RAND_786 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnj_d = _RAND_786[0:0];
  _RAND_787 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjn_d = _RAND_787[0:0];
  _RAND_788 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fsgnjx_d = _RAND_788[0:0];
  _RAND_789 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmin_d = _RAND_789[0:0];
  _RAND_790 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmax_d = _RAND_790[0:0];
  _RAND_791 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_s_d = _RAND_791[0:0];
  _RAND_792 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_d_s = _RAND_792[0:0];
  _RAND_793 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_feq_d = _RAND_793[0:0];
  _RAND_794 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_flt_d = _RAND_794[0:0];
  _RAND_795 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fle_d = _RAND_795[0:0];
  _RAND_796 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fclass_d = _RAND_796[0:0];
  _RAND_797 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_w_d = _RAND_797[0:0];
  _RAND_798 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_wu_d = _RAND_798[0:0];
  _RAND_799 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_l_d = _RAND_799[0:0];
  _RAND_800 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fcvt_lu_d = _RAND_800[0:0];
  _RAND_801 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_fpu_isa_fmv_x_d = _RAND_801[0:0];
  _RAND_802 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_param_is_rvc = _RAND_802[0:0];
  _RAND_803 = {2{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_param_pc = _RAND_803[38:0];
  _RAND_804 = {2{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_param_imm = _RAND_804[63:0];
  _RAND_805 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_param_raw_rs1 = _RAND_805[4:0];
  _RAND_806 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_phy_rs1 = _RAND_806[5:0];
  _RAND_807 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_phy_rs2 = _RAND_807[5:0];
  _RAND_808 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_phy_rs3 = _RAND_808[5:0];
  _RAND_809 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_0_phy_rd0 = _RAND_809[5:0];
  _RAND_810 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_lui = _RAND_810[0:0];
  _RAND_811 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_auipc = _RAND_811[0:0];
  _RAND_812 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_addi = _RAND_812[0:0];
  _RAND_813 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_addiw = _RAND_813[0:0];
  _RAND_814 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_slti = _RAND_814[0:0];
  _RAND_815 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sltiu = _RAND_815[0:0];
  _RAND_816 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_xori = _RAND_816[0:0];
  _RAND_817 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_ori = _RAND_817[0:0];
  _RAND_818 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_andi = _RAND_818[0:0];
  _RAND_819 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_slli = _RAND_819[0:0];
  _RAND_820 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_slliw = _RAND_820[0:0];
  _RAND_821 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_srli = _RAND_821[0:0];
  _RAND_822 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_srliw = _RAND_822[0:0];
  _RAND_823 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_srai = _RAND_823[0:0];
  _RAND_824 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sraiw = _RAND_824[0:0];
  _RAND_825 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_add = _RAND_825[0:0];
  _RAND_826 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_addw = _RAND_826[0:0];
  _RAND_827 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sub = _RAND_827[0:0];
  _RAND_828 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_subw = _RAND_828[0:0];
  _RAND_829 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sll = _RAND_829[0:0];
  _RAND_830 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sllw = _RAND_830[0:0];
  _RAND_831 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_slt = _RAND_831[0:0];
  _RAND_832 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sltu = _RAND_832[0:0];
  _RAND_833 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_xor = _RAND_833[0:0];
  _RAND_834 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_srl = _RAND_834[0:0];
  _RAND_835 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_srlw = _RAND_835[0:0];
  _RAND_836 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sra = _RAND_836[0:0];
  _RAND_837 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_sraw = _RAND_837[0:0];
  _RAND_838 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_or = _RAND_838[0:0];
  _RAND_839 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_and = _RAND_839[0:0];
  _RAND_840 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_alu_isa_wfi = _RAND_840[0:0];
  _RAND_841 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_jal = _RAND_841[0:0];
  _RAND_842 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_jalr = _RAND_842[0:0];
  _RAND_843 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_beq = _RAND_843[0:0];
  _RAND_844 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_bne = _RAND_844[0:0];
  _RAND_845 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_blt = _RAND_845[0:0];
  _RAND_846 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_bge = _RAND_846[0:0];
  _RAND_847 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_bltu = _RAND_847[0:0];
  _RAND_848 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_bru_isa_bgeu = _RAND_848[0:0];
  _RAND_849 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lb = _RAND_849[0:0];
  _RAND_850 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lh = _RAND_850[0:0];
  _RAND_851 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lw = _RAND_851[0:0];
  _RAND_852 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_ld = _RAND_852[0:0];
  _RAND_853 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lbu = _RAND_853[0:0];
  _RAND_854 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lhu = _RAND_854[0:0];
  _RAND_855 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lwu = _RAND_855[0:0];
  _RAND_856 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sb = _RAND_856[0:0];
  _RAND_857 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sh = _RAND_857[0:0];
  _RAND_858 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sw = _RAND_858[0:0];
  _RAND_859 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sd = _RAND_859[0:0];
  _RAND_860 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_fence = _RAND_860[0:0];
  _RAND_861 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_fence_i = _RAND_861[0:0];
  _RAND_862 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sfence_vma = _RAND_862[0:0];
  _RAND_863 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_w = _RAND_863[0:0];
  _RAND_864 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_w = _RAND_864[0:0];
  _RAND_865 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_w = _RAND_865[0:0];
  _RAND_866 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_w = _RAND_866[0:0];
  _RAND_867 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_w = _RAND_867[0:0];
  _RAND_868 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_w = _RAND_868[0:0];
  _RAND_869 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_w = _RAND_869[0:0];
  _RAND_870 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_w = _RAND_870[0:0];
  _RAND_871 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_w = _RAND_871[0:0];
  _RAND_872 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_w = _RAND_872[0:0];
  _RAND_873 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_w = _RAND_873[0:0];
  _RAND_874 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_lr_d = _RAND_874[0:0];
  _RAND_875 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_sc_d = _RAND_875[0:0];
  _RAND_876 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoswap_d = _RAND_876[0:0];
  _RAND_877 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoadd_d = _RAND_877[0:0];
  _RAND_878 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoxor_d = _RAND_878[0:0];
  _RAND_879 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoand_d = _RAND_879[0:0];
  _RAND_880 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amoor_d = _RAND_880[0:0];
  _RAND_881 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomin_d = _RAND_881[0:0];
  _RAND_882 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomax_d = _RAND_882[0:0];
  _RAND_883 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amominu_d = _RAND_883[0:0];
  _RAND_884 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_amomaxu_d = _RAND_884[0:0];
  _RAND_885 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_flw = _RAND_885[0:0];
  _RAND_886 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_fsw = _RAND_886[0:0];
  _RAND_887 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_fld = _RAND_887[0:0];
  _RAND_888 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_lsu_isa_fsd = _RAND_888[0:0];
  _RAND_889 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rw = _RAND_889[0:0];
  _RAND_890 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rs = _RAND_890[0:0];
  _RAND_891 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rc = _RAND_891[0:0];
  _RAND_892 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rwi = _RAND_892[0:0];
  _RAND_893 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rsi = _RAND_893[0:0];
  _RAND_894 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_csr_isa_rci = _RAND_894[0:0];
  _RAND_895 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_mul = _RAND_895[0:0];
  _RAND_896 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_mulh = _RAND_896[0:0];
  _RAND_897 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_mulhsu = _RAND_897[0:0];
  _RAND_898 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_mulhu = _RAND_898[0:0];
  _RAND_899 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_div = _RAND_899[0:0];
  _RAND_900 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_divu = _RAND_900[0:0];
  _RAND_901 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_rem = _RAND_901[0:0];
  _RAND_902 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_remu = _RAND_902[0:0];
  _RAND_903 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_mulw = _RAND_903[0:0];
  _RAND_904 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_divw = _RAND_904[0:0];
  _RAND_905 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_divuw = _RAND_905[0:0];
  _RAND_906 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_remw = _RAND_906[0:0];
  _RAND_907 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_mul_isa_remuw = _RAND_907[0:0];
  _RAND_908 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_s = _RAND_908[0:0];
  _RAND_909 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_s = _RAND_909[0:0];
  _RAND_910 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_s = _RAND_910[0:0];
  _RAND_911 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_s = _RAND_911[0:0];
  _RAND_912 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_s = _RAND_912[0:0];
  _RAND_913 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_s = _RAND_913[0:0];
  _RAND_914 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_s = _RAND_914[0:0];
  _RAND_915 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_s = _RAND_915[0:0];
  _RAND_916 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_s = _RAND_916[0:0];
  _RAND_917 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_s = _RAND_917[0:0];
  _RAND_918 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_s = _RAND_918[0:0];
  _RAND_919 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_s = _RAND_919[0:0];
  _RAND_920 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_s = _RAND_920[0:0];
  _RAND_921 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_s = _RAND_921[0:0];
  _RAND_922 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_s = _RAND_922[0:0];
  _RAND_923 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_s = _RAND_923[0:0];
  _RAND_924 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_w = _RAND_924[0:0];
  _RAND_925 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_s = _RAND_925[0:0];
  _RAND_926 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_s = _RAND_926[0:0];
  _RAND_927 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_s = _RAND_927[0:0];
  _RAND_928 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_s = _RAND_928[0:0];
  _RAND_929 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_s = _RAND_929[0:0];
  _RAND_930 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_s = _RAND_930[0:0];
  _RAND_931 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmadd_d = _RAND_931[0:0];
  _RAND_932 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmsub_d = _RAND_932[0:0];
  _RAND_933 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmsub_d = _RAND_933[0:0];
  _RAND_934 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fnmadd_d = _RAND_934[0:0];
  _RAND_935 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fadd_d = _RAND_935[0:0];
  _RAND_936 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsub_d = _RAND_936[0:0];
  _RAND_937 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmul_d = _RAND_937[0:0];
  _RAND_938 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fdiv_d = _RAND_938[0:0];
  _RAND_939 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsqrt_d = _RAND_939[0:0];
  _RAND_940 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnj_d = _RAND_940[0:0];
  _RAND_941 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjn_d = _RAND_941[0:0];
  _RAND_942 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fsgnjx_d = _RAND_942[0:0];
  _RAND_943 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmin_d = _RAND_943[0:0];
  _RAND_944 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmax_d = _RAND_944[0:0];
  _RAND_945 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_s_d = _RAND_945[0:0];
  _RAND_946 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_d_s = _RAND_946[0:0];
  _RAND_947 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_feq_d = _RAND_947[0:0];
  _RAND_948 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_flt_d = _RAND_948[0:0];
  _RAND_949 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fle_d = _RAND_949[0:0];
  _RAND_950 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fclass_d = _RAND_950[0:0];
  _RAND_951 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_w_d = _RAND_951[0:0];
  _RAND_952 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_wu_d = _RAND_952[0:0];
  _RAND_953 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_l_d = _RAND_953[0:0];
  _RAND_954 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fcvt_lu_d = _RAND_954[0:0];
  _RAND_955 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_fpu_isa_fmv_x_d = _RAND_955[0:0];
  _RAND_956 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_param_is_rvc = _RAND_956[0:0];
  _RAND_957 = {2{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_param_pc = _RAND_957[38:0];
  _RAND_958 = {2{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_param_imm = _RAND_958[63:0];
  _RAND_959 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_param_raw_rs1 = _RAND_959[4:0];
  _RAND_960 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_phy_rs1 = _RAND_960[5:0];
  _RAND_961 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_phy_rs2 = _RAND_961[5:0];
  _RAND_962 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_phy_rs3 = _RAND_962[5:0];
  _RAND_963 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_1_phy_rd0 = _RAND_963[5:0];
  _RAND_964 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_valid_0 = _RAND_964[0:0];
  _RAND_965 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_buf_valid_1 = _RAND_965[0:0];
  _RAND_966 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_rd_ptr = _RAND_966[0:0];
  _RAND_967 = {1{`RANDOM}};
  rnm_stage_rnRspFifo_wr_ptr = _RAND_967[0:0];
  _RAND_968 = {2{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_pc = _RAND_968[38:0];
  _RAND_969 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_rd0_raw = _RAND_969[4:0];
  _RAND_970 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_rd0_phy = _RAND_970[5:0];
  _RAND_971 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_branch = _RAND_971[0:0];
  _RAND_972 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_jalr = _RAND_972[0:0];
  _RAND_973 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_lu = _RAND_973[0:0];
  _RAND_974 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_su = _RAND_974[0:0];
  _RAND_975 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_amo = _RAND_975[0:0];
  _RAND_976 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_fence_i = _RAND_976[0:0];
  _RAND_977 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_sfence_vma = _RAND_977[0:0];
  _RAND_978 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_wfi = _RAND_978[0:0];
  _RAND_979 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_csr = _RAND_979[0:0];
  _RAND_980 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_fpu = _RAND_980[0:0];
  _RAND_981 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_fcsr = _RAND_981[0:0];
  _RAND_982 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_xcmm = _RAND_982[0:0];
  _RAND_983 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_fcmm = _RAND_983[0:0];
  _RAND_984 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_ecall = _RAND_984[0:0];
  _RAND_985 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_ebreak = _RAND_985[0:0];
  _RAND_986 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_mret = _RAND_986[0:0];
  _RAND_987 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_sret = _RAND_987[0:0];
  _RAND_988 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_dret = _RAND_988[0:0];
  _RAND_989 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_is_access_fault = _RAND_989[0:0];
  _RAND_990 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_privil_is_paging_fault = _RAND_990[0:0];
  _RAND_991 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_0_is_illeage = _RAND_991[0:0];
  _RAND_992 = {2{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_pc = _RAND_992[38:0];
  _RAND_993 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_rd0_raw = _RAND_993[4:0];
  _RAND_994 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_rd0_phy = _RAND_994[5:0];
  _RAND_995 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_branch = _RAND_995[0:0];
  _RAND_996 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_jalr = _RAND_996[0:0];
  _RAND_997 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_lu = _RAND_997[0:0];
  _RAND_998 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_su = _RAND_998[0:0];
  _RAND_999 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_amo = _RAND_999[0:0];
  _RAND_1000 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_fence_i = _RAND_1000[0:0];
  _RAND_1001 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_sfence_vma = _RAND_1001[0:0];
  _RAND_1002 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_wfi = _RAND_1002[0:0];
  _RAND_1003 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_csr = _RAND_1003[0:0];
  _RAND_1004 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_fpu = _RAND_1004[0:0];
  _RAND_1005 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_fcsr = _RAND_1005[0:0];
  _RAND_1006 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_xcmm = _RAND_1006[0:0];
  _RAND_1007 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_fcmm = _RAND_1007[0:0];
  _RAND_1008 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_ecall = _RAND_1008[0:0];
  _RAND_1009 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_ebreak = _RAND_1009[0:0];
  _RAND_1010 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_mret = _RAND_1010[0:0];
  _RAND_1011 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_sret = _RAND_1011[0:0];
  _RAND_1012 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_dret = _RAND_1012[0:0];
  _RAND_1013 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_is_access_fault = _RAND_1013[0:0];
  _RAND_1014 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_privil_is_paging_fault = _RAND_1014[0:0];
  _RAND_1015 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_1_is_illeage = _RAND_1015[0:0];
  _RAND_1016 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_valid_0 = _RAND_1016[0:0];
  _RAND_1017 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_buf_valid_1 = _RAND_1017[0:0];
  _RAND_1018 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_rd_ptr = _RAND_1018[0:0];
  _RAND_1019 = {1{`RANDOM}};
  rnm_stage_reOrder_fifo_i_wr_ptr = _RAND_1019[0:0];
  _RAND_1033 = {1{`RANDOM}};
  iss_stage_aluIssFifo_0_maybe_full = _RAND_1033[0:0];
  _RAND_1050 = {1{`RANDOM}};
  iss_stage_mulIssFifo_0_maybe_full = _RAND_1050[0:0];
  _RAND_1064 = {1{`RANDOM}};
  iss_stage_bruIssFifo_maybe_full = _RAND_1064[0:0];
  _RAND_1071 = {1{`RANDOM}};
  iss_stage_csrIssFifo_maybe_full = _RAND_1071[0:0];
  _RAND_1115 = {1{`RANDOM}};
  iss_stage_lsuIssFifo_maybe_full = _RAND_1115[0:0];
  _RAND_1116 = {1{`RANDOM}};
  iss_stage_bufValid_0 = _RAND_1116[0:0];
  _RAND_1117 = {1{`RANDOM}};
  iss_stage_bufValid_1 = _RAND_1117[0:0];
  _RAND_1118 = {1{`RANDOM}};
  iss_stage_bufValid_2 = _RAND_1118[0:0];
  _RAND_1119 = {1{`RANDOM}};
  iss_stage_bufValid_3 = _RAND_1119[0:0];
  _RAND_1120 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_lui = _RAND_1120[0:0];
  _RAND_1121 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_auipc = _RAND_1121[0:0];
  _RAND_1122 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_addi = _RAND_1122[0:0];
  _RAND_1123 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_addiw = _RAND_1123[0:0];
  _RAND_1124 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_slti = _RAND_1124[0:0];
  _RAND_1125 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sltiu = _RAND_1125[0:0];
  _RAND_1126 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_xori = _RAND_1126[0:0];
  _RAND_1127 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_ori = _RAND_1127[0:0];
  _RAND_1128 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_andi = _RAND_1128[0:0];
  _RAND_1129 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_slli = _RAND_1129[0:0];
  _RAND_1130 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_slliw = _RAND_1130[0:0];
  _RAND_1131 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_srli = _RAND_1131[0:0];
  _RAND_1132 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_srliw = _RAND_1132[0:0];
  _RAND_1133 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_srai = _RAND_1133[0:0];
  _RAND_1134 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sraiw = _RAND_1134[0:0];
  _RAND_1135 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_add = _RAND_1135[0:0];
  _RAND_1136 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_addw = _RAND_1136[0:0];
  _RAND_1137 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sub = _RAND_1137[0:0];
  _RAND_1138 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_subw = _RAND_1138[0:0];
  _RAND_1139 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sll = _RAND_1139[0:0];
  _RAND_1140 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sllw = _RAND_1140[0:0];
  _RAND_1141 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_slt = _RAND_1141[0:0];
  _RAND_1142 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sltu = _RAND_1142[0:0];
  _RAND_1143 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_xor = _RAND_1143[0:0];
  _RAND_1144 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_srl = _RAND_1144[0:0];
  _RAND_1145 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_srlw = _RAND_1145[0:0];
  _RAND_1146 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sra = _RAND_1146[0:0];
  _RAND_1147 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_sraw = _RAND_1147[0:0];
  _RAND_1148 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_or = _RAND_1148[0:0];
  _RAND_1149 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_and = _RAND_1149[0:0];
  _RAND_1150 = {1{`RANDOM}};
  iss_stage_bufInfo_0_alu_isa_wfi = _RAND_1150[0:0];
  _RAND_1151 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_jal = _RAND_1151[0:0];
  _RAND_1152 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_jalr = _RAND_1152[0:0];
  _RAND_1153 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_beq = _RAND_1153[0:0];
  _RAND_1154 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_bne = _RAND_1154[0:0];
  _RAND_1155 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_blt = _RAND_1155[0:0];
  _RAND_1156 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_bge = _RAND_1156[0:0];
  _RAND_1157 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_bltu = _RAND_1157[0:0];
  _RAND_1158 = {1{`RANDOM}};
  iss_stage_bufInfo_0_bru_isa_bgeu = _RAND_1158[0:0];
  _RAND_1159 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lb = _RAND_1159[0:0];
  _RAND_1160 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lh = _RAND_1160[0:0];
  _RAND_1161 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lw = _RAND_1161[0:0];
  _RAND_1162 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_ld = _RAND_1162[0:0];
  _RAND_1163 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lbu = _RAND_1163[0:0];
  _RAND_1164 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lhu = _RAND_1164[0:0];
  _RAND_1165 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lwu = _RAND_1165[0:0];
  _RAND_1166 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sb = _RAND_1166[0:0];
  _RAND_1167 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sh = _RAND_1167[0:0];
  _RAND_1168 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sw = _RAND_1168[0:0];
  _RAND_1169 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sd = _RAND_1169[0:0];
  _RAND_1170 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_fence = _RAND_1170[0:0];
  _RAND_1171 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_fence_i = _RAND_1171[0:0];
  _RAND_1172 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sfence_vma = _RAND_1172[0:0];
  _RAND_1173 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lr_w = _RAND_1173[0:0];
  _RAND_1174 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sc_w = _RAND_1174[0:0];
  _RAND_1175 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoswap_w = _RAND_1175[0:0];
  _RAND_1176 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoadd_w = _RAND_1176[0:0];
  _RAND_1177 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoxor_w = _RAND_1177[0:0];
  _RAND_1178 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoand_w = _RAND_1178[0:0];
  _RAND_1179 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoor_w = _RAND_1179[0:0];
  _RAND_1180 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomin_w = _RAND_1180[0:0];
  _RAND_1181 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomax_w = _RAND_1181[0:0];
  _RAND_1182 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amominu_w = _RAND_1182[0:0];
  _RAND_1183 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomaxu_w = _RAND_1183[0:0];
  _RAND_1184 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_lr_d = _RAND_1184[0:0];
  _RAND_1185 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_sc_d = _RAND_1185[0:0];
  _RAND_1186 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoswap_d = _RAND_1186[0:0];
  _RAND_1187 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoadd_d = _RAND_1187[0:0];
  _RAND_1188 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoxor_d = _RAND_1188[0:0];
  _RAND_1189 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoand_d = _RAND_1189[0:0];
  _RAND_1190 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amoor_d = _RAND_1190[0:0];
  _RAND_1191 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomin_d = _RAND_1191[0:0];
  _RAND_1192 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomax_d = _RAND_1192[0:0];
  _RAND_1193 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amominu_d = _RAND_1193[0:0];
  _RAND_1194 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_amomaxu_d = _RAND_1194[0:0];
  _RAND_1195 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_flw = _RAND_1195[0:0];
  _RAND_1196 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_fsw = _RAND_1196[0:0];
  _RAND_1197 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_fld = _RAND_1197[0:0];
  _RAND_1198 = {1{`RANDOM}};
  iss_stage_bufInfo_0_lsu_isa_fsd = _RAND_1198[0:0];
  _RAND_1199 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rw = _RAND_1199[0:0];
  _RAND_1200 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rs = _RAND_1200[0:0];
  _RAND_1201 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rc = _RAND_1201[0:0];
  _RAND_1202 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rwi = _RAND_1202[0:0];
  _RAND_1203 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rsi = _RAND_1203[0:0];
  _RAND_1204 = {1{`RANDOM}};
  iss_stage_bufInfo_0_csr_isa_rci = _RAND_1204[0:0];
  _RAND_1205 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_mul = _RAND_1205[0:0];
  _RAND_1206 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_mulh = _RAND_1206[0:0];
  _RAND_1207 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_mulhsu = _RAND_1207[0:0];
  _RAND_1208 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_mulhu = _RAND_1208[0:0];
  _RAND_1209 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_div = _RAND_1209[0:0];
  _RAND_1210 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_divu = _RAND_1210[0:0];
  _RAND_1211 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_rem = _RAND_1211[0:0];
  _RAND_1212 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_remu = _RAND_1212[0:0];
  _RAND_1213 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_mulw = _RAND_1213[0:0];
  _RAND_1214 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_divw = _RAND_1214[0:0];
  _RAND_1215 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_divuw = _RAND_1215[0:0];
  _RAND_1216 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_remw = _RAND_1216[0:0];
  _RAND_1217 = {1{`RANDOM}};
  iss_stage_bufInfo_0_mul_isa_remuw = _RAND_1217[0:0];
  _RAND_1218 = {1{`RANDOM}};
  iss_stage_bufInfo_0_param_is_rvc = _RAND_1218[0:0];
  _RAND_1219 = {2{`RANDOM}};
  iss_stage_bufInfo_0_param_pc = _RAND_1219[38:0];
  _RAND_1220 = {2{`RANDOM}};
  iss_stage_bufInfo_0_param_imm = _RAND_1220[63:0];
  _RAND_1221 = {1{`RANDOM}};
  iss_stage_bufInfo_0_param_raw_rs1 = _RAND_1221[4:0];
  _RAND_1222 = {1{`RANDOM}};
  iss_stage_bufInfo_0_phy_rs1 = _RAND_1222[5:0];
  _RAND_1223 = {1{`RANDOM}};
  iss_stage_bufInfo_0_phy_rs2 = _RAND_1223[5:0];
  _RAND_1224 = {1{`RANDOM}};
  iss_stage_bufInfo_0_phy_rd0 = _RAND_1224[5:0];
  _RAND_1225 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_lui = _RAND_1225[0:0];
  _RAND_1226 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_auipc = _RAND_1226[0:0];
  _RAND_1227 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_addi = _RAND_1227[0:0];
  _RAND_1228 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_addiw = _RAND_1228[0:0];
  _RAND_1229 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_slti = _RAND_1229[0:0];
  _RAND_1230 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sltiu = _RAND_1230[0:0];
  _RAND_1231 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_xori = _RAND_1231[0:0];
  _RAND_1232 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_ori = _RAND_1232[0:0];
  _RAND_1233 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_andi = _RAND_1233[0:0];
  _RAND_1234 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_slli = _RAND_1234[0:0];
  _RAND_1235 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_slliw = _RAND_1235[0:0];
  _RAND_1236 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_srli = _RAND_1236[0:0];
  _RAND_1237 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_srliw = _RAND_1237[0:0];
  _RAND_1238 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_srai = _RAND_1238[0:0];
  _RAND_1239 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sraiw = _RAND_1239[0:0];
  _RAND_1240 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_add = _RAND_1240[0:0];
  _RAND_1241 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_addw = _RAND_1241[0:0];
  _RAND_1242 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sub = _RAND_1242[0:0];
  _RAND_1243 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_subw = _RAND_1243[0:0];
  _RAND_1244 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sll = _RAND_1244[0:0];
  _RAND_1245 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sllw = _RAND_1245[0:0];
  _RAND_1246 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_slt = _RAND_1246[0:0];
  _RAND_1247 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sltu = _RAND_1247[0:0];
  _RAND_1248 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_xor = _RAND_1248[0:0];
  _RAND_1249 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_srl = _RAND_1249[0:0];
  _RAND_1250 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_srlw = _RAND_1250[0:0];
  _RAND_1251 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sra = _RAND_1251[0:0];
  _RAND_1252 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_sraw = _RAND_1252[0:0];
  _RAND_1253 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_or = _RAND_1253[0:0];
  _RAND_1254 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_and = _RAND_1254[0:0];
  _RAND_1255 = {1{`RANDOM}};
  iss_stage_bufInfo_1_alu_isa_wfi = _RAND_1255[0:0];
  _RAND_1256 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_jal = _RAND_1256[0:0];
  _RAND_1257 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_jalr = _RAND_1257[0:0];
  _RAND_1258 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_beq = _RAND_1258[0:0];
  _RAND_1259 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_bne = _RAND_1259[0:0];
  _RAND_1260 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_blt = _RAND_1260[0:0];
  _RAND_1261 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_bge = _RAND_1261[0:0];
  _RAND_1262 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_bltu = _RAND_1262[0:0];
  _RAND_1263 = {1{`RANDOM}};
  iss_stage_bufInfo_1_bru_isa_bgeu = _RAND_1263[0:0];
  _RAND_1264 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lb = _RAND_1264[0:0];
  _RAND_1265 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lh = _RAND_1265[0:0];
  _RAND_1266 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lw = _RAND_1266[0:0];
  _RAND_1267 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_ld = _RAND_1267[0:0];
  _RAND_1268 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lbu = _RAND_1268[0:0];
  _RAND_1269 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lhu = _RAND_1269[0:0];
  _RAND_1270 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lwu = _RAND_1270[0:0];
  _RAND_1271 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sb = _RAND_1271[0:0];
  _RAND_1272 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sh = _RAND_1272[0:0];
  _RAND_1273 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sw = _RAND_1273[0:0];
  _RAND_1274 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sd = _RAND_1274[0:0];
  _RAND_1275 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_fence = _RAND_1275[0:0];
  _RAND_1276 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_fence_i = _RAND_1276[0:0];
  _RAND_1277 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sfence_vma = _RAND_1277[0:0];
  _RAND_1278 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lr_w = _RAND_1278[0:0];
  _RAND_1279 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sc_w = _RAND_1279[0:0];
  _RAND_1280 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoswap_w = _RAND_1280[0:0];
  _RAND_1281 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoadd_w = _RAND_1281[0:0];
  _RAND_1282 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoxor_w = _RAND_1282[0:0];
  _RAND_1283 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoand_w = _RAND_1283[0:0];
  _RAND_1284 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoor_w = _RAND_1284[0:0];
  _RAND_1285 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomin_w = _RAND_1285[0:0];
  _RAND_1286 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomax_w = _RAND_1286[0:0];
  _RAND_1287 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amominu_w = _RAND_1287[0:0];
  _RAND_1288 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomaxu_w = _RAND_1288[0:0];
  _RAND_1289 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_lr_d = _RAND_1289[0:0];
  _RAND_1290 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_sc_d = _RAND_1290[0:0];
  _RAND_1291 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoswap_d = _RAND_1291[0:0];
  _RAND_1292 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoadd_d = _RAND_1292[0:0];
  _RAND_1293 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoxor_d = _RAND_1293[0:0];
  _RAND_1294 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoand_d = _RAND_1294[0:0];
  _RAND_1295 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amoor_d = _RAND_1295[0:0];
  _RAND_1296 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomin_d = _RAND_1296[0:0];
  _RAND_1297 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomax_d = _RAND_1297[0:0];
  _RAND_1298 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amominu_d = _RAND_1298[0:0];
  _RAND_1299 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_amomaxu_d = _RAND_1299[0:0];
  _RAND_1300 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_flw = _RAND_1300[0:0];
  _RAND_1301 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_fsw = _RAND_1301[0:0];
  _RAND_1302 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_fld = _RAND_1302[0:0];
  _RAND_1303 = {1{`RANDOM}};
  iss_stage_bufInfo_1_lsu_isa_fsd = _RAND_1303[0:0];
  _RAND_1304 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rw = _RAND_1304[0:0];
  _RAND_1305 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rs = _RAND_1305[0:0];
  _RAND_1306 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rc = _RAND_1306[0:0];
  _RAND_1307 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rwi = _RAND_1307[0:0];
  _RAND_1308 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rsi = _RAND_1308[0:0];
  _RAND_1309 = {1{`RANDOM}};
  iss_stage_bufInfo_1_csr_isa_rci = _RAND_1309[0:0];
  _RAND_1310 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_mul = _RAND_1310[0:0];
  _RAND_1311 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_mulh = _RAND_1311[0:0];
  _RAND_1312 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_mulhsu = _RAND_1312[0:0];
  _RAND_1313 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_mulhu = _RAND_1313[0:0];
  _RAND_1314 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_div = _RAND_1314[0:0];
  _RAND_1315 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_divu = _RAND_1315[0:0];
  _RAND_1316 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_rem = _RAND_1316[0:0];
  _RAND_1317 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_remu = _RAND_1317[0:0];
  _RAND_1318 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_mulw = _RAND_1318[0:0];
  _RAND_1319 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_divw = _RAND_1319[0:0];
  _RAND_1320 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_divuw = _RAND_1320[0:0];
  _RAND_1321 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_remw = _RAND_1321[0:0];
  _RAND_1322 = {1{`RANDOM}};
  iss_stage_bufInfo_1_mul_isa_remuw = _RAND_1322[0:0];
  _RAND_1323 = {1{`RANDOM}};
  iss_stage_bufInfo_1_param_is_rvc = _RAND_1323[0:0];
  _RAND_1324 = {2{`RANDOM}};
  iss_stage_bufInfo_1_param_pc = _RAND_1324[38:0];
  _RAND_1325 = {2{`RANDOM}};
  iss_stage_bufInfo_1_param_imm = _RAND_1325[63:0];
  _RAND_1326 = {1{`RANDOM}};
  iss_stage_bufInfo_1_param_raw_rs1 = _RAND_1326[4:0];
  _RAND_1327 = {1{`RANDOM}};
  iss_stage_bufInfo_1_phy_rs1 = _RAND_1327[5:0];
  _RAND_1328 = {1{`RANDOM}};
  iss_stage_bufInfo_1_phy_rs2 = _RAND_1328[5:0];
  _RAND_1329 = {1{`RANDOM}};
  iss_stage_bufInfo_1_phy_rd0 = _RAND_1329[5:0];
  _RAND_1330 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_lui = _RAND_1330[0:0];
  _RAND_1331 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_auipc = _RAND_1331[0:0];
  _RAND_1332 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_addi = _RAND_1332[0:0];
  _RAND_1333 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_addiw = _RAND_1333[0:0];
  _RAND_1334 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_slti = _RAND_1334[0:0];
  _RAND_1335 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sltiu = _RAND_1335[0:0];
  _RAND_1336 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_xori = _RAND_1336[0:0];
  _RAND_1337 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_ori = _RAND_1337[0:0];
  _RAND_1338 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_andi = _RAND_1338[0:0];
  _RAND_1339 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_slli = _RAND_1339[0:0];
  _RAND_1340 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_slliw = _RAND_1340[0:0];
  _RAND_1341 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_srli = _RAND_1341[0:0];
  _RAND_1342 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_srliw = _RAND_1342[0:0];
  _RAND_1343 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_srai = _RAND_1343[0:0];
  _RAND_1344 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sraiw = _RAND_1344[0:0];
  _RAND_1345 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_add = _RAND_1345[0:0];
  _RAND_1346 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_addw = _RAND_1346[0:0];
  _RAND_1347 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sub = _RAND_1347[0:0];
  _RAND_1348 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_subw = _RAND_1348[0:0];
  _RAND_1349 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sll = _RAND_1349[0:0];
  _RAND_1350 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sllw = _RAND_1350[0:0];
  _RAND_1351 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_slt = _RAND_1351[0:0];
  _RAND_1352 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sltu = _RAND_1352[0:0];
  _RAND_1353 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_xor = _RAND_1353[0:0];
  _RAND_1354 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_srl = _RAND_1354[0:0];
  _RAND_1355 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_srlw = _RAND_1355[0:0];
  _RAND_1356 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sra = _RAND_1356[0:0];
  _RAND_1357 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_sraw = _RAND_1357[0:0];
  _RAND_1358 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_or = _RAND_1358[0:0];
  _RAND_1359 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_and = _RAND_1359[0:0];
  _RAND_1360 = {1{`RANDOM}};
  iss_stage_bufInfo_2_alu_isa_wfi = _RAND_1360[0:0];
  _RAND_1361 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_jal = _RAND_1361[0:0];
  _RAND_1362 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_jalr = _RAND_1362[0:0];
  _RAND_1363 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_beq = _RAND_1363[0:0];
  _RAND_1364 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_bne = _RAND_1364[0:0];
  _RAND_1365 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_blt = _RAND_1365[0:0];
  _RAND_1366 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_bge = _RAND_1366[0:0];
  _RAND_1367 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_bltu = _RAND_1367[0:0];
  _RAND_1368 = {1{`RANDOM}};
  iss_stage_bufInfo_2_bru_isa_bgeu = _RAND_1368[0:0];
  _RAND_1369 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lb = _RAND_1369[0:0];
  _RAND_1370 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lh = _RAND_1370[0:0];
  _RAND_1371 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lw = _RAND_1371[0:0];
  _RAND_1372 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_ld = _RAND_1372[0:0];
  _RAND_1373 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lbu = _RAND_1373[0:0];
  _RAND_1374 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lhu = _RAND_1374[0:0];
  _RAND_1375 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lwu = _RAND_1375[0:0];
  _RAND_1376 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sb = _RAND_1376[0:0];
  _RAND_1377 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sh = _RAND_1377[0:0];
  _RAND_1378 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sw = _RAND_1378[0:0];
  _RAND_1379 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sd = _RAND_1379[0:0];
  _RAND_1380 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_fence = _RAND_1380[0:0];
  _RAND_1381 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_fence_i = _RAND_1381[0:0];
  _RAND_1382 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sfence_vma = _RAND_1382[0:0];
  _RAND_1383 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lr_w = _RAND_1383[0:0];
  _RAND_1384 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sc_w = _RAND_1384[0:0];
  _RAND_1385 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoswap_w = _RAND_1385[0:0];
  _RAND_1386 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoadd_w = _RAND_1386[0:0];
  _RAND_1387 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoxor_w = _RAND_1387[0:0];
  _RAND_1388 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoand_w = _RAND_1388[0:0];
  _RAND_1389 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoor_w = _RAND_1389[0:0];
  _RAND_1390 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomin_w = _RAND_1390[0:0];
  _RAND_1391 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomax_w = _RAND_1391[0:0];
  _RAND_1392 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amominu_w = _RAND_1392[0:0];
  _RAND_1393 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomaxu_w = _RAND_1393[0:0];
  _RAND_1394 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_lr_d = _RAND_1394[0:0];
  _RAND_1395 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_sc_d = _RAND_1395[0:0];
  _RAND_1396 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoswap_d = _RAND_1396[0:0];
  _RAND_1397 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoadd_d = _RAND_1397[0:0];
  _RAND_1398 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoxor_d = _RAND_1398[0:0];
  _RAND_1399 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoand_d = _RAND_1399[0:0];
  _RAND_1400 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amoor_d = _RAND_1400[0:0];
  _RAND_1401 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomin_d = _RAND_1401[0:0];
  _RAND_1402 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomax_d = _RAND_1402[0:0];
  _RAND_1403 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amominu_d = _RAND_1403[0:0];
  _RAND_1404 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_amomaxu_d = _RAND_1404[0:0];
  _RAND_1405 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_flw = _RAND_1405[0:0];
  _RAND_1406 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_fsw = _RAND_1406[0:0];
  _RAND_1407 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_fld = _RAND_1407[0:0];
  _RAND_1408 = {1{`RANDOM}};
  iss_stage_bufInfo_2_lsu_isa_fsd = _RAND_1408[0:0];
  _RAND_1409 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rw = _RAND_1409[0:0];
  _RAND_1410 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rs = _RAND_1410[0:0];
  _RAND_1411 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rc = _RAND_1411[0:0];
  _RAND_1412 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rwi = _RAND_1412[0:0];
  _RAND_1413 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rsi = _RAND_1413[0:0];
  _RAND_1414 = {1{`RANDOM}};
  iss_stage_bufInfo_2_csr_isa_rci = _RAND_1414[0:0];
  _RAND_1415 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_mul = _RAND_1415[0:0];
  _RAND_1416 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_mulh = _RAND_1416[0:0];
  _RAND_1417 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_mulhsu = _RAND_1417[0:0];
  _RAND_1418 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_mulhu = _RAND_1418[0:0];
  _RAND_1419 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_div = _RAND_1419[0:0];
  _RAND_1420 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_divu = _RAND_1420[0:0];
  _RAND_1421 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_rem = _RAND_1421[0:0];
  _RAND_1422 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_remu = _RAND_1422[0:0];
  _RAND_1423 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_mulw = _RAND_1423[0:0];
  _RAND_1424 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_divw = _RAND_1424[0:0];
  _RAND_1425 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_divuw = _RAND_1425[0:0];
  _RAND_1426 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_remw = _RAND_1426[0:0];
  _RAND_1427 = {1{`RANDOM}};
  iss_stage_bufInfo_2_mul_isa_remuw = _RAND_1427[0:0];
  _RAND_1428 = {1{`RANDOM}};
  iss_stage_bufInfo_2_param_is_rvc = _RAND_1428[0:0];
  _RAND_1429 = {2{`RANDOM}};
  iss_stage_bufInfo_2_param_pc = _RAND_1429[38:0];
  _RAND_1430 = {2{`RANDOM}};
  iss_stage_bufInfo_2_param_imm = _RAND_1430[63:0];
  _RAND_1431 = {1{`RANDOM}};
  iss_stage_bufInfo_2_param_raw_rs1 = _RAND_1431[4:0];
  _RAND_1432 = {1{`RANDOM}};
  iss_stage_bufInfo_2_phy_rs1 = _RAND_1432[5:0];
  _RAND_1433 = {1{`RANDOM}};
  iss_stage_bufInfo_2_phy_rs2 = _RAND_1433[5:0];
  _RAND_1434 = {1{`RANDOM}};
  iss_stage_bufInfo_2_phy_rd0 = _RAND_1434[5:0];
  _RAND_1435 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_lui = _RAND_1435[0:0];
  _RAND_1436 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_auipc = _RAND_1436[0:0];
  _RAND_1437 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_addi = _RAND_1437[0:0];
  _RAND_1438 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_addiw = _RAND_1438[0:0];
  _RAND_1439 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_slti = _RAND_1439[0:0];
  _RAND_1440 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sltiu = _RAND_1440[0:0];
  _RAND_1441 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_xori = _RAND_1441[0:0];
  _RAND_1442 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_ori = _RAND_1442[0:0];
  _RAND_1443 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_andi = _RAND_1443[0:0];
  _RAND_1444 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_slli = _RAND_1444[0:0];
  _RAND_1445 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_slliw = _RAND_1445[0:0];
  _RAND_1446 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_srli = _RAND_1446[0:0];
  _RAND_1447 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_srliw = _RAND_1447[0:0];
  _RAND_1448 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_srai = _RAND_1448[0:0];
  _RAND_1449 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sraiw = _RAND_1449[0:0];
  _RAND_1450 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_add = _RAND_1450[0:0];
  _RAND_1451 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_addw = _RAND_1451[0:0];
  _RAND_1452 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sub = _RAND_1452[0:0];
  _RAND_1453 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_subw = _RAND_1453[0:0];
  _RAND_1454 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sll = _RAND_1454[0:0];
  _RAND_1455 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sllw = _RAND_1455[0:0];
  _RAND_1456 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_slt = _RAND_1456[0:0];
  _RAND_1457 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sltu = _RAND_1457[0:0];
  _RAND_1458 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_xor = _RAND_1458[0:0];
  _RAND_1459 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_srl = _RAND_1459[0:0];
  _RAND_1460 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_srlw = _RAND_1460[0:0];
  _RAND_1461 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sra = _RAND_1461[0:0];
  _RAND_1462 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_sraw = _RAND_1462[0:0];
  _RAND_1463 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_or = _RAND_1463[0:0];
  _RAND_1464 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_and = _RAND_1464[0:0];
  _RAND_1465 = {1{`RANDOM}};
  iss_stage_bufInfo_3_alu_isa_wfi = _RAND_1465[0:0];
  _RAND_1466 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_jal = _RAND_1466[0:0];
  _RAND_1467 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_jalr = _RAND_1467[0:0];
  _RAND_1468 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_beq = _RAND_1468[0:0];
  _RAND_1469 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_bne = _RAND_1469[0:0];
  _RAND_1470 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_blt = _RAND_1470[0:0];
  _RAND_1471 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_bge = _RAND_1471[0:0];
  _RAND_1472 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_bltu = _RAND_1472[0:0];
  _RAND_1473 = {1{`RANDOM}};
  iss_stage_bufInfo_3_bru_isa_bgeu = _RAND_1473[0:0];
  _RAND_1474 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lb = _RAND_1474[0:0];
  _RAND_1475 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lh = _RAND_1475[0:0];
  _RAND_1476 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lw = _RAND_1476[0:0];
  _RAND_1477 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_ld = _RAND_1477[0:0];
  _RAND_1478 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lbu = _RAND_1478[0:0];
  _RAND_1479 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lhu = _RAND_1479[0:0];
  _RAND_1480 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lwu = _RAND_1480[0:0];
  _RAND_1481 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sb = _RAND_1481[0:0];
  _RAND_1482 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sh = _RAND_1482[0:0];
  _RAND_1483 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sw = _RAND_1483[0:0];
  _RAND_1484 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sd = _RAND_1484[0:0];
  _RAND_1485 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_fence = _RAND_1485[0:0];
  _RAND_1486 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_fence_i = _RAND_1486[0:0];
  _RAND_1487 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sfence_vma = _RAND_1487[0:0];
  _RAND_1488 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lr_w = _RAND_1488[0:0];
  _RAND_1489 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sc_w = _RAND_1489[0:0];
  _RAND_1490 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoswap_w = _RAND_1490[0:0];
  _RAND_1491 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoadd_w = _RAND_1491[0:0];
  _RAND_1492 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoxor_w = _RAND_1492[0:0];
  _RAND_1493 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoand_w = _RAND_1493[0:0];
  _RAND_1494 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoor_w = _RAND_1494[0:0];
  _RAND_1495 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomin_w = _RAND_1495[0:0];
  _RAND_1496 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomax_w = _RAND_1496[0:0];
  _RAND_1497 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amominu_w = _RAND_1497[0:0];
  _RAND_1498 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomaxu_w = _RAND_1498[0:0];
  _RAND_1499 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_lr_d = _RAND_1499[0:0];
  _RAND_1500 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_sc_d = _RAND_1500[0:0];
  _RAND_1501 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoswap_d = _RAND_1501[0:0];
  _RAND_1502 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoadd_d = _RAND_1502[0:0];
  _RAND_1503 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoxor_d = _RAND_1503[0:0];
  _RAND_1504 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoand_d = _RAND_1504[0:0];
  _RAND_1505 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amoor_d = _RAND_1505[0:0];
  _RAND_1506 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomin_d = _RAND_1506[0:0];
  _RAND_1507 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomax_d = _RAND_1507[0:0];
  _RAND_1508 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amominu_d = _RAND_1508[0:0];
  _RAND_1509 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_amomaxu_d = _RAND_1509[0:0];
  _RAND_1510 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_flw = _RAND_1510[0:0];
  _RAND_1511 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_fsw = _RAND_1511[0:0];
  _RAND_1512 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_fld = _RAND_1512[0:0];
  _RAND_1513 = {1{`RANDOM}};
  iss_stage_bufInfo_3_lsu_isa_fsd = _RAND_1513[0:0];
  _RAND_1514 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rw = _RAND_1514[0:0];
  _RAND_1515 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rs = _RAND_1515[0:0];
  _RAND_1516 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rc = _RAND_1516[0:0];
  _RAND_1517 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rwi = _RAND_1517[0:0];
  _RAND_1518 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rsi = _RAND_1518[0:0];
  _RAND_1519 = {1{`RANDOM}};
  iss_stage_bufInfo_3_csr_isa_rci = _RAND_1519[0:0];
  _RAND_1520 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_mul = _RAND_1520[0:0];
  _RAND_1521 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_mulh = _RAND_1521[0:0];
  _RAND_1522 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_mulhsu = _RAND_1522[0:0];
  _RAND_1523 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_mulhu = _RAND_1523[0:0];
  _RAND_1524 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_div = _RAND_1524[0:0];
  _RAND_1525 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_divu = _RAND_1525[0:0];
  _RAND_1526 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_rem = _RAND_1526[0:0];
  _RAND_1527 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_remu = _RAND_1527[0:0];
  _RAND_1528 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_mulw = _RAND_1528[0:0];
  _RAND_1529 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_divw = _RAND_1529[0:0];
  _RAND_1530 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_divuw = _RAND_1530[0:0];
  _RAND_1531 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_remw = _RAND_1531[0:0];
  _RAND_1532 = {1{`RANDOM}};
  iss_stage_bufInfo_3_mul_isa_remuw = _RAND_1532[0:0];
  _RAND_1533 = {1{`RANDOM}};
  iss_stage_bufInfo_3_param_is_rvc = _RAND_1533[0:0];
  _RAND_1534 = {2{`RANDOM}};
  iss_stage_bufInfo_3_param_pc = _RAND_1534[38:0];
  _RAND_1535 = {2{`RANDOM}};
  iss_stage_bufInfo_3_param_imm = _RAND_1535[63:0];
  _RAND_1536 = {1{`RANDOM}};
  iss_stage_bufInfo_3_param_raw_rs1 = _RAND_1536[4:0];
  _RAND_1537 = {1{`RANDOM}};
  iss_stage_bufInfo_3_phy_rs1 = _RAND_1537[5:0];
  _RAND_1538 = {1{`RANDOM}};
  iss_stage_bufInfo_3_phy_rs2 = _RAND_1538[5:0];
  _RAND_1539 = {1{`RANDOM}};
  iss_stage_bufInfo_3_phy_rd0 = _RAND_1539[5:0];
  _RAND_1540 = {1{`RANDOM}};
  iss_stage_isOpReady_0_0 = _RAND_1540[0:0];
  _RAND_1541 = {1{`RANDOM}};
  iss_stage_isOpReady_0_1 = _RAND_1541[0:0];
  _RAND_1542 = {1{`RANDOM}};
  iss_stage_isOpReady_1_0 = _RAND_1542[0:0];
  _RAND_1543 = {1{`RANDOM}};
  iss_stage_isOpReady_1_1 = _RAND_1543[0:0];
  _RAND_1544 = {1{`RANDOM}};
  iss_stage_isOpReady_2_0 = _RAND_1544[0:0];
  _RAND_1545 = {1{`RANDOM}};
  iss_stage_isOpReady_2_1 = _RAND_1545[0:0];
  _RAND_1546 = {1{`RANDOM}};
  iss_stage_isOpReady_3_0 = _RAND_1546[0:0];
  _RAND_1547 = {1{`RANDOM}};
  iss_stage_isOpReady_3_1 = _RAND_1547[0:0];
  _RAND_1548 = {3{`RANDOM}};
  iss_stage_bufOperator_0_0 = _RAND_1548[64:0];
  _RAND_1549 = {3{`RANDOM}};
  iss_stage_bufOperator_0_1 = _RAND_1549[64:0];
  _RAND_1550 = {3{`RANDOM}};
  iss_stage_bufOperator_1_0 = _RAND_1550[64:0];
  _RAND_1551 = {3{`RANDOM}};
  iss_stage_bufOperator_1_1 = _RAND_1551[64:0];
  _RAND_1552 = {3{`RANDOM}};
  iss_stage_bufOperator_2_0 = _RAND_1552[64:0];
  _RAND_1553 = {3{`RANDOM}};
  iss_stage_bufOperator_2_1 = _RAND_1553[64:0];
  _RAND_1554 = {3{`RANDOM}};
  iss_stage_bufOperator_3_0 = _RAND_1554[64:0];
  _RAND_1555 = {3{`RANDOM}};
  iss_stage_bufOperator_3_1 = _RAND_1555[64:0];
  _RAND_1556 = {1{`RANDOM}};
  iss_stage_ageMatrixW_0_0 = _RAND_1556[0:0];
  _RAND_1557 = {1{`RANDOM}};
  iss_stage_ageMatrixW_0_1 = _RAND_1557[0:0];
  _RAND_1558 = {1{`RANDOM}};
  iss_stage_ageMatrixW_0_2 = _RAND_1558[0:0];
  _RAND_1559 = {1{`RANDOM}};
  iss_stage_ageMatrixW_0_3 = _RAND_1559[0:0];
  _RAND_1560 = {1{`RANDOM}};
  iss_stage_ageMatrixW_1_1 = _RAND_1560[0:0];
  _RAND_1561 = {1{`RANDOM}};
  iss_stage_ageMatrixW_1_2 = _RAND_1561[0:0];
  _RAND_1562 = {1{`RANDOM}};
  iss_stage_ageMatrixW_1_3 = _RAND_1562[0:0];
  _RAND_1563 = {1{`RANDOM}};
  iss_stage_ageMatrixW_2_2 = _RAND_1563[0:0];
  _RAND_1564 = {1{`RANDOM}};
  iss_stage_ageMatrixW_2_3 = _RAND_1564[0:0];
  _RAND_1565 = {1{`RANDOM}};
  iss_stage_ageMatrixW_3_3 = _RAND_1565[0:0];
  _RAND_1568 = {1{`RANDOM}};
  exe_stage_alu_0_alu_exe_iwb_fifo_maybe_full = _RAND_1568[0:0];
  _RAND_1571 = {1{`RANDOM}};
  exe_stage_bru_bru_exe_iwb_fifo_maybe_full = _RAND_1571[0:0];
  _RAND_1578 = {1{`RANDOM}};
  exe_stage_bru_bctq_maybe_full = _RAND_1578[0:0];
  _RAND_1584 = {1{`RANDOM}};
  exe_stage_bru_jctq_maybe_full = _RAND_1584[0:0];
  _RAND_1585 = {1{`RANDOM}};
  exe_stage_bru_misPredict_locker = _RAND_1585[0:0];
  _RAND_1586 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lb = _RAND_1586[0:0];
  _RAND_1587 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lh = _RAND_1587[0:0];
  _RAND_1588 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lw = _RAND_1588[0:0];
  _RAND_1589 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_ld = _RAND_1589[0:0];
  _RAND_1590 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lbu = _RAND_1590[0:0];
  _RAND_1591 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lhu = _RAND_1591[0:0];
  _RAND_1592 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lwu = _RAND_1592[0:0];
  _RAND_1593 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sb = _RAND_1593[0:0];
  _RAND_1594 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sh = _RAND_1594[0:0];
  _RAND_1595 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sw = _RAND_1595[0:0];
  _RAND_1596 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sd = _RAND_1596[0:0];
  _RAND_1597 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lr_w = _RAND_1597[0:0];
  _RAND_1598 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sc_w = _RAND_1598[0:0];
  _RAND_1599 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoswap_w = _RAND_1599[0:0];
  _RAND_1600 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoadd_w = _RAND_1600[0:0];
  _RAND_1601 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoxor_w = _RAND_1601[0:0];
  _RAND_1602 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoand_w = _RAND_1602[0:0];
  _RAND_1603 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoor_w = _RAND_1603[0:0];
  _RAND_1604 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomin_w = _RAND_1604[0:0];
  _RAND_1605 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomax_w = _RAND_1605[0:0];
  _RAND_1606 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amominu_w = _RAND_1606[0:0];
  _RAND_1607 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomaxu_w = _RAND_1607[0:0];
  _RAND_1608 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_lr_d = _RAND_1608[0:0];
  _RAND_1609 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_sc_d = _RAND_1609[0:0];
  _RAND_1610 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoswap_d = _RAND_1610[0:0];
  _RAND_1611 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoadd_d = _RAND_1611[0:0];
  _RAND_1612 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoxor_d = _RAND_1612[0:0];
  _RAND_1613 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoand_d = _RAND_1613[0:0];
  _RAND_1614 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amoor_d = _RAND_1614[0:0];
  _RAND_1615 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomin_d = _RAND_1615[0:0];
  _RAND_1616 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomax_d = _RAND_1616[0:0];
  _RAND_1617 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amominu_d = _RAND_1617[0:0];
  _RAND_1618 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_amomaxu_d = _RAND_1618[0:0];
  _RAND_1619 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_flw = _RAND_1619[0:0];
  _RAND_1620 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_fsw = _RAND_1620[0:0];
  _RAND_1621 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_fld = _RAND_1621[0:0];
  _RAND_1622 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_fun_fsd = _RAND_1622[0:0];
  _RAND_1623 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_param_rd0 = _RAND_1623[5:0];
  _RAND_1624 = {2{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_param_dat_op1 = _RAND_1624[63:0];
  _RAND_1625 = {2{`RANDOM}};
  exe_stage_lsu_stQueue_buff_0_param_dat_op2 = _RAND_1625[63:0];
  _RAND_1626 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lb = _RAND_1626[0:0];
  _RAND_1627 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lh = _RAND_1627[0:0];
  _RAND_1628 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lw = _RAND_1628[0:0];
  _RAND_1629 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_ld = _RAND_1629[0:0];
  _RAND_1630 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lbu = _RAND_1630[0:0];
  _RAND_1631 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lhu = _RAND_1631[0:0];
  _RAND_1632 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lwu = _RAND_1632[0:0];
  _RAND_1633 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sb = _RAND_1633[0:0];
  _RAND_1634 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sh = _RAND_1634[0:0];
  _RAND_1635 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sw = _RAND_1635[0:0];
  _RAND_1636 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sd = _RAND_1636[0:0];
  _RAND_1637 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lr_w = _RAND_1637[0:0];
  _RAND_1638 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sc_w = _RAND_1638[0:0];
  _RAND_1639 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoswap_w = _RAND_1639[0:0];
  _RAND_1640 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoadd_w = _RAND_1640[0:0];
  _RAND_1641 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoxor_w = _RAND_1641[0:0];
  _RAND_1642 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoand_w = _RAND_1642[0:0];
  _RAND_1643 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoor_w = _RAND_1643[0:0];
  _RAND_1644 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomin_w = _RAND_1644[0:0];
  _RAND_1645 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomax_w = _RAND_1645[0:0];
  _RAND_1646 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amominu_w = _RAND_1646[0:0];
  _RAND_1647 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomaxu_w = _RAND_1647[0:0];
  _RAND_1648 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_lr_d = _RAND_1648[0:0];
  _RAND_1649 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_sc_d = _RAND_1649[0:0];
  _RAND_1650 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoswap_d = _RAND_1650[0:0];
  _RAND_1651 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoadd_d = _RAND_1651[0:0];
  _RAND_1652 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoxor_d = _RAND_1652[0:0];
  _RAND_1653 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoand_d = _RAND_1653[0:0];
  _RAND_1654 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amoor_d = _RAND_1654[0:0];
  _RAND_1655 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomin_d = _RAND_1655[0:0];
  _RAND_1656 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomax_d = _RAND_1656[0:0];
  _RAND_1657 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amominu_d = _RAND_1657[0:0];
  _RAND_1658 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_amomaxu_d = _RAND_1658[0:0];
  _RAND_1659 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_flw = _RAND_1659[0:0];
  _RAND_1660 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_fsw = _RAND_1660[0:0];
  _RAND_1661 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_fld = _RAND_1661[0:0];
  _RAND_1662 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_fun_fsd = _RAND_1662[0:0];
  _RAND_1663 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_param_rd0 = _RAND_1663[5:0];
  _RAND_1664 = {2{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_param_dat_op1 = _RAND_1664[63:0];
  _RAND_1665 = {2{`RANDOM}};
  exe_stage_lsu_stQueue_buff_1_param_dat_op2 = _RAND_1665[63:0];
  _RAND_1666 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_cm_ptr_reg = _RAND_1666[1:0];
  _RAND_1667 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_wr_ptr_reg = _RAND_1667[1:0];
  _RAND_1668 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_rd_ptr_reg = _RAND_1668[1:0];
  _RAND_1669 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_is_amo = _RAND_1669[0:0];
  _RAND_1670 = {1{`RANDOM}};
  exe_stage_lsu_stQueue_is_amo_pre = _RAND_1670[0:0];
  _RAND_1671 = {1{`RANDOM}};
  exe_stage_lsu_system_is_busy = _RAND_1671[0:0];
  _RAND_1672 = {1{`RANDOM}};
  exe_stage_lsu_system_isTransing = _RAND_1672[0:0];
  _RAND_1673 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lb = _RAND_1673[0:0];
  _RAND_1674 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lh = _RAND_1674[0:0];
  _RAND_1675 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lw = _RAND_1675[0:0];
  _RAND_1676 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_ld = _RAND_1676[0:0];
  _RAND_1677 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lbu = _RAND_1677[0:0];
  _RAND_1678 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lhu = _RAND_1678[0:0];
  _RAND_1679 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lwu = _RAND_1679[0:0];
  _RAND_1680 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sb = _RAND_1680[0:0];
  _RAND_1681 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sh = _RAND_1681[0:0];
  _RAND_1682 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sw = _RAND_1682[0:0];
  _RAND_1683 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sd = _RAND_1683[0:0];
  _RAND_1684 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lr_w = _RAND_1684[0:0];
  _RAND_1685 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sc_w = _RAND_1685[0:0];
  _RAND_1686 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoswap_w = _RAND_1686[0:0];
  _RAND_1687 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoadd_w = _RAND_1687[0:0];
  _RAND_1688 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoxor_w = _RAND_1688[0:0];
  _RAND_1689 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoand_w = _RAND_1689[0:0];
  _RAND_1690 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoor_w = _RAND_1690[0:0];
  _RAND_1691 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomin_w = _RAND_1691[0:0];
  _RAND_1692 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomax_w = _RAND_1692[0:0];
  _RAND_1693 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amominu_w = _RAND_1693[0:0];
  _RAND_1694 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomaxu_w = _RAND_1694[0:0];
  _RAND_1695 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_lr_d = _RAND_1695[0:0];
  _RAND_1696 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_sc_d = _RAND_1696[0:0];
  _RAND_1697 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoswap_d = _RAND_1697[0:0];
  _RAND_1698 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoadd_d = _RAND_1698[0:0];
  _RAND_1699 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoxor_d = _RAND_1699[0:0];
  _RAND_1700 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoand_d = _RAND_1700[0:0];
  _RAND_1701 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amoor_d = _RAND_1701[0:0];
  _RAND_1702 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomin_d = _RAND_1702[0:0];
  _RAND_1703 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomax_d = _RAND_1703[0:0];
  _RAND_1704 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amominu_d = _RAND_1704[0:0];
  _RAND_1705 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_amomaxu_d = _RAND_1705[0:0];
  _RAND_1706 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_flw = _RAND_1706[0:0];
  _RAND_1707 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_fsw = _RAND_1707[0:0];
  _RAND_1708 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_fld = _RAND_1708[0:0];
  _RAND_1709 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_fun_fsd = _RAND_1709[0:0];
  _RAND_1710 = {1{`RANDOM}};
  exe_stage_lsu_system_pending_param_rd0 = _RAND_1710[5:0];
  _RAND_1711 = {2{`RANDOM}};
  exe_stage_lsu_system_pending_param_dat_op1 = _RAND_1711[63:0];
  _RAND_1712 = {2{`RANDOM}};
  exe_stage_lsu_system_pending_param_dat_op2 = _RAND_1712[63:0];
  _RAND_1713 = {1{`RANDOM}};
  exe_stage_lsu_periph_is_busy = _RAND_1713[0:0];
  _RAND_1714 = {1{`RANDOM}};
  exe_stage_lsu_periph_isTransing = _RAND_1714[0:0];
  _RAND_1715 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lb = _RAND_1715[0:0];
  _RAND_1716 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lh = _RAND_1716[0:0];
  _RAND_1717 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lw = _RAND_1717[0:0];
  _RAND_1718 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_ld = _RAND_1718[0:0];
  _RAND_1719 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lbu = _RAND_1719[0:0];
  _RAND_1720 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lhu = _RAND_1720[0:0];
  _RAND_1721 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lwu = _RAND_1721[0:0];
  _RAND_1722 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sb = _RAND_1722[0:0];
  _RAND_1723 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sh = _RAND_1723[0:0];
  _RAND_1724 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sw = _RAND_1724[0:0];
  _RAND_1725 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sd = _RAND_1725[0:0];
  _RAND_1726 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lr_w = _RAND_1726[0:0];
  _RAND_1727 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sc_w = _RAND_1727[0:0];
  _RAND_1728 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoswap_w = _RAND_1728[0:0];
  _RAND_1729 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoadd_w = _RAND_1729[0:0];
  _RAND_1730 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoxor_w = _RAND_1730[0:0];
  _RAND_1731 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoand_w = _RAND_1731[0:0];
  _RAND_1732 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoor_w = _RAND_1732[0:0];
  _RAND_1733 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomin_w = _RAND_1733[0:0];
  _RAND_1734 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomax_w = _RAND_1734[0:0];
  _RAND_1735 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amominu_w = _RAND_1735[0:0];
  _RAND_1736 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomaxu_w = _RAND_1736[0:0];
  _RAND_1737 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_lr_d = _RAND_1737[0:0];
  _RAND_1738 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_sc_d = _RAND_1738[0:0];
  _RAND_1739 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoswap_d = _RAND_1739[0:0];
  _RAND_1740 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoadd_d = _RAND_1740[0:0];
  _RAND_1741 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoxor_d = _RAND_1741[0:0];
  _RAND_1742 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoand_d = _RAND_1742[0:0];
  _RAND_1743 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amoor_d = _RAND_1743[0:0];
  _RAND_1744 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomin_d = _RAND_1744[0:0];
  _RAND_1745 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomax_d = _RAND_1745[0:0];
  _RAND_1746 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amominu_d = _RAND_1746[0:0];
  _RAND_1747 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_amomaxu_d = _RAND_1747[0:0];
  _RAND_1748 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_flw = _RAND_1748[0:0];
  _RAND_1749 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_fsw = _RAND_1749[0:0];
  _RAND_1750 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_fld = _RAND_1750[0:0];
  _RAND_1751 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_fun_fsd = _RAND_1751[0:0];
  _RAND_1752 = {1{`RANDOM}};
  exe_stage_lsu_periph_pending_param_rd0 = _RAND_1752[5:0];
  _RAND_1753 = {2{`RANDOM}};
  exe_stage_lsu_periph_pending_param_dat_op1 = _RAND_1753[63:0];
  _RAND_1754 = {2{`RANDOM}};
  exe_stage_lsu_periph_pending_param_dat_op2 = _RAND_1754[63:0];
  _RAND_1755 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_queue_0_paddr = _RAND_1755[31:0];
  _RAND_1756 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_queue_1_paddr = _RAND_1756[31:0];
  _RAND_1757 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_valid_0 = _RAND_1757[0:0];
  _RAND_1758 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_valid_1 = _RAND_1758[0:0];
  _RAND_1759 = {2{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_rsp_0 = _RAND_1759[63:0];
  _RAND_1760 = {2{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_miss_rsp_1 = _RAND_1760[63:0];
  _RAND_1761 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_mshr_state_qout = _RAND_1761[2:0];
  _RAND_1762 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_counter = _RAND_1762[0:0];
  _RAND_1763 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_acquire_sel_r = _RAND_1763[0:0];
  _RAND_1764 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_cache_acquire_vaild = _RAND_1764[0:0];
  _RAND_1765 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_cache_grantAck_valid = _RAND_1765[0:0];
  _RAND_1766 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_rsp_valid = _RAND_1766[0:0];
  _RAND_1767 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_missUnit_cache_grant_reg_sink = _RAND_1767[4:0];
  _RAND_1769 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_probeUnit_probe_fifo_maybe_full = _RAND_1769[0:0];
  _RAND_1776 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_enq_ptr_value = _RAND_1776[0:0];
  _RAND_1777 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_deq_ptr_value = _RAND_1777[0:0];
  _RAND_1778 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_wb_fifo_maybe_full = _RAND_1778[0:0];
  _RAND_1779 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_wb_state_qout = _RAND_1779[1:0];
  _RAND_1780 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_is_release_done_counter = _RAND_1780[0:0];
  _RAND_1781 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_cache_release_valid = _RAND_1781[0:0];
  _RAND_1782 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_cache_grant_ready = _RAND_1782[0:0];
  _RAND_1783 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_writeBackUnit_beatCnt = _RAND_1783[0:0];
  _RAND_1829 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_lsEntry_enq_ptr_value = _RAND_1829[0:0];
  _RAND_1830 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_lsEntry_deq_ptr_value = _RAND_1830[0:0];
  _RAND_1831 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_lsEntry_maybe_full = _RAND_1831[0:0];
  _RAND_1838 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_rtn_fifo_enq_ptr_value = _RAND_1838[0:0];
  _RAND_1839 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_rtn_fifo_deq_ptr_value = _RAND_1839[0:0];
  _RAND_1840 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_rtn_fifo_maybe_full = _RAND_1840[0:0];
  _RAND_1886 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_reload_fifo_maybe_full = _RAND_1886[0:0];
  _RAND_1888 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_en_pipe_0 = _RAND_1888[0:0];
  _RAND_1889 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_0_MPORT_addr_pipe_0 = _RAND_1889[1:0];
  _RAND_1891 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_en_pipe_0 = _RAND_1891[0:0];
  _RAND_1892 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_1_MPORT_addr_pipe_0 = _RAND_1892[1:0];
  _RAND_1894 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_en_pipe_0 = _RAND_1894[0:0];
  _RAND_1895 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_2_MPORT_addr_pipe_0 = _RAND_1895[1:0];
  _RAND_1897 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_en_pipe_0 = _RAND_1897[0:0];
  _RAND_1898 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_3_MPORT_addr_pipe_0 = _RAND_1898[1:0];
  _RAND_1900 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_en_pipe_0 = _RAND_1900[0:0];
  _RAND_1901 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_4_MPORT_addr_pipe_0 = _RAND_1901[1:0];
  _RAND_1903 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_en_pipe_0 = _RAND_1903[0:0];
  _RAND_1904 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_5_MPORT_addr_pipe_0 = _RAND_1904[1:0];
  _RAND_1906 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_en_pipe_0 = _RAND_1906[0:0];
  _RAND_1907 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_6_MPORT_addr_pipe_0 = _RAND_1907[1:0];
  _RAND_1909 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_en_pipe_0 = _RAND_1909[0:0];
  _RAND_1910 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_7_MPORT_addr_pipe_0 = _RAND_1910[1:0];
  _RAND_1912 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_en_pipe_0 = _RAND_1912[0:0];
  _RAND_1913 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_8_MPORT_addr_pipe_0 = _RAND_1913[1:0];
  _RAND_1915 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_en_pipe_0 = _RAND_1915[0:0];
  _RAND_1916 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_9_MPORT_addr_pipe_0 = _RAND_1916[1:0];
  _RAND_1918 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_en_pipe_0 = _RAND_1918[0:0];
  _RAND_1919 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_10_MPORT_addr_pipe_0 = _RAND_1919[1:0];
  _RAND_1921 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_en_pipe_0 = _RAND_1921[0:0];
  _RAND_1922 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_11_MPORT_addr_pipe_0 = _RAND_1922[1:0];
  _RAND_1924 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_en_pipe_0 = _RAND_1924[0:0];
  _RAND_1925 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_12_MPORT_addr_pipe_0 = _RAND_1925[1:0];
  _RAND_1927 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_en_pipe_0 = _RAND_1927[0:0];
  _RAND_1928 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_13_MPORT_addr_pipe_0 = _RAND_1928[1:0];
  _RAND_1930 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_en_pipe_0 = _RAND_1930[0:0];
  _RAND_1931 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_14_MPORT_addr_pipe_0 = _RAND_1931[1:0];
  _RAND_1933 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_en_pipe_0 = _RAND_1933[0:0];
  _RAND_1934 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_0_datMem_15_MPORT_addr_pipe_0 = _RAND_1934[1:0];
  _RAND_1936 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_en_pipe_0 = _RAND_1936[0:0];
  _RAND_1937 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_0_MPORT_addr_pipe_0 = _RAND_1937[1:0];
  _RAND_1939 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_en_pipe_0 = _RAND_1939[0:0];
  _RAND_1940 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_1_MPORT_addr_pipe_0 = _RAND_1940[1:0];
  _RAND_1942 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_en_pipe_0 = _RAND_1942[0:0];
  _RAND_1943 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_2_MPORT_addr_pipe_0 = _RAND_1943[1:0];
  _RAND_1945 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_en_pipe_0 = _RAND_1945[0:0];
  _RAND_1946 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_3_MPORT_addr_pipe_0 = _RAND_1946[1:0];
  _RAND_1948 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_en_pipe_0 = _RAND_1948[0:0];
  _RAND_1949 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_4_MPORT_addr_pipe_0 = _RAND_1949[1:0];
  _RAND_1951 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_en_pipe_0 = _RAND_1951[0:0];
  _RAND_1952 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_5_MPORT_addr_pipe_0 = _RAND_1952[1:0];
  _RAND_1954 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_en_pipe_0 = _RAND_1954[0:0];
  _RAND_1955 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_6_MPORT_addr_pipe_0 = _RAND_1955[1:0];
  _RAND_1957 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_en_pipe_0 = _RAND_1957[0:0];
  _RAND_1958 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_7_MPORT_addr_pipe_0 = _RAND_1958[1:0];
  _RAND_1960 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_en_pipe_0 = _RAND_1960[0:0];
  _RAND_1961 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_8_MPORT_addr_pipe_0 = _RAND_1961[1:0];
  _RAND_1963 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_en_pipe_0 = _RAND_1963[0:0];
  _RAND_1964 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_9_MPORT_addr_pipe_0 = _RAND_1964[1:0];
  _RAND_1966 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_en_pipe_0 = _RAND_1966[0:0];
  _RAND_1967 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_10_MPORT_addr_pipe_0 = _RAND_1967[1:0];
  _RAND_1969 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_en_pipe_0 = _RAND_1969[0:0];
  _RAND_1970 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_11_MPORT_addr_pipe_0 = _RAND_1970[1:0];
  _RAND_1972 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_en_pipe_0 = _RAND_1972[0:0];
  _RAND_1973 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_12_MPORT_addr_pipe_0 = _RAND_1973[1:0];
  _RAND_1975 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_en_pipe_0 = _RAND_1975[0:0];
  _RAND_1976 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_13_MPORT_addr_pipe_0 = _RAND_1976[1:0];
  _RAND_1978 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_en_pipe_0 = _RAND_1978[0:0];
  _RAND_1979 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_14_MPORT_addr_pipe_0 = _RAND_1979[1:0];
  _RAND_1981 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_en_pipe_0 = _RAND_1981[0:0];
  _RAND_1982 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datRAM_1_datMem_15_MPORT_addr_pipe_0 = _RAND_1982[1:0];
  _RAND_1984 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_en_pipe_0 = _RAND_1984[0:0];
  _RAND_1985 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagRAM_0_tagMem_io_datar_MPORT_addr_pipe_0 = _RAND_1985[1:0];
  _RAND_1987 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_en_pipe_0 = _RAND_1987[0:0];
  _RAND_1988 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagRAM_1_tagMem_io_datar_MPORT_addr_pipe_0 = _RAND_1988[1:0];
  _RAND_1989 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_0 = _RAND_1989[0:0];
  _RAND_1990 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_1 = _RAND_1990[0:0];
  _RAND_1991 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_2 = _RAND_1991[0:0];
  _RAND_1992 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_3 = _RAND_1992[0:0];
  _RAND_1993 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_4 = _RAND_1993[0:0];
  _RAND_1994 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_5 = _RAND_1994[0:0];
  _RAND_1995 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_6 = _RAND_1995[0:0];
  _RAND_1996 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_7 = _RAND_1996[0:0];
  _RAND_1997 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_8 = _RAND_1997[0:0];
  _RAND_1998 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_9 = _RAND_1998[0:0];
  _RAND_1999 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_10 = _RAND_1999[0:0];
  _RAND_2000 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_11 = _RAND_2000[0:0];
  _RAND_2001 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_12 = _RAND_2001[0:0];
  _RAND_2002 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_13 = _RAND_2002[0:0];
  _RAND_2003 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_14 = _RAND_2003[0:0];
  _RAND_2004 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_rplSel_rpl_prng_state_15 = _RAND_2004[0:0];
  _RAND_2005 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Valid = _RAND_2005[0:0];
  _RAND_2006 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_chkIdx = _RAND_2006[0:0];
  _RAND_2007 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_paddr = _RAND_2007[31:0];
  _RAND_2008 = {4{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_wdata = _RAND_2008[127:0];
  _RAND_2009 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_wstrb = _RAND_2009[15:0];
  _RAND_2010 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lb = _RAND_2010[0:0];
  _RAND_2011 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lh = _RAND_2011[0:0];
  _RAND_2012 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lw = _RAND_2012[0:0];
  _RAND_2013 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_ld = _RAND_2013[0:0];
  _RAND_2014 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lbu = _RAND_2014[0:0];
  _RAND_2015 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lhu = _RAND_2015[0:0];
  _RAND_2016 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lwu = _RAND_2016[0:0];
  _RAND_2017 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sb = _RAND_2017[0:0];
  _RAND_2018 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sh = _RAND_2018[0:0];
  _RAND_2019 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sw = _RAND_2019[0:0];
  _RAND_2020 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sd = _RAND_2020[0:0];
  _RAND_2021 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_w = _RAND_2021[0:0];
  _RAND_2022 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_w = _RAND_2022[0:0];
  _RAND_2023 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_w = _RAND_2023[0:0];
  _RAND_2024 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_w = _RAND_2024[0:0];
  _RAND_2025 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_w = _RAND_2025[0:0];
  _RAND_2026 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_w = _RAND_2026[0:0];
  _RAND_2027 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_w = _RAND_2027[0:0];
  _RAND_2028 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_w = _RAND_2028[0:0];
  _RAND_2029 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_w = _RAND_2029[0:0];
  _RAND_2030 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_w = _RAND_2030[0:0];
  _RAND_2031 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_w = _RAND_2031[0:0];
  _RAND_2032 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_lr_d = _RAND_2032[0:0];
  _RAND_2033 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_sc_d = _RAND_2033[0:0];
  _RAND_2034 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoswap_d = _RAND_2034[0:0];
  _RAND_2035 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoadd_d = _RAND_2035[0:0];
  _RAND_2036 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoxor_d = _RAND_2036[0:0];
  _RAND_2037 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoand_d = _RAND_2037[0:0];
  _RAND_2038 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amoor_d = _RAND_2038[0:0];
  _RAND_2039 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomin_d = _RAND_2039[0:0];
  _RAND_2040 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomax_d = _RAND_2040[0:0];
  _RAND_2041 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amominu_d = _RAND_2041[0:0];
  _RAND_2042 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_amomaxu_d = _RAND_2042[0:0];
  _RAND_2043 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_flw = _RAND_2043[0:0];
  _RAND_2044 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsw = _RAND_2044[0:0];
  _RAND_2045 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fld = _RAND_2045[0:0];
  _RAND_2046 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_fsd = _RAND_2046[0:0];
  _RAND_2047 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_probe = _RAND_2047[0:0];
  _RAND_2048 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_grant = _RAND_2048[0:0];
  _RAND_2049 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_fun_preft = _RAND_2049[0:0];
  _RAND_2050 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_pipeStage1Bits_rd_rd0 = _RAND_2050[5:0];
  _RAND_2051 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isTagBypass_1 = _RAND_2051[0:0];
  _RAND_2052 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagBypassData_1 = _RAND_2052[25:0];
  _RAND_2053 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_3_1 = _RAND_2053[0:0];
  _RAND_2054 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_2_1 = _RAND_2054[0:0];
  _RAND_2055 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_1_1 = _RAND_2055[0:0];
  _RAND_2056 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_0_1 = _RAND_2056[0:0];
  _RAND_2057 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isTagBypass = _RAND_2057[0:0];
  _RAND_2058 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_tagBypassData = _RAND_2058[25:0];
  _RAND_2059 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_3_0 = _RAND_2059[0:0];
  _RAND_2060 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_2_0 = _RAND_2060[0:0];
  _RAND_2061 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_1_0 = _RAND_2061[0:0];
  _RAND_2062 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBValid_0_0 = _RAND_2062[0:0];
  _RAND_2063 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_0_0 = _RAND_2063[0:0];
  _RAND_2064 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_0_1 = _RAND_2064[0:0];
  _RAND_2065 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_1_0 = _RAND_2065[0:0];
  _RAND_2066 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_1_1 = _RAND_2066[0:0];
  _RAND_2067 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_2_0 = _RAND_2067[0:0];
  _RAND_2068 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_2_1 = _RAND_2068[0:0];
  _RAND_2069 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_3_0 = _RAND_2069[0:0];
  _RAND_2070 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isCBDirty_3_1 = _RAND_2070[0:0];
  _RAND_2071 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_is_pending_lr = _RAND_2071[0:0];
  _RAND_2072 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_is_lr_64_32n = _RAND_2072[0:0];
  _RAND_2073 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_lr_addr = _RAND_2073[31:0];
  _RAND_2074 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isDatBypass = _RAND_2074[0:0];
  _RAND_2075 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__0 = _RAND_2075[7:0];
  _RAND_2076 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__1 = _RAND_2076[7:0];
  _RAND_2077 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__2 = _RAND_2077[7:0];
  _RAND_2078 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__3 = _RAND_2078[7:0];
  _RAND_2079 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__4 = _RAND_2079[7:0];
  _RAND_2080 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__5 = _RAND_2080[7:0];
  _RAND_2081 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__6 = _RAND_2081[7:0];
  _RAND_2082 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__7 = _RAND_2082[7:0];
  _RAND_2083 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__8 = _RAND_2083[7:0];
  _RAND_2084 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__9 = _RAND_2084[7:0];
  _RAND_2085 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__10 = _RAND_2085[7:0];
  _RAND_2086 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__11 = _RAND_2086[7:0];
  _RAND_2087 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__12 = _RAND_2087[7:0];
  _RAND_2088 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__13 = _RAND_2088[7:0];
  _RAND_2089 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__14 = _RAND_2089[7:0];
  _RAND_2090 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData__15 = _RAND_2090[7:0];
  _RAND_2091 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isDatBypass_1 = _RAND_2091[0:0];
  _RAND_2092 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_15 = _RAND_2092[0:0];
  _RAND_2093 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_15 = _RAND_2093[7:0];
  _RAND_2094 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__15 = _RAND_2094[0:0];
  _RAND_2095 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_14 = _RAND_2095[0:0];
  _RAND_2096 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_14 = _RAND_2096[7:0];
  _RAND_2097 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__14 = _RAND_2097[0:0];
  _RAND_2098 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_13 = _RAND_2098[0:0];
  _RAND_2099 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_13 = _RAND_2099[7:0];
  _RAND_2100 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__13 = _RAND_2100[0:0];
  _RAND_2101 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_12 = _RAND_2101[0:0];
  _RAND_2102 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_12 = _RAND_2102[7:0];
  _RAND_2103 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__12 = _RAND_2103[0:0];
  _RAND_2104 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_11 = _RAND_2104[0:0];
  _RAND_2105 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_11 = _RAND_2105[7:0];
  _RAND_2106 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__11 = _RAND_2106[0:0];
  _RAND_2107 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_10 = _RAND_2107[0:0];
  _RAND_2108 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_10 = _RAND_2108[7:0];
  _RAND_2109 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__10 = _RAND_2109[0:0];
  _RAND_2110 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_9 = _RAND_2110[0:0];
  _RAND_2111 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_9 = _RAND_2111[7:0];
  _RAND_2112 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__9 = _RAND_2112[0:0];
  _RAND_2113 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_8 = _RAND_2113[0:0];
  _RAND_2114 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_8 = _RAND_2114[7:0];
  _RAND_2115 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__8 = _RAND_2115[0:0];
  _RAND_2116 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_7 = _RAND_2116[0:0];
  _RAND_2117 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_7 = _RAND_2117[7:0];
  _RAND_2118 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__7 = _RAND_2118[0:0];
  _RAND_2119 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_6 = _RAND_2119[0:0];
  _RAND_2120 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_6 = _RAND_2120[7:0];
  _RAND_2121 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__6 = _RAND_2121[0:0];
  _RAND_2122 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_5 = _RAND_2122[0:0];
  _RAND_2123 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_5 = _RAND_2123[7:0];
  _RAND_2124 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__5 = _RAND_2124[0:0];
  _RAND_2125 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_4 = _RAND_2125[0:0];
  _RAND_2126 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_4 = _RAND_2126[7:0];
  _RAND_2127 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__4 = _RAND_2127[0:0];
  _RAND_2128 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_3 = _RAND_2128[0:0];
  _RAND_2129 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_3 = _RAND_2129[7:0];
  _RAND_2130 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__3 = _RAND_2130[0:0];
  _RAND_2131 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_2 = _RAND_2131[0:0];
  _RAND_2132 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_2 = _RAND_2132[7:0];
  _RAND_2133 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__2 = _RAND_2133[0:0];
  _RAND_2134 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_1 = _RAND_2134[0:0];
  _RAND_2135 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_1 = _RAND_2135[7:0];
  _RAND_2136 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__1 = _RAND_2136[0:0];
  _RAND_2137 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM_1_0 = _RAND_2137[0:0];
  _RAND_2138 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassData_1_0 = _RAND_2138[7:0];
  _RAND_2139 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_datBypassWM__0 = _RAND_2139[0:0];
  _RAND_2140 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_killTrans = _RAND_2140[0:0];
  _RAND_2141 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_missUnitReqValid = _RAND_2141[0:0];
  _RAND_2142 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_missUnitReqPaddr = _RAND_2142[31:0];
  _RAND_2143 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_wbReqValid = _RAND_2143[0:0];
  _RAND_2144 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_wbReqPaddr = _RAND_2144[31:0];
  _RAND_2145 = {4{`RANDOM}};
  exe_stage_lsu_cache_0_stage_wbReqData = _RAND_2145[127:0];
  _RAND_2146 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_wbReqisData = _RAND_2146[0:0];
  _RAND_2147 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_isPb = _RAND_2147[0:0];
  _RAND_2148 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadValid = _RAND_2148[0:0];
  _RAND_2149 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_chkIdx = _RAND_2149[0:0];
  _RAND_2150 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_paddr = _RAND_2150[31:0];
  _RAND_2151 = {4{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_wdata = _RAND_2151[127:0];
  _RAND_2152 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_wstrb = _RAND_2152[15:0];
  _RAND_2153 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lb = _RAND_2153[0:0];
  _RAND_2154 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lh = _RAND_2154[0:0];
  _RAND_2155 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lw = _RAND_2155[0:0];
  _RAND_2156 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_ld = _RAND_2156[0:0];
  _RAND_2157 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lbu = _RAND_2157[0:0];
  _RAND_2158 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lhu = _RAND_2158[0:0];
  _RAND_2159 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lwu = _RAND_2159[0:0];
  _RAND_2160 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sb = _RAND_2160[0:0];
  _RAND_2161 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sh = _RAND_2161[0:0];
  _RAND_2162 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sw = _RAND_2162[0:0];
  _RAND_2163 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sd = _RAND_2163[0:0];
  _RAND_2164 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_w = _RAND_2164[0:0];
  _RAND_2165 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_w = _RAND_2165[0:0];
  _RAND_2166 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_w = _RAND_2166[0:0];
  _RAND_2167 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_w = _RAND_2167[0:0];
  _RAND_2168 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_w = _RAND_2168[0:0];
  _RAND_2169 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_w = _RAND_2169[0:0];
  _RAND_2170 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_w = _RAND_2170[0:0];
  _RAND_2171 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_w = _RAND_2171[0:0];
  _RAND_2172 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_w = _RAND_2172[0:0];
  _RAND_2173 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_w = _RAND_2173[0:0];
  _RAND_2174 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_w = _RAND_2174[0:0];
  _RAND_2175 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_lr_d = _RAND_2175[0:0];
  _RAND_2176 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_sc_d = _RAND_2176[0:0];
  _RAND_2177 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoswap_d = _RAND_2177[0:0];
  _RAND_2178 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoadd_d = _RAND_2178[0:0];
  _RAND_2179 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoxor_d = _RAND_2179[0:0];
  _RAND_2180 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoand_d = _RAND_2180[0:0];
  _RAND_2181 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amoor_d = _RAND_2181[0:0];
  _RAND_2182 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomin_d = _RAND_2182[0:0];
  _RAND_2183 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomax_d = _RAND_2183[0:0];
  _RAND_2184 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amominu_d = _RAND_2184[0:0];
  _RAND_2185 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_amomaxu_d = _RAND_2185[0:0];
  _RAND_2186 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_flw = _RAND_2186[0:0];
  _RAND_2187 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_fsw = _RAND_2187[0:0];
  _RAND_2188 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_fld = _RAND_2188[0:0];
  _RAND_2189 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_fsd = _RAND_2189[0:0];
  _RAND_2190 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_probe = _RAND_2190[0:0];
  _RAND_2191 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_grant = _RAND_2191[0:0];
  _RAND_2192 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_fun_preft = _RAND_2192[0:0];
  _RAND_2193 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_reloadBits_rd_rd0 = _RAND_2193[5:0];
  _RAND_2194 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqValid = _RAND_2194[0:0];
  _RAND_2195 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_chkIdx = _RAND_2195[0:0];
  _RAND_2196 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_wb_rd0 = _RAND_2196[5:0];
  _RAND_2197 = {2{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_wb_res = _RAND_2197[63:0];
  _RAND_2198 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_is_load_amo = _RAND_2198[0:0];
  _RAND_2199 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_is_flw = _RAND_2199[0:0];
  _RAND_2200 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_stage_deqBits_is_fld = _RAND_2200[0:0];
  _RAND_2201 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_sbBuff_0_paddr = _RAND_2201[31:0];
  _RAND_2202 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_sbBuff_1_paddr = _RAND_2202[31:0];
  _RAND_2203 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_sbValid_0 = _RAND_2203[0:0];
  _RAND_2204 = {1{`RANDOM}};
  exe_stage_lsu_cache_0_sbValid_1 = _RAND_2204[0:0];
  _RAND_2207 = {1{`RANDOM}};
  exe_stage_lsu_lu_wb_fifo_maybe_full = _RAND_2207[0:0];
  _RAND_2208 = {1{`RANDOM}};
  exe_stage_lsu_flu_wb_fifo_maybe_full = _RAND_2208[0:0];
  _RAND_2211 = {1{`RANDOM}};
  exe_stage_lsu_su_wb_fifo_maybe_full = _RAND_2211[0:0];
  _RAND_2214 = {1{`RANDOM}};
  exe_stage_lsu_fe_wb_fifo_maybe_full = _RAND_2214[0:0];
  _RAND_2215 = {1{`RANDOM}};
  exe_stage_lsu_trans_kill = _RAND_2215[0:0];
  _RAND_2216 = {1{`RANDOM}};
  exe_stage_lsu_is_chnc_busy_0 = _RAND_2216[0:0];
  _RAND_2217 = {1{`RANDOM}};
  exe_stage_lsu_is_release_done_counter = _RAND_2217[0:0];
  _RAND_2218 = {1{`RANDOM}};
  exe_stage_lsu_isAccessFaultReg = _RAND_2218[0:0];
  _RAND_2219 = {1{`RANDOM}};
  exe_stage_lsu_isPagingFault = _RAND_2219[0:0];
  _RAND_2220 = {1{`RANDOM}};
  exe_stage_lsu_isMisAlign = _RAND_2220[0:0];
  _RAND_2221 = {2{`RANDOM}};
  exe_stage_lsu_trapAddrReg = _RAND_2221[63:0];
  _RAND_2224 = {1{`RANDOM}};
  exe_stage_csr_csr_exe_iwb_fifo_maybe_full = _RAND_2224[0:0];
  _RAND_2230 = {1{`RANDOM}};
  exe_stage_csr_csr_op_fifo_maybe_full = _RAND_2230[0:0];
  _RAND_2233 = {1{`RANDOM}};
  exe_stage_mulDiv_0_mul_exe_iwb_fifo_maybe_full = _RAND_2233[0:0];
  _RAND_2234 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_isDivBusy = _RAND_2234[0:0];
  _RAND_2235 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_cnt = _RAND_2235[6:0];
  _RAND_2236 = {4{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_dividend = _RAND_2236[127:0];
  _RAND_2237 = {2{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_divisor = _RAND_2237[63:0];
  _RAND_2238 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_div = _RAND_2238[0:0];
  _RAND_2239 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divu = _RAND_2239[0:0];
  _RAND_2240 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_rem = _RAND_2240[0:0];
  _RAND_2241 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remu = _RAND_2241[0:0];
  _RAND_2242 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divw = _RAND_2242[0:0];
  _RAND_2243 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_divuw = _RAND_2243[0:0];
  _RAND_2244 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remw = _RAND_2244[0:0];
  _RAND_2245 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_fun_remuw = _RAND_2245[0:0];
  _RAND_2246 = {1{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_rd0 = _RAND_2246[5:0];
  _RAND_2247 = {2{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op1 = _RAND_2247[63:0];
  _RAND_2248 = {2{`RANDOM}};
  exe_stage_mulDiv_0_dividor_algDivider_pendingInfo_param_dat_op2 = _RAND_2248[63:0];
  _RAND_2249 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_0 = _RAND_2249[1:0];
  _RAND_2250 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_1 = _RAND_2250[1:0];
  _RAND_2251 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_2 = _RAND_2251[1:0];
  _RAND_2252 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_3 = _RAND_2252[1:0];
  _RAND_2253 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_4 = _RAND_2253[1:0];
  _RAND_2254 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_5 = _RAND_2254[1:0];
  _RAND_2255 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_6 = _RAND_2255[1:0];
  _RAND_2256 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_7 = _RAND_2256[1:0];
  _RAND_2257 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_8 = _RAND_2257[1:0];
  _RAND_2258 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_9 = _RAND_2258[1:0];
  _RAND_2259 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_10 = _RAND_2259[1:0];
  _RAND_2260 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_11 = _RAND_2260[1:0];
  _RAND_2261 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_12 = _RAND_2261[1:0];
  _RAND_2262 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_13 = _RAND_2262[1:0];
  _RAND_2263 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_14 = _RAND_2263[1:0];
  _RAND_2264 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_15 = _RAND_2264[1:0];
  _RAND_2265 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_16 = _RAND_2265[1:0];
  _RAND_2266 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_17 = _RAND_2266[1:0];
  _RAND_2267 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_18 = _RAND_2267[1:0];
  _RAND_2268 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_19 = _RAND_2268[1:0];
  _RAND_2269 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_20 = _RAND_2269[1:0];
  _RAND_2270 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_21 = _RAND_2270[1:0];
  _RAND_2271 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_22 = _RAND_2271[1:0];
  _RAND_2272 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_23 = _RAND_2272[1:0];
  _RAND_2273 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_24 = _RAND_2273[1:0];
  _RAND_2274 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_25 = _RAND_2274[1:0];
  _RAND_2275 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_26 = _RAND_2275[1:0];
  _RAND_2276 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_27 = _RAND_2276[1:0];
  _RAND_2277 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_28 = _RAND_2277[1:0];
  _RAND_2278 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_29 = _RAND_2278[1:0];
  _RAND_2279 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_30 = _RAND_2279[1:0];
  _RAND_2280 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_31 = _RAND_2280[1:0];
  _RAND_2281 = {1{`RANDOM}};
  iwb_stage_iReg_log_reg_32 = _RAND_2281[1:0];
  _RAND_2282 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_0 = _RAND_2282[63:0];
  _RAND_2283 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_1 = _RAND_2283[63:0];
  _RAND_2284 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_2 = _RAND_2284[63:0];
  _RAND_2285 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_3 = _RAND_2285[63:0];
  _RAND_2286 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_4 = _RAND_2286[63:0];
  _RAND_2287 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_5 = _RAND_2287[63:0];
  _RAND_2288 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_6 = _RAND_2288[63:0];
  _RAND_2289 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_7 = _RAND_2289[63:0];
  _RAND_2290 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_8 = _RAND_2290[63:0];
  _RAND_2291 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_9 = _RAND_2291[63:0];
  _RAND_2292 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_10 = _RAND_2292[63:0];
  _RAND_2293 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_11 = _RAND_2293[63:0];
  _RAND_2294 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_12 = _RAND_2294[63:0];
  _RAND_2295 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_13 = _RAND_2295[63:0];
  _RAND_2296 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_14 = _RAND_2296[63:0];
  _RAND_2297 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_15 = _RAND_2297[63:0];
  _RAND_2298 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_16 = _RAND_2298[63:0];
  _RAND_2299 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_17 = _RAND_2299[63:0];
  _RAND_2300 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_18 = _RAND_2300[63:0];
  _RAND_2301 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_19 = _RAND_2301[63:0];
  _RAND_2302 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_20 = _RAND_2302[63:0];
  _RAND_2303 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_21 = _RAND_2303[63:0];
  _RAND_2304 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_22 = _RAND_2304[63:0];
  _RAND_2305 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_23 = _RAND_2305[63:0];
  _RAND_2306 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_24 = _RAND_2306[63:0];
  _RAND_2307 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_25 = _RAND_2307[63:0];
  _RAND_2308 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_26 = _RAND_2308[63:0];
  _RAND_2309 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_27 = _RAND_2309[63:0];
  _RAND_2310 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_28 = _RAND_2310[63:0];
  _RAND_2311 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_29 = _RAND_2311[63:0];
  _RAND_2312 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_30 = _RAND_2312[63:0];
  _RAND_2313 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_31 = _RAND_2313[63:0];
  _RAND_2314 = {2{`RANDOM}};
  iwb_stage_iReg_files_reg_32 = _RAND_2314[63:0];
  _RAND_2315 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_0 = _RAND_2315[5:0];
  _RAND_2316 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_1 = _RAND_2316[5:0];
  _RAND_2317 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_2 = _RAND_2317[5:0];
  _RAND_2318 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_3 = _RAND_2318[5:0];
  _RAND_2319 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_4 = _RAND_2319[5:0];
  _RAND_2320 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_5 = _RAND_2320[5:0];
  _RAND_2321 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_6 = _RAND_2321[5:0];
  _RAND_2322 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_7 = _RAND_2322[5:0];
  _RAND_2323 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_8 = _RAND_2323[5:0];
  _RAND_2324 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_9 = _RAND_2324[5:0];
  _RAND_2325 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_10 = _RAND_2325[5:0];
  _RAND_2326 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_11 = _RAND_2326[5:0];
  _RAND_2327 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_12 = _RAND_2327[5:0];
  _RAND_2328 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_13 = _RAND_2328[5:0];
  _RAND_2329 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_14 = _RAND_2329[5:0];
  _RAND_2330 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_15 = _RAND_2330[5:0];
  _RAND_2331 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_16 = _RAND_2331[5:0];
  _RAND_2332 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_17 = _RAND_2332[5:0];
  _RAND_2333 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_18 = _RAND_2333[5:0];
  _RAND_2334 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_19 = _RAND_2334[5:0];
  _RAND_2335 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_20 = _RAND_2335[5:0];
  _RAND_2336 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_21 = _RAND_2336[5:0];
  _RAND_2337 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_22 = _RAND_2337[5:0];
  _RAND_2338 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_23 = _RAND_2338[5:0];
  _RAND_2339 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_24 = _RAND_2339[5:0];
  _RAND_2340 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_25 = _RAND_2340[5:0];
  _RAND_2341 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_26 = _RAND_2341[5:0];
  _RAND_2342 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_27 = _RAND_2342[5:0];
  _RAND_2343 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_28 = _RAND_2343[5:0];
  _RAND_2344 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_29 = _RAND_2344[5:0];
  _RAND_2345 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_30 = _RAND_2345[5:0];
  _RAND_2346 = {1{`RANDOM}};
  iwb_stage_iReg_rename_ptr_31 = _RAND_2346[5:0];
  _RAND_2347 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_0 = _RAND_2347[5:0];
  _RAND_2348 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_1 = _RAND_2348[5:0];
  _RAND_2349 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_2 = _RAND_2349[5:0];
  _RAND_2350 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_3 = _RAND_2350[5:0];
  _RAND_2351 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_4 = _RAND_2351[5:0];
  _RAND_2352 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_5 = _RAND_2352[5:0];
  _RAND_2353 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_6 = _RAND_2353[5:0];
  _RAND_2354 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_7 = _RAND_2354[5:0];
  _RAND_2355 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_8 = _RAND_2355[5:0];
  _RAND_2356 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_9 = _RAND_2356[5:0];
  _RAND_2357 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_10 = _RAND_2357[5:0];
  _RAND_2358 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_11 = _RAND_2358[5:0];
  _RAND_2359 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_12 = _RAND_2359[5:0];
  _RAND_2360 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_13 = _RAND_2360[5:0];
  _RAND_2361 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_14 = _RAND_2361[5:0];
  _RAND_2362 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_15 = _RAND_2362[5:0];
  _RAND_2363 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_16 = _RAND_2363[5:0];
  _RAND_2364 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_17 = _RAND_2364[5:0];
  _RAND_2365 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_18 = _RAND_2365[5:0];
  _RAND_2366 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_19 = _RAND_2366[5:0];
  _RAND_2367 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_20 = _RAND_2367[5:0];
  _RAND_2368 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_21 = _RAND_2368[5:0];
  _RAND_2369 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_22 = _RAND_2369[5:0];
  _RAND_2370 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_23 = _RAND_2370[5:0];
  _RAND_2371 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_24 = _RAND_2371[5:0];
  _RAND_2372 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_25 = _RAND_2372[5:0];
  _RAND_2373 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_26 = _RAND_2373[5:0];
  _RAND_2374 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_27 = _RAND_2374[5:0];
  _RAND_2375 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_28 = _RAND_2375[5:0];
  _RAND_2376 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_29 = _RAND_2376[5:0];
  _RAND_2377 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_30 = _RAND_2377[5:0];
  _RAND_2378 = {1{`RANDOM}};
  iwb_stage_iReg_archit_ptr_31 = _RAND_2378[5:0];
  _RAND_2379 = {1{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_0_valid_REG = _RAND_2379[0:0];
  _RAND_2380 = {1{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_0_bits_phy_r = _RAND_2380[5:0];
  _RAND_2381 = {2{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_0_bits_op_r = _RAND_2381[63:0];
  _RAND_2382 = {1{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_1_valid_REG = _RAND_2382[0:0];
  _RAND_2383 = {1{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_1_bits_phy_r = _RAND_2383[5:0];
  _RAND_2384 = {2{`RANDOM}};
  iwb_stage_iReg_io_rgRsp_1_bits_op_r = _RAND_2384[63:0];
  _RAND_2385 = {1{`RANDOM}};
  cmm_stage_csrfiles_priv_lvl = _RAND_2385[1:0];
  _RAND_2386 = {1{`RANDOM}};
  cmm_stage_csrfiles_DMode = _RAND_2386[0:0];
  _RAND_2387 = {1{`RANDOM}};
  cmm_stage_csrfiles_fcsr_frm = _RAND_2387[2:0];
  _RAND_2388 = {1{`RANDOM}};
  cmm_stage_csrfiles_fcsr_fflags = _RAND_2388[4:0];
  _RAND_2389 = {2{`RANDOM}};
  cmm_stage_csrfiles_time = _RAND_2389[63:0];
  _RAND_2390 = {2{`RANDOM}};
  cmm_stage_csrfiles_stvec_base = _RAND_2390[61:0];
  _RAND_2391 = {1{`RANDOM}};
  cmm_stage_csrfiles_scounteren_hpm = _RAND_2391[31:0];
  _RAND_2392 = {2{`RANDOM}};
  cmm_stage_csrfiles_sscratch = _RAND_2392[63:0];
  _RAND_2393 = {2{`RANDOM}};
  cmm_stage_csrfiles_sepc = _RAND_2393[63:0];
  _RAND_2394 = {1{`RANDOM}};
  cmm_stage_csrfiles_scause_interrupt = _RAND_2394[0:0];
  _RAND_2395 = {2{`RANDOM}};
  cmm_stage_csrfiles_scause_exception_code = _RAND_2395[62:0];
  _RAND_2396 = {2{`RANDOM}};
  cmm_stage_csrfiles_stval = _RAND_2396[63:0];
  _RAND_2397 = {1{`RANDOM}};
  cmm_stage_csrfiles_satp_mode = _RAND_2397[3:0];
  _RAND_2398 = {1{`RANDOM}};
  cmm_stage_csrfiles_satp_asid = _RAND_2398[15:0];
  _RAND_2399 = {2{`RANDOM}};
  cmm_stage_csrfiles_satp_ppn = _RAND_2399[43:0];
  _RAND_2400 = {2{`RANDOM}};
  cmm_stage_csrfiles_marchid = _RAND_2400[63:0];
  _RAND_2401 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_sd = _RAND_2401[0:0];
  _RAND_2402 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_tsr = _RAND_2402[0:0];
  _RAND_2403 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_tw = _RAND_2403[0:0];
  _RAND_2404 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_tvm = _RAND_2404[0:0];
  _RAND_2405 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_mxr = _RAND_2405[0:0];
  _RAND_2406 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_sum = _RAND_2406[0:0];
  _RAND_2407 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_mprv = _RAND_2407[0:0];
  _RAND_2408 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_fs = _RAND_2408[1:0];
  _RAND_2409 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_mpp = _RAND_2409[1:0];
  _RAND_2410 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_spp = _RAND_2410[0:0];
  _RAND_2411 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_mpie = _RAND_2411[0:0];
  _RAND_2412 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_spie = _RAND_2412[0:0];
  _RAND_2413 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_mie = _RAND_2413[0:0];
  _RAND_2414 = {1{`RANDOM}};
  cmm_stage_csrfiles_mstatus_sie = _RAND_2414[0:0];
  _RAND_2415 = {2{`RANDOM}};
  cmm_stage_csrfiles_misa = _RAND_2415[63:0];
  _RAND_2416 = {2{`RANDOM}};
  cmm_stage_csrfiles_medeleg = _RAND_2416[63:0];
  _RAND_2417 = {2{`RANDOM}};
  cmm_stage_csrfiles_mideleg = _RAND_2417[63:0];
  _RAND_2418 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_mei = _RAND_2418[0:0];
  _RAND_2419 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_sei = _RAND_2419[0:0];
  _RAND_2420 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_mti = _RAND_2420[0:0];
  _RAND_2421 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_sti = _RAND_2421[0:0];
  _RAND_2422 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_msi = _RAND_2422[0:0];
  _RAND_2423 = {1{`RANDOM}};
  cmm_stage_csrfiles_mie_ssi = _RAND_2423[0:0];
  _RAND_2424 = {2{`RANDOM}};
  cmm_stage_csrfiles_mtvec_base = _RAND_2424[61:0];
  _RAND_2425 = {1{`RANDOM}};
  cmm_stage_csrfiles_mcounteren_hpm = _RAND_2425[31:0];
  _RAND_2426 = {2{`RANDOM}};
  cmm_stage_csrfiles_mscratch = _RAND_2426[63:0];
  _RAND_2427 = {2{`RANDOM}};
  cmm_stage_csrfiles_mepc = _RAND_2427[63:0];
  _RAND_2428 = {1{`RANDOM}};
  cmm_stage_csrfiles_mcause_interrupt = _RAND_2428[0:0];
  _RAND_2429 = {2{`RANDOM}};
  cmm_stage_csrfiles_mcause_exception_code = _RAND_2429[62:0];
  _RAND_2430 = {2{`RANDOM}};
  cmm_stage_csrfiles_mtval = _RAND_2430[63:0];
  _RAND_2431 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_mei = _RAND_2431[0:0];
  _RAND_2432 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_sei = _RAND_2432[0:0];
  _RAND_2433 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_mti = _RAND_2433[0:0];
  _RAND_2434 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_sti = _RAND_2434[0:0];
  _RAND_2435 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_msi = _RAND_2435[0:0];
  _RAND_2436 = {1{`RANDOM}};
  cmm_stage_csrfiles_mip_ssi = _RAND_2436[0:0];
  _RAND_2437 = {2{`RANDOM}};
  cmm_stage_csrfiles_mtinst = _RAND_2437[63:0];
  _RAND_2438 = {2{`RANDOM}};
  cmm_stage_csrfiles_mtval2 = _RAND_2438[63:0];
  _RAND_2439 = {2{`RANDOM}};
  cmm_stage_csrfiles_mcycle = _RAND_2439[63:0];
  _RAND_2440 = {2{`RANDOM}};
  cmm_stage_csrfiles_minstret = _RAND_2440[63:0];
  _RAND_2441 = {2{`RANDOM}};
  cmm_stage_csrfiles_tselect = _RAND_2441[63:0];
  _RAND_2442 = {2{`RANDOM}};
  cmm_stage_csrfiles_tdata1 = _RAND_2442[63:0];
  _RAND_2443 = {2{`RANDOM}};
  cmm_stage_csrfiles_tdata2 = _RAND_2443[63:0];
  _RAND_2444 = {2{`RANDOM}};
  cmm_stage_csrfiles_tdata3 = _RAND_2444[63:0];
  _RAND_2445 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_ebreakm = _RAND_2445[0:0];
  _RAND_2446 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_ebreaks = _RAND_2446[0:0];
  _RAND_2447 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_ebreaku = _RAND_2447[0:0];
  _RAND_2448 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_cause = _RAND_2448[2:0];
  _RAND_2449 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_step = _RAND_2449[0:0];
  _RAND_2450 = {1{`RANDOM}};
  cmm_stage_csrfiles_dcsr_prv = _RAND_2450[1:0];
  _RAND_2451 = {2{`RANDOM}};
  cmm_stage_csrfiles_dpc = _RAND_2451[63:0];
  _RAND_2452 = {2{`RANDOM}};
  cmm_stage_csrfiles_dscratch0 = _RAND_2452[63:0];
  _RAND_2453 = {2{`RANDOM}};
  cmm_stage_csrfiles_dscratch1 = _RAND_2453[63:0];
  _RAND_2454 = {2{`RANDOM}};
  cmm_stage_csrfiles_dscratch2 = _RAND_2454[63:0];
  _RAND_2455 = {1{`RANDOM}};
  cmm_stage_is_single_step = _RAND_2455[0:0];
  _RAND_2456 = {1{`RANDOM}};
  cmm_stage_emu_reset = _RAND_2456[0:0];
  _RAND_2457 = {1{`RANDOM}};
  cmm_stage_rtc_0 = _RAND_2457[0:0];
  _RAND_2458 = {1{`RANDOM}};
  cmm_stage_rtc_1 = _RAND_2458[0:0];
  _RAND_2459 = {1{`RANDOM}};
  cmm_stage_rtc_2 = _RAND_2459[0:0];
  _RAND_2460 = {1{`RANDOM}};
  cmm_stage_rtc_3 = _RAND_2460[0:0];
  _RAND_2461 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_state_0 = _RAND_2461[0:0];
  _RAND_2462 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_state_1 = _RAND_2462[0:0];
  _RAND_2463 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_1_state_0 = _RAND_2463[0:0];
  _RAND_2464 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_1_state_1 = _RAND_2464[0:0];
  _RAND_2465 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_2_state_0 = _RAND_2465[0:0];
  _RAND_2466 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_2_state_1 = _RAND_2466[0:0];
  _RAND_2467 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_3_state_0 = _RAND_2467[0:0];
  _RAND_2468 = {1{`RANDOM}};
  i_mmu_itlb_random_idx_prng_3_state_1 = _RAND_2468[0:0];
  _RAND_2469 = {1{`RANDOM}};
  i_mmu_itlb_tag_0_is_valid = _RAND_2469[0:0];
  _RAND_2470 = {1{`RANDOM}};
  i_mmu_itlb_tag_0_asid = _RAND_2470[15:0];
  _RAND_2471 = {1{`RANDOM}};
  i_mmu_itlb_tag_0_vpn_0 = _RAND_2471[8:0];
  _RAND_2472 = {1{`RANDOM}};
  i_mmu_itlb_tag_0_vpn_1 = _RAND_2472[8:0];
  _RAND_2473 = {1{`RANDOM}};
  i_mmu_itlb_tag_0_vpn_2 = _RAND_2473[8:0];
  _RAND_2474 = {1{`RANDOM}};
  i_mmu_itlb_tag_1_is_valid = _RAND_2474[0:0];
  _RAND_2475 = {1{`RANDOM}};
  i_mmu_itlb_tag_1_asid = _RAND_2475[15:0];
  _RAND_2476 = {1{`RANDOM}};
  i_mmu_itlb_tag_1_vpn_0 = _RAND_2476[8:0];
  _RAND_2477 = {1{`RANDOM}};
  i_mmu_itlb_tag_1_vpn_1 = _RAND_2477[8:0];
  _RAND_2478 = {1{`RANDOM}};
  i_mmu_itlb_tag_1_vpn_2 = _RAND_2478[8:0];
  _RAND_2479 = {2{`RANDOM}};
  i_mmu_itlb_pte_0_value = _RAND_2479[63:0];
  _RAND_2480 = {1{`RANDOM}};
  i_mmu_itlb_pte_0_is_giga_page = _RAND_2480[0:0];
  _RAND_2481 = {1{`RANDOM}};
  i_mmu_itlb_pte_0_is_mega_page = _RAND_2481[0:0];
  _RAND_2482 = {2{`RANDOM}};
  i_mmu_itlb_pte_1_value = _RAND_2482[63:0];
  _RAND_2483 = {1{`RANDOM}};
  i_mmu_itlb_pte_1_is_giga_page = _RAND_2483[0:0];
  _RAND_2484 = {1{`RANDOM}};
  i_mmu_itlb_pte_1_is_mega_page = _RAND_2484[0:0];
  _RAND_2485 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_state_0 = _RAND_2485[0:0];
  _RAND_2486 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_state_1 = _RAND_2486[0:0];
  _RAND_2487 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_1_state_0 = _RAND_2487[0:0];
  _RAND_2488 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_1_state_1 = _RAND_2488[0:0];
  _RAND_2489 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_2_state_0 = _RAND_2489[0:0];
  _RAND_2490 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_2_state_1 = _RAND_2490[0:0];
  _RAND_2491 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_3_state_0 = _RAND_2491[0:0];
  _RAND_2492 = {1{`RANDOM}};
  i_mmu_dtlb_random_idx_prng_3_state_1 = _RAND_2492[0:0];
  _RAND_2493 = {1{`RANDOM}};
  i_mmu_dtlb_tag_0_is_valid = _RAND_2493[0:0];
  _RAND_2494 = {1{`RANDOM}};
  i_mmu_dtlb_tag_0_asid = _RAND_2494[15:0];
  _RAND_2495 = {1{`RANDOM}};
  i_mmu_dtlb_tag_0_vpn_0 = _RAND_2495[8:0];
  _RAND_2496 = {1{`RANDOM}};
  i_mmu_dtlb_tag_0_vpn_1 = _RAND_2496[8:0];
  _RAND_2497 = {1{`RANDOM}};
  i_mmu_dtlb_tag_0_vpn_2 = _RAND_2497[8:0];
  _RAND_2498 = {1{`RANDOM}};
  i_mmu_dtlb_tag_1_is_valid = _RAND_2498[0:0];
  _RAND_2499 = {1{`RANDOM}};
  i_mmu_dtlb_tag_1_asid = _RAND_2499[15:0];
  _RAND_2500 = {1{`RANDOM}};
  i_mmu_dtlb_tag_1_vpn_0 = _RAND_2500[8:0];
  _RAND_2501 = {1{`RANDOM}};
  i_mmu_dtlb_tag_1_vpn_1 = _RAND_2501[8:0];
  _RAND_2502 = {1{`RANDOM}};
  i_mmu_dtlb_tag_1_vpn_2 = _RAND_2502[8:0];
  _RAND_2503 = {2{`RANDOM}};
  i_mmu_dtlb_pte_0_value = _RAND_2503[63:0];
  _RAND_2504 = {1{`RANDOM}};
  i_mmu_dtlb_pte_0_is_giga_page = _RAND_2504[0:0];
  _RAND_2505 = {1{`RANDOM}};
  i_mmu_dtlb_pte_0_is_mega_page = _RAND_2505[0:0];
  _RAND_2506 = {2{`RANDOM}};
  i_mmu_dtlb_pte_1_value = _RAND_2506[63:0];
  _RAND_2507 = {1{`RANDOM}};
  i_mmu_dtlb_pte_1_is_giga_page = _RAND_2507[0:0];
  _RAND_2508 = {1{`RANDOM}};
  i_mmu_dtlb_pte_1_is_mega_page = _RAND_2508[0:0];
  _RAND_2509 = {1{`RANDOM}};
  i_mmu_iptw_currState = _RAND_2509[1:0];
  _RAND_2510 = {1{`RANDOM}};
  i_mmu_iptw_kill_trans = _RAND_2510[0:0];
  _RAND_2511 = {1{`RANDOM}};
  i_mmu_iptw_counter = _RAND_2511[0:0];
  _RAND_2512 = {1{`RANDOM}};
  i_mmu_iptw_addr_qout = _RAND_2512[31:0];
  _RAND_2513 = {2{`RANDOM}};
  i_mmu_iptw_ptw_access_data_lo_0 = _RAND_2513[63:0];
  _RAND_2514 = {2{`RANDOM}};
  i_mmu_iptw_pte_value_value = _RAND_2514[63:0];
  _RAND_2515 = {1{`RANDOM}};
  i_mmu_iptw_walkReq_is_X = _RAND_2515[0:0];
  _RAND_2516 = {2{`RANDOM}};
  i_mmu_iptw_walkReq_vaddr = _RAND_2516[63:0];
  _RAND_2517 = {1{`RANDOM}};
  i_mmu_iptw_asidReq = _RAND_2517[15:0];
  _RAND_2518 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_is_X = _RAND_2518[0:0];
  _RAND_2519 = {2{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_value = _RAND_2519[63:0];
  _RAND_2520 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_is_giga_page = _RAND_2520[0:0];
  _RAND_2521 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_is_mega_page = _RAND_2521[0:0];
  _RAND_2522 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_asid = _RAND_2522[15:0];
  _RAND_2523 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_vpn_0 = _RAND_2523[8:0];
  _RAND_2524 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_vpn_1 = _RAND_2524[8:0];
  _RAND_2525 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_renew_vpn_2 = _RAND_2525[8:0];
  _RAND_2526 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_is_ptw_fail = _RAND_2526[0:0];
  _RAND_2527 = {1{`RANDOM}};
  i_mmu_iptw_walkRspBits_is_access_fault = _RAND_2527[0:0];
  _RAND_2528 = {1{`RANDOM}};
  i_mmu_iptw_walkRspValid = _RAND_2528[0:0];
  _RAND_2529 = {1{`RANDOM}};
  i_mmu_iptw_ptw_get_valid = _RAND_2529[0:0];
  _RAND_2530 = {1{`RANDOM}};
  i_mmu_iptw_ptw_access_ready = _RAND_2530[0:0];
  _RAND_2531 = {1{`RANDOM}};
  i_mmu_iptw_is_get_reqed = _RAND_2531[0:0];
  _RAND_2532 = {1{`RANDOM}};
  i_mmu_dptw_currState = _RAND_2532[1:0];
  _RAND_2533 = {1{`RANDOM}};
  i_mmu_dptw_kill_trans = _RAND_2533[0:0];
  _RAND_2534 = {1{`RANDOM}};
  i_mmu_dptw_counter = _RAND_2534[0:0];
  _RAND_2535 = {1{`RANDOM}};
  i_mmu_dptw_addr_qout = _RAND_2535[31:0];
  _RAND_2536 = {2{`RANDOM}};
  i_mmu_dptw_ptw_access_data_lo_0 = _RAND_2536[63:0];
  _RAND_2537 = {2{`RANDOM}};
  i_mmu_dptw_pte_value_value = _RAND_2537[63:0];
  _RAND_2538 = {1{`RANDOM}};
  i_mmu_dptw_walkReq_is_X = _RAND_2538[0:0];
  _RAND_2539 = {2{`RANDOM}};
  i_mmu_dptw_walkReq_vaddr = _RAND_2539[63:0];
  _RAND_2540 = {1{`RANDOM}};
  i_mmu_dptw_asidReq = _RAND_2540[15:0];
  _RAND_2541 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_is_X = _RAND_2541[0:0];
  _RAND_2542 = {2{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_value = _RAND_2542[63:0];
  _RAND_2543 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_is_giga_page = _RAND_2543[0:0];
  _RAND_2544 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_is_mega_page = _RAND_2544[0:0];
  _RAND_2545 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_asid = _RAND_2545[15:0];
  _RAND_2546 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_vpn_0 = _RAND_2546[8:0];
  _RAND_2547 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_vpn_1 = _RAND_2547[8:0];
  _RAND_2548 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_renew_vpn_2 = _RAND_2548[8:0];
  _RAND_2549 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_is_ptw_fail = _RAND_2549[0:0];
  _RAND_2550 = {1{`RANDOM}};
  i_mmu_dptw_walkRspBits_is_access_fault = _RAND_2550[0:0];
  _RAND_2551 = {1{`RANDOM}};
  i_mmu_dptw_walkRspValid = _RAND_2551[0:0];
  _RAND_2552 = {1{`RANDOM}};
  i_mmu_dptw_ptw_get_valid = _RAND_2552[0:0];
  _RAND_2553 = {1{`RANDOM}};
  i_mmu_dptw_ptw_access_ready = _RAND_2553[0:0];
  _RAND_2554 = {1{`RANDOM}};
  i_mmu_dptw_is_get_reqed = _RAND_2554[0:0];
  _RAND_2555 = {1{`RANDOM}};
  i_mmu_kill_iptw = _RAND_2555[0:0];
  _RAND_2556 = {1{`RANDOM}};
  i_mmu_kill_dptw = _RAND_2556[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input  [2:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_b_ready,
  input         io_in_b_valid,
  input  [1:0]  io_in_b_bits_param,
  input  [31:0] io_in_b_bits_address,
  input         io_in_c_ready,
  input         io_in_c_valid,
  input  [2:0]  io_in_c_bits_opcode,
  input  [2:0]  io_in_c_bits_param,
  input  [2:0]  io_in_c_bits_size,
  input  [31:0] io_in_c_bits_address,
  input         io_in_c_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input  [2:0]  io_in_d_bits_source,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt,
  input         io_in_e_valid,
  input  [4:0]  io_in_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = io_in_a_bits_source == 3'h4; // @[Parameters.scala 46:9]
  wire  _source_ok_T_1 = io_in_a_bits_source == 3'h3; // @[Parameters.scala 46:9]
  wire  _source_ok_T_3 = io_in_a_bits_source[2:1] == 2'h0; // @[Parameters.scala 54:32]
  wire  _source_ok_T_8 = io_in_a_bits_source == 3'h2; // @[Parameters.scala 46:9]
  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_3 | _source_ok_T_8; // @[Parameters.scala 1125:46]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_74 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_74; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_47 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_65 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_70 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_71 = $signed(_T_70) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_72 = _T_65 & _T_71; // @[Parameters.scala 670:56]
  wire  _T_74 = source_ok & _T_72; // @[Monitor.scala 82:72]
  wire  _T_89 = _source_ok_T_1 & _T_65; // @[Mux.scala 27:73]
  wire  _T_106 = _T_89 & _T_71; // @[Monitor.scala 83:78]
  wire  _T_120 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_124 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_125 = _T_124 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_129 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_133 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_210 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_223 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_245 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_253 = _T_245 & _T_71; // @[Parameters.scala 670:56]
  wire  _T_264 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_268 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_276 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_305 = source_ok & _T_253; // @[Monitor.scala 115:71]
  wire  _T_323 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_366 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_367 = io_in_a_bits_mask & _T_366; // @[Monitor.scala 127:31]
  wire  _T_368 = _T_367 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_372 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_391 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_399 = _T_391 & _T_71; // @[Parameters.scala 670:56]
  wire  _T_401 = source_ok & _T_399; // @[Monitor.scala 131:74]
  wire  _T_411 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_419 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_458 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_466 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_505 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_517 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_11 = io_in_d_bits_source == 3'h4; // @[Parameters.scala 46:9]
  wire  _source_ok_T_12 = io_in_d_bits_source == 3'h3; // @[Parameters.scala 46:9]
  wire  _source_ok_T_14 = io_in_d_bits_source[2:1] == 2'h0; // @[Parameters.scala 54:32]
  wire  _source_ok_T_19 = io_in_d_bits_source == 3'h2; // @[Parameters.scala 46:9]
  wire  source_ok_1 = _source_ok_T_11 | _source_ok_T_12 | _source_ok_T_14 | _source_ok_T_19; // @[Parameters.scala 1125:46]
  wire  sink_ok = io_in_d_bits_sink < 5'h16; // @[Monitor.scala 306:31]
  wire  _T_521 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_525 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_529 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_533 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_537 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_541 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_552 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_556 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_569 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_589 = _T_537 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_598 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_615 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_633 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire [32:0] _T_657 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_3 = $signed(_T_657) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 33'sh0; // @[Parameters.scala 137:67]
  wire [31:0] _is_aligned_T_1 = io_in_b_bits_address & 32'hf; // @[Edges.scala 20:16]
  wire  is_aligned_1 = _is_aligned_T_1 == 32'h0; // @[Edges.scala 20:24]
  wire  _T_739 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_776 = io_in_b_bits_param == 2'h0; // @[Monitor.scala 182:31]
  wire [10:0] _is_aligned_mask_T_7 = 11'hf << io_in_c_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_76 = {{28'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_76; // @[Edges.scala 20:16]
  wire  is_aligned_2 = _is_aligned_T_2 == 32'h0; // @[Edges.scala 20:24]
  wire [32:0] _address_ok_T_6 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_8 = $signed(_address_ok_T_6) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_1002 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
  wire  _T_1009 = io_in_c_bits_size >= 3'h3; // @[Monitor.scala 245:30]
  wire  _T_1016 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
  wire  _T_1020 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
  wire  _T_1024 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
  wire  _T_1042 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
  wire  _T_1060 = 3'h4 == io_in_c_bits_size; // @[Parameters.scala 91:48]
  wire  _T_1067 = _T_1060 & _address_ok_T_9; // @[Parameters.scala 670:56]
  wire  _T_1123 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
  wire  _T_1200 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
  wire  _T_1210 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
  wire  _T_1218 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
  wire  _T_1232 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
  wire  sink_ok_1 = io_in_e_bits_sink < 5'h16; // @[Monitor.scala 364:31]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg [2:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_1254 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_1255 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_1259 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_1263 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_1267 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_1271 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [2:0] source_1; // @[Monitor.scala 538:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_1278 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_1279 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_1283 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_1287 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_1291 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_1295 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_1299 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  wire  _b_first_T = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 52:35]
  reg  b_first_counter; // @[Edges.scala 228:27]
  wire  b_first_counter1 = b_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  b_first = ~b_first_counter; // @[Edges.scala 230:25]
  reg [1:0] param_2; // @[Monitor.scala 408:22]
  reg [31:0] address_1; // @[Monitor.scala 411:22]
  wire  _T_1306 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
  wire  _T_1311 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
  wire  _T_1323 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 52:35]
  wire  c_first_beats1_decode = is_aligned_mask_2[3]; // @[Edges.scala 219:59]
  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  c_first_beats1 = c_first_beats1_opdata & c_first_beats1_decode; // @[Edges.scala 220:14]
  reg  c_first_counter; // @[Edges.scala 228:27]
  wire  c_first_counter1 = c_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  c_first = ~c_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
  reg [2:0] param_3; // @[Monitor.scala 513:22]
  reg [2:0] size_3; // @[Monitor.scala 514:22]
  reg [31:0] address_2; // @[Monitor.scala 516:22]
  wire  _T_1330 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
  wire  _T_1331 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
  wire  _T_1335 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
  wire  _T_1339 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
  wire  _T_1347 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
  reg [4:0] inflight; // @[Monitor.scala 611:27]
  reg [19:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [19:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [4:0] _GEN_80 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [5:0] _a_opcode_lookup_T = {{1'd0}, _GEN_80}; // @[Monitor.scala 634:69]
  wire [19:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [19:0] _GEN_86 = {{4'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [19:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_86; // @[Monitor.scala 634:97]
  wire [19:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[19:1]}; // @[Monitor.scala 634:152]
  wire [19:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [19:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_86; // @[Monitor.scala 638:91]
  wire [19:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[19:1]}; // @[Monitor.scala 638:144]
  wire  _T_1353 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [7:0] _a_set_wo_ready_T = 8'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [7:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 8'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_1356 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [4:0] _GEN_91 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [5:0] _a_opcodes_set_T = {{1'd0}, _GEN_91}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [66:0] _GEN_502 = {{63'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [66:0] _a_opcodes_set_T_1 = _GEN_502 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [66:0] _GEN_503 = {{63'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [66:0] _a_sizes_set_T_1 = _GEN_503 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [4:0] _T_1358 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_1360 = ~_T_1358[0]; // @[Monitor.scala 658:17]
  wire [7:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 8'h0; // @[Monitor.scala 652:72 653:28]
  wire [66:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 67'h0; // @[Monitor.scala 652:72 656:28]
  wire [66:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 67'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_1364 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_1366 = ~_T_521; // @[Monitor.scala 671:74]
  wire  _T_1367 = io_in_d_valid & d_first_1 & ~_T_521; // @[Monitor.scala 671:71]
  wire [7:0] _d_clr_wo_ready_T = 8'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [7:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_521 ? _d_clr_wo_ready_T : 8'h0; // @[Monitor.scala 671:90 672:22]
  wire [78:0] _GEN_504 = {{63'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [78:0] _d_opcodes_clr_T_5 = _GEN_504 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [7:0] _GEN_34 = _d_first_T & d_first_1 & _T_1366 ? _d_clr_wo_ready_T : 8'h0; // @[Monitor.scala 675:91 676:21]
  wire [78:0] _GEN_35 = _d_first_T & d_first_1 & _T_1366 ? _d_opcodes_clr_T_5 : 79'h0; // @[Monitor.scala 675:91 677:21]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = _T_1353 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [4:0] _T_1377 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_1379 = _T_1377[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
  wire  _T_1384 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
  wire  _T_1385 = io_in_d_bits_opcode == _GEN_44 | _T_1384; // @[Monitor.scala 685:77]
  wire  _T_1389 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
  wire  _T_1396 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
  wire  _T_1397 = io_in_d_bits_opcode == _GEN_60 | _T_1396; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_95 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_1401 = _GEN_95 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_1411 = _T_1364 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1366; // @[Monitor.scala 694:116]
  wire  _T_1412 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_1413 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [4:0] a_set_wo_ready = _GEN_27[4:0];
  wire [4:0] d_clr_wo_ready = _GEN_33[4:0];
  wire  _T_1420 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire [4:0] a_set = _GEN_28[4:0];
  wire [4:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [4:0] d_clr = _GEN_34[4:0];
  wire [4:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [4:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [19:0] a_opcodes_set = _GEN_31[19:0];
  wire [19:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [19:0] d_opcodes_clr = _GEN_35[19:0];
  wire [19:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [19:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [19:0] a_sizes_set = _GEN_32[19:0];
  wire [19:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [19:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_1429 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [4:0] inflight_1; // @[Monitor.scala 723:35]
  reg [19:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  c_first_counter_1; // @[Edges.scala 228:27]
  wire  c_first_counter1_1 = c_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  c_first_1 = ~c_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [19:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [19:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_86; // @[Monitor.scala 747:93]
  wire [19:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[19:1]}; // @[Monitor.scala 747:146]
  wire  _T_1439 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
  wire  _T_1440 = io_in_c_valid & c_first_1 & _T_1439; // @[Monitor.scala 756:37]
  wire [7:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_1439 ? 8'h8 : 8'h0; // @[Monitor.scala 756:71 757:22]
  wire  _T_1446 = _c_first_T & c_first_1 & _T_1439; // @[Monitor.scala 760:38]
  wire [3:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
  wire [3:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 4'h1; // @[Monitor.scala 763:59]
  wire [3:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_1439 ? _c_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 760:72 763:28]
  wire [15:0] _GEN_99 = {c_sizes_set_interm, 12'h0}; // @[Monitor.scala 765:52]
  wire [66:0] _c_sizes_set_T_1 = {{51'd0}, _GEN_99}; // @[Monitor.scala 765:52]
  wire [4:0] _T_1447 = {{3'd0}, inflight_1[4:3]}; // @[Monitor.scala 766:26]
  wire  _T_1449 = ~_T_1447[0]; // @[Monitor.scala 766:17]
  wire [7:0] _GEN_73 = _c_first_T & c_first_1 & _T_1439 ? 8'h8 : 8'h0; // @[Monitor.scala 760:72 761:28]
  wire [66:0] _GEN_77 = _c_first_T & c_first_1 & _T_1439 ? _c_sizes_set_T_1 : 67'h0; // @[Monitor.scala 760:72 765:28]
  wire  _T_1453 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
  wire  _T_1455 = io_in_d_valid & d_first_2 & _T_521; // @[Monitor.scala 779:71]
  wire [7:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_521 ? _d_clr_wo_ready_T : 8'h0; // @[Monitor.scala 779:89 780:22]
  wire [7:0] _GEN_79 = _d_first_T & d_first_2 & _T_521 ? _d_clr_wo_ready_T : 8'h0; // @[Monitor.scala 783:90 784:21]
  wire [78:0] _GEN_81 = _d_first_T & d_first_2 & _T_521 ? _d_opcodes_clr_T_5 : 79'h0; // @[Monitor.scala 783:90 786:21]
  wire  _same_cycle_resp_T_8 = 3'h3 == io_in_d_bits_source; // @[Monitor.scala 790:113]
  wire  same_cycle_resp_1 = _T_1440 & 3'h3 == io_in_d_bits_source; // @[Monitor.scala 790:88]
  wire [4:0] _T_1463 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_1465 = _T_1463[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
  wire  _T_1469 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_1473 = _GEN_95 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_1482 = _T_1453 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_521; // @[Monitor.scala 799:116]
  wire  _T_1484 = _T_1412 | io_in_c_ready; // @[Monitor.scala 800:32]
  wire [4:0] c_set_wo_ready = _GEN_72[4:0];
  wire  _T_1488 = |c_set_wo_ready; // @[Monitor.scala 804:28]
  wire [4:0] d_clr_wo_ready_1 = _GEN_78[4:0];
  wire  _T_1489 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
  wire [4:0] c_set = _GEN_73[4:0];
  wire [4:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
  wire [4:0] d_clr_1 = _GEN_79[4:0];
  wire [4:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [4:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [19:0] c_sizes_set = _GEN_77[19:0];
  wire [19:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
  wire [19:0] d_sizes_clr_1 = _GEN_81[19:0];
  wire [19:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [19:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_1498 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  reg [21:0] inflight_2; // @[Monitor.scala 823:27]
  reg  d_first_counter_3; // @[Edges.scala 228:27]
  wire  d_first_counter1_3 = d_first_counter_3 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_3 = ~d_first_counter_3; // @[Edges.scala 230:25]
  wire  _T_1510 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
  wire  _T_1511 = _d_first_T & d_first_3 & _T_1510; // @[Monitor.scala 829:38]
  wire [31:0] _d_set_T = 32'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
  wire [21:0] _T_1512 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
  wire  _T_1514 = ~_T_1512[0]; // @[Monitor.scala 831:14]
  wire [31:0] _GEN_84 = _d_first_T & d_first_3 & _T_1510 ? _d_set_T : 32'h0; // @[Monitor.scala 829:72 830:13]
  wire [31:0] _e_clr_T = 32'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
  wire [21:0] d_set = _GEN_84[21:0];
  wire [21:0] _T_1521 = d_set | inflight_2; // @[Monitor.scala 837:24]
  wire [21:0] _T_1522 = _T_1521 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
  wire [31:0] _GEN_85 = io_in_e_valid ? _e_clr_T : 32'h0; // @[Monitor.scala 835:73 836:13]
  wire [21:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
  wire [21:0] e_clr = _GEN_85[21:0];
  wire [21:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
  wire [21:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      b_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_b_first_T) begin // @[Edges.scala 234:17]
      if (b_first) begin // @[Edges.scala 235:21]
        b_first_counter <= 1'h0;
      end else begin
        b_first_counter <= b_first_counter1;
      end
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first) begin // @[Edges.scala 235:21]
        c_first_counter <= c_first_beats1;
      end else begin
        c_first_counter <= c_first_counter1;
      end
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 5'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 20'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 20'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 5'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 20'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first_1) begin // @[Edges.scala 235:21]
        c_first_counter_1 <= c_first_beats1;
      end else begin
        c_first_counter_1 <= c_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    if (reset) begin // @[Monitor.scala 823:27]
      inflight_2 <= 22'h0; // @[Monitor.scala 823:27]
    end else begin
      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_3 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_3) begin // @[Edges.scala 235:21]
        d_first_counter_3 <= d_first_beats1;
      end else begin
        d_first_counter_3 <= d_first_counter1_3;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_T_106) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_106 & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_T_120) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_120 & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_T_125) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_125 & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_47 & ~reset & ~_T_129) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_129 & (io_in_a_valid & _T_47 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_106) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_106 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_120) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_120 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_210) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_210 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_125) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_125 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_129) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_129 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~_T_253) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_253 & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~_T_264) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_264 & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_223 & ~reset & ~_T_129) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_129 & (io_in_a_valid & _T_223 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_305) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_305 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_264) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_264 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_305) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_305 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_264) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_264 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_368) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_368 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_372 & ~reset & ~_T_401) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_401 & (io_in_a_valid & _T_372 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_372 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_372 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_372 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_372 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_372 & ~reset & ~_T_411) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_411 & (io_in_a_valid & _T_372 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_372 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_372 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_419 & ~reset & ~_T_401) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_401 & (io_in_a_valid & _T_419 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_419 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_419 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_419 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_419 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_419 & ~reset & ~_T_458) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_458 & (io_in_a_valid & _T_419 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_419 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_419 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~_T_305) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_305 & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~_T_505) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_505 & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_466 & ~reset & ~_T_129) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_129 & (io_in_a_valid & _T_466 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_517) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_517 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_525) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_525 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_529) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_529 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_533) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_533 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~sink_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~sink_ok & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~_T_525) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_525 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~_T_552) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_552 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~_T_556) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_556 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~_T_533) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_533 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_541 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_541 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~sink_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~sink_ok & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~_T_525) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_525 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~_T_552) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_552 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~_T_556) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_556 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~_T_589) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_589 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_569 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_569 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_598 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_598 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_598 & _T_2 & ~_T_529) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_529 & (io_in_d_valid & _T_598 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_598 & _T_2 & ~_T_533) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_533 & (io_in_d_valid & _T_598 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_598 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_598 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_615 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_615 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_615 & _T_2 & ~_T_529) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_529 & (io_in_d_valid & _T_615 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_615 & _T_2 & ~_T_589) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_589 & (io_in_d_valid & _T_615 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_615 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_615 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_633 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_633 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_633 & _T_2 & ~_T_529) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_529 & (io_in_d_valid & _T_633 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_633 & _T_2 & ~_T_533) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_533 & (io_in_d_valid & _T_633 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_633 & _T_2 & ~_T_537) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_537 & (io_in_d_valid & _T_633 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~is_aligned_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_T_739) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_739 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_776 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_776 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_776 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1002 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1002 & ~reset & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1002 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1002 & ~reset & ~_T_1016) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1016 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1002 & ~reset & ~_T_1020) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1020 & (io_in_c_valid & _T_1002 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1024 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1024 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1024 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1024 & ~reset & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (io_in_c_valid & _T_1024 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1024 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1024 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1024 & ~reset & ~_T_1016) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1016 & (io_in_c_valid & _T_1024 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~_T_1067) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1067 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~_T_1067) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1067 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~_T_1016) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid report param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1016 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1042 & ~reset & ~_T_1020) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1020 & (io_in_c_valid & _T_1042 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1123 & ~reset & ~_T_1067) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1067 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1123 & ~reset & ~_T_1067) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1067 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1123 & ~reset & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1123 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1123 & ~reset & ~_T_1016) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1016 & (io_in_c_valid & _T_1123 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1200 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1200 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1200 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1200 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1200 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1200 & ~reset & ~_T_1210) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1210 & (io_in_c_valid & _T_1200 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1200 & ~reset & ~_T_1020) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1020 & (io_in_c_valid & _T_1200 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1218 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1218 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1218 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1218 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1218 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1218 & ~reset & ~_T_1210) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1210 & (io_in_c_valid & _T_1218 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1232 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & _T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1232 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1232 & ~reset & ~_T_1210) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid param (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1210 & (io_in_c_valid & _T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1232 & ~reset & ~_T_1020) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck is corrupt (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1020 & (io_in_c_valid & _T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_e_valid & ~reset & ~sink_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'E' channels carries invalid sink ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~sink_ok_1 & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1254 & ~reset & ~_T_1255) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1255 & (_T_1254 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1254 & ~reset & ~_T_1259) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1259 & (_T_1254 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1254 & ~reset & ~_T_1263) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1263 & (_T_1254 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1254 & ~reset & ~_T_1267) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1267 & (_T_1254 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1254 & ~reset & ~_T_1271) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1271 & (_T_1254 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1279) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1279 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1283) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1283 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1287) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1287 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1291) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1291 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1295) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1295 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1278 & _T_2 & ~_T_1299) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1299 & (_T_1278 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1306 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1306 & ~reset & ~_T_1311) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel param changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1311 & (_T_1306 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1306 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1306 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1306 & ~reset & ~_T_1323) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1323 & (_T_1306 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1330 & ~reset & ~_T_1331) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1331 & (_T_1330 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1330 & ~reset & ~_T_1335) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel param changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1335 & (_T_1330 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1330 & ~reset & ~_T_1339) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel size changed within multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1339 & (_T_1330 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1330 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1330 & ~reset & ~_T_1347) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel address changed with multibeat operation (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1347 & (_T_1330 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1356 & ~reset & ~_T_1360) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1360 & (_T_1356 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1367 & _T_2 & ~_T_1379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1379 & (_T_1367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1367 & same_cycle_resp & _T_2 & ~_T_1385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1385 & (_T_1367 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1367 & same_cycle_resp & _T_2 & ~_T_1389) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1389 & (_T_1367 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1367 & ~same_cycle_resp & _T_2 & ~_T_1397) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1397 & (_T_1367 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1367 & ~same_cycle_resp & _T_2 & ~_T_1401) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1401 & (_T_1367 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1411 & _T_2 & ~_T_1413) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1413 & (_T_1411 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_1420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1420 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1429) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1429 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1446 & ~reset & ~_T_1449) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel re-used a source ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1449 & (_T_1446 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1455 & _T_2 & ~_T_1465) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1465 & (_T_1455 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1455 & same_cycle_resp_1 & _T_2 & ~_T_1469) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1469 & (_T_1455 & same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1455 & ~same_cycle_resp_1 & _T_2 & ~_T_1473) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1473 & (_T_1455 & ~same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1482 & _T_2 & ~_T_1484) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1484 & (_T_1482 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1488 & _T_2 & ~_T_1489) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1489 & (_T_1488 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1498) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1498 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1511 & _T_2 & ~_T_1514) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel re-used a sink ID (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1514 & (_T_1511 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_e_valid & ~reset & ~_T_1522[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:80)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1522[0] & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[2:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[2:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[4:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  b_first_counter = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  param_2 = _RAND_14[1:0];
  _RAND_15 = {1{`RANDOM}};
  address_1 = _RAND_15[31:0];
  _RAND_16 = {1{`RANDOM}};
  c_first_counter = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  opcode_3 = _RAND_17[2:0];
  _RAND_18 = {1{`RANDOM}};
  param_3 = _RAND_18[2:0];
  _RAND_19 = {1{`RANDOM}};
  size_3 = _RAND_19[2:0];
  _RAND_20 = {1{`RANDOM}};
  address_2 = _RAND_20[31:0];
  _RAND_21 = {1{`RANDOM}};
  inflight = _RAND_21[4:0];
  _RAND_22 = {1{`RANDOM}};
  inflight_opcodes = _RAND_22[19:0];
  _RAND_23 = {1{`RANDOM}};
  inflight_sizes = _RAND_23[19:0];
  _RAND_24 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  watchdog = _RAND_26[31:0];
  _RAND_27 = {1{`RANDOM}};
  inflight_1 = _RAND_27[4:0];
  _RAND_28 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_28[19:0];
  _RAND_29 = {1{`RANDOM}};
  c_first_counter_1 = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  watchdog_1 = _RAND_31[31:0];
  _RAND_32 = {1{`RANDOM}};
  inflight_2 = _RAND_32[21:0];
  _RAND_33 = {1{`RANDOM}};
  d_first_counter_3 = _RAND_33[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_23(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [4:0]  io_enq_bits_source,
  input  [31:0] io_enq_bits_address,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [4:0]  io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [7:0]  io_deq_bits_mask,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [63:0] _RAND_6;
  reg [31:0] _RAND_7;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg [4:0] ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [7:0] ram_mask [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = 3'h4;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
  assign ram_mask_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_mask_MPORT_data = 8'hff;
  assign ram_mask_MPORT_addr = enq_ptr_value;
  assign ram_mask_MPORT_mask = 1'h1;
  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = 64'h0;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = 1'h0;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[4:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_address[initvar] = _RAND_4[31:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_mask[initvar] = _RAND_5[7:0];
  _RAND_6 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_6[63:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_7[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  enq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  deq_ptr_value = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  maybe_full = _RAND_10[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SourceA(
  input         clock,
  input         reset,
  output        io_req_ready,
  input         io_req_valid,
  input  [24:0] io_req_bits_tag,
  input  [2:0]  io_req_bits_set,
  input  [2:0]  io_req_bits_param,
  input  [4:0]  io_req_bits_source,
  input         io_req_bits_block,
  input         io_a_ready,
  output        io_a_valid,
  output [2:0]  io_a_bits_opcode,
  output [2:0]  io_a_bits_param,
  output [2:0]  io_a_bits_size,
  output [4:0]  io_a_bits_source,
  output [31:0] io_a_bits_address,
  output [7:0]  io_a_bits_mask,
  output [63:0] io_a_bits_data,
  output        io_a_bits_corrupt
);
  wire  io_a_q_clock; // @[Decoupled.scala 377:21]
  wire  io_a_q_reset; // @[Decoupled.scala 377:21]
  wire  io_a_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  io_a_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] io_a_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] io_a_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [4:0] io_a_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] io_a_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire  io_a_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  io_a_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] io_a_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] io_a_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] io_a_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] io_a_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] io_a_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] io_a_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] io_a_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  io_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire [31:0] a_bits_address_base = {io_req_bits_tag,io_req_bits_set,4'h0}; // @[Cat.scala 33:92]
  wire [7:0] a_bits_address_lo_lo = {a_bits_address_base[7],a_bits_address_base[6],a_bits_address_base[5],
    a_bits_address_base[4],a_bits_address_base[3],a_bits_address_base[2],a_bits_address_base[1],a_bits_address_base[0]}; // @[Cat.scala 33:92]
  wire [15:0] a_bits_address_lo = {a_bits_address_base[15],a_bits_address_base[14],a_bits_address_base[13],
    a_bits_address_base[12],a_bits_address_base[11],a_bits_address_base[10],a_bits_address_base[9],a_bits_address_base[8
    ],a_bits_address_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] a_bits_address_hi_lo = {a_bits_address_base[23],a_bits_address_base[22],a_bits_address_base[21],
    a_bits_address_base[20],a_bits_address_base[19],a_bits_address_base[18],a_bits_address_base[17],a_bits_address_base[
    16]}; // @[Cat.scala 33:92]
  wire [15:0] a_bits_address_hi = {a_bits_address_base[31],a_bits_address_base[30],a_bits_address_base[29],
    a_bits_address_base[28],a_bits_address_base[27],a_bits_address_base[26],a_bits_address_base[25],a_bits_address_base[
    24],a_bits_address_hi_lo}; // @[Cat.scala 33:92]
  Queue_23 io_a_q ( // @[Decoupled.scala 377:21]
    .clock(io_a_q_clock),
    .reset(io_a_q_reset),
    .io_enq_ready(io_a_q_io_enq_ready),
    .io_enq_valid(io_a_q_io_enq_valid),
    .io_enq_bits_opcode(io_a_q_io_enq_bits_opcode),
    .io_enq_bits_param(io_a_q_io_enq_bits_param),
    .io_enq_bits_source(io_a_q_io_enq_bits_source),
    .io_enq_bits_address(io_a_q_io_enq_bits_address),
    .io_deq_ready(io_a_q_io_deq_ready),
    .io_deq_valid(io_a_q_io_deq_valid),
    .io_deq_bits_opcode(io_a_q_io_deq_bits_opcode),
    .io_deq_bits_param(io_a_q_io_deq_bits_param),
    .io_deq_bits_size(io_a_q_io_deq_bits_size),
    .io_deq_bits_source(io_a_q_io_deq_bits_source),
    .io_deq_bits_address(io_a_q_io_deq_bits_address),
    .io_deq_bits_mask(io_a_q_io_deq_bits_mask),
    .io_deq_bits_data(io_a_q_io_deq_bits_data),
    .io_deq_bits_corrupt(io_a_q_io_deq_bits_corrupt)
  );
  assign io_req_ready = io_a_q_io_enq_ready; // @[SourceA.scala 42:15 Decoupled.scala 381:17]
  assign io_a_valid = io_a_q_io_deq_valid; // @[SourceA.scala 43:8]
  assign io_a_bits_opcode = io_a_q_io_deq_bits_opcode; // @[SourceA.scala 43:8]
  assign io_a_bits_param = io_a_q_io_deq_bits_param; // @[SourceA.scala 43:8]
  assign io_a_bits_size = io_a_q_io_deq_bits_size; // @[SourceA.scala 43:8]
  assign io_a_bits_source = io_a_q_io_deq_bits_source; // @[SourceA.scala 43:8]
  assign io_a_bits_address = io_a_q_io_deq_bits_address; // @[SourceA.scala 43:8]
  assign io_a_bits_mask = io_a_q_io_deq_bits_mask; // @[SourceA.scala 43:8]
  assign io_a_bits_data = io_a_q_io_deq_bits_data; // @[SourceA.scala 43:8]
  assign io_a_bits_corrupt = io_a_q_io_deq_bits_corrupt; // @[SourceA.scala 43:8]
  assign io_a_q_clock = clock;
  assign io_a_q_reset = reset;
  assign io_a_q_io_enq_valid = io_req_valid; // @[SourceA.scala 42:15 46:11]
  assign io_a_q_io_enq_bits_opcode = io_req_bits_block ? 3'h6 : 3'h7; // @[SourceA.scala 49:24]
  assign io_a_q_io_enq_bits_param = io_req_bits_param; // @[SourceA.scala 42:15 50:18]
  assign io_a_q_io_enq_bits_source = io_req_bits_source; // @[SourceA.scala 42:15 52:18]
  assign io_a_q_io_enq_bits_address = {a_bits_address_hi,a_bits_address_lo}; // @[Cat.scala 33:92]
  assign io_a_q_io_deq_ready = io_a_ready; // @[SourceA.scala 43:8]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SourceB(
  input         clock,
  input         reset,
  output        io_req_ready,
  input         io_req_valid,
  input  [2:0]  io_req_bits_param,
  input  [24:0] io_req_bits_tag,
  input  [2:0]  io_req_bits_set,
  input         io_req_bits_clients,
  input         io_b_ready,
  output        io_b_valid,
  output [1:0]  io_b_bits_param,
  output [31:0] io_b_bits_address
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg  remain; // @[SourceB.scala 44:25]
  wire  _T_6 = io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  wire  remain_set = _T_6 & io_req_bits_clients; // @[SourceB.scala 60:{26,39}]
  wire  busy = |remain; // @[SourceB.scala 49:26]
  wire  b_valid = busy | io_req_valid; // @[SourceB.scala 66:21]
  wire  _T_7 = io_b_ready & b_valid; // @[Decoupled.scala 52:35]
  wire  todo = busy ? remain : io_req_bits_clients; // @[SourceB.scala 50:19]
  wire [1:0] _next_T_1 = {todo, 1'h0}; // @[SourceB.scala 51:31]
  wire [1:0] _next_T_2 = ~_next_T_1; // @[SourceB.scala 51:16]
  wire [1:0] _GEN_5 = {{1'd0}, todo}; // @[SourceB.scala 51:37]
  wire [1:0] next = _next_T_2 & _GEN_5; // @[SourceB.scala 51:37]
  wire [1:0] _GEN_1 = _T_7 ? next : 2'h0; // @[SourceB.scala 67:{21,34}]
  wire  remain_clr = _GEN_1[0];
  wire  _T_4 = ~reset; // @[SourceB.scala 57:12]
  wire  _io_req_ready_T = ~busy; // @[SourceB.scala 59:21]
  reg [24:0] tag_r; // @[Reg.scala 19:16]
  wire [24:0] tag = _io_req_ready_T ? io_req_bits_tag : tag_r; // @[SourceB.scala 70:18]
  reg [2:0] set_r; // @[Reg.scala 19:16]
  wire [2:0] set = _io_req_ready_T ? io_req_bits_set : set_r; // @[SourceB.scala 71:18]
  reg [2:0] param_r; // @[Reg.scala 19:16]
  wire [2:0] param = _io_req_ready_T ? io_req_bits_param : param_r; // @[SourceB.scala 72:20]
  wire [31:0] b_bits_address_base = {tag,set,4'h0}; // @[Cat.scala 33:92]
  wire [7:0] b_bits_address_lo_lo = {b_bits_address_base[7],b_bits_address_base[6],b_bits_address_base[5],
    b_bits_address_base[4],b_bits_address_base[3],b_bits_address_base[2],b_bits_address_base[1],b_bits_address_base[0]}; // @[Cat.scala 33:92]
  wire [15:0] b_bits_address_lo = {b_bits_address_base[15],b_bits_address_base[14],b_bits_address_base[13],
    b_bits_address_base[12],b_bits_address_base[11],b_bits_address_base[10],b_bits_address_base[9],b_bits_address_base[8
    ],b_bits_address_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] b_bits_address_hi_lo = {b_bits_address_base[23],b_bits_address_base[22],b_bits_address_base[21],
    b_bits_address_base[20],b_bits_address_base[19],b_bits_address_base[18],b_bits_address_base[17],b_bits_address_base[
    16]}; // @[Cat.scala 33:92]
  wire [15:0] b_bits_address_hi = {b_bits_address_base[31],b_bits_address_base[30],b_bits_address_base[29],
    b_bits_address_base[28],b_bits_address_base[27],b_bits_address_base[26],b_bits_address_base[25],b_bits_address_base[
    24],b_bits_address_hi_lo}; // @[Cat.scala 33:92]
  assign io_req_ready = ~busy; // @[SourceB.scala 59:21]
  assign io_b_valid = busy | io_req_valid; // @[SourceB.scala 66:21]
  assign io_b_bits_param = param[1:0]; // @[SourceB.scala 63:17 75:20]
  assign io_b_bits_address = {b_bits_address_hi,b_bits_address_lo}; // @[Cat.scala 33:92]
  always @(posedge clock) begin
    if (reset) begin // @[SourceB.scala 44:25]
      remain <= 1'h0; // @[SourceB.scala 44:25]
    end else begin
      remain <= (remain | remain_set) & ~remain_clr; // @[SourceB.scala 47:12]
    end
    if (_T_6) begin // @[Reg.scala 20:18]
      tag_r <= io_req_bits_tag; // @[Reg.scala 20:22]
    end
    if (_T_6) begin // @[Reg.scala 20:18]
      set_r <= io_req_bits_set; // @[Reg.scala 20:22]
    end
    if (_T_6) begin // @[Reg.scala 20:18]
      param_r <= io_req_bits_param; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_req_valid | io_req_bits_clients)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at SourceB.scala:57 assert (!io.req.valid || io.req.bits.clients =/= UInt(0))\n"); // @[SourceB.scala 57:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_req_valid | io_req_bits_clients) & ~reset) begin
          $fatal; // @[SourceB.scala 57:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_4) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_4) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_4) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  remain = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  tag_r = _RAND_1[24:0];
  _RAND_2 = {1{`RANDOM}};
  set_r = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  param_r = _RAND_3[2:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module QueueCompatibility(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [4:0]  io_enq_bits_source,
  input  [31:0] io_enq_bits_address,
  input  [63:0] io_enq_bits_data,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [4:0]  io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt,
  output [2:0]  io_count
);
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_9;
  reg [63:0] _RAND_11;
  reg [31:0] _RAND_13;
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_8;
  reg [63:0] _RAND_10;
  reg [31:0] _RAND_12;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_param [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg [4:0] ram_source [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:5]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [2:0] ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] enq_ptr_value; // @[Counter.scala 61:40]
  reg [2:0] deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  wrap = enq_ptr_value == 3'h5; // @[Counter.scala 73:24]
  wire [2:0] _value_T_1 = enq_ptr_value + 3'h1; // @[Counter.scala 77:24]
  wire  wrap_1 = deq_ptr_value == 3'h5; // @[Counter.scala 73:24]
  wire [2:0] _value_T_3 = deq_ptr_value + 3'h1; // @[Counter.scala 77:24]
  wire [2:0] ptr_diff = enq_ptr_value - deq_ptr_value; // @[Decoupled.scala 328:32]
  wire [2:0] _io_count_T = maybe_full ? 3'h6 : 3'h0; // @[Decoupled.scala 335:10]
  wire [2:0] _io_count_T_3 = 3'h6 + ptr_diff; // @[Decoupled.scala 336:57]
  wire [2:0] _io_count_T_4 = deq_ptr_value > enq_ptr_value ? _io_count_T_3 : ptr_diff; // @[Decoupled.scala 336:10]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_1[2:0] :
    ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_param_io_deq_bits_MPORT_data = ram_param_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_3[2:0] :
    ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_size_io_deq_bits_MPORT_data = ram_size_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_5[2:0] :
    ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_size_MPORT_data = 3'h4;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_source_io_deq_bits_MPORT_data = ram_source_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_7[4:0] :
    ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_address_io_deq_bits_MPORT_data = ram_address_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_9[31:0] :
    ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_data_io_deq_bits_MPORT_data = ram_data_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_11[63:0] :
    ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt_io_deq_bits_MPORT_addr >= 3'h6 ? _RAND_13[0:0] :
    ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_corrupt_MPORT_data = 1'h0;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_count = ptr_match ? _io_count_T : _io_count_T_4; // @[Decoupled.scala 333:20]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 3'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      if (wrap) begin // @[Counter.scala 87:20]
        enq_ptr_value <= 3'h0; // @[Counter.scala 87:28]
      end else begin
        enq_ptr_value <= _value_T_1; // @[Counter.scala 77:15]
      end
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 3'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      if (wrap_1) begin // @[Counter.scala 87:20]
        deq_ptr_value <= 3'h0; // @[Counter.scala 87:28]
      end else begin
        deq_ptr_value <= _value_T_3; // @[Counter.scala 77:15]
      end
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  _RAND_1 = {1{`RANDOM}};
  _RAND_3 = {1{`RANDOM}};
  _RAND_5 = {1{`RANDOM}};
  _RAND_7 = {1{`RANDOM}};
  _RAND_9 = {1{`RANDOM}};
  _RAND_11 = {2{`RANDOM}};
  _RAND_13 = {1{`RANDOM}};
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_param[initvar] = _RAND_2[2:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_size[initvar] = _RAND_4[2:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_source[initvar] = _RAND_6[4:0];
  _RAND_8 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_address[initvar] = _RAND_8[31:0];
  _RAND_10 = {2{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_data[initvar] = _RAND_10[63:0];
  _RAND_12 = {1{`RANDOM}};
  for (initvar = 0; initvar < 6; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_12[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  enq_ptr_value = _RAND_14[2:0];
  _RAND_15 = {1{`RANDOM}};
  deq_ptr_value = _RAND_15[2:0];
  _RAND_16 = {1{`RANDOM}};
  maybe_full = _RAND_16[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SourceC(
  input         clock,
  input         reset,
  output        io_req_ready,
  input         io_req_valid,
  input  [2:0]  io_req_bits_opcode,
  input  [2:0]  io_req_bits_param,
  input  [4:0]  io_req_bits_source,
  input  [24:0] io_req_bits_tag,
  input  [2:0]  io_req_bits_set,
  input         io_req_bits_way,
  input         io_req_bits_dirty,
  input         io_c_ready,
  output        io_c_valid,
  output [2:0]  io_c_bits_opcode,
  output [2:0]  io_c_bits_param,
  output [2:0]  io_c_bits_size,
  output [4:0]  io_c_bits_source,
  output [31:0] io_c_bits_address,
  output [63:0] io_c_bits_data,
  output        io_c_bits_corrupt,
  input         io_bs_adr_ready,
  output        io_bs_adr_valid,
  output        io_bs_adr_bits_way,
  output [2:0]  io_bs_adr_bits_set,
  output        io_bs_adr_bits_beat,
  input  [63:0] io_bs_dat_data,
  output [2:0]  io_evict_req_set,
  output        io_evict_req_way,
  input         io_evict_safe
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
`endif // RANDOMIZE_REG_INIT
  wire  queue_clock; // @[SourceC.scala 53:21]
  wire  queue_reset; // @[SourceC.scala 53:21]
  wire  queue_io_enq_ready; // @[SourceC.scala 53:21]
  wire  queue_io_enq_valid; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_enq_bits_opcode; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_enq_bits_param; // @[SourceC.scala 53:21]
  wire [4:0] queue_io_enq_bits_source; // @[SourceC.scala 53:21]
  wire [31:0] queue_io_enq_bits_address; // @[SourceC.scala 53:21]
  wire [63:0] queue_io_enq_bits_data; // @[SourceC.scala 53:21]
  wire  queue_io_deq_ready; // @[SourceC.scala 53:21]
  wire  queue_io_deq_valid; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_deq_bits_opcode; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_deq_bits_param; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_deq_bits_size; // @[SourceC.scala 53:21]
  wire [4:0] queue_io_deq_bits_source; // @[SourceC.scala 53:21]
  wire [31:0] queue_io_deq_bits_address; // @[SourceC.scala 53:21]
  wire [63:0] queue_io_deq_bits_data; // @[SourceC.scala 53:21]
  wire  queue_io_deq_bits_corrupt; // @[SourceC.scala 53:21]
  wire [2:0] queue_io_count; // @[SourceC.scala 53:21]
  reg [2:0] fill; // @[SourceC.scala 57:21]
  reg  room; // @[SourceC.scala 58:21]
  wire  _T = queue_io_enq_ready & queue_io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _T_1 = queue_io_deq_ready & queue_io_deq_valid; // @[Decoupled.scala 52:35]
  wire [2:0] _fill_T_2 = _T ? 3'h1 : 3'h7; // @[SourceC.scala 60:23]
  wire [2:0] _fill_T_4 = fill + _fill_T_2; // @[SourceC.scala 60:18]
  wire  _GEN_1 = _T != _T_1 ? fill == 3'h0 | (fill == 3'h1 | fill == 3'h2) & ~_T : room; // @[SourceC.scala 59:54 61:10 58:21]
  wire  _T_6 = ~reset; // @[SourceC.scala 63:10]
  reg  busy; // @[SourceC.scala 65:21]
  reg  beat; // @[SourceC.scala 66:21]
  wire  last = &beat; // @[SourceC.scala 67:19]
  wire  _req_T = ~busy; // @[SourceC.scala 68:18]
  wire  _req_T_2 = ~busy & io_req_valid; // @[SourceC.scala 68:67]
  reg [2:0] req_r_opcode; // @[Reg.scala 19:16]
  reg [2:0] req_r_param; // @[Reg.scala 19:16]
  reg [4:0] req_r_source; // @[Reg.scala 19:16]
  reg [24:0] req_r_tag; // @[Reg.scala 19:16]
  reg [2:0] req_r_set; // @[Reg.scala 19:16]
  reg  req_r_way; // @[Reg.scala 19:16]
  wire  _want_data_T_1 = io_req_valid & room & io_req_bits_dirty; // @[SourceC.scala 69:49]
  wire  want_data = busy | io_req_valid & room & io_req_bits_dirty; // @[SourceC.scala 69:24]
  wire  _GEN_9 = _want_data_T_1 | busy; // @[SourceC.scala 65:21 86:{52,59}]
  wire  _T_16 = io_bs_adr_ready & io_bs_adr_valid; // @[Decoupled.scala 52:35]
  wire  _s2_latch_T_1 = io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  wire  s2_latch = want_data ? _T_16 : _s2_latch_T_1; // @[SourceC.scala 92:21]
  reg  s2_valid; // @[SourceC.scala 93:25]
  reg [2:0] s2_req_opcode; // @[Reg.scala 19:16]
  reg [2:0] s2_req_param; // @[Reg.scala 19:16]
  reg [4:0] s2_req_source; // @[Reg.scala 19:16]
  reg [24:0] s2_req_tag; // @[Reg.scala 19:16]
  reg [2:0] s2_req_set; // @[Reg.scala 19:16]
  reg  s3_valid; // @[SourceC.scala 99:25]
  reg [2:0] s3_req_opcode; // @[Reg.scala 19:16]
  reg [2:0] s3_req_param; // @[Reg.scala 19:16]
  reg [4:0] s3_req_source; // @[Reg.scala 19:16]
  reg [24:0] s3_req_tag; // @[Reg.scala 19:16]
  reg [2:0] s3_req_set; // @[Reg.scala 19:16]
  wire [31:0] c_bits_address_base = {s3_req_tag,s3_req_set,4'h0}; // @[Cat.scala 33:92]
  wire [7:0] c_bits_address_lo_lo = {c_bits_address_base[7],c_bits_address_base[6],c_bits_address_base[5],
    c_bits_address_base[4],c_bits_address_base[3],c_bits_address_base[2],c_bits_address_base[1],c_bits_address_base[0]}; // @[Cat.scala 33:92]
  wire [15:0] c_bits_address_lo = {c_bits_address_base[15],c_bits_address_base[14],c_bits_address_base[13],
    c_bits_address_base[12],c_bits_address_base[11],c_bits_address_base[10],c_bits_address_base[9],c_bits_address_base[8
    ],c_bits_address_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] c_bits_address_hi_lo = {c_bits_address_base[23],c_bits_address_base[22],c_bits_address_base[21],
    c_bits_address_base[20],c_bits_address_base[19],c_bits_address_base[18],c_bits_address_base[17],c_bits_address_base[
    16]}; // @[Cat.scala 33:92]
  wire [15:0] c_bits_address_hi = {c_bits_address_base[31],c_bits_address_base[30],c_bits_address_base[29],
    c_bits_address_base[28],c_bits_address_base[27],c_bits_address_base[26],c_bits_address_base[25],c_bits_address_base[
    24],c_bits_address_hi_lo}; // @[Cat.scala 33:92]
  wire  c_ready = queue_io_enq_ready; // @[SourceC.scala 104:15 118:16]
  QueueCompatibility queue ( // @[SourceC.scala 53:21]
    .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_source(queue_io_enq_bits_source),
    .io_enq_bits_address(queue_io_enq_bits_address),
    .io_enq_bits_data(queue_io_enq_bits_data),
    .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_data(queue_io_deq_bits_data),
    .io_deq_bits_corrupt(queue_io_deq_bits_corrupt),
    .io_count(queue_io_count)
  );
  assign io_req_ready = _req_T & room; // @[SourceC.scala 71:25]
  assign io_c_valid = queue_io_deq_valid; // @[SourceC.scala 119:8]
  assign io_c_bits_opcode = queue_io_deq_bits_opcode; // @[SourceC.scala 119:8]
  assign io_c_bits_param = queue_io_deq_bits_param; // @[SourceC.scala 119:8]
  assign io_c_bits_size = queue_io_deq_bits_size; // @[SourceC.scala 119:8]
  assign io_c_bits_source = queue_io_deq_bits_source; // @[SourceC.scala 119:8]
  assign io_c_bits_address = queue_io_deq_bits_address; // @[SourceC.scala 119:8]
  assign io_c_bits_data = queue_io_deq_bits_data; // @[SourceC.scala 119:8]
  assign io_c_bits_corrupt = queue_io_deq_bits_corrupt; // @[SourceC.scala 119:8]
  assign io_bs_adr_valid = (|beat | io_evict_safe) & want_data; // @[SourceC.scala 76:50]
  assign io_bs_adr_bits_way = ~busy ? io_req_bits_way : req_r_way; // @[SourceC.scala 68:17]
  assign io_bs_adr_bits_set = ~busy ? io_req_bits_set : req_r_set; // @[SourceC.scala 68:17]
  assign io_bs_adr_bits_beat = beat; // @[SourceC.scala 80:23]
  assign io_evict_req_set = ~busy ? io_req_bits_set : req_r_set; // @[SourceC.scala 68:17]
  assign io_evict_req_way = ~busy ? io_req_bits_way : req_r_way; // @[SourceC.scala 68:17]
  assign queue_clock = clock;
  assign queue_reset = reset;
  assign queue_io_enq_valid = s3_valid; // @[SourceC.scala 104:15 105:18]
  assign queue_io_enq_bits_opcode = s3_req_opcode; // @[SourceC.scala 104:15 106:18]
  assign queue_io_enq_bits_param = s3_req_param; // @[SourceC.scala 104:15 107:18]
  assign queue_io_enq_bits_source = s3_req_source; // @[SourceC.scala 104:15 109:18]
  assign queue_io_enq_bits_address = {c_bits_address_hi,c_bits_address_lo}; // @[Cat.scala 33:92]
  assign queue_io_enq_bits_data = io_bs_dat_data; // @[SourceC.scala 104:15 111:18]
  assign queue_io_deq_ready = io_c_ready; // @[SourceC.scala 119:8]
  always @(posedge clock) begin
    if (reset) begin // @[SourceC.scala 57:21]
      fill <= 3'h0; // @[SourceC.scala 57:21]
    end else if (_T != _T_1) begin // @[SourceC.scala 59:54]
      fill <= _fill_T_4; // @[SourceC.scala 60:10]
    end
    room <= reset | _GEN_1; // @[SourceC.scala 58:{21,21}]
    if (reset) begin // @[SourceC.scala 65:21]
      busy <= 1'h0; // @[SourceC.scala 65:21]
    end else if (_T_16) begin // @[SourceC.scala 87:27]
      if (last) begin // @[SourceC.scala 88:17]
        busy <= 1'h0; // @[SourceC.scala 88:24]
      end else begin
        busy <= _GEN_9;
      end
    end else begin
      busy <= _GEN_9;
    end
    if (reset) begin // @[SourceC.scala 66:21]
      beat <= 1'h0; // @[SourceC.scala 66:21]
    end else if (_T_16) begin // @[SourceC.scala 87:27]
      beat <= beat + 1'h1; // @[SourceC.scala 89:10]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_opcode <= io_req_bits_opcode; // @[Reg.scala 20:22]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_param <= io_req_bits_param; // @[Reg.scala 20:22]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_source <= io_req_bits_source; // @[Reg.scala 20:22]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_tag <= io_req_bits_tag; // @[Reg.scala 20:22]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_set <= io_req_bits_set; // @[Reg.scala 20:22]
    end
    if (_req_T_2) begin // @[Reg.scala 20:18]
      req_r_way <= io_req_bits_way; // @[Reg.scala 20:22]
    end
    if (want_data) begin // @[SourceC.scala 92:21]
      s2_valid <= _T_16;
    end else begin
      s2_valid <= _s2_latch_T_1;
    end
    if (s2_latch) begin // @[Reg.scala 20:18]
      if (~busy) begin // @[SourceC.scala 68:17]
        s2_req_opcode <= io_req_bits_opcode;
      end else begin
        s2_req_opcode <= req_r_opcode;
      end
    end
    if (s2_latch) begin // @[Reg.scala 20:18]
      if (~busy) begin // @[SourceC.scala 68:17]
        s2_req_param <= io_req_bits_param;
      end else begin
        s2_req_param <= req_r_param;
      end
    end
    if (s2_latch) begin // @[Reg.scala 20:18]
      if (~busy) begin // @[SourceC.scala 68:17]
        s2_req_source <= io_req_bits_source;
      end else begin
        s2_req_source <= req_r_source;
      end
    end
    if (s2_latch) begin // @[Reg.scala 20:18]
      if (~busy) begin // @[SourceC.scala 68:17]
        s2_req_tag <= io_req_bits_tag;
      end else begin
        s2_req_tag <= req_r_tag;
      end
    end
    if (s2_latch) begin // @[Reg.scala 20:18]
      if (~busy) begin // @[SourceC.scala 68:17]
        s2_req_set <= io_req_bits_set;
      end else begin
        s2_req_set <= req_r_set;
      end
    end
    s3_valid <= s2_valid; // @[SourceC.scala 99:25]
    if (s2_valid) begin // @[Reg.scala 20:18]
      s3_req_opcode <= s2_req_opcode; // @[Reg.scala 20:22]
    end
    if (s2_valid) begin // @[Reg.scala 20:18]
      s3_req_param <= s2_req_param; // @[Reg.scala 20:22]
    end
    if (s2_valid) begin // @[Reg.scala 20:18]
      s3_req_source <= s2_req_source; // @[Reg.scala 20:22]
    end
    if (s2_valid) begin // @[Reg.scala 20:18]
      s3_req_tag <= s2_req_tag; // @[Reg.scala 20:22]
    end
    if (s2_valid) begin // @[Reg.scala 20:18]
      s3_req_set <= s2_req_set; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(room == queue_io_count <= 3'h1)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at SourceC.scala:63 assert (room === queue.io.count <= UInt(1))\n"
            ); // @[SourceC.scala 63:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(room == queue_io_count <= 3'h1) & ~reset) begin
          $fatal; // @[SourceC.scala 63:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_6) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_6) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_6) begin
          $fatal; // @[Parameters.scala 219:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & ~(~s3_valid | c_ready)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at SourceC.scala:115 assert(!c.valid || c.ready)\n"); // @[SourceC.scala 115:9]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~s3_valid | c_ready) & _T_6) begin
          $fatal; // @[SourceC.scala 115:9]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  fill = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  room = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  busy = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  beat = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  req_r_opcode = _RAND_4[2:0];
  _RAND_5 = {1{`RANDOM}};
  req_r_param = _RAND_5[2:0];
  _RAND_6 = {1{`RANDOM}};
  req_r_source = _RAND_6[4:0];
  _RAND_7 = {1{`RANDOM}};
  req_r_tag = _RAND_7[24:0];
  _RAND_8 = {1{`RANDOM}};
  req_r_set = _RAND_8[2:0];
  _RAND_9 = {1{`RANDOM}};
  req_r_way = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  s2_valid = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  s2_req_opcode = _RAND_11[2:0];
  _RAND_12 = {1{`RANDOM}};
  s2_req_param = _RAND_12[2:0];
  _RAND_13 = {1{`RANDOM}};
  s2_req_source = _RAND_13[4:0];
  _RAND_14 = {1{`RANDOM}};
  s2_req_tag = _RAND_14[24:0];
  _RAND_15 = {1{`RANDOM}};
  s2_req_set = _RAND_15[2:0];
  _RAND_16 = {1{`RANDOM}};
  s3_valid = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  s3_req_opcode = _RAND_17[2:0];
  _RAND_18 = {1{`RANDOM}};
  s3_req_param = _RAND_18[2:0];
  _RAND_19 = {1{`RANDOM}};
  s3_req_source = _RAND_19[4:0];
  _RAND_20 = {1{`RANDOM}};
  s3_req_tag = _RAND_20[24:0];
  _RAND_21 = {1{`RANDOM}};
  s3_req_set = _RAND_21[2:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module QueueCompatibility_1(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [63:0] io_enq_bits_data,
  input         io_deq_ready,
  output        io_deq_valid,
  output [63:0] io_deq_bits_data
);
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  reg [63:0] _RAND_1;
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  reg [63:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
`endif // RANDOMIZE_REG_INIT
  reg [63:0] ram_data [0:2]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire [1:0] ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] enq_ptr_value; // @[Counter.scala 61:40]
  reg [1:0] deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  _do_enq_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _do_deq_T = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  wire  wrap = enq_ptr_value == 2'h2; // @[Counter.scala 73:24]
  wire [1:0] _value_T_1 = enq_ptr_value + 2'h1; // @[Counter.scala 77:24]
  wire  _GEN_14 = io_deq_ready ? 1'h0 : _do_enq_T; // @[Decoupled.scala 320:{26,35}]
  wire  do_enq = empty ? _GEN_14 : _do_enq_T; // @[Decoupled.scala 317:17]
  wire  wrap_1 = deq_ptr_value == 2'h2; // @[Counter.scala 73:24]
  wire [1:0] _value_T_3 = deq_ptr_value + 2'h1; // @[Counter.scala 77:24]
  wire  do_deq = empty ? 1'h0 : _do_deq_T; // @[Decoupled.scala 317:17 319:14]
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `else
  assign ram_data_io_deq_bits_MPORT_data = ram_data_io_deq_bits_MPORT_addr >= 2'h3 ? _RAND_1[63:0] :
    ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = empty ? _GEN_14 : _do_enq_T;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = io_enq_valid | ~empty; // @[Decoupled.scala 304:16 316:{24,39}]
  assign io_deq_bits_data = empty ? io_enq_bits_data : ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17 317:17 318:19]
  always @(posedge clock) begin
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 2'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      if (wrap) begin // @[Counter.scala 87:20]
        enq_ptr_value <= 2'h0; // @[Counter.scala 87:28]
      end else begin
        enq_ptr_value <= _value_T_1; // @[Counter.scala 77:15]
      end
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 2'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      if (wrap_1) begin // @[Counter.scala 87:20]
        deq_ptr_value <= 2'h0; // @[Counter.scala 87:28]
      end else begin
        deq_ptr_value <= _value_T_3; // @[Counter.scala 77:15]
      end
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      if (empty) begin // @[Decoupled.scala 317:17]
        if (io_deq_ready) begin // @[Decoupled.scala 320:26]
          maybe_full <= 1'h0; // @[Decoupled.scala 320:35]
        end else begin
          maybe_full <= _do_enq_T;
        end
      end else begin
        maybe_full <= _do_enq_T;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  _RAND_1 = {2{`RANDOM}};
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {2{`RANDOM}};
  for (initvar = 0; initvar < 3; initvar = initvar+1)
    ram_data[initvar] = _RAND_0[63:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  enq_ptr_value = _RAND_2[1:0];
  _RAND_3 = {1{`RANDOM}};
  deq_ptr_value = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  maybe_full = _RAND_4[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Atomics(
  input         io_write,
  input  [2:0]  io_a_opcode,
  input  [2:0]  io_a_param,
  input  [7:0]  io_a_mask,
  input  [63:0] io_a_data,
  input  [63:0] io_data_in,
  output [63:0] io_data_out
);
  wire  adder = io_a_param[2]; // @[Atomics.scala 19:28]
  wire  unsigned_ = io_a_param[1]; // @[Atomics.scala 20:28]
  wire  take_max = io_a_param[0]; // @[Atomics.scala 21:28]
  wire [7:0] _signBit_T = ~io_a_mask; // @[Atomics.scala 23:42]
  wire [7:0] _signBit_T_2 = {1'h1,_signBit_T[7:1]}; // @[Cat.scala 33:92]
  wire [7:0] signBit = io_a_mask & _signBit_T_2; // @[Atomics.scala 23:27]
  wire [63:0] _inv_d_T = ~io_data_in; // @[Atomics.scala 24:38]
  wire [63:0] inv_d = adder ? io_data_in : _inv_d_T; // @[Atomics.scala 24:18]
  wire [7:0] _sum_T_9 = io_a_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_11 = io_a_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_13 = io_a_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_15 = io_a_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_17 = io_a_mask[4] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_19 = io_a_mask[5] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_21 = io_a_mask[6] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [7:0] _sum_T_23 = io_a_mask[7] ? 8'hff : 8'h0; // @[Bitwise.scala 77:12]
  wire [63:0] _sum_T_24 = {_sum_T_23,_sum_T_21,_sum_T_19,_sum_T_17,_sum_T_15,_sum_T_13,_sum_T_11,_sum_T_9}; // @[Cat.scala 33:92]
  wire [63:0] _sum_T_25 = _sum_T_24 & io_a_data; // @[Atomics.scala 25:44]
  wire [63:0] sum = _sum_T_25 + inv_d; // @[Atomics.scala 25:57]
  wire [7:0] _sign_a_T_64 = {io_a_data[63],io_a_data[55],io_a_data[47],io_a_data[39],io_a_data[31],io_a_data[23],
    io_a_data[15],io_a_data[7]}; // @[Cat.scala 33:92]
  wire [7:0] _sign_a_T_65 = _sign_a_T_64 & signBit; // @[Atomics.scala 26:83]
  wire  sign_a = |_sign_a_T_65; // @[Atomics.scala 26:97]
  wire [7:0] _sign_d_T_64 = {io_data_in[63],io_data_in[55],io_data_in[47],io_data_in[39],io_data_in[31],io_data_in[23],
    io_data_in[15],io_data_in[7]}; // @[Cat.scala 33:92]
  wire [7:0] _sign_d_T_65 = _sign_d_T_64 & signBit; // @[Atomics.scala 26:83]
  wire  sign_d = |_sign_d_T_65; // @[Atomics.scala 26:97]
  wire [7:0] _sign_s_T_64 = {sum[63],sum[55],sum[47],sum[39],sum[31],sum[23],sum[15],sum[7]}; // @[Cat.scala 33:92]
  wire [7:0] _sign_s_T_65 = _sign_s_T_64 & signBit; // @[Atomics.scala 26:83]
  wire  sign_s = |_sign_s_T_65; // @[Atomics.scala 26:97]
  wire  a_bigger_uneq = unsigned_ == sign_a; // @[Atomics.scala 30:32]
  wire  a_bigger = sign_a == sign_d ? ~sign_s : a_bigger_uneq; // @[Atomics.scala 31:21]
  wire  pick_a = take_max == a_bigger; // @[Atomics.scala 32:25]
  wire [1:0] _logical_T_128 = {io_a_data[0],io_data_in[0]}; // @[Cat.scala 33:92]
  wire [3:0] _GEN_1 = 2'h1 == io_a_param[1:0] ? 4'he : 4'h6; // @[Atomics.scala 42:{8,8}]
  wire [3:0] _GEN_2 = 2'h2 == io_a_param[1:0] ? 4'h8 : _GEN_1; // @[Atomics.scala 42:{8,8}]
  wire [3:0] _GEN_3 = 2'h3 == io_a_param[1:0] ? 4'hc : _GEN_2; // @[Atomics.scala 42:{8,8}]
  wire [3:0] _logical_T_129 = _GEN_3 >> _logical_T_128; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_131 = {io_a_data[1],io_data_in[1]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_132 = _GEN_3 >> _logical_T_131; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_134 = {io_a_data[2],io_data_in[2]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_135 = _GEN_3 >> _logical_T_134; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_137 = {io_a_data[3],io_data_in[3]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_138 = _GEN_3 >> _logical_T_137; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_140 = {io_a_data[4],io_data_in[4]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_141 = _GEN_3 >> _logical_T_140; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_143 = {io_a_data[5],io_data_in[5]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_144 = _GEN_3 >> _logical_T_143; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_146 = {io_a_data[6],io_data_in[6]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_147 = _GEN_3 >> _logical_T_146; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_149 = {io_a_data[7],io_data_in[7]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_150 = _GEN_3 >> _logical_T_149; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_152 = {io_a_data[8],io_data_in[8]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_153 = _GEN_3 >> _logical_T_152; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_155 = {io_a_data[9],io_data_in[9]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_156 = _GEN_3 >> _logical_T_155; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_158 = {io_a_data[10],io_data_in[10]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_159 = _GEN_3 >> _logical_T_158; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_161 = {io_a_data[11],io_data_in[11]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_162 = _GEN_3 >> _logical_T_161; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_164 = {io_a_data[12],io_data_in[12]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_165 = _GEN_3 >> _logical_T_164; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_167 = {io_a_data[13],io_data_in[13]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_168 = _GEN_3 >> _logical_T_167; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_170 = {io_a_data[14],io_data_in[14]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_171 = _GEN_3 >> _logical_T_170; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_173 = {io_a_data[15],io_data_in[15]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_174 = _GEN_3 >> _logical_T_173; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_176 = {io_a_data[16],io_data_in[16]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_177 = _GEN_3 >> _logical_T_176; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_179 = {io_a_data[17],io_data_in[17]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_180 = _GEN_3 >> _logical_T_179; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_182 = {io_a_data[18],io_data_in[18]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_183 = _GEN_3 >> _logical_T_182; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_185 = {io_a_data[19],io_data_in[19]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_186 = _GEN_3 >> _logical_T_185; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_188 = {io_a_data[20],io_data_in[20]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_189 = _GEN_3 >> _logical_T_188; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_191 = {io_a_data[21],io_data_in[21]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_192 = _GEN_3 >> _logical_T_191; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_194 = {io_a_data[22],io_data_in[22]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_195 = _GEN_3 >> _logical_T_194; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_197 = {io_a_data[23],io_data_in[23]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_198 = _GEN_3 >> _logical_T_197; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_200 = {io_a_data[24],io_data_in[24]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_201 = _GEN_3 >> _logical_T_200; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_203 = {io_a_data[25],io_data_in[25]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_204 = _GEN_3 >> _logical_T_203; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_206 = {io_a_data[26],io_data_in[26]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_207 = _GEN_3 >> _logical_T_206; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_209 = {io_a_data[27],io_data_in[27]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_210 = _GEN_3 >> _logical_T_209; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_212 = {io_a_data[28],io_data_in[28]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_213 = _GEN_3 >> _logical_T_212; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_215 = {io_a_data[29],io_data_in[29]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_216 = _GEN_3 >> _logical_T_215; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_218 = {io_a_data[30],io_data_in[30]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_219 = _GEN_3 >> _logical_T_218; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_221 = {io_a_data[31],io_data_in[31]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_222 = _GEN_3 >> _logical_T_221; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_224 = {io_a_data[32],io_data_in[32]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_225 = _GEN_3 >> _logical_T_224; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_227 = {io_a_data[33],io_data_in[33]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_228 = _GEN_3 >> _logical_T_227; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_230 = {io_a_data[34],io_data_in[34]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_231 = _GEN_3 >> _logical_T_230; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_233 = {io_a_data[35],io_data_in[35]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_234 = _GEN_3 >> _logical_T_233; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_236 = {io_a_data[36],io_data_in[36]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_237 = _GEN_3 >> _logical_T_236; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_239 = {io_a_data[37],io_data_in[37]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_240 = _GEN_3 >> _logical_T_239; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_242 = {io_a_data[38],io_data_in[38]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_243 = _GEN_3 >> _logical_T_242; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_245 = {io_a_data[39],io_data_in[39]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_246 = _GEN_3 >> _logical_T_245; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_248 = {io_a_data[40],io_data_in[40]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_249 = _GEN_3 >> _logical_T_248; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_251 = {io_a_data[41],io_data_in[41]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_252 = _GEN_3 >> _logical_T_251; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_254 = {io_a_data[42],io_data_in[42]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_255 = _GEN_3 >> _logical_T_254; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_257 = {io_a_data[43],io_data_in[43]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_258 = _GEN_3 >> _logical_T_257; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_260 = {io_a_data[44],io_data_in[44]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_261 = _GEN_3 >> _logical_T_260; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_263 = {io_a_data[45],io_data_in[45]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_264 = _GEN_3 >> _logical_T_263; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_266 = {io_a_data[46],io_data_in[46]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_267 = _GEN_3 >> _logical_T_266; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_269 = {io_a_data[47],io_data_in[47]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_270 = _GEN_3 >> _logical_T_269; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_272 = {io_a_data[48],io_data_in[48]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_273 = _GEN_3 >> _logical_T_272; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_275 = {io_a_data[49],io_data_in[49]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_276 = _GEN_3 >> _logical_T_275; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_278 = {io_a_data[50],io_data_in[50]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_279 = _GEN_3 >> _logical_T_278; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_281 = {io_a_data[51],io_data_in[51]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_282 = _GEN_3 >> _logical_T_281; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_284 = {io_a_data[52],io_data_in[52]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_285 = _GEN_3 >> _logical_T_284; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_287 = {io_a_data[53],io_data_in[53]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_288 = _GEN_3 >> _logical_T_287; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_290 = {io_a_data[54],io_data_in[54]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_291 = _GEN_3 >> _logical_T_290; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_293 = {io_a_data[55],io_data_in[55]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_294 = _GEN_3 >> _logical_T_293; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_296 = {io_a_data[56],io_data_in[56]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_297 = _GEN_3 >> _logical_T_296; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_299 = {io_a_data[57],io_data_in[57]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_300 = _GEN_3 >> _logical_T_299; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_302 = {io_a_data[58],io_data_in[58]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_303 = _GEN_3 >> _logical_T_302; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_305 = {io_a_data[59],io_data_in[59]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_306 = _GEN_3 >> _logical_T_305; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_308 = {io_a_data[60],io_data_in[60]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_309 = _GEN_3 >> _logical_T_308; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_311 = {io_a_data[61],io_data_in[61]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_312 = _GEN_3 >> _logical_T_311; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_314 = {io_a_data[62],io_data_in[62]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_315 = _GEN_3 >> _logical_T_314; // @[Atomics.scala 42:8]
  wire [1:0] _logical_T_317 = {io_a_data[63],io_data_in[63]}; // @[Cat.scala 33:92]
  wire [3:0] _logical_T_318 = _GEN_3 >> _logical_T_317; // @[Atomics.scala 42:8]
  wire [7:0] logical_lo_lo_lo = {_logical_T_150[0],_logical_T_147[0],_logical_T_144[0],_logical_T_141[0],_logical_T_138[
    0],_logical_T_135[0],_logical_T_132[0],_logical_T_129[0]}; // @[Cat.scala 33:92]
  wire [15:0] logical_lo_lo = {_logical_T_174[0],_logical_T_171[0],_logical_T_168[0],_logical_T_165[0],_logical_T_162[0]
    ,_logical_T_159[0],_logical_T_156[0],_logical_T_153[0],logical_lo_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] logical_lo_hi_lo = {_logical_T_198[0],_logical_T_195[0],_logical_T_192[0],_logical_T_189[0],_logical_T_186[
    0],_logical_T_183[0],_logical_T_180[0],_logical_T_177[0]}; // @[Cat.scala 33:92]
  wire [31:0] logical_lo = {_logical_T_222[0],_logical_T_219[0],_logical_T_216[0],_logical_T_213[0],_logical_T_210[0],
    _logical_T_207[0],_logical_T_204[0],_logical_T_201[0],logical_lo_hi_lo,logical_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] logical_hi_lo_lo = {_logical_T_246[0],_logical_T_243[0],_logical_T_240[0],_logical_T_237[0],_logical_T_234[
    0],_logical_T_231[0],_logical_T_228[0],_logical_T_225[0]}; // @[Cat.scala 33:92]
  wire [15:0] logical_hi_lo = {_logical_T_270[0],_logical_T_267[0],_logical_T_264[0],_logical_T_261[0],_logical_T_258[0]
    ,_logical_T_255[0],_logical_T_252[0],_logical_T_249[0],logical_hi_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] logical_hi_hi_lo = {_logical_T_294[0],_logical_T_291[0],_logical_T_288[0],_logical_T_285[0],_logical_T_282[
    0],_logical_T_279[0],_logical_T_276[0],_logical_T_273[0]}; // @[Cat.scala 33:92]
  wire [31:0] logical_hi = {_logical_T_318[0],_logical_T_315[0],_logical_T_312[0],_logical_T_309[0],_logical_T_306[0],
    _logical_T_303[0],_logical_T_300[0],_logical_T_297[0],logical_hi_hi_lo,logical_hi_lo}; // @[Cat.scala 33:92]
  wire [63:0] logical = {logical_hi,logical_lo}; // @[Cat.scala 33:92]
  wire [1:0] _select_T_1 = adder ? 2'h2 : {{1'd0}, pick_a}; // @[Atomics.scala 49:8]
  wire [1:0] _GEN_6 = 3'h2 == io_a_opcode ? _select_T_1 : 2'h1; // @[Atomics.scala 46:{19,19}]
  wire [1:0] _GEN_7 = 3'h3 == io_a_opcode ? 2'h3 : _GEN_6; // @[Atomics.scala 46:{19,19}]
  wire [1:0] _GEN_8 = 3'h4 == io_a_opcode ? 2'h0 : _GEN_7; // @[Atomics.scala 46:{19,19}]
  wire [1:0] _GEN_9 = 3'h5 == io_a_opcode ? 2'h0 : _GEN_8; // @[Atomics.scala 46:{19,19}]
  wire [1:0] _GEN_10 = 3'h6 == io_a_opcode ? 2'h0 : _GEN_9; // @[Atomics.scala 46:{19,19}]
  wire [1:0] _GEN_11 = 3'h7 == io_a_opcode ? 2'h0 : _GEN_10; // @[Atomics.scala 46:{19,19}]
  wire [1:0] select = io_write ? 2'h1 : _GEN_11; // @[Atomics.scala 46:19]
  wire [1:0] selects_0 = io_a_mask[0] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_1 = io_a_mask[1] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_2 = io_a_mask[2] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_3 = io_a_mask[3] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_4 = io_a_mask[4] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_5 = io_a_mask[5] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_6 = io_a_mask[6] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [1:0] selects_7 = io_a_mask[7] ? select : 2'h0; // @[Atomics.scala 58:47]
  wire [7:0] _GEN_13 = 2'h1 == selects_1 ? io_a_data[15:8] : io_data_in[15:8]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_14 = 2'h2 == selects_1 ? sum[15:8] : _GEN_13; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_15 = 2'h3 == selects_1 ? logical[15:8] : _GEN_14; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_17 = 2'h1 == selects_0 ? io_a_data[7:0] : io_data_in[7:0]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_18 = 2'h2 == selects_0 ? sum[7:0] : _GEN_17; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_19 = 2'h3 == selects_0 ? logical[7:0] : _GEN_18; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_21 = 2'h1 == selects_3 ? io_a_data[31:24] : io_data_in[31:24]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_22 = 2'h2 == selects_3 ? sum[31:24] : _GEN_21; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_23 = 2'h3 == selects_3 ? logical[31:24] : _GEN_22; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_25 = 2'h1 == selects_2 ? io_a_data[23:16] : io_data_in[23:16]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_26 = 2'h2 == selects_2 ? sum[23:16] : _GEN_25; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_27 = 2'h3 == selects_2 ? logical[23:16] : _GEN_26; // @[Cat.scala 33:{92,92}]
  wire [31:0] io_data_out_lo = {_GEN_23,_GEN_27,_GEN_15,_GEN_19}; // @[Cat.scala 33:92]
  wire [7:0] _GEN_29 = 2'h1 == selects_5 ? io_a_data[47:40] : io_data_in[47:40]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_30 = 2'h2 == selects_5 ? sum[47:40] : _GEN_29; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_31 = 2'h3 == selects_5 ? logical[47:40] : _GEN_30; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_33 = 2'h1 == selects_4 ? io_a_data[39:32] : io_data_in[39:32]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_34 = 2'h2 == selects_4 ? sum[39:32] : _GEN_33; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_35 = 2'h3 == selects_4 ? logical[39:32] : _GEN_34; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_37 = 2'h1 == selects_7 ? io_a_data[63:56] : io_data_in[63:56]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_38 = 2'h2 == selects_7 ? sum[63:56] : _GEN_37; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_39 = 2'h3 == selects_7 ? logical[63:56] : _GEN_38; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_41 = 2'h1 == selects_6 ? io_a_data[55:48] : io_data_in[55:48]; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_42 = 2'h2 == selects_6 ? sum[55:48] : _GEN_41; // @[Cat.scala 33:{92,92}]
  wire [7:0] _GEN_43 = 2'h3 == selects_6 ? logical[55:48] : _GEN_42; // @[Cat.scala 33:{92,92}]
  wire [31:0] io_data_out_hi = {_GEN_39,_GEN_43,_GEN_31,_GEN_35}; // @[Cat.scala 33:92]
  assign io_data_out = {io_data_out_hi,io_data_out_lo}; // @[Cat.scala 33:92]
endmodule
module SourceD(
  input         clock,
  input         reset,
  output        io_req_ready,
  input         io_req_valid,
  input         io_req_bits_prio_0,
  input         io_req_bits_prio_2,
  input  [2:0]  io_req_bits_opcode,
  input  [2:0]  io_req_bits_param,
  input  [2:0]  io_req_bits_size,
  input  [2:0]  io_req_bits_source,
  input  [3:0]  io_req_bits_offset,
  input  [5:0]  io_req_bits_put,
  input  [2:0]  io_req_bits_set,
  input  [4:0]  io_req_bits_sink,
  input         io_req_bits_way,
  input         io_req_bits_bad,
  input         io_d_ready,
  output        io_d_valid,
  output [2:0]  io_d_bits_opcode,
  output [1:0]  io_d_bits_param,
  output [2:0]  io_d_bits_size,
  output [2:0]  io_d_bits_source,
  output [4:0]  io_d_bits_sink,
  output        io_d_bits_denied,
  output [63:0] io_d_bits_data,
  output        io_d_bits_corrupt,
  input         io_pb_pop_ready,
  output        io_pb_pop_valid,
  output [5:0]  io_pb_pop_bits_index,
  output        io_pb_pop_bits_last,
  input  [63:0] io_pb_beat_data,
  input  [7:0]  io_pb_beat_mask,
  input         io_pb_beat_corrupt,
  input         io_rel_pop_ready,
  output        io_rel_pop_valid,
  output [5:0]  io_rel_pop_bits_index,
  output        io_rel_pop_bits_last,
  input  [63:0] io_rel_beat_data,
  input         io_rel_beat_corrupt,
  input         io_bs_radr_ready,
  output        io_bs_radr_valid,
  output        io_bs_radr_bits_way,
  output [2:0]  io_bs_radr_bits_set,
  output        io_bs_radr_bits_beat,
  output        io_bs_radr_bits_mask,
  input  [63:0] io_bs_rdat_data,
  input         io_bs_wadr_ready,
  output        io_bs_wadr_valid,
  output        io_bs_wadr_bits_way,
  output [2:0]  io_bs_wadr_bits_set,
  output        io_bs_wadr_bits_beat,
  output        io_bs_wadr_bits_mask,
  output [63:0] io_bs_wdat_data,
  input  [2:0]  io_evict_req_set,
  input         io_evict_req_way,
  output        io_evict_safe,
  input  [2:0]  io_grant_req_set,
  input         io_grant_req_way,
  output        io_grant_safe
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [63:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [63:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_67;
  reg [63:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [63:0] _RAND_73;
  reg [31:0] _RAND_74;
  reg [31:0] _RAND_75;
  reg [63:0] _RAND_76;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_79;
  reg [63:0] _RAND_80;
  reg [31:0] _RAND_81;
  reg [31:0] _RAND_82;
  reg [31:0] _RAND_83;
  reg [63:0] _RAND_84;
  reg [63:0] _RAND_85;
`endif // RANDOMIZE_REG_INIT
  wire  queue_clock; // @[SourceD.scala 119:21]
  wire  queue_reset; // @[SourceD.scala 119:21]
  wire  queue_io_enq_ready; // @[SourceD.scala 119:21]
  wire  queue_io_enq_valid; // @[SourceD.scala 119:21]
  wire [63:0] queue_io_enq_bits_data; // @[SourceD.scala 119:21]
  wire  queue_io_deq_ready; // @[SourceD.scala 119:21]
  wire  queue_io_deq_valid; // @[SourceD.scala 119:21]
  wire [63:0] queue_io_deq_bits_data; // @[SourceD.scala 119:21]
  wire  atomics_io_write; // @[SourceD.scala 257:23]
  wire [2:0] atomics_io_a_opcode; // @[SourceD.scala 257:23]
  wire [2:0] atomics_io_a_param; // @[SourceD.scala 257:23]
  wire [7:0] atomics_io_a_mask; // @[SourceD.scala 257:23]
  wire [63:0] atomics_io_a_data; // @[SourceD.scala 257:23]
  wire [63:0] atomics_io_data_in; // @[SourceD.scala 257:23]
  wire [63:0] atomics_io_data_out; // @[SourceD.scala 257:23]
  reg  busy; // @[SourceD.scala 83:21]
  reg  s1_block_r; // @[SourceD.scala 84:27]
  reg  s1_counter; // @[SourceD.scala 85:27]
  wire  _s1_req_reg_T = ~busy; // @[SourceD.scala 86:43]
  wire  _s1_req_reg_T_1 = ~busy & io_req_valid; // @[SourceD.scala 86:49]
  reg  s1_req_reg_prio_0; // @[Reg.scala 19:16]
  reg  s1_req_reg_prio_2; // @[Reg.scala 19:16]
  reg [2:0] s1_req_reg_opcode; // @[Reg.scala 19:16]
  reg [2:0] s1_req_reg_param; // @[Reg.scala 19:16]
  reg [2:0] s1_req_reg_size; // @[Reg.scala 19:16]
  reg [2:0] s1_req_reg_source; // @[Reg.scala 19:16]
  reg [3:0] s1_req_reg_offset; // @[Reg.scala 19:16]
  reg [5:0] s1_req_reg_put; // @[Reg.scala 19:16]
  reg [2:0] s1_req_reg_set; // @[Reg.scala 19:16]
  reg [4:0] s1_req_reg_sink; // @[Reg.scala 19:16]
  reg  s1_req_reg_way; // @[Reg.scala 19:16]
  reg  s1_req_reg_bad; // @[Reg.scala 19:16]
  wire  s1_req_prio_0 = _s1_req_reg_T ? io_req_bits_prio_0 : s1_req_reg_prio_0; // @[SourceD.scala 87:19]
  wire [2:0] s1_req_opcode = _s1_req_reg_T ? io_req_bits_opcode : s1_req_reg_opcode; // @[SourceD.scala 87:19]
  wire [2:0] s1_req_param = _s1_req_reg_T ? io_req_bits_param : s1_req_reg_param; // @[SourceD.scala 87:19]
  wire [2:0] s1_req_size = _s1_req_reg_T ? io_req_bits_size : s1_req_reg_size; // @[SourceD.scala 87:19]
  wire [3:0] s1_req_offset = _s1_req_reg_T ? io_req_bits_offset : s1_req_reg_offset; // @[SourceD.scala 87:19]
  wire [2:0] s1_req_set = _s1_req_reg_T ? io_req_bits_set : s1_req_reg_set; // @[SourceD.scala 87:19]
  wire  s1_req_way = _s1_req_reg_T ? io_req_bits_way : s1_req_reg_way; // @[SourceD.scala 87:19]
  wire  _s1_latch_bypass_T = busy | io_req_valid; // @[SourceD.scala 89:40]
  reg  s2_full; // @[SourceD.scala 146:24]
  wire  _s2_ready_T = ~s2_full; // @[SourceD.scala 183:15]
  reg  s3_full; // @[SourceD.scala 189:24]
  wire  _s3_ready_T = ~s3_full; // @[SourceD.scala 241:15]
  reg  s3_retires; // @[Reg.scala 19:16]
  reg  s4_full; // @[SourceD.scala 247:24]
  wire  _s4_ready_T_1 = ~s4_full; // @[SourceD.scala 291:30]
  reg  s4_need_bs; // @[Reg.scala 19:16]
  wire  _s4_ready_T_4 = ~s4_need_bs; // @[SourceD.scala 291:62]
  wire  s4_ready = ~s3_retires | ~s4_full | io_bs_wadr_ready | ~s4_need_bs; // @[SourceD.scala 291:59]
  reg  s3_valid_d; // @[SourceD.scala 190:27]
  wire  _s3_ready_T_2 = ~s3_valid_d | io_d_ready; // @[SourceD.scala 241:53]
  wire  s3_ready = ~s3_full | s4_ready & (~s3_valid_d | io_d_ready); // @[SourceD.scala 241:24]
  reg  s2_valid_pb; // @[SourceD.scala 147:28]
  reg  s2_req_prio_0; // @[Reg.scala 19:16]
  wire  pb_ready = s2_req_prio_0 ? io_pb_pop_ready : io_rel_pop_ready; // @[SourceD.scala 174:21]
  wire  _s2_ready_T_2 = ~s2_valid_pb | pb_ready; // @[SourceD.scala 183:54]
  wire  s2_ready = ~s2_full | s3_ready & (~s2_valid_pb | pb_ready); // @[SourceD.scala 183:24]
  reg  s1_latch_bypass; // @[SourceD.scala 89:32]
  reg  s1_bypass_r; // @[Reg.scala 19:16]
  reg [2:0] s2_req_set; // @[Reg.scala 19:16]
  reg  s2_req_way; // @[Reg.scala 19:16]
  reg  s2_beat; // @[Reg.scala 19:16]
  wire  s1_beat = s1_req_offset[3] | s1_counter; // @[SourceD.scala 101:56]
  reg  s2_retires; // @[Reg.scala 19:16]
  wire  s1_2_match = s2_req_set == s1_req_set & s2_req_way == s1_req_way & s2_beat == s1_beat & s2_full & s2_retires; // @[SourceD.scala 342:110]
  reg [2:0] s3_req_set; // @[Reg.scala 19:16]
  reg  s3_req_way; // @[Reg.scala 19:16]
  reg  s3_beat; // @[Reg.scala 19:16]
  wire  s1_3_match = s3_req_set == s1_req_set & s3_req_way == s1_req_way & s3_beat == s1_beat & s3_full & s3_retires; // @[SourceD.scala 343:110]
  reg [2:0] s4_req_set; // @[Reg.scala 19:16]
  reg  s4_req_way; // @[Reg.scala 19:16]
  reg  s4_beat; // @[Reg.scala 19:16]
  wire  s1_4_match = s4_req_set == s1_req_set & s4_req_way == s1_req_way & s4_beat == s1_beat & s4_full; // @[SourceD.scala 344:99]
  wire  s1_x_bypass = s1_2_match | s1_3_match | s1_4_match; // @[SourceD.scala 358:44]
  wire  _GEN_15 = s1_latch_bypass ? s1_x_bypass : s1_bypass_r; // @[Reg.scala 19:16 20:{18,22}]
  wire  s1_mask = ~_GEN_15; // @[SourceD.scala 91:78]
  wire  _s1_grant_T = s1_req_opcode == 3'h6; // @[SourceD.scala 92:33]
  wire  s1_grant = s1_req_opcode == 3'h6 & s1_req_param == 3'h2 | s1_req_opcode == 3'h7; // @[SourceD.scala 92:76]
  wire  _s1_need_r_T_8 = s1_req_opcode != 3'h0 | s1_req_size < 3'h3; // @[SourceD.scala 94:50]
  wire  s1_need_r = |s1_mask & s1_req_prio_0 & s1_req_opcode != 3'h5 & ~s1_grant & _s1_need_r_T_8; // @[SourceD.scala 93:88]
  wire  s1_valid_r = _s1_latch_bypass_T & s1_need_r & ~s1_block_r; // @[SourceD.scala 95:56]
  wire  s1_need_pb = s1_req_prio_0 ? ~s1_req_opcode[2] : s1_req_opcode[0]; // @[SourceD.scala 96:23]
  wire  s1_single = s1_req_prio_0 ? s1_req_opcode == 3'h5 | s1_grant : _s1_grant_T; // @[SourceD.scala 97:22]
  wire  s1_retires = ~s1_single; // @[SourceD.scala 98:20]
  wire [10:0] _s1_beats1_T_1 = 11'hf << s1_req_size; // @[package.scala 234:77]
  wire [3:0] _s1_beats1_T_3 = ~_s1_beats1_T_1[3:0]; // @[package.scala 234:46]
  wire  s1_beats1 = s1_single ? 1'h0 : _s1_beats1_T_3[3]; // @[SourceD.scala 100:22]
  wire  s1_last = s1_counter == s1_beats1; // @[SourceD.scala 102:28]
  wire  s1_first = ~s1_counter; // @[SourceD.scala 103:29]
  wire  _queue_io_enq_valid_T = io_bs_radr_ready & io_bs_radr_valid; // @[Decoupled.scala 52:35]
  reg  queue_io_enq_valid_REG; // @[SourceD.scala 120:40]
  reg  queue_io_enq_valid_REG_1; // @[SourceD.scala 120:32]
  wire  _T_9 = ~reset; // @[SourceD.scala 122:10]
  wire  _GEN_16 = _queue_io_enq_valid_T | s1_block_r; // @[SourceD.scala 126:{28,41} 84:27]
  wire  _GEN_17 = io_req_valid | busy; // @[SourceD.scala 127:{23,30} 83:21]
  wire  s1_valid = _s1_latch_bypass_T & (~s1_valid_r | io_bs_radr_ready); // @[SourceD.scala 140:38]
  wire  _T_13 = s1_valid & s2_ready; // @[SourceD.scala 128:18]
  reg  s2_bypass; // @[Reg.scala 19:16]
  reg  s2_req_prio_2; // @[Reg.scala 19:16]
  reg [2:0] s2_req_opcode; // @[Reg.scala 19:16]
  reg [2:0] s2_req_param; // @[Reg.scala 19:16]
  reg [2:0] s2_req_size; // @[Reg.scala 19:16]
  reg [2:0] s2_req_source; // @[Reg.scala 19:16]
  reg [5:0] s2_req_put; // @[Reg.scala 19:16]
  reg [4:0] s2_req_sink; // @[Reg.scala 19:16]
  reg  s2_req_bad; // @[Reg.scala 19:16]
  reg  s2_last; // @[Reg.scala 19:16]
  reg  s2_need_r; // @[Reg.scala 19:16]
  reg  s2_need_pb; // @[Reg.scala 19:16]
  wire  _s2_need_d_T_1 = ~s1_need_pb | s1_first; // @[SourceD.scala 155:41]
  reg  s2_need_d; // @[Reg.scala 19:16]
  reg [63:0] s2_pdata_r_data; // @[Reg.scala 19:16]
  reg [7:0] s2_pdata_r_mask; // @[Reg.scala 19:16]
  reg  s2_pdata_r_corrupt; // @[Reg.scala 19:16]
  wire  s2_valid = s2_full & _s2_ready_T_2; // @[SourceD.scala 182:23]
  wire  _T_20 = s2_valid & s3_ready; // @[SourceD.scala 176:18]
  wire  _GEN_49 = s2_valid & s3_ready ? 1'h0 : s2_full; // @[SourceD.scala 146:24 176:{31,41}]
  wire  _GEN_51 = _T_13 | _GEN_49; // @[SourceD.scala 178:{19,29}]
  wire  _GEN_52 = _T_20 ? s2_beat : s3_beat; // @[Reg.scala 19:16 20:{18,22}]
  reg  s3_bypass; // @[Reg.scala 19:16]
  reg  s3_req_prio_0; // @[Reg.scala 19:16]
  reg  s3_req_prio_2; // @[Reg.scala 19:16]
  reg [2:0] s3_req_opcode; // @[Reg.scala 19:16]
  reg [2:0] s3_req_param; // @[Reg.scala 19:16]
  reg [2:0] s3_req_size; // @[Reg.scala 19:16]
  reg [2:0] s3_req_source; // @[Reg.scala 19:16]
  reg [4:0] s3_req_sink; // @[Reg.scala 19:16]
  reg  s3_req_bad; // @[Reg.scala 19:16]
  wire [2:0] _GEN_65 = _T_20 ? s2_req_set : s3_req_set; // @[Reg.scala 19:16 20:{18,22}]
  wire  _GEN_67 = _T_20 ? s2_req_way : s3_req_way; // @[Reg.scala 19:16 20:{18,22}]
  reg [63:0] s3_pdata_data; // @[Reg.scala 19:16]
  reg [7:0] s3_pdata_mask; // @[Reg.scala 19:16]
  reg  s3_pdata_corrupt; // @[Reg.scala 19:16]
  reg  s3_need_bs; // @[Reg.scala 19:16]
  reg  s3_need_r; // @[Reg.scala 19:16]
  wire  s3_acq = s3_req_opcode == 3'h6 | s3_req_opcode == 3'h7; // @[SourceD.scala 201:47]
  reg  s3_bypass_data_REG; // @[SourceD.scala 335:19]
  wire [63:0] _s3_bypass_data_T_9 = atomics_io_data_out; // @[SourceD.scala 206:78]
  reg [63:0] s3_bypass_data_REG_1; // @[SourceD.scala 335:66]
  wire [63:0] s3_bypass_data = s3_bypass_data_REG ? _s3_bypass_data_T_9 : s3_bypass_data_REG_1; // @[SourceD.scala 209:75]
  wire [63:0] _s3_rdata_T_2 = queue_io_deq_bits_data; // @[SourceD.scala 206:78]
  wire [2:0] grant = s3_req_param == 3'h2 ? 3'h4 : 3'h5; // @[SourceD.scala 213:18]
  wire [2:0] _GEN_78 = 3'h2 == s3_req_opcode ? 3'h1 : 3'h0; // @[SourceD.scala 221:{24,24}]
  wire [2:0] _GEN_79 = 3'h3 == s3_req_opcode ? 3'h1 : _GEN_78; // @[SourceD.scala 221:{24,24}]
  wire [2:0] _GEN_80 = 3'h4 == s3_req_opcode ? 3'h1 : _GEN_79; // @[SourceD.scala 221:{24,24}]
  wire [2:0] _GEN_81 = 3'h5 == s3_req_opcode ? 3'h2 : _GEN_80; // @[SourceD.scala 221:{24,24}]
  wire [2:0] _GEN_82 = 3'h6 == s3_req_opcode ? grant : _GEN_81; // @[SourceD.scala 221:{24,24}]
  wire [2:0] _GEN_83 = 3'h7 == s3_req_opcode ? 3'h4 : _GEN_82; // @[SourceD.scala 221:{24,24}]
  wire [2:0] d_bits_opcode = s3_req_prio_0 ? _GEN_83 : 3'h6; // @[SourceD.scala 221:24]
  wire [1:0] _d_bits_param_T_2 = s3_req_param != 3'h0 ? 2'h0 : 2'h1; // @[SourceD.scala 222:54]
  wire  s3_valid = s3_full & _s3_ready_T_2; // @[SourceD.scala 240:23]
  wire  _queue_io_deq_ready_T = s3_valid & s4_ready; // @[SourceD.scala 230:34]
  wire  _GEN_85 = _queue_io_deq_ready_T ? 1'h0 : s3_full; // @[SourceD.scala 189:24 234:{31,41}]
  wire  _GEN_87 = _T_20 | _GEN_85; // @[SourceD.scala 236:{19,29}]
  wire  s4_latch = s3_valid & s3_retires & s4_ready; // @[SourceD.scala 246:41]
  wire  _GEN_88 = s4_latch ? s3_beat : s4_beat; // @[Reg.scala 19:16 20:{18,22}]
  reg  s4_need_pb; // @[Reg.scala 19:16]
  reg  s4_req_prio_2; // @[Reg.scala 19:16]
  reg [2:0] s4_req_param; // @[Reg.scala 19:16]
  wire [2:0] _GEN_103 = s4_latch ? s3_req_set : s4_req_set; // @[Reg.scala 19:16 20:{18,22}]
  wire  _GEN_105 = s4_latch ? s3_req_way : s4_req_way; // @[Reg.scala 19:16 20:{18,22}]
  reg [2:0] s4_adjusted_opcode; // @[Reg.scala 19:16]
  reg [63:0] s4_pdata_data; // @[Reg.scala 19:16]
  reg [7:0] s4_pdata_mask; // @[Reg.scala 19:16]
  reg  s4_pdata_corrupt; // @[Reg.scala 19:16]
  reg [63:0] s4_rdata; // @[Reg.scala 19:16]
  wire  _T_78 = io_bs_wadr_ready | _s4_ready_T_4; // @[SourceD.scala 288:26]
  wire  _GEN_112 = io_bs_wadr_ready | _s4_ready_T_4 ? 1'h0 : s4_full; // @[SourceD.scala 247:24 288:{42,52}]
  wire  _GEN_113 = s4_latch | _GEN_112; // @[SourceD.scala 289:{19,29}]
  wire  retire = s4_full & _T_78; // @[SourceD.scala 298:24]
  reg [2:0] s5_req_set; // @[Reg.scala 19:16]
  reg  s5_req_way; // @[Reg.scala 19:16]
  wire [2:0] _GEN_125 = retire ? s4_req_set : s5_req_set; // @[Reg.scala 19:16 20:{18,22}]
  wire  _GEN_127 = retire ? s4_req_way : s5_req_way; // @[Reg.scala 19:16 20:{18,22}]
  reg  s5_beat; // @[Reg.scala 19:16]
  wire  _GEN_129 = retire ? s4_beat : s5_beat; // @[Reg.scala 19:16 20:{18,22}]
  reg [63:0] s5_dat; // @[Reg.scala 19:16]
  reg [2:0] s6_req_set; // @[Reg.scala 19:16]
  reg  s6_req_way; // @[Reg.scala 19:16]
  wire [2:0] _GEN_142 = retire ? s5_req_set : s6_req_set; // @[Reg.scala 19:16 20:{18,22}]
  wire  _GEN_144 = retire ? s5_req_way : s6_req_way; // @[Reg.scala 19:16 20:{18,22}]
  reg  s6_beat; // @[Reg.scala 19:16]
  wire  _GEN_146 = retire ? s5_beat : s6_beat; // @[Reg.scala 19:16 20:{18,22}]
  reg [63:0] s6_dat; // @[Reg.scala 19:16]
  reg [63:0] s7_dat; // @[Reg.scala 19:16]
  wire  pre_s4_full = s4_latch | ~_T_78 & s4_full; // @[SourceD.scala 324:30]
  wire  pre_s3_5_match = _GEN_125 == _GEN_65 & _GEN_127 == _GEN_67 & _GEN_129 == _GEN_52; // @[SourceD.scala 327:96]
  wire  pre_s3_6_match = _GEN_142 == _GEN_65 & _GEN_144 == _GEN_67 & _GEN_146 == _GEN_52; // @[SourceD.scala 328:96]
  wire  _io_evict_safe_T_9 = _s2_ready_T | io_evict_req_way != s2_req_way | io_evict_req_set != s2_req_set; // @[SourceD.scala 375:54]
  wire  _io_evict_safe_T_10 = (_s1_req_reg_T | io_evict_req_way != s1_req_reg_way | io_evict_req_set != s1_req_reg_set)
     & _io_evict_safe_T_9; // @[SourceD.scala 374:94]
  wire  _io_evict_safe_T_15 = _s3_ready_T | io_evict_req_way != s3_req_way | io_evict_req_set != s3_req_set; // @[SourceD.scala 376:54]
  wire  _io_evict_safe_T_16 = _io_evict_safe_T_10 & _io_evict_safe_T_15; // @[SourceD.scala 375:90]
  wire  _io_evict_safe_T_21 = _s4_ready_T_1 | io_evict_req_way != s4_req_way | io_evict_req_set != s4_req_set; // @[SourceD.scala 377:54]
  wire  _io_grant_safe_T_9 = _s2_ready_T | io_grant_req_way != s2_req_way | io_grant_req_set != s2_req_set; // @[SourceD.scala 382:54]
  wire  _io_grant_safe_T_10 = (_s1_req_reg_T | io_grant_req_way != s1_req_reg_way | io_grant_req_set != s1_req_reg_set)
     & _io_grant_safe_T_9; // @[SourceD.scala 381:94]
  wire  _io_grant_safe_T_15 = _s3_ready_T | io_grant_req_way != s3_req_way | io_grant_req_set != s3_req_set; // @[SourceD.scala 383:54]
  wire  _io_grant_safe_T_16 = _io_grant_safe_T_10 & _io_grant_safe_T_15; // @[SourceD.scala 382:90]
  wire  _io_grant_safe_T_21 = _s4_ready_T_1 | io_grant_req_way != s4_req_way | io_grant_req_set != s4_req_set; // @[SourceD.scala 384:54]
  QueueCompatibility_1 queue ( // @[SourceD.scala 119:21]
    .clock(queue_clock),
    .reset(queue_reset),
    .io_enq_ready(queue_io_enq_ready),
    .io_enq_valid(queue_io_enq_valid),
    .io_enq_bits_data(queue_io_enq_bits_data),
    .io_deq_ready(queue_io_deq_ready),
    .io_deq_valid(queue_io_deq_valid),
    .io_deq_bits_data(queue_io_deq_bits_data)
  );
  Atomics atomics ( // @[SourceD.scala 257:23]
    .io_write(atomics_io_write),
    .io_a_opcode(atomics_io_a_opcode),
    .io_a_param(atomics_io_a_param),
    .io_a_mask(atomics_io_a_mask),
    .io_a_data(atomics_io_a_data),
    .io_data_in(atomics_io_data_in),
    .io_data_out(atomics_io_data_out)
  );
  assign io_req_ready = ~busy; // @[SourceD.scala 139:19]
  assign io_d_valid = s3_valid_d; // @[SourceD.scala 217:15 220:11]
  assign io_d_bits_opcode = s3_req_prio_0 ? _GEN_83 : 3'h6; // @[SourceD.scala 221:24]
  assign io_d_bits_param = s3_req_prio_0 & s3_acq ? _d_bits_param_T_2 : 2'h0; // @[SourceD.scala 222:24]
  assign io_d_bits_size = s3_req_size; // @[SourceD.scala 217:15 223:18]
  assign io_d_bits_source = s3_req_source; // @[SourceD.scala 217:15 224:18]
  assign io_d_bits_sink = s3_req_sink; // @[SourceD.scala 217:15 225:18]
  assign io_d_bits_denied = s3_req_bad; // @[SourceD.scala 217:15 226:18]
  assign io_d_bits_data = s3_bypass ? s3_bypass_data : _s3_rdata_T_2; // @[SourceD.scala 209:75]
  assign io_d_bits_corrupt = s3_req_bad & d_bits_opcode[0]; // @[SourceD.scala 228:32]
  assign io_pb_pop_valid = s2_valid_pb & s2_req_prio_0; // @[SourceD.scala 163:34]
  assign io_pb_pop_bits_index = s2_req_put; // @[SourceD.scala 164:24]
  assign io_pb_pop_bits_last = s2_last; // @[SourceD.scala 165:24]
  assign io_rel_pop_valid = s2_valid_pb & ~s2_req_prio_0; // @[SourceD.scala 166:35]
  assign io_rel_pop_bits_index = s2_req_put; // @[SourceD.scala 167:25]
  assign io_rel_pop_bits_last = s2_last; // @[SourceD.scala 168:25]
  assign io_bs_radr_valid = _s1_latch_bypass_T & s1_need_r & ~s1_block_r; // @[SourceD.scala 95:56]
  assign io_bs_radr_bits_way = _s1_req_reg_T ? io_req_bits_way : s1_req_reg_way; // @[SourceD.scala 87:19]
  assign io_bs_radr_bits_set = _s1_req_reg_T ? io_req_bits_set : s1_req_reg_set; // @[SourceD.scala 87:19]
  assign io_bs_radr_bits_beat = s1_req_offset[3] | s1_counter; // @[SourceD.scala 101:56]
  assign io_bs_radr_bits_mask = ~_GEN_15; // @[SourceD.scala 91:78]
  assign io_bs_wadr_valid = s4_full & s4_need_bs; // @[SourceD.scala 268:31]
  assign io_bs_wadr_bits_way = s4_req_way; // @[SourceD.scala 270:24]
  assign io_bs_wadr_bits_set = s4_req_set; // @[SourceD.scala 271:24]
  assign io_bs_wadr_bits_beat = s4_beat; // @[SourceD.scala 272:24]
  assign io_bs_wadr_bits_mask = s4_pdata_mask[0] | s4_pdata_mask[1] | s4_pdata_mask[2] | s4_pdata_mask[3] |
    s4_pdata_mask[4] | s4_pdata_mask[5] | s4_pdata_mask[6] | s4_pdata_mask[7]; // @[SourceD.scala 273:87]
  assign io_bs_wdat_data = atomics_io_data_out; // @[SourceD.scala 274:19]
  assign io_evict_safe = _io_evict_safe_T_16 & _io_evict_safe_T_21; // @[SourceD.scala 376:90]
  assign io_grant_safe = _io_grant_safe_T_16 & _io_grant_safe_T_21; // @[SourceD.scala 383:90]
  assign queue_clock = clock;
  assign queue_reset = reset;
  assign queue_io_enq_valid = queue_io_enq_valid_REG_1; // @[SourceD.scala 120:22]
  assign queue_io_enq_bits_data = io_bs_rdat_data; // @[SourceD.scala 121:21]
  assign queue_io_deq_ready = s3_valid & s4_ready & s3_need_r; // @[SourceD.scala 230:46]
  assign atomics_io_write = s4_req_prio_2; // @[SourceD.scala 258:24]
  assign atomics_io_a_opcode = s4_adjusted_opcode; // @[SourceD.scala 259:24]
  assign atomics_io_a_param = s4_req_param; // @[SourceD.scala 260:24]
  assign atomics_io_a_mask = s4_pdata_mask; // @[SourceD.scala 264:24]
  assign atomics_io_a_data = s4_pdata_data; // @[SourceD.scala 265:24]
  assign atomics_io_data_in = s4_rdata; // @[SourceD.scala 266:24]
  always @(posedge clock) begin
    if (reset) begin // @[SourceD.scala 83:21]
      busy <= 1'h0; // @[SourceD.scala 83:21]
    end else if (s1_valid & s2_ready) begin // @[SourceD.scala 128:31]
      if (s1_last) begin // @[SourceD.scala 131:20]
        busy <= 1'h0; // @[SourceD.scala 133:12]
      end else begin
        busy <= _GEN_17;
      end
    end else begin
      busy <= _GEN_17;
    end
    if (reset) begin // @[SourceD.scala 84:27]
      s1_block_r <= 1'h0; // @[SourceD.scala 84:27]
    end else if (s1_valid & s2_ready) begin // @[SourceD.scala 128:31]
      s1_block_r <= 1'h0; // @[SourceD.scala 130:16]
    end else begin
      s1_block_r <= _GEN_16;
    end
    if (reset) begin // @[SourceD.scala 85:27]
      s1_counter <= 1'h0; // @[SourceD.scala 85:27]
    end else if (s1_valid & s2_ready) begin // @[SourceD.scala 128:31]
      if (s1_last) begin // @[SourceD.scala 131:20]
        s1_counter <= 1'h0; // @[SourceD.scala 132:18]
      end else begin
        s1_counter <= s1_counter + 1'h1; // @[SourceD.scala 129:16]
      end
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_prio_0 <= io_req_bits_prio_0; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_prio_2 <= io_req_bits_prio_2; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_opcode <= io_req_bits_opcode; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_param <= io_req_bits_param; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_size <= io_req_bits_size; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_source <= io_req_bits_source; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_offset <= io_req_bits_offset; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_put <= io_req_bits_put; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_set <= io_req_bits_set; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_sink <= io_req_bits_sink; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_way <= io_req_bits_way; // @[Reg.scala 20:22]
    end
    if (_s1_req_reg_T_1) begin // @[Reg.scala 20:18]
      s1_req_reg_bad <= io_req_bits_bad; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[SourceD.scala 146:24]
      s2_full <= 1'h0; // @[SourceD.scala 146:24]
    end else begin
      s2_full <= _GEN_51;
    end
    if (reset) begin // @[SourceD.scala 189:24]
      s3_full <= 1'h0; // @[SourceD.scala 189:24]
    end else begin
      s3_full <= _GEN_87;
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_retires <= s2_retires; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[SourceD.scala 247:24]
      s4_full <= 1'h0; // @[SourceD.scala 247:24]
    end else begin
      s4_full <= _GEN_113;
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_need_bs <= s3_need_bs; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[SourceD.scala 190:27]
      s3_valid_d <= 1'h0; // @[SourceD.scala 190:27]
    end else if (_T_20) begin // @[SourceD.scala 235:19]
      s3_valid_d <= s2_need_d; // @[SourceD.scala 235:32]
    end else if (io_d_ready) begin // @[SourceD.scala 233:18]
      s3_valid_d <= 1'h0; // @[SourceD.scala 233:31]
    end
    if (reset) begin // @[SourceD.scala 147:28]
      s2_valid_pb <= 1'h0; // @[SourceD.scala 147:28]
    end else if (_T_13) begin // @[SourceD.scala 177:19]
      if (s1_req_prio_0) begin // @[SourceD.scala 96:23]
        s2_valid_pb <= ~s1_req_opcode[2];
      end else begin
        s2_valid_pb <= s1_req_opcode[0];
      end
    end else if (pb_ready) begin // @[SourceD.scala 175:19]
      s2_valid_pb <= 1'h0; // @[SourceD.scala 175:33]
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_prio_0 <= io_req_bits_prio_0;
      end else begin
        s2_req_prio_0 <= s1_req_reg_prio_0;
      end
    end
    s1_latch_bypass <= ~(busy | io_req_valid) | s2_ready; // @[SourceD.scala 89:57]
    if (s1_latch_bypass) begin // @[Reg.scala 20:18]
      s1_bypass_r <= s1_x_bypass; // @[Reg.scala 20:22]
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_set <= io_req_bits_set;
      end else begin
        s2_req_set <= s1_req_reg_set;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_way <= io_req_bits_way;
      end else begin
        s2_req_way <= s1_req_reg_way;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      s2_beat <= s1_beat; // @[Reg.scala 20:22]
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      s2_retires <= s1_retires; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_set <= s2_req_set; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_way <= s2_req_way; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_beat <= s2_beat; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_req_set <= s3_req_set; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_req_way <= s3_req_way; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_beat <= s3_beat; // @[Reg.scala 20:22]
    end
    queue_io_enq_valid_REG <= io_bs_radr_ready & io_bs_radr_valid; // @[Decoupled.scala 52:35]
    queue_io_enq_valid_REG_1 <= queue_io_enq_valid_REG; // @[SourceD.scala 120:32]
    if (_T_13) begin // @[Reg.scala 20:18]
      if (s1_latch_bypass) begin // @[Reg.scala 20:18]
        s2_bypass <= s1_x_bypass; // @[Reg.scala 20:22]
      end else begin
        s2_bypass <= s1_bypass_r; // @[Reg.scala 19:16]
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_prio_2 <= io_req_bits_prio_2;
      end else begin
        s2_req_prio_2 <= s1_req_reg_prio_2;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_opcode <= io_req_bits_opcode;
      end else begin
        s2_req_opcode <= s1_req_reg_opcode;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_param <= io_req_bits_param;
      end else begin
        s2_req_param <= s1_req_reg_param;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_size <= io_req_bits_size;
      end else begin
        s2_req_size <= s1_req_reg_size;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_source <= io_req_bits_source;
      end else begin
        s2_req_source <= s1_req_reg_source;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_put <= io_req_bits_put;
      end else begin
        s2_req_put <= s1_req_reg_put;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_sink <= io_req_bits_sink;
      end else begin
        s2_req_sink <= s1_req_reg_sink;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (_s1_req_reg_T) begin // @[SourceD.scala 87:19]
        s2_req_bad <= io_req_bits_bad;
      end else begin
        s2_req_bad <= s1_req_reg_bad;
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      s2_last <= s1_last; // @[Reg.scala 20:22]
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      s2_need_r <= s1_need_r; // @[Reg.scala 20:22]
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      if (s1_req_prio_0) begin // @[SourceD.scala 96:23]
        s2_need_pb <= ~s1_req_opcode[2];
      end else begin
        s2_need_pb <= s1_req_opcode[0];
      end
    end
    if (_T_13) begin // @[Reg.scala 20:18]
      s2_need_d <= _s2_need_d_T_1; // @[Reg.scala 20:22]
    end
    if (s2_valid_pb) begin // @[Reg.scala 20:18]
      if (s2_req_prio_0) begin // @[SourceD.scala 159:30]
        s2_pdata_r_data <= io_pb_beat_data;
      end else begin
        s2_pdata_r_data <= io_rel_beat_data;
      end
    end
    if (s2_valid_pb) begin // @[Reg.scala 20:18]
      if (s2_req_prio_0) begin // @[SourceD.scala 160:30]
        s2_pdata_r_mask <= io_pb_beat_mask;
      end else begin
        s2_pdata_r_mask <= 8'hff;
      end
    end
    if (s2_valid_pb) begin // @[Reg.scala 20:18]
      if (s2_req_prio_0) begin // @[SourceD.scala 161:30]
        s2_pdata_r_corrupt <= io_pb_beat_corrupt;
      end else begin
        s2_pdata_r_corrupt <= io_rel_beat_corrupt;
      end
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_bypass <= s2_bypass; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_prio_0 <= s2_req_prio_0; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_prio_2 <= s2_req_prio_2; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_opcode <= s2_req_opcode; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_param <= s2_req_param; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_size <= s2_req_size; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_source <= s2_req_source; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_sink <= s2_req_sink; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_req_bad <= s2_req_bad; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      if (s2_valid_pb) begin // @[Reg.scala 20:18]
        if (s2_req_prio_0) begin // @[SourceD.scala 159:30]
          s3_pdata_data <= io_pb_beat_data;
        end else begin
          s3_pdata_data <= io_rel_beat_data;
        end
      end else begin
        s3_pdata_data <= s2_pdata_r_data; // @[Reg.scala 19:16]
      end
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      if (s2_valid_pb) begin // @[Reg.scala 20:18]
        if (s2_req_prio_0) begin // @[SourceD.scala 160:30]
          s3_pdata_mask <= io_pb_beat_mask;
        end else begin
          s3_pdata_mask <= 8'hff;
        end
      end else begin
        s3_pdata_mask <= s2_pdata_r_mask; // @[Reg.scala 19:16]
      end
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      if (s2_valid_pb) begin // @[Reg.scala 20:18]
        if (s2_req_prio_0) begin // @[SourceD.scala 161:30]
          s3_pdata_corrupt <= io_pb_beat_corrupt;
        end else begin
          s3_pdata_corrupt <= io_rel_beat_corrupt;
        end
      end else begin
        s3_pdata_corrupt <= s2_pdata_r_corrupt; // @[Reg.scala 19:16]
      end
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_need_bs <= s2_need_pb; // @[Reg.scala 20:22]
    end
    if (_T_20) begin // @[Reg.scala 20:18]
      s3_need_r <= s2_need_r; // @[Reg.scala 20:22]
    end
    s3_bypass_data_REG <= _GEN_103 == _GEN_65 & _GEN_105 == _GEN_67 & _GEN_88 == _GEN_52 & pre_s4_full; // @[SourceD.scala 326:127]
    if (pre_s3_5_match) begin // @[SourceD.scala 209:75]
      if (retire) begin // @[Reg.scala 20:18]
        s3_bypass_data_REG_1 <= atomics_io_data_out; // @[Reg.scala 20:22]
      end else begin
        s3_bypass_data_REG_1 <= s5_dat; // @[Reg.scala 19:16]
      end
    end else if (pre_s3_6_match) begin // @[SourceD.scala 209:75]
      if (retire) begin // @[Reg.scala 20:18]
        s3_bypass_data_REG_1 <= s5_dat; // @[Reg.scala 20:22]
      end else begin
        s3_bypass_data_REG_1 <= s6_dat; // @[Reg.scala 19:16]
      end
    end else if (retire) begin // @[Reg.scala 20:18]
      s3_bypass_data_REG_1 <= s6_dat; // @[Reg.scala 20:22]
    end else begin
      s3_bypass_data_REG_1 <= s7_dat; // @[Reg.scala 19:16]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_need_pb <= s3_need_bs; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_req_prio_2 <= s3_req_prio_2; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_req_param <= s3_req_param; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      if (s3_req_bad) begin // @[SourceD.scala 194:31]
        s4_adjusted_opcode <= 3'h4;
      end else begin
        s4_adjusted_opcode <= s3_req_opcode;
      end
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_pdata_data <= s3_pdata_data; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_pdata_mask <= s3_pdata_mask; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      s4_pdata_corrupt <= s3_pdata_corrupt; // @[Reg.scala 20:22]
    end
    if (s4_latch) begin // @[Reg.scala 20:18]
      if (s3_bypass) begin // @[SourceD.scala 209:75]
        if (s3_bypass_data_REG) begin // @[SourceD.scala 209:75]
          s4_rdata <= _s3_bypass_data_T_9;
        end else begin
          s4_rdata <= s3_bypass_data_REG_1;
        end
      end else begin
        s4_rdata <= _s3_rdata_T_2;
      end
    end
    if (retire) begin // @[Reg.scala 20:18]
      s5_req_set <= s4_req_set; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s5_req_way <= s4_req_way; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s5_beat <= s4_beat; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s5_dat <= atomics_io_data_out; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s6_req_set <= s5_req_set; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s6_req_way <= s5_req_way; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s6_beat <= s5_beat; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s6_dat <= s5_dat; // @[Reg.scala 20:22]
    end
    if (retire) begin // @[Reg.scala 20:18]
      s7_dat <= s6_dat; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~queue_io_enq_valid | queue_io_enq_ready)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at SourceD.scala:122 assert (!queue.io.enq.valid || queue.io.enq.ready)\n"); // @[SourceD.scala 122:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~queue_io_enq_valid | queue_io_enq_ready) & ~reset) begin
          $fatal; // @[SourceD.scala 122:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(_s3_ready_T | ~s3_need_r | queue_io_deq_valid)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at SourceD.scala:231 assert (!s3_full || !s3_need_r || queue.io.deq.valid)\n"); // @[SourceD.scala 231:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_s3_ready_T | ~s3_need_r | queue_io_deq_valid) & _T_9) begin
          $fatal; // @[SourceD.scala 231:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(s4_full & s4_need_pb & s4_pdata_corrupt))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Data poisoning unsupported\n    at SourceD.scala:275 assert (!(s4_full && s4_need_pb && s4_pdata.corrupt), \"Data poisoning unsupported\")\n"
            ); // @[SourceD.scala 275:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(s4_full & s4_need_pb & s4_pdata_corrupt)) & _T_9) begin
          $fatal; // @[SourceD.scala 275:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  busy = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  s1_block_r = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  s1_counter = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  s1_req_reg_prio_0 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  s1_req_reg_prio_2 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  s1_req_reg_opcode = _RAND_5[2:0];
  _RAND_6 = {1{`RANDOM}};
  s1_req_reg_param = _RAND_6[2:0];
  _RAND_7 = {1{`RANDOM}};
  s1_req_reg_size = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  s1_req_reg_source = _RAND_8[2:0];
  _RAND_9 = {1{`RANDOM}};
  s1_req_reg_offset = _RAND_9[3:0];
  _RAND_10 = {1{`RANDOM}};
  s1_req_reg_put = _RAND_10[5:0];
  _RAND_11 = {1{`RANDOM}};
  s1_req_reg_set = _RAND_11[2:0];
  _RAND_12 = {1{`RANDOM}};
  s1_req_reg_sink = _RAND_12[4:0];
  _RAND_13 = {1{`RANDOM}};
  s1_req_reg_way = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  s1_req_reg_bad = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  s2_full = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  s3_full = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  s3_retires = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  s4_full = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  s4_need_bs = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  s3_valid_d = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  s2_valid_pb = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  s2_req_prio_0 = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  s1_latch_bypass = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  s1_bypass_r = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  s2_req_set = _RAND_25[2:0];
  _RAND_26 = {1{`RANDOM}};
  s2_req_way = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  s2_beat = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  s2_retires = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  s3_req_set = _RAND_29[2:0];
  _RAND_30 = {1{`RANDOM}};
  s3_req_way = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  s3_beat = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  s4_req_set = _RAND_32[2:0];
  _RAND_33 = {1{`RANDOM}};
  s4_req_way = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  s4_beat = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  queue_io_enq_valid_REG = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  queue_io_enq_valid_REG_1 = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  s2_bypass = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  s2_req_prio_2 = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  s2_req_opcode = _RAND_39[2:0];
  _RAND_40 = {1{`RANDOM}};
  s2_req_param = _RAND_40[2:0];
  _RAND_41 = {1{`RANDOM}};
  s2_req_size = _RAND_41[2:0];
  _RAND_42 = {1{`RANDOM}};
  s2_req_source = _RAND_42[2:0];
  _RAND_43 = {1{`RANDOM}};
  s2_req_put = _RAND_43[5:0];
  _RAND_44 = {1{`RANDOM}};
  s2_req_sink = _RAND_44[4:0];
  _RAND_45 = {1{`RANDOM}};
  s2_req_bad = _RAND_45[0:0];
  _RAND_46 = {1{`RANDOM}};
  s2_last = _RAND_46[0:0];
  _RAND_47 = {1{`RANDOM}};
  s2_need_r = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  s2_need_pb = _RAND_48[0:0];
  _RAND_49 = {1{`RANDOM}};
  s2_need_d = _RAND_49[0:0];
  _RAND_50 = {2{`RANDOM}};
  s2_pdata_r_data = _RAND_50[63:0];
  _RAND_51 = {1{`RANDOM}};
  s2_pdata_r_mask = _RAND_51[7:0];
  _RAND_52 = {1{`RANDOM}};
  s2_pdata_r_corrupt = _RAND_52[0:0];
  _RAND_53 = {1{`RANDOM}};
  s3_bypass = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  s3_req_prio_0 = _RAND_54[0:0];
  _RAND_55 = {1{`RANDOM}};
  s3_req_prio_2 = _RAND_55[0:0];
  _RAND_56 = {1{`RANDOM}};
  s3_req_opcode = _RAND_56[2:0];
  _RAND_57 = {1{`RANDOM}};
  s3_req_param = _RAND_57[2:0];
  _RAND_58 = {1{`RANDOM}};
  s3_req_size = _RAND_58[2:0];
  _RAND_59 = {1{`RANDOM}};
  s3_req_source = _RAND_59[2:0];
  _RAND_60 = {1{`RANDOM}};
  s3_req_sink = _RAND_60[4:0];
  _RAND_61 = {1{`RANDOM}};
  s3_req_bad = _RAND_61[0:0];
  _RAND_62 = {2{`RANDOM}};
  s3_pdata_data = _RAND_62[63:0];
  _RAND_63 = {1{`RANDOM}};
  s3_pdata_mask = _RAND_63[7:0];
  _RAND_64 = {1{`RANDOM}};
  s3_pdata_corrupt = _RAND_64[0:0];
  _RAND_65 = {1{`RANDOM}};
  s3_need_bs = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  s3_need_r = _RAND_66[0:0];
  _RAND_67 = {1{`RANDOM}};
  s3_bypass_data_REG = _RAND_67[0:0];
  _RAND_68 = {2{`RANDOM}};
  s3_bypass_data_REG_1 = _RAND_68[63:0];
  _RAND_69 = {1{`RANDOM}};
  s4_need_pb = _RAND_69[0:0];
  _RAND_70 = {1{`RANDOM}};
  s4_req_prio_2 = _RAND_70[0:0];
  _RAND_71 = {1{`RANDOM}};
  s4_req_param = _RAND_71[2:0];
  _RAND_72 = {1{`RANDOM}};
  s4_adjusted_opcode = _RAND_72[2:0];
  _RAND_73 = {2{`RANDOM}};
  s4_pdata_data = _RAND_73[63:0];
  _RAND_74 = {1{`RANDOM}};
  s4_pdata_mask = _RAND_74[7:0];
  _RAND_75 = {1{`RANDOM}};
  s4_pdata_corrupt = _RAND_75[0:0];
  _RAND_76 = {2{`RANDOM}};
  s4_rdata = _RAND_76[63:0];
  _RAND_77 = {1{`RANDOM}};
  s5_req_set = _RAND_77[2:0];
  _RAND_78 = {1{`RANDOM}};
  s5_req_way = _RAND_78[0:0];
  _RAND_79 = {1{`RANDOM}};
  s5_beat = _RAND_79[0:0];
  _RAND_80 = {2{`RANDOM}};
  s5_dat = _RAND_80[63:0];
  _RAND_81 = {1{`RANDOM}};
  s6_req_set = _RAND_81[2:0];
  _RAND_82 = {1{`RANDOM}};
  s6_req_way = _RAND_82[0:0];
  _RAND_83 = {1{`RANDOM}};
  s6_beat = _RAND_83[0:0];
  _RAND_84 = {2{`RANDOM}};
  s6_dat = _RAND_84[63:0];
  _RAND_85 = {2{`RANDOM}};
  s7_dat = _RAND_85[63:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_24(
  input        clock,
  input        reset,
  output       io_enq_ready,
  input        io_enq_valid,
  input  [2:0] io_enq_bits_sink,
  output       io_deq_valid,
  output [2:0] io_deq_bits_sink
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_sink [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
  assign ram_sink_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_sink_MPORT_data = io_enq_bits_sink;
  assign ram_sink_MPORT_addr = enq_ptr_value;
  assign ram_sink_MPORT_mask = 1'h1;
  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (io_deq_valid) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != io_deq_valid) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_sink[initvar] = _RAND_0[2:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  enq_ptr_value = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  deq_ptr_value = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  maybe_full = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SourceE(
  input        clock,
  input        reset,
  output       io_req_ready,
  input        io_req_valid,
  input  [2:0] io_req_bits_sink,
  output       io_e_valid,
  output [2:0] io_e_bits_sink
);
  wire  io_e_q_clock; // @[Decoupled.scala 377:21]
  wire  io_e_q_reset; // @[Decoupled.scala 377:21]
  wire  io_e_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  io_e_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] io_e_q_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  io_e_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] io_e_q_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  Queue_24 io_e_q ( // @[Decoupled.scala 377:21]
    .clock(io_e_q_clock),
    .reset(io_e_q_reset),
    .io_enq_ready(io_e_q_io_enq_ready),
    .io_enq_valid(io_e_q_io_enq_valid),
    .io_enq_bits_sink(io_e_q_io_enq_bits_sink),
    .io_deq_valid(io_e_q_io_deq_valid),
    .io_deq_bits_sink(io_e_q_io_deq_bits_sink)
  );
  assign io_req_ready = io_e_q_io_enq_ready; // @[SourceE.scala 38:15 Decoupled.scala 381:17]
  assign io_e_valid = io_e_q_io_deq_valid; // @[SourceE.scala 39:8]
  assign io_e_bits_sink = io_e_q_io_deq_bits_sink; // @[SourceE.scala 39:8]
  assign io_e_q_clock = clock;
  assign io_e_q_reset = reset;
  assign io_e_q_io_enq_valid = io_req_valid; // @[SourceE.scala 38:15 42:11]
  assign io_e_q_io_enq_bits_sink = io_req_bits_sink; // @[SourceE.scala 38:15 44:15]
endmodule
module ListBuffer(
  input         clock,
  input         reset,
  output        io_push_ready,
  input         io_push_valid,
  input  [5:0]  io_push_bits_index,
  input  [63:0] io_push_bits_data_data,
  input  [7:0]  io_push_bits_data_mask,
  input         io_push_bits_data_corrupt,
  output [39:0] io_valid,
  input         io_pop_valid,
  input  [5:0]  io_pop_bits,
  output [63:0] io_data_data,
  output [7:0]  io_data_mask,
  output        io_data_corrupt
);
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_6;
  reg [63:0] _RAND_8;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_12;
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_5;
  reg [63:0] _RAND_7;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_11;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [63:0] _RAND_13;
  reg [63:0] _RAND_14;
`endif // RANDOMIZE_REG_INIT
  reg [5:0] head [0:39]; // @[ListBuffer.scala 46:18]
  wire  head_pop_head_en; // @[ListBuffer.scala 46:18]
  wire [5:0] head_pop_head_addr; // @[ListBuffer.scala 46:18]
  wire [5:0] head_pop_head_data; // @[ListBuffer.scala 46:18]
  wire [5:0] head_MPORT_2_data; // @[ListBuffer.scala 46:18]
  wire [5:0] head_MPORT_2_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_en; // @[ListBuffer.scala 46:18]
  wire [5:0] head_MPORT_6_data; // @[ListBuffer.scala 46:18]
  wire [5:0] head_MPORT_6_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_en; // @[ListBuffer.scala 46:18]
  reg [5:0] tail [0:39]; // @[ListBuffer.scala 47:18]
  wire  tail_push_tail_en; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_push_tail_addr; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_push_tail_data; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_4_en; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_MPORT_4_addr; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_MPORT_4_data; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
  wire [5:0] tail_MPORT_3_addr; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_mask; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_en; // @[ListBuffer.scala 47:18]
  reg [5:0] next [0:39]; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_5_en; // @[ListBuffer.scala 49:18]
  wire [5:0] next_MPORT_5_addr; // @[ListBuffer.scala 49:18]
  wire [5:0] next_MPORT_5_data; // @[ListBuffer.scala 49:18]
  wire [5:0] next_MPORT_1_data; // @[ListBuffer.scala 49:18]
  wire [5:0] next_MPORT_1_addr; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_mask; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_en; // @[ListBuffer.scala 49:18]
  reg [63:0] data_data [0:39]; // @[ListBuffer.scala 50:18]
  wire  data_data_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [5:0] data_data_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [63:0] data_data_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [63:0] data_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [5:0] data_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_data_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_data_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [7:0] data_mask [0:39]; // @[ListBuffer.scala 50:18]
  wire  data_mask_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [5:0] data_mask_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [7:0] data_mask_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [7:0] data_mask_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [5:0] data_mask_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_mask_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_mask_MPORT_en; // @[ListBuffer.scala 50:18]
  reg  data_corrupt [0:39]; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [5:0] data_corrupt_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [5:0] data_corrupt_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [39:0] valid; // @[ListBuffer.scala 45:22]
  reg [39:0] used; // @[ListBuffer.scala 48:22]
  wire [39:0] _freeOH_T = ~used; // @[ListBuffer.scala 52:25]
  wire [40:0] _freeOH_T_1 = {_freeOH_T, 1'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_3 = _freeOH_T | _freeOH_T_1[39:0]; // @[package.scala 244:43]
  wire [41:0] _freeOH_T_4 = {_freeOH_T_3, 2'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_6 = _freeOH_T_3 | _freeOH_T_4[39:0]; // @[package.scala 244:43]
  wire [43:0] _freeOH_T_7 = {_freeOH_T_6, 4'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_9 = _freeOH_T_6 | _freeOH_T_7[39:0]; // @[package.scala 244:43]
  wire [47:0] _freeOH_T_10 = {_freeOH_T_9, 8'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_12 = _freeOH_T_9 | _freeOH_T_10[39:0]; // @[package.scala 244:43]
  wire [55:0] _freeOH_T_13 = {_freeOH_T_12, 16'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_15 = _freeOH_T_12 | _freeOH_T_13[39:0]; // @[package.scala 244:43]
  wire [71:0] _freeOH_T_16 = {_freeOH_T_15, 32'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_18 = _freeOH_T_15 | _freeOH_T_16[39:0]; // @[package.scala 244:43]
  wire [40:0] _freeOH_T_20 = {_freeOH_T_18, 1'h0}; // @[ListBuffer.scala 52:32]
  wire [40:0] _freeOH_T_21 = ~_freeOH_T_20; // @[ListBuffer.scala 52:16]
  wire [40:0] _GEN_41 = {{1'd0}, _freeOH_T}; // @[ListBuffer.scala 52:38]
  wire [40:0] freeOH = _freeOH_T_21 & _GEN_41; // @[ListBuffer.scala 52:38]
  wire [8:0] freeIdx_hi = freeOH[40:32]; // @[OneHot.scala 30:18]
  wire [31:0] freeIdx_lo = freeOH[31:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T = |freeIdx_hi; // @[OneHot.scala 32:14]
  wire [31:0] _GEN_42 = {{23'd0}, freeIdx_hi}; // @[OneHot.scala 32:28]
  wire [31:0] _freeIdx_T_1 = _GEN_42 | freeIdx_lo; // @[OneHot.scala 32:28]
  wire [15:0] freeIdx_hi_1 = _freeIdx_T_1[31:16]; // @[OneHot.scala 30:18]
  wire [15:0] freeIdx_lo_1 = _freeIdx_T_1[15:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_2 = |freeIdx_hi_1; // @[OneHot.scala 32:14]
  wire [15:0] _freeIdx_T_3 = freeIdx_hi_1 | freeIdx_lo_1; // @[OneHot.scala 32:28]
  wire [7:0] freeIdx_hi_2 = _freeIdx_T_3[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] freeIdx_lo_2 = _freeIdx_T_3[7:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_4 = |freeIdx_hi_2; // @[OneHot.scala 32:14]
  wire [7:0] _freeIdx_T_5 = freeIdx_hi_2 | freeIdx_lo_2; // @[OneHot.scala 32:28]
  wire [3:0] freeIdx_hi_3 = _freeIdx_T_5[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] freeIdx_lo_3 = _freeIdx_T_5[3:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_6 = |freeIdx_hi_3; // @[OneHot.scala 32:14]
  wire [3:0] _freeIdx_T_7 = freeIdx_hi_3 | freeIdx_lo_3; // @[OneHot.scala 32:28]
  wire [1:0] freeIdx_hi_4 = _freeIdx_T_7[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] freeIdx_lo_4 = _freeIdx_T_7[1:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_8 = |freeIdx_hi_4; // @[OneHot.scala 32:14]
  wire [1:0] _freeIdx_T_9 = freeIdx_hi_4 | freeIdx_lo_4; // @[OneHot.scala 32:28]
  wire [4:0] _freeIdx_T_14 = {_freeIdx_T_2,_freeIdx_T_4,_freeIdx_T_6,_freeIdx_T_8,_freeIdx_T_9[1]}; // @[Cat.scala 33:92]
  wire [5:0] freeIdx = {_freeIdx_T,_freeIdx_T_2,_freeIdx_T_4,_freeIdx_T_6,_freeIdx_T_8,_freeIdx_T_9[1]}; // @[Cat.scala 33:92]
  wire [39:0] _push_valid_T = valid >> io_push_bits_index; // @[ListBuffer.scala 61:25]
  wire  push_valid = _push_valid_T[0]; // @[ListBuffer.scala 61:25]
  wire  _T = io_push_ready & io_push_valid; // @[Decoupled.scala 52:35]
  wire [63:0] _valid_set_T = 64'h1 << io_push_bits_index; // @[OneHot.scala 64:12]
  wire  _GEN_7 = push_valid ? 1'h0 : 1'h1; // @[ListBuffer.scala 46:18 68:23]
  wire [39:0] valid_set = _T ? _valid_set_T[39:0] : 40'h0; // @[ListBuffer.scala 64:25 65:15]
  wire [40:0] _GEN_11 = _T ? freeOH : 41'h0; // @[ListBuffer.scala 64:25 66:14]
  wire  _GEN_21 = _T & push_valid; // @[ListBuffer.scala 49:18 64:25]
  wire [39:0] _T_2 = io_valid >> io_pop_bits; // @[ListBuffer.scala 84:39]
  wire [5:0] used_clr_shiftAmount = head_pop_head_data; // @[OneHot.scala 63:49]
  wire [63:0] _used_clr_T = 64'h1 << used_clr_shiftAmount; // @[OneHot.scala 64:12]
  wire [63:0] _valid_clr_T = 64'h1 << io_pop_bits; // @[OneHot.scala 64:12]
  wire [39:0] _GEN_30 = head_pop_head_data == tail_MPORT_4_data ? _valid_clr_T[39:0] : 40'h0; // @[ListBuffer.scala 88:48 89:17]
  wire  _T_12 = _GEN_21 & tail_push_tail_data == head_pop_head_data; // @[ListBuffer.scala 91:62]
  wire [39:0] used_clr = io_pop_valid ? _used_clr_T[39:0] : 40'h0; // @[ListBuffer.scala 86:24 87:14]
  wire [39:0] valid_clr = io_pop_valid ? _GEN_30 : 40'h0; // @[ListBuffer.scala 86:24]
  wire [39:0] _used_T = ~used_clr; // @[ListBuffer.scala 96:23]
  wire [39:0] _used_T_1 = used & _used_T; // @[ListBuffer.scala 96:21]
  wire [39:0] used_set = _GEN_11[39:0];
  wire [39:0] _used_T_2 = _used_T_1 | used_set; // @[ListBuffer.scala 96:35]
  wire [39:0] _valid_T = ~valid_clr; // @[ListBuffer.scala 97:23]
  wire [39:0] _valid_T_1 = valid & _valid_T; // @[ListBuffer.scala 97:21]
  wire [39:0] _valid_T_2 = _valid_T_1 | valid_set; // @[ListBuffer.scala 97:35]
  assign head_pop_head_en = 1'h1;
  assign head_pop_head_addr = io_pop_bits;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign head_pop_head_data = head[head_pop_head_addr]; // @[ListBuffer.scala 46:18]
  `else
  assign head_pop_head_data = head_pop_head_addr >= 6'h28 ? _RAND_1[5:0] : head[head_pop_head_addr]; // @[ListBuffer.scala 46:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign head_MPORT_2_data = {_freeIdx_T,_freeIdx_T_14};
  assign head_MPORT_2_addr = io_push_bits_index;
  assign head_MPORT_2_mask = 1'h1;
  assign head_MPORT_2_en = _T & _GEN_7;
  assign head_MPORT_6_data = _T_12 ? freeIdx : next_MPORT_5_data;
  assign head_MPORT_6_addr = io_pop_bits;
  assign head_MPORT_6_mask = 1'h1;
  assign head_MPORT_6_en = io_pop_valid;
  assign tail_push_tail_en = 1'h1;
  assign tail_push_tail_addr = io_push_bits_index;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign tail_push_tail_data = tail[tail_push_tail_addr]; // @[ListBuffer.scala 47:18]
  `else
  assign tail_push_tail_data = tail_push_tail_addr >= 6'h28 ? _RAND_3[5:0] : tail[tail_push_tail_addr]; // @[ListBuffer.scala 47:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_4_en = io_pop_valid;
  assign tail_MPORT_4_addr = io_pop_bits;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_4_data = tail[tail_MPORT_4_addr]; // @[ListBuffer.scala 47:18]
  `else
  assign tail_MPORT_4_data = tail_MPORT_4_addr >= 6'h28 ? _RAND_4[5:0] : tail[tail_MPORT_4_addr]; // @[ListBuffer.scala 47:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_3_data = {_freeIdx_T,_freeIdx_T_14};
  assign tail_MPORT_3_addr = io_push_bits_index;
  assign tail_MPORT_3_mask = 1'h1;
  assign tail_MPORT_3_en = io_push_ready & io_push_valid;
  assign next_MPORT_5_en = io_pop_valid;
  assign next_MPORT_5_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign next_MPORT_5_data = next[next_MPORT_5_addr]; // @[ListBuffer.scala 49:18]
  `else
  assign next_MPORT_5_data = next_MPORT_5_addr >= 6'h28 ? _RAND_6[5:0] : next[next_MPORT_5_addr]; // @[ListBuffer.scala 49:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign next_MPORT_1_data = {_freeIdx_T,_freeIdx_T_14};
  assign next_MPORT_1_addr = tail_push_tail_data;
  assign next_MPORT_1_mask = 1'h1;
  assign next_MPORT_1_en = _T & push_valid;
  assign data_data_io_data_MPORT_en = 1'h1;
  assign data_data_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_data_io_data_MPORT_data = data_data[data_data_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_data_io_data_MPORT_data = data_data_io_data_MPORT_addr >= 6'h28 ? _RAND_8[63:0] :
    data_data[data_data_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_data_MPORT_data = io_push_bits_data_data;
  assign data_data_MPORT_addr = {_freeIdx_T,_freeIdx_T_14};
  assign data_data_MPORT_mask = 1'h1;
  assign data_data_MPORT_en = io_push_ready & io_push_valid;
  assign data_mask_io_data_MPORT_en = 1'h1;
  assign data_mask_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_mask_io_data_MPORT_data = data_mask[data_mask_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_mask_io_data_MPORT_data = data_mask_io_data_MPORT_addr >= 6'h28 ? _RAND_10[7:0] :
    data_mask[data_mask_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_mask_MPORT_data = io_push_bits_data_mask;
  assign data_mask_MPORT_addr = {_freeIdx_T,_freeIdx_T_14};
  assign data_mask_MPORT_mask = 1'h1;
  assign data_mask_MPORT_en = io_push_ready & io_push_valid;
  assign data_corrupt_io_data_MPORT_en = 1'h1;
  assign data_corrupt_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_corrupt_io_data_MPORT_data = data_corrupt[data_corrupt_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_corrupt_io_data_MPORT_data = data_corrupt_io_data_MPORT_addr >= 6'h28 ? _RAND_12[0:0] :
    data_corrupt[data_corrupt_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_corrupt_MPORT_data = io_push_bits_data_corrupt;
  assign data_corrupt_MPORT_addr = {_freeIdx_T,_freeIdx_T_14};
  assign data_corrupt_MPORT_mask = 1'h1;
  assign data_corrupt_MPORT_en = io_push_ready & io_push_valid;
  assign io_push_ready = ~(&used); // @[ListBuffer.scala 63:20]
  assign io_valid = valid; // @[ListBuffer.scala 81:12]
  assign io_data_data = data_data_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_mask = data_mask_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_corrupt = data_corrupt_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  always @(posedge clock) begin
    if (head_MPORT_2_en & head_MPORT_2_mask) begin
      head[head_MPORT_2_addr] <= head_MPORT_2_data; // @[ListBuffer.scala 46:18]
    end
    if (head_MPORT_6_en & head_MPORT_6_mask) begin
      head[head_MPORT_6_addr] <= head_MPORT_6_data; // @[ListBuffer.scala 46:18]
    end
    if (tail_MPORT_3_en & tail_MPORT_3_mask) begin
      tail[tail_MPORT_3_addr] <= tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
    end
    if (next_MPORT_1_en & next_MPORT_1_mask) begin
      next[next_MPORT_1_addr] <= next_MPORT_1_data; // @[ListBuffer.scala 49:18]
    end
    if (data_data_MPORT_en & data_data_MPORT_mask) begin
      data_data[data_data_MPORT_addr] <= data_data_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_mask_MPORT_en & data_mask_MPORT_mask) begin
      data_mask[data_mask_MPORT_addr] <= data_mask_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_corrupt_MPORT_en & data_corrupt_MPORT_mask) begin
      data_corrupt[data_corrupt_MPORT_addr] <= data_corrupt_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (reset) begin // @[ListBuffer.scala 45:22]
      valid <= 40'h0; // @[ListBuffer.scala 45:22]
    end else begin
      valid <= _valid_T_2;
    end
    if (reset) begin // @[ListBuffer.scala 48:22]
      used <= 40'h0; // @[ListBuffer.scala 48:22]
    end else begin
      used <= _used_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_pop_valid | _T_2[0])) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at ListBuffer.scala:84 assert (!io.pop.fire() || (io.valid)(io.pop.bits))\n"); // @[ListBuffer.scala 84:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_pop_valid | _T_2[0]) & ~reset) begin
          $fatal; // @[ListBuffer.scala 84:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  _RAND_1 = {1{`RANDOM}};
  _RAND_3 = {1{`RANDOM}};
  _RAND_4 = {1{`RANDOM}};
  _RAND_6 = {1{`RANDOM}};
  _RAND_8 = {2{`RANDOM}};
  _RAND_10 = {1{`RANDOM}};
  _RAND_12 = {1{`RANDOM}};
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    head[initvar] = _RAND_0[5:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    tail[initvar] = _RAND_2[5:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    next[initvar] = _RAND_5[5:0];
  _RAND_7 = {2{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    data_data[initvar] = _RAND_7[63:0];
  _RAND_9 = {1{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    data_mask[initvar] = _RAND_9[7:0];
  _RAND_11 = {1{`RANDOM}};
  for (initvar = 0; initvar < 40; initvar = initvar+1)
    data_corrupt[initvar] = _RAND_11[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {2{`RANDOM}};
  valid = _RAND_13[39:0];
  _RAND_14 = {2{`RANDOM}};
  used = _RAND_14[39:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SinkA(
  input         clock,
  input         reset,
  input         io_req_ready,
  output        io_req_valid,
  output [2:0]  io_req_bits_opcode,
  output [2:0]  io_req_bits_param,
  output [2:0]  io_req_bits_size,
  output [2:0]  io_req_bits_source,
  output [24:0] io_req_bits_tag,
  output [3:0]  io_req_bits_offset,
  output [5:0]  io_req_bits_put,
  output [2:0]  io_req_bits_set,
  output        io_a_ready,
  input         io_a_valid,
  input  [2:0]  io_a_bits_opcode,
  input  [2:0]  io_a_bits_param,
  input  [2:0]  io_a_bits_size,
  input  [2:0]  io_a_bits_source,
  input  [31:0] io_a_bits_address,
  input  [7:0]  io_a_bits_mask,
  input  [63:0] io_a_bits_data,
  input         io_a_bits_corrupt,
  output        io_pb_pop_ready,
  input         io_pb_pop_valid,
  input  [5:0]  io_pb_pop_bits_index,
  input         io_pb_pop_bits_last,
  output [63:0] io_pb_beat_data,
  output [7:0]  io_pb_beat_mask,
  output        io_pb_beat_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [63:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  wire  putbuffer_clock; // @[SinkA.scala 50:25]
  wire  putbuffer_reset; // @[SinkA.scala 50:25]
  wire  putbuffer_io_push_ready; // @[SinkA.scala 50:25]
  wire  putbuffer_io_push_valid; // @[SinkA.scala 50:25]
  wire [5:0] putbuffer_io_push_bits_index; // @[SinkA.scala 50:25]
  wire [63:0] putbuffer_io_push_bits_data_data; // @[SinkA.scala 50:25]
  wire [7:0] putbuffer_io_push_bits_data_mask; // @[SinkA.scala 50:25]
  wire  putbuffer_io_push_bits_data_corrupt; // @[SinkA.scala 50:25]
  wire [39:0] putbuffer_io_valid; // @[SinkA.scala 50:25]
  wire  putbuffer_io_pop_valid; // @[SinkA.scala 50:25]
  wire [5:0] putbuffer_io_pop_bits; // @[SinkA.scala 50:25]
  wire [63:0] putbuffer_io_data_data; // @[SinkA.scala 50:25]
  wire [7:0] putbuffer_io_data_mask; // @[SinkA.scala 50:25]
  wire  putbuffer_io_data_corrupt; // @[SinkA.scala 50:25]
  reg [39:0] lists; // @[SinkA.scala 51:22]
  reg  first_counter; // @[Edges.scala 228:27]
  wire  first = ~first_counter; // @[Edges.scala 230:25]
  wire  _T_3 = io_a_valid & first; // @[SinkA.scala 80:17]
  wire  hasData = ~io_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  req_block = first & ~io_req_ready; // @[SinkA.scala 69:25]
  wire  _T_5 = ~req_block; // @[SinkA.scala 80:40]
  wire  buf_block = hasData & ~putbuffer_io_push_ready; // @[SinkA.scala 70:27]
  wire  _T_7 = ~buf_block; // @[SinkA.scala 80:54]
  wire [39:0] _freeOH_T = ~lists; // @[SinkA.scala 58:25]
  wire [40:0] _freeOH_T_1 = {_freeOH_T, 1'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_3 = _freeOH_T | _freeOH_T_1[39:0]; // @[package.scala 244:43]
  wire [41:0] _freeOH_T_4 = {_freeOH_T_3, 2'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_6 = _freeOH_T_3 | _freeOH_T_4[39:0]; // @[package.scala 244:43]
  wire [43:0] _freeOH_T_7 = {_freeOH_T_6, 4'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_9 = _freeOH_T_6 | _freeOH_T_7[39:0]; // @[package.scala 244:43]
  wire [47:0] _freeOH_T_10 = {_freeOH_T_9, 8'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_12 = _freeOH_T_9 | _freeOH_T_10[39:0]; // @[package.scala 244:43]
  wire [55:0] _freeOH_T_13 = {_freeOH_T_12, 16'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_15 = _freeOH_T_12 | _freeOH_T_13[39:0]; // @[package.scala 244:43]
  wire [71:0] _freeOH_T_16 = {_freeOH_T_15, 32'h0}; // @[package.scala 244:48]
  wire [39:0] _freeOH_T_18 = _freeOH_T_15 | _freeOH_T_16[39:0]; // @[package.scala 244:43]
  wire [40:0] _freeOH_T_20 = {_freeOH_T_18, 1'h0}; // @[SinkA.scala 58:33]
  wire [40:0] _freeOH_T_21 = ~_freeOH_T_20; // @[SinkA.scala 58:16]
  wire [40:0] _GEN_4 = {{1'd0}, _freeOH_T}; // @[SinkA.scala 58:39]
  wire [40:0] freeOH = _freeOH_T_21 & _GEN_4; // @[SinkA.scala 58:39]
  wire [40:0] _GEN_1 = io_a_valid & first & hasData & ~req_block & ~buf_block ? freeOH : 41'h0; // @[SinkA.scala 80:{66,78}]
  wire [39:0] lists_set = _GEN_1[39:0];
  wire [39:0] _lists_T = lists | lists_set; // @[SinkA.scala 55:19]
  wire  _T_9 = io_pb_pop_ready & io_pb_pop_valid; // @[Decoupled.scala 52:35]
  wire [63:0] _lists_clr_T = 64'h1 << io_pb_pop_bits_index; // @[OneHot.scala 64:12]
  wire [39:0] lists_clr = _T_9 & io_pb_pop_bits_last ? _lists_clr_T[39:0] : 40'h0; // @[SinkA.scala 107:50 108:15]
  wire [39:0] _lists_T_1 = ~lists_clr; // @[SinkA.scala 55:34]
  wire [39:0] _lists_T_2 = _lists_T & _lists_T_1; // @[SinkA.scala 55:32]
  wire  free = ~(&lists); // @[SinkA.scala 57:14]
  wire [8:0] freeIdx_hi = freeOH[40:32]; // @[OneHot.scala 30:18]
  wire [31:0] freeIdx_lo = freeOH[31:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T = |freeIdx_hi; // @[OneHot.scala 32:14]
  wire [31:0] _GEN_5 = {{23'd0}, freeIdx_hi}; // @[OneHot.scala 32:28]
  wire [31:0] _freeIdx_T_1 = _GEN_5 | freeIdx_lo; // @[OneHot.scala 32:28]
  wire [15:0] freeIdx_hi_1 = _freeIdx_T_1[31:16]; // @[OneHot.scala 30:18]
  wire [15:0] freeIdx_lo_1 = _freeIdx_T_1[15:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_2 = |freeIdx_hi_1; // @[OneHot.scala 32:14]
  wire [15:0] _freeIdx_T_3 = freeIdx_hi_1 | freeIdx_lo_1; // @[OneHot.scala 32:28]
  wire [7:0] freeIdx_hi_2 = _freeIdx_T_3[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] freeIdx_lo_2 = _freeIdx_T_3[7:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_4 = |freeIdx_hi_2; // @[OneHot.scala 32:14]
  wire [7:0] _freeIdx_T_5 = freeIdx_hi_2 | freeIdx_lo_2; // @[OneHot.scala 32:28]
  wire [3:0] freeIdx_hi_3 = _freeIdx_T_5[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] freeIdx_lo_3 = _freeIdx_T_5[3:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_6 = |freeIdx_hi_3; // @[OneHot.scala 32:14]
  wire [3:0] _freeIdx_T_7 = freeIdx_hi_3 | freeIdx_lo_3; // @[OneHot.scala 32:28]
  wire [1:0] freeIdx_hi_4 = _freeIdx_T_7[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] freeIdx_lo_4 = _freeIdx_T_7[1:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_8 = |freeIdx_hi_4; // @[OneHot.scala 32:14]
  wire [1:0] _freeIdx_T_9 = freeIdx_hi_4 | freeIdx_lo_4; // @[OneHot.scala 32:28]
  wire [5:0] freeIdx = {_freeIdx_T,_freeIdx_T_2,_freeIdx_T_4,_freeIdx_T_6,_freeIdx_T_8,_freeIdx_T_9[1]}; // @[Cat.scala 33:92]
  wire  _first_T = io_a_ready & io_a_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _first_beats1_decode_T_1 = 11'hf << io_a_bits_size; // @[package.scala 234:77]
  wire [3:0] _first_beats1_decode_T_3 = ~_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  first_beats1_decode = _first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  first_beats1 = hasData & first_beats1_decode; // @[Edges.scala 220:14]
  wire  first_counter1 = first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  set_block = hasData & first & ~free; // @[SinkA.scala 71:36]
  wire  _io_a_ready_T_3 = ~set_block; // @[SinkA.scala 77:42]
  wire [7:0] offset_lo_lo = {io_a_bits_address[7],io_a_bits_address[6],io_a_bits_address[5],io_a_bits_address[4],
    io_a_bits_address[3],io_a_bits_address[2],io_a_bits_address[1],io_a_bits_address[0]}; // @[Cat.scala 33:92]
  wire [15:0] offset_lo = {io_a_bits_address[15],io_a_bits_address[14],io_a_bits_address[13],io_a_bits_address[12],
    io_a_bits_address[11],io_a_bits_address[10],io_a_bits_address[9],io_a_bits_address[8],offset_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] offset_hi_lo = {io_a_bits_address[23],io_a_bits_address[22],io_a_bits_address[21],io_a_bits_address[20],
    io_a_bits_address[19],io_a_bits_address[18],io_a_bits_address[17],io_a_bits_address[16]}; // @[Cat.scala 33:92]
  wire [31:0] offset = {io_a_bits_address[31],io_a_bits_address[30],io_a_bits_address[29],io_a_bits_address[28],
    io_a_bits_address[27],io_a_bits_address[26],io_a_bits_address[25],io_a_bits_address[24],offset_hi_lo,offset_lo}; // @[Cat.scala 33:92]
  wire [27:0] set = offset[31:4]; // @[Parameters.scala 212:22]
  reg [5:0] put_r; // @[Reg.scala 19:16]
  wire [39:0] _io_pb_pop_ready_T = putbuffer_io_valid >> io_pb_pop_bits_index; // @[SinkA.scala 104:40]
  ListBuffer putbuffer ( // @[SinkA.scala 50:25]
    .clock(putbuffer_clock),
    .reset(putbuffer_reset),
    .io_push_ready(putbuffer_io_push_ready),
    .io_push_valid(putbuffer_io_push_valid),
    .io_push_bits_index(putbuffer_io_push_bits_index),
    .io_push_bits_data_data(putbuffer_io_push_bits_data_data),
    .io_push_bits_data_mask(putbuffer_io_push_bits_data_mask),
    .io_push_bits_data_corrupt(putbuffer_io_push_bits_data_corrupt),
    .io_valid(putbuffer_io_valid),
    .io_pop_valid(putbuffer_io_pop_valid),
    .io_pop_bits(putbuffer_io_pop_bits),
    .io_data_data(putbuffer_io_data_data),
    .io_data_mask(putbuffer_io_data_mask),
    .io_data_corrupt(putbuffer_io_data_corrupt)
  );
  assign io_req_valid = _T_3 & _T_7 & _io_a_ready_T_3; // @[SinkA.scala 78:50]
  assign io_req_bits_opcode = io_a_bits_opcode; // @[SinkA.scala 87:22]
  assign io_req_bits_param = io_a_bits_param; // @[SinkA.scala 88:22]
  assign io_req_bits_size = io_a_bits_size; // @[SinkA.scala 89:22]
  assign io_req_bits_source = io_a_bits_source; // @[SinkA.scala 90:22]
  assign io_req_bits_tag = set[27:3]; // @[Parameters.scala 213:19]
  assign io_req_bits_offset = offset[3:0]; // @[Parameters.scala 214:50]
  assign io_req_bits_put = first ? freeIdx : put_r; // @[SinkA.scala 83:16]
  assign io_req_bits_set = set[2:0]; // @[Parameters.scala 214:28]
  assign io_a_ready = _T_5 & _T_7 & ~set_block; // @[SinkA.scala 77:39]
  assign io_pb_pop_ready = _io_pb_pop_ready_T[0]; // @[SinkA.scala 104:40]
  assign io_pb_beat_data = putbuffer_io_data_data; // @[SinkA.scala 105:14]
  assign io_pb_beat_mask = putbuffer_io_data_mask; // @[SinkA.scala 105:14]
  assign io_pb_beat_corrupt = putbuffer_io_data_corrupt; // @[SinkA.scala 105:14]
  assign putbuffer_clock = clock;
  assign putbuffer_reset = reset;
  assign putbuffer_io_push_valid = io_a_valid & hasData & _T_5 & _io_a_ready_T_3; // @[SinkA.scala 79:63]
  assign putbuffer_io_push_bits_index = first ? freeIdx : put_r; // @[SinkA.scala 83:16]
  assign putbuffer_io_push_bits_data_data = io_a_bits_data; // @[SinkA.scala 97:39]
  assign putbuffer_io_push_bits_data_mask = io_a_bits_mask; // @[SinkA.scala 98:39]
  assign putbuffer_io_push_bits_data_corrupt = io_a_bits_corrupt; // @[SinkA.scala 99:39]
  assign putbuffer_io_pop_valid = io_pb_pop_ready & io_pb_pop_valid; // @[Decoupled.scala 52:35]
  assign putbuffer_io_pop_bits = io_pb_pop_bits_index; // @[SinkA.scala 102:25]
  always @(posedge clock) begin
    if (reset) begin // @[SinkA.scala 51:22]
      lists <= 40'h0; // @[SinkA.scala 51:22]
    end else begin
      lists <= _lists_T_2; // @[SinkA.scala 55:9]
    end
    if (reset) begin // @[Edges.scala 228:27]
      first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_first_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        first_counter <= first_beats1;
      end else begin
        first_counter <= first_counter1;
      end
    end
    if (first) begin // @[Reg.scala 20:18]
      put_r <= freeIdx; // @[Reg.scala 20:22]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  lists = _RAND_0[39:0];
  _RAND_1 = {1{`RANDOM}};
  first_counter = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  put_r = _RAND_2[5:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_26(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input  [31:0] io_enq_bits_address,
  input  [63:0] io_enq_bits_data,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [2:0]  io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = 3'h3;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_address[initvar] = _RAND_4[31:0];
  _RAND_5 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_5[63:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_6[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  enq_ptr_value = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  deq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  maybe_full = _RAND_9[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_27(
  input        clock,
  input        reset,
  output       io_enq_ready,
  input        io_enq_valid,
  input        io_enq_bits_noop,
  input        io_enq_bits_way,
  input  [2:0] io_enq_bits_set,
  input        io_enq_bits_beat,
  input        io_deq_ready,
  output       io_deq_valid,
  output       io_deq_bits_noop,
  output       io_deq_bits_way,
  output [2:0] io_deq_bits_set,
  output       io_deq_bits_beat,
  output       io_deq_bits_mask
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_5;
`endif // RANDOMIZE_REG_INIT
  reg  ram_noop [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_noop_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_noop_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_noop_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_noop_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_noop_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_noop_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_noop_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_way [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_set [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_set_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_set_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_set_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_set_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_beat [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_beat_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_beat_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_beat_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_beat_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_beat_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_beat_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_beat_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_mask [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_en; // @[Decoupled.scala 275:95]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_noop_io_deq_bits_MPORT_en = 1'h1;
  assign ram_noop_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_noop_io_deq_bits_MPORT_data = ram_noop[ram_noop_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_noop_MPORT_data = io_enq_bits_noop;
  assign ram_noop_MPORT_addr = 1'h0;
  assign ram_noop_MPORT_mask = 1'h1;
  assign ram_noop_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_way_io_deq_bits_MPORT_en = 1'h1;
  assign ram_way_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_way_io_deq_bits_MPORT_data = ram_way[ram_way_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_way_MPORT_data = io_enq_bits_way;
  assign ram_way_MPORT_addr = 1'h0;
  assign ram_way_MPORT_mask = 1'h1;
  assign ram_way_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_set_io_deq_bits_MPORT_en = 1'h1;
  assign ram_set_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_set_io_deq_bits_MPORT_data = ram_set[ram_set_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_set_MPORT_data = io_enq_bits_set;
  assign ram_set_MPORT_addr = 1'h0;
  assign ram_set_MPORT_mask = 1'h1;
  assign ram_set_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_beat_io_deq_bits_MPORT_en = 1'h1;
  assign ram_beat_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_beat_io_deq_bits_MPORT_data = ram_beat[ram_beat_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_beat_MPORT_data = io_enq_bits_beat;
  assign ram_beat_MPORT_addr = 1'h0;
  assign ram_beat_MPORT_mask = 1'h1;
  assign ram_beat_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
  assign ram_mask_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_mask_MPORT_data = 1'h1;
  assign ram_mask_MPORT_addr = 1'h0;
  assign ram_mask_MPORT_mask = 1'h1;
  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = io_deq_ready | empty; // @[Decoupled.scala 305:16 325:{24,39}]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_noop = ram_noop_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_way = ram_way_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_set = ram_set_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_beat = ram_beat_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_noop_MPORT_en & ram_noop_MPORT_mask) begin
      ram_noop[ram_noop_MPORT_addr] <= ram_noop_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_way_MPORT_en & ram_way_MPORT_mask) begin
      ram_way[ram_way_MPORT_addr] <= ram_way_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_set_MPORT_en & ram_set_MPORT_mask) begin
      ram_set[ram_set_MPORT_addr] <= ram_set_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_beat_MPORT_en & ram_beat_MPORT_mask) begin
      ram_beat[ram_beat_MPORT_addr] <= ram_beat_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_noop[initvar] = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_way[initvar] = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_set[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_beat[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_mask[initvar] = _RAND_4[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  maybe_full = _RAND_5[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module ListBuffer_1(
  input         clock,
  input         reset,
  output        io_push_ready,
  input         io_push_valid,
  input         io_push_bits_index,
  input  [63:0] io_push_bits_data_data,
  input         io_push_bits_data_corrupt,
  output [1:0]  io_valid,
  input         io_pop_valid,
  input         io_pop_bits,
  output [63:0] io_data_data,
  output        io_data_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [63:0] _RAND_3;
  reg [31:0] _RAND_4;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  reg [1:0] head [0:1]; // @[ListBuffer.scala 46:18]
  wire  head_pop_head_en; // @[ListBuffer.scala 46:18]
  wire  head_pop_head_addr; // @[ListBuffer.scala 46:18]
  wire [1:0] head_pop_head_data; // @[ListBuffer.scala 46:18]
  wire [1:0] head_MPORT_2_data; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_en; // @[ListBuffer.scala 46:18]
  wire [1:0] head_MPORT_6_data; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_en; // @[ListBuffer.scala 46:18]
  reg [1:0] tail [0:1]; // @[ListBuffer.scala 47:18]
  wire  tail_push_tail_en; // @[ListBuffer.scala 47:18]
  wire  tail_push_tail_addr; // @[ListBuffer.scala 47:18]
  wire [1:0] tail_push_tail_data; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_4_en; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_4_addr; // @[ListBuffer.scala 47:18]
  wire [1:0] tail_MPORT_4_data; // @[ListBuffer.scala 47:18]
  wire [1:0] tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_addr; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_mask; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_en; // @[ListBuffer.scala 47:18]
  reg [1:0] next [0:3]; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_5_en; // @[ListBuffer.scala 49:18]
  wire [1:0] next_MPORT_5_addr; // @[ListBuffer.scala 49:18]
  wire [1:0] next_MPORT_5_data; // @[ListBuffer.scala 49:18]
  wire [1:0] next_MPORT_1_data; // @[ListBuffer.scala 49:18]
  wire [1:0] next_MPORT_1_addr; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_mask; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_en; // @[ListBuffer.scala 49:18]
  reg [63:0] data_data [0:3]; // @[ListBuffer.scala 50:18]
  wire  data_data_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [1:0] data_data_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [63:0] data_data_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [63:0] data_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [1:0] data_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_data_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_data_MPORT_en; // @[ListBuffer.scala 50:18]
  reg  data_corrupt [0:3]; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [1:0] data_corrupt_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [1:0] data_corrupt_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_corrupt_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [1:0] valid; // @[ListBuffer.scala 45:22]
  reg [3:0] used; // @[ListBuffer.scala 48:22]
  wire [3:0] _freeOH_T = ~used; // @[ListBuffer.scala 52:25]
  wire [4:0] _freeOH_T_1 = {_freeOH_T, 1'h0}; // @[package.scala 244:48]
  wire [3:0] _freeOH_T_3 = _freeOH_T | _freeOH_T_1[3:0]; // @[package.scala 244:43]
  wire [5:0] _freeOH_T_4 = {_freeOH_T_3, 2'h0}; // @[package.scala 244:48]
  wire [3:0] _freeOH_T_6 = _freeOH_T_3 | _freeOH_T_4[3:0]; // @[package.scala 244:43]
  wire [4:0] _freeOH_T_8 = {_freeOH_T_6, 1'h0}; // @[ListBuffer.scala 52:32]
  wire [4:0] _freeOH_T_9 = ~_freeOH_T_8; // @[ListBuffer.scala 52:16]
  wire [4:0] _GEN_41 = {{1'd0}, _freeOH_T}; // @[ListBuffer.scala 52:38]
  wire [4:0] freeOH = _freeOH_T_9 & _GEN_41; // @[ListBuffer.scala 52:38]
  wire  freeIdx_hi = freeOH[4]; // @[OneHot.scala 30:18]
  wire [3:0] freeIdx_lo = freeOH[3:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T = |freeIdx_hi; // @[OneHot.scala 32:14]
  wire [3:0] _GEN_42 = {{3'd0}, freeIdx_hi}; // @[OneHot.scala 32:28]
  wire [3:0] _freeIdx_T_1 = _GEN_42 | freeIdx_lo; // @[OneHot.scala 32:28]
  wire [1:0] freeIdx_hi_1 = _freeIdx_T_1[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] freeIdx_lo_1 = _freeIdx_T_1[1:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_2 = |freeIdx_hi_1; // @[OneHot.scala 32:14]
  wire [1:0] _freeIdx_T_3 = freeIdx_hi_1 | freeIdx_lo_1; // @[OneHot.scala 32:28]
  wire [2:0] freeIdx = {_freeIdx_T,_freeIdx_T_2,_freeIdx_T_3[1]}; // @[Cat.scala 33:92]
  wire [1:0] _push_valid_T = valid >> io_push_bits_index; // @[ListBuffer.scala 61:25]
  wire  push_valid = _push_valid_T[0]; // @[ListBuffer.scala 61:25]
  wire  _T = io_push_ready & io_push_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _valid_set_T = 2'h1 << io_push_bits_index; // @[OneHot.scala 64:12]
  wire  _GEN_7 = push_valid ? 1'h0 : 1'h1; // @[ListBuffer.scala 46:18 68:23]
  wire [1:0] valid_set = _T ? _valid_set_T : 2'h0; // @[ListBuffer.scala 64:25 65:15]
  wire [4:0] _GEN_11 = _T ? freeOH : 5'h0; // @[ListBuffer.scala 64:25 66:14]
  wire  _GEN_20 = _T & push_valid; // @[ListBuffer.scala 49:18 64:25]
  wire [1:0] _T_3 = io_valid >> io_pop_bits; // @[ListBuffer.scala 84:39]
  wire [1:0] used_clr_shiftAmount = head_pop_head_data; // @[OneHot.scala 63:49]
  wire [3:0] _used_clr_T = 4'h1 << used_clr_shiftAmount; // @[OneHot.scala 64:12]
  wire [1:0] _valid_clr_T = 2'h1 << io_pop_bits; // @[OneHot.scala 64:12]
  wire [1:0] _GEN_30 = head_pop_head_data == tail_MPORT_4_data ? _valid_clr_T : 2'h0; // @[ListBuffer.scala 88:48 89:17]
  wire [2:0] _T_14 = _GEN_20 & tail_push_tail_data == head_pop_head_data ? freeIdx : {{1'd0}, next_MPORT_5_data}; // @[ListBuffer.scala 91:32]
  wire [3:0] used_clr = io_pop_valid ? _used_clr_T : 4'h0; // @[ListBuffer.scala 86:24 87:14]
  wire [1:0] valid_clr = io_pop_valid ? _GEN_30 : 2'h0; // @[ListBuffer.scala 86:24]
  wire [3:0] _used_T = ~used_clr; // @[ListBuffer.scala 96:23]
  wire [3:0] _used_T_1 = used & _used_T; // @[ListBuffer.scala 96:21]
  wire [3:0] used_set = _GEN_11[3:0];
  wire [3:0] _used_T_2 = _used_T_1 | used_set; // @[ListBuffer.scala 96:35]
  wire [1:0] _valid_T = ~valid_clr; // @[ListBuffer.scala 97:23]
  wire [1:0] _valid_T_1 = valid & _valid_T; // @[ListBuffer.scala 97:21]
  wire [1:0] _valid_T_2 = _valid_T_1 | valid_set; // @[ListBuffer.scala 97:35]
  assign head_pop_head_en = 1'h1;
  assign head_pop_head_addr = io_pop_bits;
  assign head_pop_head_data = head[head_pop_head_addr]; // @[ListBuffer.scala 46:18]
  assign head_MPORT_2_data = freeIdx[1:0];
  assign head_MPORT_2_addr = io_push_bits_index;
  assign head_MPORT_2_mask = 1'h1;
  assign head_MPORT_2_en = _T & _GEN_7;
  assign head_MPORT_6_data = _T_14[1:0];
  assign head_MPORT_6_addr = io_pop_bits;
  assign head_MPORT_6_mask = 1'h1;
  assign head_MPORT_6_en = io_pop_valid;
  assign tail_push_tail_en = 1'h1;
  assign tail_push_tail_addr = io_push_bits_index;
  assign tail_push_tail_data = tail[tail_push_tail_addr]; // @[ListBuffer.scala 47:18]
  assign tail_MPORT_4_en = io_pop_valid;
  assign tail_MPORT_4_addr = io_pop_bits;
  assign tail_MPORT_4_data = tail[tail_MPORT_4_addr]; // @[ListBuffer.scala 47:18]
  assign tail_MPORT_3_data = freeIdx[1:0];
  assign tail_MPORT_3_addr = io_push_bits_index;
  assign tail_MPORT_3_mask = 1'h1;
  assign tail_MPORT_3_en = io_push_ready & io_push_valid;
  assign next_MPORT_5_en = io_pop_valid;
  assign next_MPORT_5_addr = head_pop_head_data;
  assign next_MPORT_5_data = next[next_MPORT_5_addr]; // @[ListBuffer.scala 49:18]
  assign next_MPORT_1_data = freeIdx[1:0];
  assign next_MPORT_1_addr = tail_push_tail_data;
  assign next_MPORT_1_mask = 1'h1;
  assign next_MPORT_1_en = _T & push_valid;
  assign data_data_io_data_MPORT_en = 1'h1;
  assign data_data_io_data_MPORT_addr = head_pop_head_data;
  assign data_data_io_data_MPORT_data = data_data[data_data_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  assign data_data_MPORT_data = io_push_bits_data_data;
  assign data_data_MPORT_addr = freeIdx[1:0];
  assign data_data_MPORT_mask = 1'h1;
  assign data_data_MPORT_en = io_push_ready & io_push_valid;
  assign data_corrupt_io_data_MPORT_en = 1'h1;
  assign data_corrupt_io_data_MPORT_addr = head_pop_head_data;
  assign data_corrupt_io_data_MPORT_data = data_corrupt[data_corrupt_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  assign data_corrupt_MPORT_data = io_push_bits_data_corrupt;
  assign data_corrupt_MPORT_addr = freeIdx[1:0];
  assign data_corrupt_MPORT_mask = 1'h1;
  assign data_corrupt_MPORT_en = io_push_ready & io_push_valid;
  assign io_push_ready = ~(&used); // @[ListBuffer.scala 63:20]
  assign io_valid = valid; // @[ListBuffer.scala 81:12]
  assign io_data_data = data_data_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_corrupt = data_corrupt_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  always @(posedge clock) begin
    if (head_MPORT_2_en & head_MPORT_2_mask) begin
      head[head_MPORT_2_addr] <= head_MPORT_2_data; // @[ListBuffer.scala 46:18]
    end
    if (head_MPORT_6_en & head_MPORT_6_mask) begin
      head[head_MPORT_6_addr] <= head_MPORT_6_data; // @[ListBuffer.scala 46:18]
    end
    if (tail_MPORT_3_en & tail_MPORT_3_mask) begin
      tail[tail_MPORT_3_addr] <= tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
    end
    if (next_MPORT_1_en & next_MPORT_1_mask) begin
      next[next_MPORT_1_addr] <= next_MPORT_1_data; // @[ListBuffer.scala 49:18]
    end
    if (data_data_MPORT_en & data_data_MPORT_mask) begin
      data_data[data_data_MPORT_addr] <= data_data_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_corrupt_MPORT_en & data_corrupt_MPORT_mask) begin
      data_corrupt[data_corrupt_MPORT_addr] <= data_corrupt_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (reset) begin // @[ListBuffer.scala 45:22]
      valid <= 2'h0; // @[ListBuffer.scala 45:22]
    end else begin
      valid <= _valid_T_2;
    end
    if (reset) begin // @[ListBuffer.scala 48:22]
      used <= 4'h0; // @[ListBuffer.scala 48:22]
    end else begin
      used <= _used_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_pop_valid | _T_3[0])) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at ListBuffer.scala:84 assert (!io.pop.fire() || (io.valid)(io.pop.bits))\n"); // @[ListBuffer.scala 84:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_pop_valid | _T_3[0]) & ~reset) begin
          $fatal; // @[ListBuffer.scala 84:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    head[initvar] = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    tail[initvar] = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    next[initvar] = _RAND_2[1:0];
  _RAND_3 = {2{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    data_data[initvar] = _RAND_3[63:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 4; initvar = initvar+1)
    data_corrupt[initvar] = _RAND_4[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  valid = _RAND_5[1:0];
  _RAND_6 = {1{`RANDOM}};
  used = _RAND_6[3:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SinkC(
  input         clock,
  input         reset,
  input         io_req_ready,
  output        io_req_valid,
  output [2:0]  io_req_bits_opcode,
  output [2:0]  io_req_bits_param,
  output [2:0]  io_req_bits_size,
  output [2:0]  io_req_bits_source,
  output [24:0] io_req_bits_tag,
  output [3:0]  io_req_bits_offset,
  output [5:0]  io_req_bits_put,
  output [2:0]  io_req_bits_set,
  output        io_resp_valid,
  output        io_resp_bits_last,
  output [2:0]  io_resp_bits_set,
  output [24:0] io_resp_bits_tag,
  output [2:0]  io_resp_bits_source,
  output [2:0]  io_resp_bits_param,
  output        io_resp_bits_data,
  output        io_c_ready,
  input         io_c_valid,
  input  [2:0]  io_c_bits_opcode,
  input  [2:0]  io_c_bits_param,
  input  [2:0]  io_c_bits_size,
  input  [31:0] io_c_bits_address,
  input  [63:0] io_c_bits_data,
  input         io_c_bits_corrupt,
  output [2:0]  io_set,
  input         io_way,
  input         io_bs_adr_ready,
  output        io_bs_adr_valid,
  output        io_bs_adr_bits_noop,
  output        io_bs_adr_bits_way,
  output [2:0]  io_bs_adr_bits_set,
  output        io_bs_adr_bits_beat,
  output        io_bs_adr_bits_mask,
  output [63:0] io_bs_dat_data,
  output        io_rel_pop_ready,
  input         io_rel_pop_valid,
  input  [5:0]  io_rel_pop_bits_index,
  input         io_rel_pop_bits_last,
  output [63:0] io_rel_beat_data,
  output        io_rel_beat_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [63:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  wire  c_clock; // @[Decoupled.scala 377:21]
  wire  c_reset; // @[Decoupled.scala 377:21]
  wire  c_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  c_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire [31:0] c_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire [63:0] c_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  c_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  c_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  c_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire [2:0] c_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] c_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [63:0] c_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  c_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_clock; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_reset; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_enq_bits_noop; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_enq_bits_way; // @[Decoupled.scala 377:21]
  wire [2:0] io_bs_adr_q_io_enq_bits_set; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_enq_bits_beat; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_bits_noop; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_bits_way; // @[Decoupled.scala 377:21]
  wire [2:0] io_bs_adr_q_io_deq_bits_set; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_bits_beat; // @[Decoupled.scala 377:21]
  wire  io_bs_adr_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire  putbuffer_clock; // @[SinkC.scala 109:27]
  wire  putbuffer_reset; // @[SinkC.scala 109:27]
  wire  putbuffer_io_push_ready; // @[SinkC.scala 109:27]
  wire  putbuffer_io_push_valid; // @[SinkC.scala 109:27]
  wire  putbuffer_io_push_bits_index; // @[SinkC.scala 109:27]
  wire [63:0] putbuffer_io_push_bits_data_data; // @[SinkC.scala 109:27]
  wire  putbuffer_io_push_bits_data_corrupt; // @[SinkC.scala 109:27]
  wire [1:0] putbuffer_io_valid; // @[SinkC.scala 109:27]
  wire  putbuffer_io_pop_valid; // @[SinkC.scala 109:27]
  wire  putbuffer_io_pop_bits; // @[SinkC.scala 109:27]
  wire [63:0] putbuffer_io_data_data; // @[SinkC.scala 109:27]
  wire  putbuffer_io_data_corrupt; // @[SinkC.scala 109:27]
  wire [7:0] offset_lo_lo = {c_io_deq_bits_address[7],c_io_deq_bits_address[6],c_io_deq_bits_address[5],
    c_io_deq_bits_address[4],c_io_deq_bits_address[3],c_io_deq_bits_address[2],c_io_deq_bits_address[1],
    c_io_deq_bits_address[0]}; // @[Cat.scala 33:92]
  wire [15:0] offset_lo = {c_io_deq_bits_address[15],c_io_deq_bits_address[14],c_io_deq_bits_address[13],
    c_io_deq_bits_address[12],c_io_deq_bits_address[11],c_io_deq_bits_address[10],c_io_deq_bits_address[9],
    c_io_deq_bits_address[8],offset_lo_lo}; // @[Cat.scala 33:92]
  wire [7:0] offset_hi_lo = {c_io_deq_bits_address[23],c_io_deq_bits_address[22],c_io_deq_bits_address[21],
    c_io_deq_bits_address[20],c_io_deq_bits_address[19],c_io_deq_bits_address[18],c_io_deq_bits_address[17],
    c_io_deq_bits_address[16]}; // @[Cat.scala 33:92]
  wire [31:0] offset = {c_io_deq_bits_address[31],c_io_deq_bits_address[30],c_io_deq_bits_address[29],
    c_io_deq_bits_address[28],c_io_deq_bits_address[27],c_io_deq_bits_address[26],c_io_deq_bits_address[25],
    c_io_deq_bits_address[24],offset_hi_lo,offset_lo}; // @[Cat.scala 33:92]
  wire [27:0] set = offset[31:4]; // @[Parameters.scala 212:22]
  wire [2:0] set_1 = set[2:0]; // @[Parameters.scala 214:28]
  wire  _T = c_io_deq_ready & c_io_deq_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _beats1_decode_T_1 = 11'hf << c_io_deq_bits_size; // @[package.scala 234:77]
  wire [3:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beats1_decode = _beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = c_io_deq_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  beats1 = beats1_opdata & beats1_decode; // @[Edges.scala 220:14]
  reg  counter; // @[Edges.scala 228:27]
  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
  wire  first = ~counter; // @[Edges.scala 230:25]
  wire  last = counter | ~beats1; // @[Edges.scala 231:37]
  wire  beat = beats1 & ~counter1; // @[Edges.scala 233:25]
  wire  raw_resp = c_io_deq_bits_opcode == 3'h4 | c_io_deq_bits_opcode == 3'h5; // @[SinkC.scala 72:58]
  reg  resp_r; // @[Reg.scala 19:16]
  wire  _GEN_1 = c_io_deq_valid ? raw_resp : resp_r; // @[Reg.scala 19:16 20:{18,22}]
  reg [2:0] io_set_r; // @[Reg.scala 19:16]
  wire  bs_adr_ready = io_bs_adr_q_io_enq_ready; // @[Decoupled.scala 381:17 SinkC.scala 90:22]
  wire  bs_adr_valid = _GEN_1 & (~first | c_io_deq_valid & beats1_opdata); // @[SinkC.scala 93:30]
  wire  _io_bs_dat_data_T = bs_adr_ready & bs_adr_valid; // @[Decoupled.scala 52:35]
  reg [63:0] io_bs_dat_data_r; // @[Reg.scala 19:16]
  wire  _bs_adr_bits_beat_T_1 = beat + bs_adr_ready; // @[SinkC.scala 97:59]
  reg  bs_adr_bits_beat_r; // @[Reg.scala 19:16]
  wire  _io_resp_valid_T_4 = ~beats1_opdata | bs_adr_ready; // @[SinkC.scala 101:70]
  reg [1:0] lists; // @[SinkC.scala 110:24]
  wire  _T_18 = ~_GEN_1 & c_io_deq_valid; // @[SinkC.scala 132:17]
  wire  _T_19 = ~_GEN_1 & c_io_deq_valid & first; // @[SinkC.scala 132:28]
  wire  req_block = first & ~io_req_ready; // @[SinkC.scala 120:27]
  wire  _T_21 = ~req_block; // @[SinkC.scala 132:51]
  wire  buf_block = beats1_opdata & ~putbuffer_io_push_ready; // @[SinkC.scala 121:29]
  wire  _T_23 = ~buf_block; // @[SinkC.scala 132:65]
  wire [1:0] _freeOH_T = ~lists; // @[SinkC.scala 117:27]
  wire [2:0] _freeOH_T_1 = {_freeOH_T, 1'h0}; // @[package.scala 244:48]
  wire [1:0] _freeOH_T_3 = _freeOH_T | _freeOH_T_1[1:0]; // @[package.scala 244:43]
  wire [2:0] _freeOH_T_5 = {_freeOH_T_3, 1'h0}; // @[SinkC.scala 117:35]
  wire [2:0] _freeOH_T_6 = ~_freeOH_T_5; // @[SinkC.scala 117:18]
  wire [2:0] _GEN_8 = {{1'd0}, _freeOH_T}; // @[SinkC.scala 117:41]
  wire [2:0] freeOH = _freeOH_T_6 & _GEN_8; // @[SinkC.scala 117:41]
  wire [2:0] _GEN_5 = ~_GEN_1 & c_io_deq_valid & first & beats1_opdata & ~req_block & ~buf_block ? freeOH : 3'h0; // @[SinkC.scala 132:{77,89}]
  wire [1:0] lists_set = _GEN_5[1:0];
  wire [1:0] _lists_T = lists | lists_set; // @[SinkC.scala 114:21]
  wire  _T_25 = io_rel_pop_ready & io_rel_pop_valid; // @[Decoupled.scala 52:35]
  wire  lists_clr_shiftAmount = io_rel_pop_bits_index[0]; // @[OneHot.scala 63:49]
  wire [1:0] _lists_clr_T = 2'h1 << lists_clr_shiftAmount; // @[OneHot.scala 64:12]
  wire [1:0] lists_clr = _T_25 & io_rel_pop_bits_last ? _lists_clr_T : 2'h0; // @[SinkC.scala 157:54 158:17]
  wire [1:0] _lists_T_1 = ~lists_clr; // @[SinkC.scala 114:36]
  wire [1:0] _lists_T_2 = _lists_T & _lists_T_1; // @[SinkC.scala 114:34]
  wire  free = ~(&lists); // @[SinkC.scala 116:16]
  wire  freeIdx_hi = freeOH[2]; // @[OneHot.scala 30:18]
  wire [1:0] freeIdx_lo = freeOH[1:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T = |freeIdx_hi; // @[OneHot.scala 32:14]
  wire [1:0] _GEN_9 = {{1'd0}, freeIdx_hi}; // @[OneHot.scala 32:28]
  wire [1:0] _freeIdx_T_1 = _GEN_9 | freeIdx_lo; // @[OneHot.scala 32:28]
  wire [1:0] freeIdx = {_freeIdx_T,_freeIdx_T_1[1]}; // @[Cat.scala 33:92]
  wire  set_block = beats1_opdata & first & ~free; // @[SinkC.scala 122:38]
  wire  _c_io_deq_ready_T_5 = ~set_block; // @[SinkC.scala 128:84]
  reg [1:0] put_r; // @[Reg.scala 19:16]
  wire [1:0] _GEN_6 = first ? freeIdx : put_r; // @[Reg.scala 19:16 20:{18,22}]
  wire [1:0] _io_rel_pop_ready_T = putbuffer_io_valid >> io_rel_pop_bits_index; // @[SinkC.scala 154:43]
  Queue_26 c ( // @[Decoupled.scala 377:21]
    .clock(c_clock),
    .reset(c_reset),
    .io_enq_ready(c_io_enq_ready),
    .io_enq_valid(c_io_enq_valid),
    .io_enq_bits_opcode(c_io_enq_bits_opcode),
    .io_enq_bits_param(c_io_enq_bits_param),
    .io_enq_bits_size(c_io_enq_bits_size),
    .io_enq_bits_address(c_io_enq_bits_address),
    .io_enq_bits_data(c_io_enq_bits_data),
    .io_enq_bits_corrupt(c_io_enq_bits_corrupt),
    .io_deq_ready(c_io_deq_ready),
    .io_deq_valid(c_io_deq_valid),
    .io_deq_bits_opcode(c_io_deq_bits_opcode),
    .io_deq_bits_param(c_io_deq_bits_param),
    .io_deq_bits_size(c_io_deq_bits_size),
    .io_deq_bits_source(c_io_deq_bits_source),
    .io_deq_bits_address(c_io_deq_bits_address),
    .io_deq_bits_data(c_io_deq_bits_data),
    .io_deq_bits_corrupt(c_io_deq_bits_corrupt)
  );
  Queue_27 io_bs_adr_q ( // @[Decoupled.scala 377:21]
    .clock(io_bs_adr_q_clock),
    .reset(io_bs_adr_q_reset),
    .io_enq_ready(io_bs_adr_q_io_enq_ready),
    .io_enq_valid(io_bs_adr_q_io_enq_valid),
    .io_enq_bits_noop(io_bs_adr_q_io_enq_bits_noop),
    .io_enq_bits_way(io_bs_adr_q_io_enq_bits_way),
    .io_enq_bits_set(io_bs_adr_q_io_enq_bits_set),
    .io_enq_bits_beat(io_bs_adr_q_io_enq_bits_beat),
    .io_deq_ready(io_bs_adr_q_io_deq_ready),
    .io_deq_valid(io_bs_adr_q_io_deq_valid),
    .io_deq_bits_noop(io_bs_adr_q_io_deq_bits_noop),
    .io_deq_bits_way(io_bs_adr_q_io_deq_bits_way),
    .io_deq_bits_set(io_bs_adr_q_io_deq_bits_set),
    .io_deq_bits_beat(io_bs_adr_q_io_deq_bits_beat),
    .io_deq_bits_mask(io_bs_adr_q_io_deq_bits_mask)
  );
  ListBuffer_1 putbuffer ( // @[SinkC.scala 109:27]
    .clock(putbuffer_clock),
    .reset(putbuffer_reset),
    .io_push_ready(putbuffer_io_push_ready),
    .io_push_valid(putbuffer_io_push_valid),
    .io_push_bits_index(putbuffer_io_push_bits_index),
    .io_push_bits_data_data(putbuffer_io_push_bits_data_data),
    .io_push_bits_data_corrupt(putbuffer_io_push_bits_data_corrupt),
    .io_valid(putbuffer_io_valid),
    .io_pop_valid(putbuffer_io_pop_valid),
    .io_pop_bits(putbuffer_io_pop_bits),
    .io_data_data(putbuffer_io_data_data),
    .io_data_corrupt(putbuffer_io_data_corrupt)
  );
  assign io_req_valid = _T_19 & _T_23 & _c_io_deq_ready_T_5; // @[SinkC.scala 130:61]
  assign io_req_bits_opcode = c_io_deq_bits_opcode; // @[SinkC.scala 138:24]
  assign io_req_bits_param = c_io_deq_bits_param; // @[SinkC.scala 139:24]
  assign io_req_bits_size = c_io_deq_bits_size; // @[SinkC.scala 140:24]
  assign io_req_bits_source = c_io_deq_bits_source; // @[SinkC.scala 141:24]
  assign io_req_bits_tag = set[27:3]; // @[Parameters.scala 213:19]
  assign io_req_bits_offset = offset[3:0]; // @[Parameters.scala 214:50]
  assign io_req_bits_put = {{4'd0}, _GEN_6}; // @[SinkC.scala 145:24]
  assign io_req_bits_set = set[2:0]; // @[Parameters.scala 214:28]
  assign io_resp_valid = _GEN_1 & c_io_deq_valid & (first | last) & (~beats1_opdata | bs_adr_ready); // @[SinkC.scala 101:57]
  assign io_resp_bits_last = counter | ~beats1; // @[Edges.scala 231:37]
  assign io_resp_bits_set = set[2:0]; // @[Parameters.scala 214:28]
  assign io_resp_bits_tag = set[27:3]; // @[Parameters.scala 213:19]
  assign io_resp_bits_source = c_io_deq_bits_source; // @[SinkC.scala 105:25]
  assign io_resp_bits_param = c_io_deq_bits_param; // @[SinkC.scala 106:25]
  assign io_resp_bits_data = c_io_deq_bits_opcode[0]; // @[Edges.scala 101:36]
  assign io_c_ready = c_io_enq_ready; // @[Decoupled.scala 381:17]
  assign io_set = c_io_deq_valid ? set_1 : io_set_r; // @[SinkC.scala 86:18]
  assign io_bs_adr_valid = io_bs_adr_q_io_deq_valid; // @[SinkC.scala 91:15]
  assign io_bs_adr_bits_noop = io_bs_adr_q_io_deq_bits_noop; // @[SinkC.scala 91:15]
  assign io_bs_adr_bits_way = io_bs_adr_q_io_deq_bits_way; // @[SinkC.scala 91:15]
  assign io_bs_adr_bits_set = io_bs_adr_q_io_deq_bits_set; // @[SinkC.scala 91:15]
  assign io_bs_adr_bits_beat = io_bs_adr_q_io_deq_bits_beat; // @[SinkC.scala 91:15]
  assign io_bs_adr_bits_mask = io_bs_adr_q_io_deq_bits_mask; // @[SinkC.scala 91:15]
  assign io_bs_dat_data = io_bs_dat_data_r; // @[SinkC.scala 92:22]
  assign io_rel_pop_ready = _io_rel_pop_ready_T[0]; // @[SinkC.scala 154:43]
  assign io_rel_beat_data = putbuffer_io_data_data; // @[SinkC.scala 155:17]
  assign io_rel_beat_corrupt = putbuffer_io_data_corrupt; // @[SinkC.scala 155:17]
  assign c_clock = clock;
  assign c_reset = reset;
  assign c_io_enq_valid = io_c_valid; // @[Decoupled.scala 379:22]
  assign c_io_enq_bits_opcode = io_c_bits_opcode; // @[Decoupled.scala 380:21]
  assign c_io_enq_bits_param = io_c_bits_param; // @[Decoupled.scala 380:21]
  assign c_io_enq_bits_size = io_c_bits_size; // @[Decoupled.scala 380:21]
  assign c_io_enq_bits_address = io_c_bits_address; // @[Decoupled.scala 380:21]
  assign c_io_enq_bits_data = io_c_bits_data; // @[Decoupled.scala 380:21]
  assign c_io_enq_bits_corrupt = io_c_bits_corrupt; // @[Decoupled.scala 380:21]
  assign c_io_deq_ready = raw_resp ? _io_resp_valid_T_4 : _T_21 & _T_23 & ~set_block; // @[SinkC.scala 128:19]
  assign io_bs_adr_q_clock = clock;
  assign io_bs_adr_q_reset = reset;
  assign io_bs_adr_q_io_enq_valid = _GEN_1 & (~first | c_io_deq_valid & beats1_opdata); // @[SinkC.scala 93:30]
  assign io_bs_adr_q_io_enq_bits_noop = ~c_io_deq_valid; // @[SinkC.scala 94:25]
  assign io_bs_adr_q_io_enq_bits_way = io_way; // @[SinkC.scala 90:22 95:22]
  assign io_bs_adr_q_io_enq_bits_set = io_set; // @[SinkC.scala 90:22 96:22]
  assign io_bs_adr_q_io_enq_bits_beat = c_io_deq_valid ? beat : bs_adr_bits_beat_r; // @[SinkC.scala 97:28]
  assign io_bs_adr_q_io_deq_ready = io_bs_adr_ready; // @[SinkC.scala 91:15]
  assign putbuffer_clock = clock;
  assign putbuffer_reset = reset;
  assign putbuffer_io_push_valid = _T_18 & beats1_opdata & _T_21 & _c_io_deq_ready_T_5; // @[SinkC.scala 131:74]
  assign putbuffer_io_push_bits_index = _GEN_6[0]; // @[SinkC.scala 147:34]
  assign putbuffer_io_push_bits_data_data = c_io_deq_bits_data; // @[SinkC.scala 148:41]
  assign putbuffer_io_push_bits_data_corrupt = c_io_deq_bits_corrupt; // @[SinkC.scala 149:41]
  assign putbuffer_io_pop_valid = io_rel_pop_ready & io_rel_pop_valid; // @[Decoupled.scala 52:35]
  assign putbuffer_io_pop_bits = io_rel_pop_bits_index[0]; // @[SinkC.scala 152:27]
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        counter <= beats1;
      end else begin
        counter <= counter1;
      end
    end
    if (c_io_deq_valid) begin // @[Reg.scala 20:18]
      resp_r <= raw_resp; // @[Reg.scala 20:22]
    end
    if (c_io_deq_valid) begin // @[Reg.scala 20:18]
      io_set_r <= set_1; // @[Reg.scala 20:22]
    end
    if (_io_bs_dat_data_T) begin // @[Reg.scala 20:18]
      io_bs_dat_data_r <= c_io_deq_bits_data; // @[Reg.scala 20:22]
    end
    if (c_io_deq_valid) begin // @[Reg.scala 20:18]
      bs_adr_bits_beat_r <= _bs_adr_bits_beat_T_1; // @[Reg.scala 20:22]
    end
    if (reset) begin // @[SinkC.scala 110:24]
      lists <= 2'h0; // @[SinkC.scala 110:24]
    end else begin
      lists <= _lists_T_2; // @[SinkC.scala 114:11]
    end
    if (first) begin // @[Reg.scala 20:18]
      put_r <= freeIdx; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(c_io_deq_valid & c_io_deq_bits_corrupt))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Data poisoning unavailable\n    at SinkC.scala:84 assert (!(c.valid && c.bits.corrupt), \"Data poisoning unavailable\")\n"
            ); // @[SinkC.scala 84:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(c_io_deq_valid & c_io_deq_bits_corrupt)) & ~reset) begin
          $fatal; // @[SinkC.scala 84:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  resp_r = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  io_set_r = _RAND_2[2:0];
  _RAND_3 = {2{`RANDOM}};
  io_bs_dat_data_r = _RAND_3[63:0];
  _RAND_4 = {1{`RANDOM}};
  bs_adr_bits_beat_r = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  lists = _RAND_5[1:0];
  _RAND_6 = {1{`RANDOM}};
  put_r = _RAND_6[1:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_28(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [1:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input  [4:0]  io_enq_bits_source,
  input  [2:0]  io_enq_bits_sink,
  input         io_enq_bits_denied,
  input  [63:0] io_enq_bits_data,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [1:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [4:0]  io_deq_bits_source,
  output [2:0]  io_deq_bits_sink,
  output        io_deq_bits_denied,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [63:0] _RAND_6;
  reg [31:0] _RAND_7;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg [4:0] ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_sink [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_denied [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
  assign ram_sink_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_sink_MPORT_data = io_enq_bits_sink;
  assign ram_sink_MPORT_addr = enq_ptr_value;
  assign ram_sink_MPORT_mask = 1'h1;
  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
  assign ram_denied_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_denied_MPORT_data = io_enq_bits_denied;
  assign ram_denied_MPORT_addr = enq_ptr_value;
  assign ram_denied_MPORT_mask = 1'h1;
  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[4:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_sink[initvar] = _RAND_4[2:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_denied[initvar] = _RAND_5[0:0];
  _RAND_6 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_6[63:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_7[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  enq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  deq_ptr_value = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  maybe_full = _RAND_10[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SinkD(
  input         clock,
  input         reset,
  output        io_resp_valid,
  output        io_resp_bits_last,
  output [2:0]  io_resp_bits_opcode,
  output [2:0]  io_resp_bits_param,
  output [4:0]  io_resp_bits_source,
  output [2:0]  io_resp_bits_sink,
  output        io_resp_bits_denied,
  output        io_d_ready,
  input         io_d_valid,
  input  [2:0]  io_d_bits_opcode,
  input  [1:0]  io_d_bits_param,
  input  [2:0]  io_d_bits_size,
  input  [4:0]  io_d_bits_source,
  input  [2:0]  io_d_bits_sink,
  input         io_d_bits_denied,
  input  [63:0] io_d_bits_data,
  input         io_d_bits_corrupt,
  output [4:0]  io_source,
  input         io_way,
  input  [2:0]  io_set,
  input         io_bs_adr_ready,
  output        io_bs_adr_valid,
  output        io_bs_adr_bits_noop,
  output        io_bs_adr_bits_way,
  output [2:0]  io_bs_adr_bits_set,
  output        io_bs_adr_bits_beat,
  output [63:0] io_bs_dat_data,
  output [2:0]  io_grant_req_set,
  output        io_grant_req_way,
  input         io_grant_safe
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
`endif // RANDOMIZE_REG_INIT
  wire  d_clock; // @[Decoupled.scala 377:21]
  wire  d_reset; // @[Decoupled.scala 377:21]
  wire  d_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  d_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] d_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] d_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  d_io_enq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] d_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  d_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  d_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  d_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] d_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] d_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [2:0] d_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  wire  d_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] d_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  d_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  _T = d_io_deq_ready & d_io_deq_valid; // @[Decoupled.scala 52:35]
  wire [11:0] _beats1_decode_T_1 = 12'h1f << d_io_deq_bits_size; // @[package.scala 234:77]
  wire [4:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[4:0]; // @[package.scala 234:46]
  wire [1:0] beats1_decode = _beats1_decode_T_3[4:3]; // @[Edges.scala 219:59]
  wire  beats1_opdata = d_io_deq_bits_opcode[0]; // @[Edges.scala 105:36]
  wire [1:0] beats1 = beats1_opdata ? beats1_decode : 2'h0; // @[Edges.scala 220:14]
  reg [1:0] counter; // @[Edges.scala 228:27]
  wire [1:0] counter1 = counter - 2'h1; // @[Edges.scala 229:28]
  wire  first = counter == 2'h0; // @[Edges.scala 230:25]
  wire  last = counter == 2'h1 | beats1 == 2'h0; // @[Edges.scala 231:37]
  wire [1:0] _count_T = ~counter1; // @[Edges.scala 233:27]
  wire [1:0] beat = beats1 & _count_T; // @[Edges.scala 233:25]
  reg [4:0] io_source_r; // @[Reg.scala 19:16]
  wire  _d_io_deq_ready_T = ~first; // @[SinkD.scala 62:34]
  wire [1:0] _GEN_3 = {{1'd0}, io_bs_adr_ready}; // @[SinkD.scala 77:60]
  wire [1:0] _io_bs_adr_bits_beat_T_1 = beat + _GEN_3; // @[SinkD.scala 77:60]
  reg [1:0] io_bs_adr_bits_beat_r; // @[Reg.scala 19:16]
  wire [1:0] _io_bs_adr_bits_beat_T_2 = d_io_deq_valid ? beat : io_bs_adr_bits_beat_r; // @[SinkD.scala 77:29]
  Queue_28 d ( // @[Decoupled.scala 377:21]
    .clock(d_clock),
    .reset(d_reset),
    .io_enq_ready(d_io_enq_ready),
    .io_enq_valid(d_io_enq_valid),
    .io_enq_bits_opcode(d_io_enq_bits_opcode),
    .io_enq_bits_param(d_io_enq_bits_param),
    .io_enq_bits_size(d_io_enq_bits_size),
    .io_enq_bits_source(d_io_enq_bits_source),
    .io_enq_bits_sink(d_io_enq_bits_sink),
    .io_enq_bits_denied(d_io_enq_bits_denied),
    .io_enq_bits_data(d_io_enq_bits_data),
    .io_enq_bits_corrupt(d_io_enq_bits_corrupt),
    .io_deq_ready(d_io_deq_ready),
    .io_deq_valid(d_io_deq_valid),
    .io_deq_bits_opcode(d_io_deq_bits_opcode),
    .io_deq_bits_param(d_io_deq_bits_param),
    .io_deq_bits_size(d_io_deq_bits_size),
    .io_deq_bits_source(d_io_deq_bits_source),
    .io_deq_bits_sink(d_io_deq_bits_sink),
    .io_deq_bits_denied(d_io_deq_bits_denied),
    .io_deq_bits_data(d_io_deq_bits_data),
    .io_deq_bits_corrupt(d_io_deq_bits_corrupt)
  );
  assign io_resp_valid = (first | last) & _T; // @[SinkD.scala 61:36]
  assign io_resp_bits_last = counter == 2'h1 | beats1 == 2'h0; // @[Edges.scala 231:37]
  assign io_resp_bits_opcode = d_io_deq_bits_opcode; // @[SinkD.scala 68:23]
  assign io_resp_bits_param = {{1'd0}, d_io_deq_bits_param}; // @[SinkD.scala 69:23]
  assign io_resp_bits_source = d_io_deq_bits_source; // @[SinkD.scala 70:23]
  assign io_resp_bits_sink = d_io_deq_bits_sink; // @[SinkD.scala 71:23]
  assign io_resp_bits_denied = d_io_deq_bits_denied; // @[SinkD.scala 72:23]
  assign io_d_ready = d_io_enq_ready; // @[Decoupled.scala 381:17]
  assign io_source = d_io_deq_valid ? d_io_deq_bits_source : io_source_r; // @[SinkD.scala 56:19]
  assign io_bs_adr_valid = _d_io_deq_ready_T | d_io_deq_valid & io_grant_safe; // @[SinkD.scala 63:29]
  assign io_bs_adr_bits_noop = ~d_io_deq_valid | ~beats1_opdata; // @[SinkD.scala 74:35]
  assign io_bs_adr_bits_way = io_way; // @[SinkD.scala 75:23]
  assign io_bs_adr_bits_set = io_set; // @[SinkD.scala 76:23]
  assign io_bs_adr_bits_beat = _io_bs_adr_bits_beat_T_2[0]; // @[SinkD.scala 77:23]
  assign io_bs_dat_data = d_io_deq_bits_data; // @[SinkD.scala 79:23]
  assign io_grant_req_set = io_set; // @[SinkD.scala 58:20]
  assign io_grant_req_way = io_way; // @[SinkD.scala 57:20]
  assign d_clock = clock;
  assign d_reset = reset;
  assign d_io_enq_valid = io_d_valid; // @[Decoupled.scala 379:22]
  assign d_io_enq_bits_opcode = io_d_bits_opcode; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_param = io_d_bits_param; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_size = io_d_bits_size; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_source = io_d_bits_source; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_sink = io_d_bits_sink; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_denied = io_d_bits_denied; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_data = io_d_bits_data; // @[Decoupled.scala 380:21]
  assign d_io_enq_bits_corrupt = io_d_bits_corrupt; // @[Decoupled.scala 380:21]
  assign d_io_deq_ready = io_bs_adr_ready & (~first | io_grant_safe); // @[SinkD.scala 62:30]
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_T) begin // @[Edges.scala 234:17]
      if (first) begin // @[Edges.scala 235:21]
        if (beats1_opdata) begin // @[Edges.scala 220:14]
          counter <= beats1_decode;
        end else begin
          counter <= 2'h0;
        end
      end else begin
        counter <= counter1;
      end
    end
    if (d_io_deq_valid) begin // @[Reg.scala 20:18]
      io_source_r <= d_io_deq_bits_source; // @[Reg.scala 20:22]
    end
    if (d_io_deq_valid) begin // @[Reg.scala 20:18]
      io_bs_adr_bits_beat_r <= _io_bs_adr_bits_beat_T_1; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~(d_io_deq_valid & d_io_deq_bits_corrupt & ~d_io_deq_bits_denied))) begin
          $fwrite(32'h80000002,
            "Assertion failed: Data poisoning unsupported\n    at SinkD.scala:81 assert (!(d.valid && d.bits.corrupt && !d.bits.denied), \"Data poisoning unsupported\")\n"
            ); // @[SinkD.scala 81:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(d_io_deq_valid & d_io_deq_bits_corrupt & ~d_io_deq_bits_denied)) & ~reset) begin
          $fatal; // @[SinkD.scala 81:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  counter = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  io_source_r = _RAND_1[4:0];
  _RAND_2 = {1{`RANDOM}};
  io_bs_adr_bits_beat_r = _RAND_2[1:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module SinkE(
  output       io_resp_valid,
  output [4:0] io_resp_bits_sink,
  input        io_e_valid,
  input  [4:0] io_e_bits_sink
);
  assign io_resp_valid = io_e_valid; // @[SinkE.scala 44:19]
  assign io_resp_bits_sink = io_e_bits_sink; // @[SinkE.scala 45:23]
endmodule
module Queue_30(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_set,
  input         io_enq_bits_way,
  input         io_enq_bits_data_dirty,
  input  [1:0]  io_enq_bits_data_state,
  input         io_enq_bits_data_clients,
  input  [24:0] io_enq_bits_data_tag,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_set,
  output        io_deq_bits_way,
  output        io_deq_bits_data_dirty,
  output [1:0]  io_deq_bits_data_state,
  output        io_deq_bits_data_clients,
  output [24:0] io_deq_bits_data_tag
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_set [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_set_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_set_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_set_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_set_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_set_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_way [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_way_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_way_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_data_dirty [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_dirty_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] ram_data_state [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_data_state_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_state_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [1:0] ram_data_state_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_data_state_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_state_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_state_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_state_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_data_clients [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_clients_MPORT_en; // @[Decoupled.scala 275:95]
  reg [24:0] ram_data_tag [0:0]; // @[Decoupled.scala 275:95]
  wire  ram_data_tag_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_tag_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [24:0] ram_data_tag_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [24:0] ram_data_tag_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_tag_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_tag_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_tag_MPORT_en; // @[Decoupled.scala 275:95]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  empty = ~maybe_full; // @[Decoupled.scala 280:28]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_set_io_deq_bits_MPORT_en = 1'h1;
  assign ram_set_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_set_io_deq_bits_MPORT_data = ram_set[ram_set_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_set_MPORT_data = io_enq_bits_set;
  assign ram_set_MPORT_addr = 1'h0;
  assign ram_set_MPORT_mask = 1'h1;
  assign ram_set_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_way_io_deq_bits_MPORT_en = 1'h1;
  assign ram_way_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_way_io_deq_bits_MPORT_data = ram_way[ram_way_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_way_MPORT_data = io_enq_bits_way;
  assign ram_way_MPORT_addr = 1'h0;
  assign ram_way_MPORT_mask = 1'h1;
  assign ram_way_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_dirty_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_dirty_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_data_dirty_io_deq_bits_MPORT_data = ram_data_dirty[ram_data_dirty_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_dirty_MPORT_data = io_enq_bits_data_dirty;
  assign ram_data_dirty_MPORT_addr = 1'h0;
  assign ram_data_dirty_MPORT_mask = 1'h1;
  assign ram_data_dirty_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_state_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_state_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_data_state_io_deq_bits_MPORT_data = ram_data_state[ram_data_state_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_state_MPORT_data = io_enq_bits_data_state;
  assign ram_data_state_MPORT_addr = 1'h0;
  assign ram_data_state_MPORT_mask = 1'h1;
  assign ram_data_state_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_clients_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_clients_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_data_clients_io_deq_bits_MPORT_data = ram_data_clients[ram_data_clients_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_clients_MPORT_data = io_enq_bits_data_clients;
  assign ram_data_clients_MPORT_addr = 1'h0;
  assign ram_data_clients_MPORT_mask = 1'h1;
  assign ram_data_clients_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_tag_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_tag_io_deq_bits_MPORT_addr = 1'h0;
  assign ram_data_tag_io_deq_bits_MPORT_data = ram_data_tag[ram_data_tag_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_tag_MPORT_data = io_enq_bits_data_tag;
  assign ram_data_tag_MPORT_addr = 1'h0;
  assign ram_data_tag_MPORT_mask = 1'h1;
  assign ram_data_tag_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_set = ram_set_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_way = ram_way_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data_dirty = ram_data_dirty_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data_state = ram_data_state_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data_clients = ram_data_clients_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data_tag = ram_data_tag_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_set_MPORT_en & ram_set_MPORT_mask) begin
      ram_set[ram_set_MPORT_addr] <= ram_set_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_way_MPORT_en & ram_way_MPORT_mask) begin
      ram_way[ram_way_MPORT_addr] <= ram_way_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_dirty_MPORT_en & ram_data_dirty_MPORT_mask) begin
      ram_data_dirty[ram_data_dirty_MPORT_addr] <= ram_data_dirty_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_state_MPORT_en & ram_data_state_MPORT_mask) begin
      ram_data_state[ram_data_state_MPORT_addr] <= ram_data_state_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_clients_MPORT_en & ram_data_clients_MPORT_mask) begin
      ram_data_clients[ram_data_clients_MPORT_addr] <= ram_data_clients_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_tag_MPORT_en & ram_data_tag_MPORT_mask) begin
      ram_data_tag[ram_data_tag_MPORT_addr] <= ram_data_tag_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_set[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_way[initvar] = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_data_dirty[initvar] = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_data_state[initvar] = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_data_clients[initvar] = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    ram_data_tag[initvar] = _RAND_5[24:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  maybe_full = _RAND_6[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MaxPeriodFibonacciLFSR_10(
  input   clock,
  input   reset,
  input   io_increment,
  output  io_out_0,
  output  io_out_1,
  output  io_out_2,
  output  io_out_3,
  output  io_out_4,
  output  io_out_5,
  output  io_out_6,
  output  io_out_7,
  output  io_out_8,
  output  io_out_9,
  output  io_out_10,
  output  io_out_11,
  output  io_out_12,
  output  io_out_13,
  output  io_out_14,
  output  io_out_15
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
`endif // RANDOMIZE_REG_INIT
  reg  state_0; // @[PRNG.scala 55:49]
  reg  state_1; // @[PRNG.scala 55:49]
  reg  state_2; // @[PRNG.scala 55:49]
  reg  state_3; // @[PRNG.scala 55:49]
  reg  state_4; // @[PRNG.scala 55:49]
  reg  state_5; // @[PRNG.scala 55:49]
  reg  state_6; // @[PRNG.scala 55:49]
  reg  state_7; // @[PRNG.scala 55:49]
  reg  state_8; // @[PRNG.scala 55:49]
  reg  state_9; // @[PRNG.scala 55:49]
  reg  state_10; // @[PRNG.scala 55:49]
  reg  state_11; // @[PRNG.scala 55:49]
  reg  state_12; // @[PRNG.scala 55:49]
  reg  state_13; // @[PRNG.scala 55:49]
  reg  state_14; // @[PRNG.scala 55:49]
  reg  state_15; // @[PRNG.scala 55:49]
  wire  _T_2 = state_15 ^ state_13 ^ state_12 ^ state_10; // @[LFSR.scala 15:41]
  wire  _GEN_15 = io_increment ? state_14 : state_15; // @[PRNG.scala 69:22 70:11 55:49]
  assign io_out_0 = state_0; // @[PRNG.scala 78:10]
  assign io_out_1 = state_1; // @[PRNG.scala 78:10]
  assign io_out_2 = state_2; // @[PRNG.scala 78:10]
  assign io_out_3 = state_3; // @[PRNG.scala 78:10]
  assign io_out_4 = state_4; // @[PRNG.scala 78:10]
  assign io_out_5 = state_5; // @[PRNG.scala 78:10]
  assign io_out_6 = state_6; // @[PRNG.scala 78:10]
  assign io_out_7 = state_7; // @[PRNG.scala 78:10]
  assign io_out_8 = state_8; // @[PRNG.scala 78:10]
  assign io_out_9 = state_9; // @[PRNG.scala 78:10]
  assign io_out_10 = state_10; // @[PRNG.scala 78:10]
  assign io_out_11 = state_11; // @[PRNG.scala 78:10]
  assign io_out_12 = state_12; // @[PRNG.scala 78:10]
  assign io_out_13 = state_13; // @[PRNG.scala 78:10]
  assign io_out_14 = state_14; // @[PRNG.scala 78:10]
  assign io_out_15 = state_15; // @[PRNG.scala 78:10]
  always @(posedge clock) begin
    if (reset) begin // @[PRNG.scala 55:49]
      state_0 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_0 <= _T_2; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_1 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_1 <= state_0; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_2 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_2 <= state_1; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_3 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_3 <= state_2; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_4 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_4 <= state_3; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_5 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_5 <= state_4; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_6 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_6 <= state_5; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_7 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_7 <= state_6; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_8 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_8 <= state_7; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_9 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_9 <= state_8; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_10 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_10 <= state_9; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_11 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_11 <= state_10; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_12 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_12 <= state_11; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_13 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_13 <= state_12; // @[PRNG.scala 70:11]
    end
    if (reset) begin // @[PRNG.scala 55:49]
      state_14 <= 1'h0; // @[PRNG.scala 55:49]
    end else if (io_increment) begin // @[PRNG.scala 69:22]
      state_14 <= state_13; // @[PRNG.scala 70:11]
    end
    state_15 <= reset | _GEN_15; // @[PRNG.scala 55:{49,49}]
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state_0 = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  state_1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  state_2 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  state_3 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  state_4 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  state_5 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  state_6 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  state_7 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  state_8 = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  state_9 = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  state_10 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  state_11 = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  state_12 = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  state_13 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  state_14 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  state_15 = _RAND_15[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Directory(
  input         clock,
  input         reset,
  output        io_write_ready,
  input         io_write_valid,
  input  [2:0]  io_write_bits_set,
  input         io_write_bits_way,
  input         io_write_bits_data_dirty,
  input  [1:0]  io_write_bits_data_state,
  input         io_write_bits_data_clients,
  input  [24:0] io_write_bits_data_tag,
  input         io_read_valid,
  input  [2:0]  io_read_bits_set,
  input  [24:0] io_read_bits_tag,
  output        io_result_bits_dirty,
  output [1:0]  io_result_bits_state,
  output        io_result_bits_clients,
  output [24:0] io_result_bits_tag,
  output        io_result_bits_hit,
  output        io_result_bits_way,
  output        io_ready
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [28:0] cc_dir_0 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_0_regout_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_dir_0_regout_addr; // @[DescribedSRAM.scala 19:26]
  wire [28:0] cc_dir_0_regout_data; // @[DescribedSRAM.scala 19:26]
  wire [28:0] cc_dir_0_MPORT_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_dir_0_MPORT_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_0_MPORT_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_0_MPORT_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_dir_0_regout_en_pipe_0;
  reg [2:0] cc_dir_0_regout_addr_pipe_0;
  reg [28:0] cc_dir_1 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_1_regout_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_dir_1_regout_addr; // @[DescribedSRAM.scala 19:26]
  wire [28:0] cc_dir_1_regout_data; // @[DescribedSRAM.scala 19:26]
  wire [28:0] cc_dir_1_MPORT_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_dir_1_MPORT_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_1_MPORT_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_dir_1_MPORT_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_dir_1_regout_en_pipe_0;
  reg [2:0] cc_dir_1_regout_addr_pipe_0;
  wire  write_clock; // @[Decoupled.scala 377:21]
  wire  write_reset; // @[Decoupled.scala 377:21]
  wire  write_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  write_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] write_io_enq_bits_set; // @[Decoupled.scala 377:21]
  wire  write_io_enq_bits_way; // @[Decoupled.scala 377:21]
  wire  write_io_enq_bits_data_dirty; // @[Decoupled.scala 377:21]
  wire [1:0] write_io_enq_bits_data_state; // @[Decoupled.scala 377:21]
  wire  write_io_enq_bits_data_clients; // @[Decoupled.scala 377:21]
  wire [24:0] write_io_enq_bits_data_tag; // @[Decoupled.scala 377:21]
  wire  write_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  write_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] write_io_deq_bits_set; // @[Decoupled.scala 377:21]
  wire  write_io_deq_bits_way; // @[Decoupled.scala 377:21]
  wire  write_io_deq_bits_data_dirty; // @[Decoupled.scala 377:21]
  wire [1:0] write_io_deq_bits_data_state; // @[Decoupled.scala 377:21]
  wire  write_io_deq_bits_data_clients; // @[Decoupled.scala 377:21]
  wire [24:0] write_io_deq_bits_data_tag; // @[Decoupled.scala 377:21]
  wire  victimLFSR_prng_clock; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_reset; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_increment; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_0; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_1; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_2; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_3; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_4; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_5; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_6; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_7; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_8; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_9; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_10; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_11; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_12; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_13; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_14; // @[PRNG.scala 91:22]
  wire  victimLFSR_prng_io_out_15; // @[PRNG.scala 91:22]
  reg [3:0] wipeCount; // @[Directory.scala 77:26]
  reg  wipeOff; // @[Directory.scala 78:24]
  wire  wipeDone = wipeCount[3]; // @[Directory.scala 79:27]
  wire [2:0] wipeSet = wipeCount[2:0]; // @[Directory.scala 80:26]
  wire  _T = ~wipeDone; // @[Directory.scala 83:9]
  wire  _T_2 = ~wipeDone & ~wipeOff; // @[Directory.scala 83:19]
  wire [3:0] _wipeCount_T_1 = wipeCount + 4'h1; // @[Directory.scala 83:57]
  wire  _T_3 = ~io_read_valid; // @[Directory.scala 84:23]
  wire  _T_6 = ~reset; // @[Directory.scala 84:10]
  wire  wen = _T_2 | write_io_deq_valid; // @[Directory.scala 88:37]
  wire [28:0] _T_16 = {write_io_deq_bits_data_dirty,write_io_deq_bits_data_state,write_io_deq_bits_data_clients,
    write_io_deq_bits_data_tag}; // @[Directory.scala 97:67]
  wire  shiftAmount = write_io_deq_bits_way; // @[OneHot.scala 63:49]
  wire [1:0] _T_20 = 2'h1 << shiftAmount; // @[OneHot.scala 64:12]
  reg  ren1; // @[Directory.scala 101:21]
  reg [24:0] tag; // @[Reg.scala 19:16]
  reg [2:0] set; // @[Reg.scala 19:16]
  wire [7:0] victimLFSR_lo = {victimLFSR_prng_io_out_7,victimLFSR_prng_io_out_6,victimLFSR_prng_io_out_5,
    victimLFSR_prng_io_out_4,victimLFSR_prng_io_out_3,victimLFSR_prng_io_out_2,victimLFSR_prng_io_out_1,
    victimLFSR_prng_io_out_0}; // @[PRNG.scala 95:17]
  wire [15:0] _victimLFSR_T = {victimLFSR_prng_io_out_15,victimLFSR_prng_io_out_14,victimLFSR_prng_io_out_13,
    victimLFSR_prng_io_out_12,victimLFSR_prng_io_out_11,victimLFSR_prng_io_out_10,victimLFSR_prng_io_out_9,
    victimLFSR_prng_io_out_8,victimLFSR_lo}; // @[PRNG.scala 95:17]
  wire [7:0] victimLFSR_lo_1 = {_victimLFSR_T[8],_victimLFSR_T[9],_victimLFSR_T[10],_victimLFSR_T[11],_victimLFSR_T[12],
    _victimLFSR_T[13],_victimLFSR_T[14],_victimLFSR_T[15]}; // @[compatibility.scala 627:9]
  wire [15:0] _victimLFSR_T_17 = {_victimLFSR_T[0],_victimLFSR_T[1],_victimLFSR_T[2],_victimLFSR_T[3],_victimLFSR_T[4],
    _victimLFSR_T[5],_victimLFSR_T[6],_victimLFSR_T[7],victimLFSR_lo_1}; // @[compatibility.scala 627:9]
  wire [9:0] victimLFSR = _victimLFSR_T_17[9:0]; // @[Directory.scala 113:46]
  wire  _victimLTE_T_1 = 10'h200 <= victimLFSR; // @[Directory.scala 115:43]
  wire [1:0] victimLTE = {_victimLTE_T_1,1'h1}; // @[Cat.scala 33:92]
  wire [2:0] victimSimp = {1'h0,victimLTE[1],1'h1}; // @[Cat.scala 33:92]
  wire [1:0] _victimWayOH_T_2 = ~victimSimp[2:1]; // @[Directory.scala 117:57]
  wire [1:0] victimWayOH = victimSimp[1:0] & _victimWayOH_T_2; // @[Directory.scala 117:55]
  wire  victimWay = victimWayOH[1]; // @[CircuitMath.scala 28:8]
  wire  _T_28 = ~ren1; // @[Directory.scala 119:11]
  wire [2:0] _T_37 = ~victimSimp; // @[Directory.scala 120:41]
  wire [2:0] _GEN_18 = {{1'd0}, victimSimp[2:1]}; // @[Directory.scala 120:39]
  wire [2:0] _T_38 = _GEN_18 & _T_37; // @[Directory.scala 120:39]
  wire [1:0] _T_47 = victimWayOH[0] + victimWay; // @[Bitwise.scala 51:90]
  wire  setQuash = write_io_deq_valid & write_io_deq_bits_set == set; // @[Directory.scala 123:31]
  wire  tagMatch = write_io_deq_bits_data_tag == tag; // @[Directory.scala 124:34]
  wire  wayMatch = write_io_deq_bits_way == victimWay; // @[Directory.scala 125:29]
  wire [28:0] _ways_WIRE_1 = cc_dir_0_regout_data;
  wire [24:0] ways_0_tag = _ways_WIRE_1[24:0]; // @[Directory.scala 127:69]
  wire  ways_0_clients = _ways_WIRE_1[25]; // @[Directory.scala 127:69]
  wire [1:0] ways_0_state = _ways_WIRE_1[27:26]; // @[Directory.scala 127:69]
  wire  ways_0_dirty = _ways_WIRE_1[28]; // @[Directory.scala 127:69]
  wire [28:0] _ways_WIRE_3 = cc_dir_1_regout_data;
  wire [24:0] ways_1_tag = _ways_WIRE_3[24:0]; // @[Directory.scala 127:69]
  wire  ways_1_clients = _ways_WIRE_3[25]; // @[Directory.scala 127:69]
  wire [1:0] ways_1_state = _ways_WIRE_3[27:26]; // @[Directory.scala 127:69]
  wire  ways_1_dirty = _ways_WIRE_3[28]; // @[Directory.scala 127:69]
  wire  _hits_T_6 = ways_0_tag == tag & ways_0_state != 2'h0 & (~setQuash | shiftAmount); // @[Directory.scala 129:42]
  wire  _hits_T_13 = ways_1_tag == tag & ways_1_state != 2'h0 & (~setQuash | ~write_io_deq_bits_way); // @[Directory.scala 129:42]
  wire [1:0] hits = {_hits_T_13,_hits_T_6}; // @[Cat.scala 33:92]
  wire  hit = |hits; // @[Directory.scala 131:21]
  wire [24:0] _io_result_bits_T_2 = hits[0] ? ways_0_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _io_result_bits_T_3 = hits[1] ? ways_1_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _io_result_bits_T_4 = _io_result_bits_T_2 | _io_result_bits_T_3; // @[Mux.scala 27:73]
  wire  _io_result_bits_T_7 = hits[0] & ways_0_clients | hits[1] & ways_1_clients; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_8 = hits[0] ? ways_0_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_9 = hits[1] ? ways_1_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_10 = _io_result_bits_T_8 | _io_result_bits_T_9; // @[Mux.scala 27:73]
  wire  _io_result_bits_T_13 = hits[0] & ways_0_dirty | hits[1] & ways_1_dirty; // @[Mux.scala 27:73]
  wire [24:0] _io_result_bits_T_18 = victimWayOH[0] ? ways_0_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _io_result_bits_T_19 = victimWay ? ways_1_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _io_result_bits_T_20 = _io_result_bits_T_18 | _io_result_bits_T_19; // @[Mux.scala 27:73]
  wire  _io_result_bits_T_23 = victimWayOH[0] & ways_0_clients | victimWay & ways_1_clients; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_24 = victimWayOH[0] ? ways_0_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_25 = victimWay ? ways_1_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _io_result_bits_T_26 = _io_result_bits_T_24 | _io_result_bits_T_25; // @[Mux.scala 27:73]
  wire  _io_result_bits_T_29 = victimWayOH[0] & ways_0_dirty | victimWay & ways_1_dirty; // @[Mux.scala 27:73]
  wire  _io_result_bits_T_30_dirty = setQuash & (tagMatch | wayMatch) ? write_io_deq_bits_data_dirty :
    _io_result_bits_T_29; // @[Directory.scala 134:52]
  wire [1:0] _io_result_bits_T_30_state = setQuash & (tagMatch | wayMatch) ? write_io_deq_bits_data_state :
    _io_result_bits_T_26; // @[Directory.scala 134:52]
  wire  _io_result_bits_T_30_clients = setQuash & (tagMatch | wayMatch) ? write_io_deq_bits_data_clients :
    _io_result_bits_T_23; // @[Directory.scala 134:52]
  wire [24:0] _io_result_bits_T_30_tag = setQuash & (tagMatch | wayMatch) ? write_io_deq_bits_data_tag :
    _io_result_bits_T_20; // @[Directory.scala 134:52]
  wire  _io_result_bits_hit_T = setQuash & tagMatch; // @[Directory.scala 135:42]
  wire  _io_result_bits_way_T_2 = _io_result_bits_hit_T ? write_io_deq_bits_way : victimWay; // @[Directory.scala 136:53]
  Queue_30 write ( // @[Decoupled.scala 377:21]
    .clock(write_clock),
    .reset(write_reset),
    .io_enq_ready(write_io_enq_ready),
    .io_enq_valid(write_io_enq_valid),
    .io_enq_bits_set(write_io_enq_bits_set),
    .io_enq_bits_way(write_io_enq_bits_way),
    .io_enq_bits_data_dirty(write_io_enq_bits_data_dirty),
    .io_enq_bits_data_state(write_io_enq_bits_data_state),
    .io_enq_bits_data_clients(write_io_enq_bits_data_clients),
    .io_enq_bits_data_tag(write_io_enq_bits_data_tag),
    .io_deq_ready(write_io_deq_ready),
    .io_deq_valid(write_io_deq_valid),
    .io_deq_bits_set(write_io_deq_bits_set),
    .io_deq_bits_way(write_io_deq_bits_way),
    .io_deq_bits_data_dirty(write_io_deq_bits_data_dirty),
    .io_deq_bits_data_state(write_io_deq_bits_data_state),
    .io_deq_bits_data_clients(write_io_deq_bits_data_clients),
    .io_deq_bits_data_tag(write_io_deq_bits_data_tag)
  );
  MaxPeriodFibonacciLFSR_10 victimLFSR_prng ( // @[PRNG.scala 91:22]
    .clock(victimLFSR_prng_clock),
    .reset(victimLFSR_prng_reset),
    .io_increment(victimLFSR_prng_io_increment),
    .io_out_0(victimLFSR_prng_io_out_0),
    .io_out_1(victimLFSR_prng_io_out_1),
    .io_out_2(victimLFSR_prng_io_out_2),
    .io_out_3(victimLFSR_prng_io_out_3),
    .io_out_4(victimLFSR_prng_io_out_4),
    .io_out_5(victimLFSR_prng_io_out_5),
    .io_out_6(victimLFSR_prng_io_out_6),
    .io_out_7(victimLFSR_prng_io_out_7),
    .io_out_8(victimLFSR_prng_io_out_8),
    .io_out_9(victimLFSR_prng_io_out_9),
    .io_out_10(victimLFSR_prng_io_out_10),
    .io_out_11(victimLFSR_prng_io_out_11),
    .io_out_12(victimLFSR_prng_io_out_12),
    .io_out_13(victimLFSR_prng_io_out_13),
    .io_out_14(victimLFSR_prng_io_out_14),
    .io_out_15(victimLFSR_prng_io_out_15)
  );
  assign cc_dir_0_regout_en = cc_dir_0_regout_en_pipe_0;
  assign cc_dir_0_regout_addr = cc_dir_0_regout_addr_pipe_0;
  assign cc_dir_0_regout_data = cc_dir_0[cc_dir_0_regout_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_dir_0_MPORT_data = wipeDone ? _T_16 : 29'h0;
  assign cc_dir_0_MPORT_addr = wipeDone ? write_io_deq_bits_set : wipeSet;
  assign cc_dir_0_MPORT_mask = _T_20[0] | _T;
  assign cc_dir_0_MPORT_en = _T_3 & wen;
  assign cc_dir_1_regout_en = cc_dir_1_regout_en_pipe_0;
  assign cc_dir_1_regout_addr = cc_dir_1_regout_addr_pipe_0;
  assign cc_dir_1_regout_data = cc_dir_1[cc_dir_1_regout_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_dir_1_MPORT_data = wipeDone ? _T_16 : 29'h0;
  assign cc_dir_1_MPORT_addr = wipeDone ? write_io_deq_bits_set : wipeSet;
  assign cc_dir_1_MPORT_mask = _T_20[1] | _T;
  assign cc_dir_1_MPORT_en = _T_3 & wen;
  assign io_write_ready = write_io_enq_ready; // @[Decoupled.scala 381:17]
  assign io_result_bits_dirty = hit ? _io_result_bits_T_13 : _io_result_bits_T_30_dirty; // @[Directory.scala 134:24]
  assign io_result_bits_state = hit ? _io_result_bits_T_10 : _io_result_bits_T_30_state; // @[Directory.scala 134:24]
  assign io_result_bits_clients = hit ? _io_result_bits_T_7 : _io_result_bits_T_30_clients; // @[Directory.scala 134:24]
  assign io_result_bits_tag = hit ? _io_result_bits_T_4 : _io_result_bits_T_30_tag; // @[Directory.scala 134:24]
  assign io_result_bits_hit = hit | setQuash & tagMatch & write_io_deq_bits_data_state != 2'h0; // @[Directory.scala 135:29]
  assign io_result_bits_way = hit ? hits[1] : _io_result_bits_way_T_2; // @[Directory.scala 136:28]
  assign io_ready = wipeCount[3]; // @[Directory.scala 79:27]
  assign write_clock = clock;
  assign write_reset = reset;
  assign write_io_enq_valid = io_write_valid; // @[Decoupled.scala 379:22]
  assign write_io_enq_bits_set = io_write_bits_set; // @[Decoupled.scala 380:21]
  assign write_io_enq_bits_way = io_write_bits_way; // @[Decoupled.scala 380:21]
  assign write_io_enq_bits_data_dirty = io_write_bits_data_dirty; // @[Decoupled.scala 380:21]
  assign write_io_enq_bits_data_state = io_write_bits_data_state; // @[Decoupled.scala 380:21]
  assign write_io_enq_bits_data_clients = io_write_bits_data_clients; // @[Decoupled.scala 380:21]
  assign write_io_enq_bits_data_tag = io_write_bits_data_tag; // @[Decoupled.scala 380:21]
  assign write_io_deq_ready = ~io_read_valid; // @[Directory.scala 93:18]
  assign victimLFSR_prng_clock = clock;
  assign victimLFSR_prng_reset = reset;
  assign victimLFSR_prng_io_increment = io_read_valid; // @[PRNG.scala 94:23]
  always @(posedge clock) begin
    if (cc_dir_0_MPORT_en & cc_dir_0_MPORT_mask) begin
      cc_dir_0[cc_dir_0_MPORT_addr] <= cc_dir_0_MPORT_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_dir_0_regout_en_pipe_0 <= io_read_valid;
    if (io_read_valid) begin
      cc_dir_0_regout_addr_pipe_0 <= io_read_bits_set;
    end
    if (cc_dir_1_MPORT_en & cc_dir_1_MPORT_mask) begin
      cc_dir_1[cc_dir_1_MPORT_addr] <= cc_dir_1_MPORT_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_dir_1_regout_en_pipe_0 <= io_read_valid;
    if (io_read_valid) begin
      cc_dir_1_regout_addr_pipe_0 <= io_read_bits_set;
    end
    if (reset) begin // @[Directory.scala 77:26]
      wipeCount <= 4'h0; // @[Directory.scala 77:26]
    end else if (~wipeDone & ~wipeOff) begin // @[Directory.scala 83:32]
      wipeCount <= _wipeCount_T_1; // @[Directory.scala 83:44]
    end
    wipeOff <= reset; // @[Directory.scala 78:{24,24,24}]
    if (reset) begin // @[Directory.scala 101:21]
      ren1 <= 1'h0; // @[Directory.scala 101:21]
    end else begin
      ren1 <= io_read_valid; // @[Directory.scala 104:8]
    end
    if (io_read_valid) begin // @[Reg.scala 20:18]
      tag <= io_read_bits_tag; // @[Reg.scala 20:22]
    end
    if (io_read_valid) begin // @[Reg.scala 20:18]
      set <= io_read_bits_set; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(wipeDone | ~io_read_valid)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Directory.scala:84 assert (wipeDone || !io.read.valid)\n"); // @[Directory.scala 84:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(wipeDone | ~io_read_valid) & ~reset) begin
          $fatal; // @[Directory.scala 84:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & ~(_T_3 | wipeDone)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Directory.scala:89 assert (!io.read.valid || wipeDone)\n"); // @[Directory.scala 89:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_3 | wipeDone) & _T_6) begin
          $fatal; // @[Directory.scala 89:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & ~(~ren1 | victimLTE[0])) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Directory.scala:119 assert (!ren2 || victimLTE(0) === UInt(1))\n"); // @[Directory.scala 119:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~ren1 | victimLTE[0]) & _T_6) begin
          $fatal; // @[Directory.scala 119:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & ~(_T_28 | _T_38 == 3'h0)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Directory.scala:120 assert (!ren2 || ((victimSimp >> 1) & ~victimSimp) === UInt(0)) // monotone\n"
            ); // @[Directory.scala 120:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_28 | _T_38 == 3'h0) & _T_6) begin
          $fatal; // @[Directory.scala 120:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_6 & ~(_T_28 | _T_47 == 2'h1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Directory.scala:121 assert (!ren2 || PopCount(victimWayOH) === UInt(1))\n"); // @[Directory.scala 121:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_28 | _T_47 == 2'h1) & _T_6) begin
          $fatal; // @[Directory.scala 121:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_dir_0[initvar] = _RAND_0[28:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_dir_1[initvar] = _RAND_3[28:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cc_dir_0_regout_en_pipe_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  cc_dir_0_regout_addr_pipe_0 = _RAND_2[2:0];
  _RAND_4 = {1{`RANDOM}};
  cc_dir_1_regout_en_pipe_0 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  cc_dir_1_regout_addr_pipe_0 = _RAND_5[2:0];
  _RAND_6 = {1{`RANDOM}};
  wipeCount = _RAND_6[3:0];
  _RAND_7 = {1{`RANDOM}};
  wipeOff = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  ren1 = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  tag = _RAND_9[24:0];
  _RAND_10 = {1{`RANDOM}};
  set = _RAND_10[2:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module BankedStore(
  input         clock,
  output        io_sinkC_adr_ready,
  input         io_sinkC_adr_valid,
  input         io_sinkC_adr_bits_noop,
  input         io_sinkC_adr_bits_way,
  input  [2:0]  io_sinkC_adr_bits_set,
  input         io_sinkC_adr_bits_beat,
  input         io_sinkC_adr_bits_mask,
  input  [63:0] io_sinkC_dat_data,
  output        io_sinkD_adr_ready,
  input         io_sinkD_adr_valid,
  input         io_sinkD_adr_bits_noop,
  input         io_sinkD_adr_bits_way,
  input  [2:0]  io_sinkD_adr_bits_set,
  input         io_sinkD_adr_bits_beat,
  input  [63:0] io_sinkD_dat_data,
  output        io_sourceC_adr_ready,
  input         io_sourceC_adr_valid,
  input         io_sourceC_adr_bits_way,
  input  [2:0]  io_sourceC_adr_bits_set,
  input         io_sourceC_adr_bits_beat,
  output [63:0] io_sourceC_dat_data,
  output        io_sourceD_radr_ready,
  input         io_sourceD_radr_valid,
  input         io_sourceD_radr_bits_way,
  input  [2:0]  io_sourceD_radr_bits_set,
  input         io_sourceD_radr_bits_beat,
  input         io_sourceD_radr_bits_mask,
  output [63:0] io_sourceD_rdat_data,
  output        io_sourceD_wadr_ready,
  input         io_sourceD_wadr_valid,
  input         io_sourceD_wadr_bits_way,
  input  [2:0]  io_sourceD_wadr_bits_set,
  input         io_sourceD_wadr_bits_beat,
  input         io_sourceD_wadr_bits_mask,
  input  [63:0] io_sourceD_wdat_data
);
`ifdef RANDOMIZE_MEM_INIT
  reg [63:0] _RAND_0;
  reg [63:0] _RAND_3;
  reg [63:0] _RAND_6;
  reg [63:0] _RAND_9;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [63:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [63:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [63:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [63:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
`endif // RANDOMIZE_REG_INIT
  reg [63:0] cc_banks_0 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_0_regout_MPORT_1_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_0_regout_MPORT_1_addr; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_0_regout_MPORT_1_data; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_0_regout_MPORT_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_0_regout_MPORT_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_0_regout_MPORT_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_0_regout_MPORT_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_banks_0_regout_MPORT_1_en_pipe_0;
  reg [2:0] cc_banks_0_regout_MPORT_1_addr_pipe_0;
  reg [63:0] cc_banks_1 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_1_regout_MPORT_3_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_1_regout_MPORT_3_addr; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_1_regout_MPORT_3_data; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_1_regout_MPORT_2_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_1_regout_MPORT_2_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_1_regout_MPORT_2_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_1_regout_MPORT_2_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_banks_1_regout_MPORT_3_en_pipe_0;
  reg [2:0] cc_banks_1_regout_MPORT_3_addr_pipe_0;
  reg [63:0] cc_banks_2 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_2_regout_MPORT_5_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_2_regout_MPORT_5_addr; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_2_regout_MPORT_5_data; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_2_regout_MPORT_4_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_2_regout_MPORT_4_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_2_regout_MPORT_4_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_2_regout_MPORT_4_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_banks_2_regout_MPORT_5_en_pipe_0;
  reg [2:0] cc_banks_2_regout_MPORT_5_addr_pipe_0;
  reg [63:0] cc_banks_3 [0:7]; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_3_regout_MPORT_7_en; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_3_regout_MPORT_7_addr; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_3_regout_MPORT_7_data; // @[DescribedSRAM.scala 19:26]
  wire [63:0] cc_banks_3_regout_MPORT_6_data; // @[DescribedSRAM.scala 19:26]
  wire [2:0] cc_banks_3_regout_MPORT_6_addr; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_3_regout_MPORT_6_mask; // @[DescribedSRAM.scala 19:26]
  wire  cc_banks_3_regout_MPORT_6_en; // @[DescribedSRAM.scala 19:26]
  reg  cc_banks_3_regout_MPORT_7_en_pipe_0;
  reg [2:0] cc_banks_3_regout_MPORT_7_addr_pipe_0;
  wire [4:0] sinkC_req_a = {io_sinkC_adr_bits_way,io_sinkC_adr_bits_set,io_sinkC_adr_bits_beat}; // @[Cat.scala 33:92]
  wire [1:0] sinkC_req_select_shiftAmount = sinkC_req_a[1:0]; // @[BankedStore.scala 129:28]
  wire [3:0] sinkC_req_select = 4'h1 << sinkC_req_select_shiftAmount; // @[OneHot.scala 64:12]
  wire [3:0] _sinkC_req_io_sinkC_adr_ready_T_1 = 4'hf >> sinkC_req_select_shiftAmount; // @[BankedStore.scala 131:21]
  wire [2:0] reqs_0_index = sinkC_req_a[4:2]; // @[BankedStore.scala 134:23]
  wire [3:0] _sinkC_req_out_bankSel_T_4 = {sinkC_req_select[3],sinkC_req_select[2],sinkC_req_select[1],sinkC_req_select[
    0]}; // @[Cat.scala 33:92]
  wire [3:0] _sinkC_req_out_bankSel_T_6 = io_sinkC_adr_bits_mask ? 4'hf : 4'h0; // @[Bitwise.scala 77:12]
  wire [3:0] _sinkC_req_out_bankSel_T_7 = _sinkC_req_out_bankSel_T_4 & _sinkC_req_out_bankSel_T_6; // @[BankedStore.scala 135:65]
  wire [3:0] reqs_0_bankSel = io_sinkC_adr_valid ? _sinkC_req_out_bankSel_T_7 : 4'h0; // @[BankedStore.scala 135:24]
  wire [3:0] reqs_0_bankEn = io_sinkC_adr_bits_noop ? 4'h0 : reqs_0_bankSel; // @[BankedStore.scala 136:24]
  wire [4:0] sinkD_req_a = {io_sinkD_adr_bits_way,io_sinkD_adr_bits_set,io_sinkD_adr_bits_beat}; // @[Cat.scala 33:92]
  wire [1:0] sinkD_req_select_shiftAmount = sinkD_req_a[1:0]; // @[BankedStore.scala 129:28]
  wire [3:0] sinkD_req_select = 4'h1 << sinkD_req_select_shiftAmount; // @[OneHot.scala 64:12]
  wire [4:0] sourceC_req_a = {io_sourceC_adr_bits_way,io_sourceC_adr_bits_set,io_sourceC_adr_bits_beat}; // @[Cat.scala 33:92]
  wire [1:0] sourceC_req_select_shiftAmount = sourceC_req_a[1:0]; // @[BankedStore.scala 129:28]
  wire [3:0] sourceC_req_select = 4'h1 << sourceC_req_select_shiftAmount; // @[OneHot.scala 64:12]
  wire [3:0] _sourceC_req_out_bankSel_T_4 = {sourceC_req_select[3],sourceC_req_select[2],sourceC_req_select[1],
    sourceC_req_select[0]}; // @[Cat.scala 33:92]
  wire [3:0] reqs_1_bankSel = io_sourceC_adr_valid ? _sourceC_req_out_bankSel_T_4 : 4'h0; // @[BankedStore.scala 135:24]
  wire [3:0] reqs_2_bankSum = reqs_1_bankSel | reqs_0_bankSel; // @[BankedStore.scala 160:17]
  wire  _sinkD_req_ready_T_3 = ~(|reqs_2_bankSum[0]); // @[BankedStore.scala 130:58]
  wire  _sinkD_req_ready_T_7 = ~(|reqs_2_bankSum[1]); // @[BankedStore.scala 130:58]
  wire  _sinkD_req_ready_T_11 = ~(|reqs_2_bankSum[2]); // @[BankedStore.scala 130:58]
  wire  _sinkD_req_ready_T_15 = ~(|reqs_2_bankSum[3]); // @[BankedStore.scala 130:58]
  wire [3:0] sinkD_req_ready = {_sinkD_req_ready_T_15,_sinkD_req_ready_T_11,_sinkD_req_ready_T_7,_sinkD_req_ready_T_3}; // @[Cat.scala 33:92]
  wire [3:0] _sinkD_req_io_sinkD_adr_ready_T_1 = sinkD_req_ready >> sinkD_req_select_shiftAmount; // @[BankedStore.scala 131:21]
  wire [2:0] reqs_2_index = sinkD_req_a[4:2]; // @[BankedStore.scala 134:23]
  wire [3:0] _sinkD_req_out_bankSel_T_4 = {sinkD_req_select[3],sinkD_req_select[2],sinkD_req_select[1],sinkD_req_select[
    0]}; // @[Cat.scala 33:92]
  wire [3:0] reqs_2_bankSel = io_sinkD_adr_valid ? _sinkD_req_out_bankSel_T_4 : 4'h0; // @[BankedStore.scala 135:24]
  wire [3:0] _sinkD_req_out_bankEn_T_4 = {sinkD_req_ready[3],sinkD_req_ready[2],sinkD_req_ready[1],sinkD_req_ready[0]}; // @[Cat.scala 33:92]
  wire [3:0] _sinkD_req_out_bankEn_T_5 = reqs_2_bankSel & _sinkD_req_out_bankEn_T_4; // @[BankedStore.scala 136:59]
  wire [3:0] reqs_2_bankEn = io_sinkD_adr_bits_noop ? 4'h0 : _sinkD_req_out_bankEn_T_5; // @[BankedStore.scala 136:24]
  wire  _sourceC_req_ready_T_3 = ~(|reqs_0_bankSel[0]); // @[BankedStore.scala 130:58]
  wire  _sourceC_req_ready_T_7 = ~(|reqs_0_bankSel[1]); // @[BankedStore.scala 130:58]
  wire  _sourceC_req_ready_T_11 = ~(|reqs_0_bankSel[2]); // @[BankedStore.scala 130:58]
  wire  _sourceC_req_ready_T_15 = ~(|reqs_0_bankSel[3]); // @[BankedStore.scala 130:58]
  wire [3:0] sourceC_req_ready = {_sourceC_req_ready_T_15,_sourceC_req_ready_T_11,_sourceC_req_ready_T_7,
    _sourceC_req_ready_T_3}; // @[Cat.scala 33:92]
  wire [3:0] _sourceC_req_io_sourceC_adr_ready_T_1 = sourceC_req_ready >> sourceC_req_select_shiftAmount; // @[BankedStore.scala 131:21]
  wire [2:0] reqs_1_index = sourceC_req_a[4:2]; // @[BankedStore.scala 134:23]
  wire [3:0] _sourceC_req_out_bankEn_T_4 = {sourceC_req_ready[3],sourceC_req_ready[2],sourceC_req_ready[1],
    sourceC_req_ready[0]}; // @[Cat.scala 33:92]
  wire [3:0] reqs_1_bankEn = reqs_1_bankSel & _sourceC_req_out_bankEn_T_4; // @[BankedStore.scala 136:59]
  wire [4:0] sourceD_rreq_a = {io_sourceD_radr_bits_way,io_sourceD_radr_bits_set,io_sourceD_radr_bits_beat}; // @[Cat.scala 33:92]
  wire [1:0] sourceD_rreq_select_shiftAmount = sourceD_rreq_a[1:0]; // @[BankedStore.scala 129:28]
  wire [3:0] sourceD_rreq_select = 4'h1 << sourceD_rreq_select_shiftAmount; // @[OneHot.scala 64:12]
  wire [4:0] sourceD_wreq_a = {io_sourceD_wadr_bits_way,io_sourceD_wadr_bits_set,io_sourceD_wadr_bits_beat}; // @[Cat.scala 33:92]
  wire [1:0] sourceD_wreq_select_shiftAmount = sourceD_wreq_a[1:0]; // @[BankedStore.scala 129:28]
  wire [3:0] sourceD_wreq_select = 4'h1 << sourceD_wreq_select_shiftAmount; // @[OneHot.scala 64:12]
  wire [3:0] _sourceD_wreq_out_bankSel_T_4 = {sourceD_wreq_select[3],sourceD_wreq_select[2],sourceD_wreq_select[1],
    sourceD_wreq_select[0]}; // @[Cat.scala 33:92]
  wire [3:0] _sourceD_wreq_out_bankSel_T_6 = io_sourceD_wadr_bits_mask ? 4'hf : 4'h0; // @[Bitwise.scala 77:12]
  wire [3:0] _sourceD_wreq_out_bankSel_T_7 = _sourceD_wreq_out_bankSel_T_4 & _sourceD_wreq_out_bankSel_T_6; // @[BankedStore.scala 135:65]
  wire [3:0] reqs_3_bankSel = io_sourceD_wadr_valid ? _sourceD_wreq_out_bankSel_T_7 : 4'h0; // @[BankedStore.scala 135:24]
  wire [3:0] reqs_3_bankSum = reqs_2_bankSel | reqs_2_bankSum; // @[BankedStore.scala 160:17]
  wire [3:0] reqs_4_bankSum = reqs_3_bankSel | reqs_3_bankSum; // @[BankedStore.scala 160:17]
  wire  _sourceD_rreq_ready_T_3 = ~(|(reqs_4_bankSum[0] & io_sourceD_radr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_rreq_ready_T_7 = ~(|(reqs_4_bankSum[1] & io_sourceD_radr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_rreq_ready_T_11 = ~(|(reqs_4_bankSum[2] & io_sourceD_radr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_rreq_ready_T_15 = ~(|(reqs_4_bankSum[3] & io_sourceD_radr_bits_mask)); // @[BankedStore.scala 130:58]
  wire [3:0] sourceD_rreq_ready = {_sourceD_rreq_ready_T_15,_sourceD_rreq_ready_T_11,_sourceD_rreq_ready_T_7,
    _sourceD_rreq_ready_T_3}; // @[Cat.scala 33:92]
  wire [3:0] _sourceD_rreq_io_sourceD_radr_ready_T_1 = sourceD_rreq_ready >> sourceD_rreq_select_shiftAmount; // @[BankedStore.scala 131:21]
  wire [2:0] reqs_4_index = sourceD_rreq_a[4:2]; // @[BankedStore.scala 134:23]
  wire [3:0] _sourceD_rreq_out_bankSel_T_4 = {sourceD_rreq_select[3],sourceD_rreq_select[2],sourceD_rreq_select[1],
    sourceD_rreq_select[0]}; // @[Cat.scala 33:92]
  wire [3:0] _sourceD_rreq_out_bankSel_T_6 = io_sourceD_radr_bits_mask ? 4'hf : 4'h0; // @[Bitwise.scala 77:12]
  wire [3:0] _sourceD_rreq_out_bankSel_T_7 = _sourceD_rreq_out_bankSel_T_4 & _sourceD_rreq_out_bankSel_T_6; // @[BankedStore.scala 135:65]
  wire [3:0] reqs_4_bankSel = io_sourceD_radr_valid ? _sourceD_rreq_out_bankSel_T_7 : 4'h0; // @[BankedStore.scala 135:24]
  wire [3:0] _sourceD_rreq_out_bankEn_T_4 = {sourceD_rreq_ready[3],sourceD_rreq_ready[2],sourceD_rreq_ready[1],
    sourceD_rreq_ready[0]}; // @[Cat.scala 33:92]
  wire [3:0] reqs_4_bankEn = reqs_4_bankSel & _sourceD_rreq_out_bankEn_T_4; // @[BankedStore.scala 136:59]
  wire  _sourceD_wreq_ready_T_3 = ~(|(reqs_3_bankSum[0] & io_sourceD_wadr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_wreq_ready_T_7 = ~(|(reqs_3_bankSum[1] & io_sourceD_wadr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_wreq_ready_T_11 = ~(|(reqs_3_bankSum[2] & io_sourceD_wadr_bits_mask)); // @[BankedStore.scala 130:58]
  wire  _sourceD_wreq_ready_T_15 = ~(|(reqs_3_bankSum[3] & io_sourceD_wadr_bits_mask)); // @[BankedStore.scala 130:58]
  wire [3:0] sourceD_wreq_ready = {_sourceD_wreq_ready_T_15,_sourceD_wreq_ready_T_11,_sourceD_wreq_ready_T_7,
    _sourceD_wreq_ready_T_3}; // @[Cat.scala 33:92]
  wire [3:0] _sourceD_wreq_io_sourceD_wadr_ready_T_1 = sourceD_wreq_ready >> sourceD_wreq_select_shiftAmount; // @[BankedStore.scala 131:21]
  wire [2:0] reqs_3_index = sourceD_wreq_a[4:2]; // @[BankedStore.scala 134:23]
  wire [3:0] _sourceD_wreq_out_bankEn_T_4 = {sourceD_wreq_ready[3],sourceD_wreq_ready[2],sourceD_wreq_ready[1],
    sourceD_wreq_ready[0]}; // @[Cat.scala 33:92]
  wire [3:0] reqs_3_bankEn = reqs_3_bankSel & _sourceD_wreq_out_bankEn_T_4; // @[BankedStore.scala 136:59]
  wire  regout_en = reqs_0_bankEn[0] | reqs_1_bankEn[0] | reqs_2_bankEn[0] | reqs_3_bankEn[0] | reqs_4_bankEn[0]; // @[BankedStore.scala 164:45]
  wire  regout_sel_1 = reqs_1_bankSel[0]; // @[BankedStore.scala 165:33]
  wire  regout_sel_2 = reqs_2_bankSel[0]; // @[BankedStore.scala 165:33]
  wire  regout_sel_3 = reqs_3_bankSel[0]; // @[BankedStore.scala 165:33]
  wire  _regout_wen_T_2 = regout_sel_1 ? 1'h0 : regout_sel_2 | regout_sel_3; // @[Mux.scala 47:70]
  wire  regout_wen = reqs_0_bankSel[0] | _regout_wen_T_2; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T = regout_sel_3 ? reqs_3_index : reqs_4_index; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_1 = regout_sel_2 ? reqs_2_index : _regout_idx_T; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_2 = regout_sel_1 ? reqs_1_index : _regout_idx_T_1; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T = regout_sel_3 ? io_sourceD_wdat_data : 64'h0; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_1 = regout_sel_2 ? io_sinkD_dat_data : _regout_data_T; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_2 = regout_sel_1 ? 64'h0 : _regout_data_T_1; // @[Mux.scala 47:70]
  wire  _regout_T_1 = ~regout_wen; // @[BankedStore.scala 171:27]
  reg  regout_REG; // @[BankedStore.scala 171:47]
  reg [63:0] regout_r; // @[Reg.scala 19:16]
  wire  regout_en_1 = reqs_0_bankEn[1] | reqs_1_bankEn[1] | reqs_2_bankEn[1] | reqs_3_bankEn[1] | reqs_4_bankEn[1]; // @[BankedStore.scala 164:45]
  wire  regout_sel_1_1 = reqs_1_bankSel[1]; // @[BankedStore.scala 165:33]
  wire  regout_sel_2_1 = reqs_2_bankSel[1]; // @[BankedStore.scala 165:33]
  wire  regout_sel_3_1 = reqs_3_bankSel[1]; // @[BankedStore.scala 165:33]
  wire  _regout_wen_T_5 = regout_sel_1_1 ? 1'h0 : regout_sel_2_1 | regout_sel_3_1; // @[Mux.scala 47:70]
  wire  regout_wen_1 = reqs_0_bankSel[1] | _regout_wen_T_5; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_3 = regout_sel_3_1 ? reqs_3_index : reqs_4_index; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_4 = regout_sel_2_1 ? reqs_2_index : _regout_idx_T_3; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_5 = regout_sel_1_1 ? reqs_1_index : _regout_idx_T_4; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_3 = regout_sel_3_1 ? io_sourceD_wdat_data : 64'h0; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_4 = regout_sel_2_1 ? io_sinkD_dat_data : _regout_data_T_3; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_5 = regout_sel_1_1 ? 64'h0 : _regout_data_T_4; // @[Mux.scala 47:70]
  wire  _regout_T_8 = ~regout_wen_1; // @[BankedStore.scala 171:27]
  reg  regout_REG_1; // @[BankedStore.scala 171:47]
  reg [63:0] regout_r_1; // @[Reg.scala 19:16]
  wire  regout_en_2 = reqs_0_bankEn[2] | reqs_1_bankEn[2] | reqs_2_bankEn[2] | reqs_3_bankEn[2] | reqs_4_bankEn[2]; // @[BankedStore.scala 164:45]
  wire  regout_sel_1_2 = reqs_1_bankSel[2]; // @[BankedStore.scala 165:33]
  wire  regout_sel_2_2 = reqs_2_bankSel[2]; // @[BankedStore.scala 165:33]
  wire  regout_sel_3_2 = reqs_3_bankSel[2]; // @[BankedStore.scala 165:33]
  wire  _regout_wen_T_8 = regout_sel_1_2 ? 1'h0 : regout_sel_2_2 | regout_sel_3_2; // @[Mux.scala 47:70]
  wire  regout_wen_2 = reqs_0_bankSel[2] | _regout_wen_T_8; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_6 = regout_sel_3_2 ? reqs_3_index : reqs_4_index; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_7 = regout_sel_2_2 ? reqs_2_index : _regout_idx_T_6; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_8 = regout_sel_1_2 ? reqs_1_index : _regout_idx_T_7; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_6 = regout_sel_3_2 ? io_sourceD_wdat_data : 64'h0; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_7 = regout_sel_2_2 ? io_sinkD_dat_data : _regout_data_T_6; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_8 = regout_sel_1_2 ? 64'h0 : _regout_data_T_7; // @[Mux.scala 47:70]
  wire  _regout_T_15 = ~regout_wen_2; // @[BankedStore.scala 171:27]
  reg  regout_REG_2; // @[BankedStore.scala 171:47]
  reg [63:0] regout_r_2; // @[Reg.scala 19:16]
  wire  regout_en_3 = reqs_0_bankEn[3] | reqs_1_bankEn[3] | reqs_2_bankEn[3] | reqs_3_bankEn[3] | reqs_4_bankEn[3]; // @[BankedStore.scala 164:45]
  wire  regout_sel_1_3 = reqs_1_bankSel[3]; // @[BankedStore.scala 165:33]
  wire  regout_sel_2_3 = reqs_2_bankSel[3]; // @[BankedStore.scala 165:33]
  wire  regout_sel_3_3 = reqs_3_bankSel[3]; // @[BankedStore.scala 165:33]
  wire  _regout_wen_T_11 = regout_sel_1_3 ? 1'h0 : regout_sel_2_3 | regout_sel_3_3; // @[Mux.scala 47:70]
  wire  regout_wen_3 = reqs_0_bankSel[3] | _regout_wen_T_11; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_9 = regout_sel_3_3 ? reqs_3_index : reqs_4_index; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_10 = regout_sel_2_3 ? reqs_2_index : _regout_idx_T_9; // @[Mux.scala 47:70]
  wire [2:0] _regout_idx_T_11 = regout_sel_1_3 ? reqs_1_index : _regout_idx_T_10; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_9 = regout_sel_3_3 ? io_sourceD_wdat_data : 64'h0; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_10 = regout_sel_2_3 ? io_sinkD_dat_data : _regout_data_T_9; // @[Mux.scala 47:70]
  wire [63:0] _regout_data_T_11 = regout_sel_1_3 ? 64'h0 : _regout_data_T_10; // @[Mux.scala 47:70]
  wire  _regout_T_22 = ~regout_wen_3; // @[BankedStore.scala 171:27]
  reg  regout_REG_3; // @[BankedStore.scala 171:47]
  reg [63:0] regout_r_3; // @[Reg.scala 19:16]
  reg [3:0] regsel_sourceC_REG; // @[BankedStore.scala 174:39]
  reg [3:0] regsel_sourceC; // @[BankedStore.scala 174:31]
  reg [3:0] regsel_sourceD_REG; // @[BankedStore.scala 175:39]
  reg [3:0] regsel_sourceD; // @[BankedStore.scala 175:31]
  wire [63:0] _decodeC_T_1 = regsel_sourceC[0] ? regout_r : 64'h0; // @[BankedStore.scala 178:23]
  wire [63:0] _decodeC_T_3 = regsel_sourceC[1] ? regout_r_1 : 64'h0; // @[BankedStore.scala 178:23]
  wire [63:0] _decodeC_T_5 = regsel_sourceC[2] ? regout_r_2 : 64'h0; // @[BankedStore.scala 178:23]
  wire [63:0] _decodeC_T_7 = regsel_sourceC[3] ? regout_r_3 : 64'h0; // @[BankedStore.scala 178:23]
  wire [63:0] _decodeC_T_8 = _decodeC_T_1 | _decodeC_T_3; // @[BankedStore.scala 179:85]
  wire [63:0] _decodeC_T_9 = _decodeC_T_8 | _decodeC_T_5; // @[BankedStore.scala 179:85]
  wire [63:0] _decodeD_T_1 = regsel_sourceD[0] ? regout_r : 64'h0; // @[BankedStore.scala 185:23]
  wire [63:0] _decodeD_T_3 = regsel_sourceD[1] ? regout_r_1 : 64'h0; // @[BankedStore.scala 185:23]
  wire [63:0] _decodeD_T_5 = regsel_sourceD[2] ? regout_r_2 : 64'h0; // @[BankedStore.scala 185:23]
  wire [63:0] _decodeD_T_7 = regsel_sourceD[3] ? regout_r_3 : 64'h0; // @[BankedStore.scala 185:23]
  wire [63:0] _decodeD_T_8 = _decodeD_T_1 | _decodeD_T_3; // @[BankedStore.scala 186:85]
  wire [63:0] _decodeD_T_9 = _decodeD_T_8 | _decodeD_T_5; // @[BankedStore.scala 186:85]
  assign cc_banks_0_regout_MPORT_1_en = cc_banks_0_regout_MPORT_1_en_pipe_0;
  assign cc_banks_0_regout_MPORT_1_addr = cc_banks_0_regout_MPORT_1_addr_pipe_0;
  assign cc_banks_0_regout_MPORT_1_data = cc_banks_0[cc_banks_0_regout_MPORT_1_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_banks_0_regout_MPORT_data = reqs_0_bankSel[0] ? io_sinkC_dat_data : _regout_data_T_2;
  assign cc_banks_0_regout_MPORT_addr = reqs_0_bankSel[0] ? reqs_0_index : _regout_idx_T_2;
  assign cc_banks_0_regout_MPORT_mask = 1'h1;
  assign cc_banks_0_regout_MPORT_en = regout_wen & regout_en;
  assign cc_banks_1_regout_MPORT_3_en = cc_banks_1_regout_MPORT_3_en_pipe_0;
  assign cc_banks_1_regout_MPORT_3_addr = cc_banks_1_regout_MPORT_3_addr_pipe_0;
  assign cc_banks_1_regout_MPORT_3_data = cc_banks_1[cc_banks_1_regout_MPORT_3_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_banks_1_regout_MPORT_2_data = reqs_0_bankSel[1] ? io_sinkC_dat_data : _regout_data_T_5;
  assign cc_banks_1_regout_MPORT_2_addr = reqs_0_bankSel[1] ? reqs_0_index : _regout_idx_T_5;
  assign cc_banks_1_regout_MPORT_2_mask = 1'h1;
  assign cc_banks_1_regout_MPORT_2_en = regout_wen_1 & regout_en_1;
  assign cc_banks_2_regout_MPORT_5_en = cc_banks_2_regout_MPORT_5_en_pipe_0;
  assign cc_banks_2_regout_MPORT_5_addr = cc_banks_2_regout_MPORT_5_addr_pipe_0;
  assign cc_banks_2_regout_MPORT_5_data = cc_banks_2[cc_banks_2_regout_MPORT_5_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_banks_2_regout_MPORT_4_data = reqs_0_bankSel[2] ? io_sinkC_dat_data : _regout_data_T_8;
  assign cc_banks_2_regout_MPORT_4_addr = reqs_0_bankSel[2] ? reqs_0_index : _regout_idx_T_8;
  assign cc_banks_2_regout_MPORT_4_mask = 1'h1;
  assign cc_banks_2_regout_MPORT_4_en = regout_wen_2 & regout_en_2;
  assign cc_banks_3_regout_MPORT_7_en = cc_banks_3_regout_MPORT_7_en_pipe_0;
  assign cc_banks_3_regout_MPORT_7_addr = cc_banks_3_regout_MPORT_7_addr_pipe_0;
  assign cc_banks_3_regout_MPORT_7_data = cc_banks_3[cc_banks_3_regout_MPORT_7_addr]; // @[DescribedSRAM.scala 19:26]
  assign cc_banks_3_regout_MPORT_6_data = reqs_0_bankSel[3] ? io_sinkC_dat_data : _regout_data_T_11;
  assign cc_banks_3_regout_MPORT_6_addr = reqs_0_bankSel[3] ? reqs_0_index : _regout_idx_T_11;
  assign cc_banks_3_regout_MPORT_6_mask = 1'h1;
  assign cc_banks_3_regout_MPORT_6_en = regout_wen_3 & regout_en_3;
  assign io_sinkC_adr_ready = _sinkC_req_io_sinkC_adr_ready_T_1[0]; // @[BankedStore.scala 131:21]
  assign io_sinkD_adr_ready = _sinkD_req_io_sinkD_adr_ready_T_1[0]; // @[BankedStore.scala 131:21]
  assign io_sourceC_adr_ready = _sourceC_req_io_sourceC_adr_ready_T_1[0]; // @[BankedStore.scala 131:21]
  assign io_sourceC_dat_data = _decodeC_T_9 | _decodeC_T_7; // @[BankedStore.scala 179:85]
  assign io_sourceD_radr_ready = _sourceD_rreq_io_sourceD_radr_ready_T_1[0]; // @[BankedStore.scala 131:21]
  assign io_sourceD_rdat_data = _decodeD_T_9 | _decodeD_T_7; // @[BankedStore.scala 186:85]
  assign io_sourceD_wadr_ready = _sourceD_wreq_io_sourceD_wadr_ready_T_1[0]; // @[BankedStore.scala 131:21]
  always @(posedge clock) begin
    if (cc_banks_0_regout_MPORT_en & cc_banks_0_regout_MPORT_mask) begin
      cc_banks_0[cc_banks_0_regout_MPORT_addr] <= cc_banks_0_regout_MPORT_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_banks_0_regout_MPORT_1_en_pipe_0 <= _regout_T_1 & regout_en;
    if (_regout_T_1 & regout_en) begin
      if (reqs_0_bankSel[0]) begin
        cc_banks_0_regout_MPORT_1_addr_pipe_0 <= reqs_0_index;
      end else if (regout_sel_1) begin // @[Mux.scala 47:70]
        cc_banks_0_regout_MPORT_1_addr_pipe_0 <= reqs_1_index;
      end else if (regout_sel_2) begin // @[Mux.scala 47:70]
        cc_banks_0_regout_MPORT_1_addr_pipe_0 <= reqs_2_index;
      end else begin
        cc_banks_0_regout_MPORT_1_addr_pipe_0 <= _regout_idx_T;
      end
    end
    if (cc_banks_1_regout_MPORT_2_en & cc_banks_1_regout_MPORT_2_mask) begin
      cc_banks_1[cc_banks_1_regout_MPORT_2_addr] <= cc_banks_1_regout_MPORT_2_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_banks_1_regout_MPORT_3_en_pipe_0 <= _regout_T_8 & regout_en_1;
    if (_regout_T_8 & regout_en_1) begin
      if (reqs_0_bankSel[1]) begin
        cc_banks_1_regout_MPORT_3_addr_pipe_0 <= reqs_0_index;
      end else if (regout_sel_1_1) begin // @[Mux.scala 47:70]
        cc_banks_1_regout_MPORT_3_addr_pipe_0 <= reqs_1_index;
      end else if (regout_sel_2_1) begin // @[Mux.scala 47:70]
        cc_banks_1_regout_MPORT_3_addr_pipe_0 <= reqs_2_index;
      end else begin
        cc_banks_1_regout_MPORT_3_addr_pipe_0 <= _regout_idx_T_3;
      end
    end
    if (cc_banks_2_regout_MPORT_4_en & cc_banks_2_regout_MPORT_4_mask) begin
      cc_banks_2[cc_banks_2_regout_MPORT_4_addr] <= cc_banks_2_regout_MPORT_4_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_banks_2_regout_MPORT_5_en_pipe_0 <= _regout_T_15 & regout_en_2;
    if (_regout_T_15 & regout_en_2) begin
      if (reqs_0_bankSel[2]) begin
        cc_banks_2_regout_MPORT_5_addr_pipe_0 <= reqs_0_index;
      end else if (regout_sel_1_2) begin // @[Mux.scala 47:70]
        cc_banks_2_regout_MPORT_5_addr_pipe_0 <= reqs_1_index;
      end else if (regout_sel_2_2) begin // @[Mux.scala 47:70]
        cc_banks_2_regout_MPORT_5_addr_pipe_0 <= reqs_2_index;
      end else begin
        cc_banks_2_regout_MPORT_5_addr_pipe_0 <= _regout_idx_T_6;
      end
    end
    if (cc_banks_3_regout_MPORT_6_en & cc_banks_3_regout_MPORT_6_mask) begin
      cc_banks_3[cc_banks_3_regout_MPORT_6_addr] <= cc_banks_3_regout_MPORT_6_data; // @[DescribedSRAM.scala 19:26]
    end
    cc_banks_3_regout_MPORT_7_en_pipe_0 <= _regout_T_22 & regout_en_3;
    if (_regout_T_22 & regout_en_3) begin
      if (reqs_0_bankSel[3]) begin
        cc_banks_3_regout_MPORT_7_addr_pipe_0 <= reqs_0_index;
      end else if (regout_sel_1_3) begin // @[Mux.scala 47:70]
        cc_banks_3_regout_MPORT_7_addr_pipe_0 <= reqs_1_index;
      end else if (regout_sel_2_3) begin // @[Mux.scala 47:70]
        cc_banks_3_regout_MPORT_7_addr_pipe_0 <= reqs_2_index;
      end else begin
        cc_banks_3_regout_MPORT_7_addr_pipe_0 <= _regout_idx_T_9;
      end
    end
    regout_REG <= ~regout_wen & regout_en; // @[BankedStore.scala 171:53]
    if (regout_REG) begin // @[Reg.scala 20:18]
      regout_r <= cc_banks_0_regout_MPORT_1_data; // @[Reg.scala 20:22]
    end
    regout_REG_1 <= ~regout_wen_1 & regout_en_1; // @[BankedStore.scala 171:53]
    if (regout_REG_1) begin // @[Reg.scala 20:18]
      regout_r_1 <= cc_banks_1_regout_MPORT_3_data; // @[Reg.scala 20:22]
    end
    regout_REG_2 <= ~regout_wen_2 & regout_en_2; // @[BankedStore.scala 171:53]
    if (regout_REG_2) begin // @[Reg.scala 20:18]
      regout_r_2 <= cc_banks_2_regout_MPORT_5_data; // @[Reg.scala 20:22]
    end
    regout_REG_3 <= ~regout_wen_3 & regout_en_3; // @[BankedStore.scala 171:53]
    if (regout_REG_3) begin // @[Reg.scala 20:18]
      regout_r_3 <= cc_banks_3_regout_MPORT_7_data; // @[Reg.scala 20:22]
    end
    regsel_sourceC_REG <= reqs_1_bankSel & _sourceC_req_out_bankEn_T_4; // @[BankedStore.scala 136:59]
    regsel_sourceC <= regsel_sourceC_REG; // @[BankedStore.scala 174:31]
    regsel_sourceD_REG <= reqs_4_bankSel & _sourceD_rreq_out_bankEn_T_4; // @[BankedStore.scala 136:59]
    regsel_sourceD <= regsel_sourceD_REG; // @[BankedStore.scala 175:31]
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {2{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_banks_0[initvar] = _RAND_0[63:0];
  _RAND_3 = {2{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_banks_1[initvar] = _RAND_3[63:0];
  _RAND_6 = {2{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_banks_2[initvar] = _RAND_6[63:0];
  _RAND_9 = {2{`RANDOM}};
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    cc_banks_3[initvar] = _RAND_9[63:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cc_banks_0_regout_MPORT_1_en_pipe_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  cc_banks_0_regout_MPORT_1_addr_pipe_0 = _RAND_2[2:0];
  _RAND_4 = {1{`RANDOM}};
  cc_banks_1_regout_MPORT_3_en_pipe_0 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  cc_banks_1_regout_MPORT_3_addr_pipe_0 = _RAND_5[2:0];
  _RAND_7 = {1{`RANDOM}};
  cc_banks_2_regout_MPORT_5_en_pipe_0 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  cc_banks_2_regout_MPORT_5_addr_pipe_0 = _RAND_8[2:0];
  _RAND_10 = {1{`RANDOM}};
  cc_banks_3_regout_MPORT_7_en_pipe_0 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  cc_banks_3_regout_MPORT_7_addr_pipe_0 = _RAND_11[2:0];
  _RAND_12 = {1{`RANDOM}};
  regout_REG = _RAND_12[0:0];
  _RAND_13 = {2{`RANDOM}};
  regout_r = _RAND_13[63:0];
  _RAND_14 = {1{`RANDOM}};
  regout_REG_1 = _RAND_14[0:0];
  _RAND_15 = {2{`RANDOM}};
  regout_r_1 = _RAND_15[63:0];
  _RAND_16 = {1{`RANDOM}};
  regout_REG_2 = _RAND_16[0:0];
  _RAND_17 = {2{`RANDOM}};
  regout_r_2 = _RAND_17[63:0];
  _RAND_18 = {1{`RANDOM}};
  regout_REG_3 = _RAND_18[0:0];
  _RAND_19 = {2{`RANDOM}};
  regout_r_3 = _RAND_19[63:0];
  _RAND_20 = {1{`RANDOM}};
  regsel_sourceC_REG = _RAND_20[3:0];
  _RAND_21 = {1{`RANDOM}};
  regsel_sourceC = _RAND_21[3:0];
  _RAND_22 = {1{`RANDOM}};
  regsel_sourceD_REG = _RAND_22[3:0];
  _RAND_23 = {1{`RANDOM}};
  regsel_sourceD = _RAND_23[3:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module ListBuffer_2(
  input         clock,
  input         reset,
  output        io_push_ready,
  input         io_push_valid,
  input  [6:0]  io_push_bits_index,
  input         io_push_bits_data_prio_0,
  input         io_push_bits_data_prio_2,
  input  [2:0]  io_push_bits_data_opcode,
  input  [2:0]  io_push_bits_data_param,
  input  [2:0]  io_push_bits_data_size,
  input  [2:0]  io_push_bits_data_source,
  input  [24:0] io_push_bits_data_tag,
  input  [3:0]  io_push_bits_data_offset,
  input  [5:0]  io_push_bits_data_put,
  output [65:0] io_valid,
  input         io_pop_valid,
  input  [6:0]  io_pop_bits,
  output        io_data_prio_0,
  output        io_data_prio_1,
  output        io_data_prio_2,
  output [2:0]  io_data_opcode,
  output [2:0]  io_data_param,
  output [2:0]  io_data_size,
  output [2:0]  io_data_source,
  output [24:0] io_data_tag,
  output [3:0]  io_data_offset,
  output [5:0]  io_data_put
);
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_26;
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_25;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [95:0] _RAND_27;
  reg [31:0] _RAND_28;
`endif // RANDOMIZE_REG_INIT
  reg [4:0] head [0:65]; // @[ListBuffer.scala 46:18]
  wire  head_pop_head_en; // @[ListBuffer.scala 46:18]
  wire [6:0] head_pop_head_addr; // @[ListBuffer.scala 46:18]
  wire [4:0] head_pop_head_data; // @[ListBuffer.scala 46:18]
  wire [4:0] head_MPORT_2_data; // @[ListBuffer.scala 46:18]
  wire [6:0] head_MPORT_2_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_2_en; // @[ListBuffer.scala 46:18]
  wire [4:0] head_MPORT_6_data; // @[ListBuffer.scala 46:18]
  wire [6:0] head_MPORT_6_addr; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_mask; // @[ListBuffer.scala 46:18]
  wire  head_MPORT_6_en; // @[ListBuffer.scala 46:18]
  reg [4:0] tail [0:65]; // @[ListBuffer.scala 47:18]
  wire  tail_push_tail_en; // @[ListBuffer.scala 47:18]
  wire [6:0] tail_push_tail_addr; // @[ListBuffer.scala 47:18]
  wire [4:0] tail_push_tail_data; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_4_en; // @[ListBuffer.scala 47:18]
  wire [6:0] tail_MPORT_4_addr; // @[ListBuffer.scala 47:18]
  wire [4:0] tail_MPORT_4_data; // @[ListBuffer.scala 47:18]
  wire [4:0] tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
  wire [6:0] tail_MPORT_3_addr; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_mask; // @[ListBuffer.scala 47:18]
  wire  tail_MPORT_3_en; // @[ListBuffer.scala 47:18]
  reg [4:0] next [0:21]; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_5_en; // @[ListBuffer.scala 49:18]
  wire [4:0] next_MPORT_5_addr; // @[ListBuffer.scala 49:18]
  wire [4:0] next_MPORT_5_data; // @[ListBuffer.scala 49:18]
  wire [4:0] next_MPORT_1_data; // @[ListBuffer.scala 49:18]
  wire [4:0] next_MPORT_1_addr; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_mask; // @[ListBuffer.scala 49:18]
  wire  next_MPORT_1_en; // @[ListBuffer.scala 49:18]
  reg  data_prio_0 [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_prio_0_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_0_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_0_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire  data_prio_0_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_0_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_0_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_prio_0_MPORT_en; // @[ListBuffer.scala 50:18]
  reg  data_prio_1 [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_prio_1_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_1_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_1_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire  data_prio_1_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_1_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_1_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_prio_1_MPORT_en; // @[ListBuffer.scala 50:18]
  reg  data_prio_2 [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_prio_2_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_2_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_2_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire  data_prio_2_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_prio_2_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_prio_2_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_prio_2_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [2:0] data_opcode [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_opcode_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_opcode_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [2:0] data_opcode_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [2:0] data_opcode_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_opcode_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_opcode_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_opcode_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [2:0] data_param [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_param_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_param_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [2:0] data_param_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [2:0] data_param_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_param_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_param_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_param_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [2:0] data_size [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_size_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_size_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [2:0] data_size_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [2:0] data_size_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_size_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_size_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_size_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [2:0] data_source [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_source_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_source_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [2:0] data_source_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [2:0] data_source_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_source_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_source_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_source_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [24:0] data_tag [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_tag_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_tag_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [24:0] data_tag_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [24:0] data_tag_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_tag_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_tag_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_tag_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [3:0] data_offset [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_offset_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_offset_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [3:0] data_offset_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [3:0] data_offset_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_offset_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_offset_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_offset_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [5:0] data_put [0:21]; // @[ListBuffer.scala 50:18]
  wire  data_put_io_data_MPORT_en; // @[ListBuffer.scala 50:18]
  wire [4:0] data_put_io_data_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire [5:0] data_put_io_data_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [5:0] data_put_MPORT_data; // @[ListBuffer.scala 50:18]
  wire [4:0] data_put_MPORT_addr; // @[ListBuffer.scala 50:18]
  wire  data_put_MPORT_mask; // @[ListBuffer.scala 50:18]
  wire  data_put_MPORT_en; // @[ListBuffer.scala 50:18]
  reg [65:0] valid; // @[ListBuffer.scala 45:22]
  reg [21:0] used; // @[ListBuffer.scala 48:22]
  wire [21:0] _freeOH_T = ~used; // @[ListBuffer.scala 52:25]
  wire [22:0] _freeOH_T_1 = {_freeOH_T, 1'h0}; // @[package.scala 244:48]
  wire [21:0] _freeOH_T_3 = _freeOH_T | _freeOH_T_1[21:0]; // @[package.scala 244:43]
  wire [23:0] _freeOH_T_4 = {_freeOH_T_3, 2'h0}; // @[package.scala 244:48]
  wire [21:0] _freeOH_T_6 = _freeOH_T_3 | _freeOH_T_4[21:0]; // @[package.scala 244:43]
  wire [25:0] _freeOH_T_7 = {_freeOH_T_6, 4'h0}; // @[package.scala 244:48]
  wire [21:0] _freeOH_T_9 = _freeOH_T_6 | _freeOH_T_7[21:0]; // @[package.scala 244:43]
  wire [29:0] _freeOH_T_10 = {_freeOH_T_9, 8'h0}; // @[package.scala 244:48]
  wire [21:0] _freeOH_T_12 = _freeOH_T_9 | _freeOH_T_10[21:0]; // @[package.scala 244:43]
  wire [37:0] _freeOH_T_13 = {_freeOH_T_12, 16'h0}; // @[package.scala 244:48]
  wire [21:0] _freeOH_T_15 = _freeOH_T_12 | _freeOH_T_13[21:0]; // @[package.scala 244:43]
  wire [22:0] _freeOH_T_17 = {_freeOH_T_15, 1'h0}; // @[ListBuffer.scala 52:32]
  wire [22:0] _freeOH_T_18 = ~_freeOH_T_17; // @[ListBuffer.scala 52:16]
  wire [22:0] _GEN_49 = {{1'd0}, _freeOH_T}; // @[ListBuffer.scala 52:38]
  wire [22:0] freeOH = _freeOH_T_18 & _GEN_49; // @[ListBuffer.scala 52:38]
  wire [6:0] freeIdx_hi = freeOH[22:16]; // @[OneHot.scala 30:18]
  wire [15:0] freeIdx_lo = freeOH[15:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T = |freeIdx_hi; // @[OneHot.scala 32:14]
  wire [15:0] _GEN_50 = {{9'd0}, freeIdx_hi}; // @[OneHot.scala 32:28]
  wire [15:0] _freeIdx_T_1 = _GEN_50 | freeIdx_lo; // @[OneHot.scala 32:28]
  wire [7:0] freeIdx_hi_1 = _freeIdx_T_1[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] freeIdx_lo_1 = _freeIdx_T_1[7:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_2 = |freeIdx_hi_1; // @[OneHot.scala 32:14]
  wire [7:0] _freeIdx_T_3 = freeIdx_hi_1 | freeIdx_lo_1; // @[OneHot.scala 32:28]
  wire [3:0] freeIdx_hi_2 = _freeIdx_T_3[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] freeIdx_lo_2 = _freeIdx_T_3[3:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_4 = |freeIdx_hi_2; // @[OneHot.scala 32:14]
  wire [3:0] _freeIdx_T_5 = freeIdx_hi_2 | freeIdx_lo_2; // @[OneHot.scala 32:28]
  wire [1:0] freeIdx_hi_3 = _freeIdx_T_5[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] freeIdx_lo_3 = _freeIdx_T_5[1:0]; // @[OneHot.scala 31:18]
  wire  _freeIdx_T_6 = |freeIdx_hi_3; // @[OneHot.scala 32:14]
  wire [1:0] _freeIdx_T_7 = freeIdx_hi_3 | freeIdx_lo_3; // @[OneHot.scala 32:28]
  wire [3:0] _freeIdx_T_11 = {_freeIdx_T_2,_freeIdx_T_4,_freeIdx_T_6,_freeIdx_T_7[1]}; // @[Cat.scala 33:92]
  wire [4:0] freeIdx = {_freeIdx_T,_freeIdx_T_2,_freeIdx_T_4,_freeIdx_T_6,_freeIdx_T_7[1]}; // @[Cat.scala 33:92]
  wire [65:0] _push_valid_T = valid >> io_push_bits_index; // @[ListBuffer.scala 61:25]
  wire  push_valid = _push_valid_T[0]; // @[ListBuffer.scala 61:25]
  wire  _T = io_push_ready & io_push_valid; // @[Decoupled.scala 52:35]
  wire [127:0] _valid_set_T = 128'h1 << io_push_bits_index; // @[OneHot.scala 64:12]
  wire  _GEN_7 = push_valid ? 1'h0 : 1'h1; // @[ListBuffer.scala 46:18 68:23]
  wire [65:0] valid_set = _T ? _valid_set_T[65:0] : 66'h0; // @[ListBuffer.scala 64:25 65:15]
  wire [22:0] _GEN_11 = _T ? freeOH : 23'h0; // @[ListBuffer.scala 64:25 66:14]
  wire  _GEN_29 = _T & push_valid; // @[ListBuffer.scala 49:18 64:25]
  wire [65:0] _T_2 = io_valid >> io_pop_bits; // @[ListBuffer.scala 84:39]
  wire [4:0] used_clr_shiftAmount = head_pop_head_data; // @[OneHot.scala 63:49]
  wire [31:0] _used_clr_T = 32'h1 << used_clr_shiftAmount; // @[OneHot.scala 64:12]
  wire [127:0] _valid_clr_T = 128'h1 << io_pop_bits; // @[OneHot.scala 64:12]
  wire [65:0] _GEN_38 = head_pop_head_data == tail_MPORT_4_data ? _valid_clr_T[65:0] : 66'h0; // @[ListBuffer.scala 88:48 89:17]
  wire  _T_12 = _GEN_29 & tail_push_tail_data == head_pop_head_data; // @[ListBuffer.scala 91:62]
  wire [21:0] used_clr = io_pop_valid ? _used_clr_T[21:0] : 22'h0; // @[ListBuffer.scala 86:24 87:14]
  wire [65:0] valid_clr = io_pop_valid ? _GEN_38 : 66'h0; // @[ListBuffer.scala 86:24]
  wire [21:0] _used_T = ~used_clr; // @[ListBuffer.scala 96:23]
  wire [21:0] _used_T_1 = used & _used_T; // @[ListBuffer.scala 96:21]
  wire [21:0] used_set = _GEN_11[21:0];
  wire [21:0] _used_T_2 = _used_T_1 | used_set; // @[ListBuffer.scala 96:35]
  wire [65:0] _valid_T = ~valid_clr; // @[ListBuffer.scala 97:23]
  wire [65:0] _valid_T_1 = valid & _valid_T; // @[ListBuffer.scala 97:21]
  wire [65:0] _valid_T_2 = _valid_T_1 | valid_set; // @[ListBuffer.scala 97:35]
  assign head_pop_head_en = 1'h1;
  assign head_pop_head_addr = io_pop_bits;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign head_pop_head_data = head[head_pop_head_addr]; // @[ListBuffer.scala 46:18]
  `else
  assign head_pop_head_data = head_pop_head_addr >= 7'h42 ? _RAND_1[4:0] : head[head_pop_head_addr]; // @[ListBuffer.scala 46:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign head_MPORT_2_data = {_freeIdx_T,_freeIdx_T_11};
  assign head_MPORT_2_addr = io_push_bits_index;
  assign head_MPORT_2_mask = 1'h1;
  assign head_MPORT_2_en = _T & _GEN_7;
  assign head_MPORT_6_data = _T_12 ? freeIdx : next_MPORT_5_data;
  assign head_MPORT_6_addr = io_pop_bits;
  assign head_MPORT_6_mask = 1'h1;
  assign head_MPORT_6_en = io_pop_valid;
  assign tail_push_tail_en = 1'h1;
  assign tail_push_tail_addr = io_push_bits_index;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign tail_push_tail_data = tail[tail_push_tail_addr]; // @[ListBuffer.scala 47:18]
  `else
  assign tail_push_tail_data = tail_push_tail_addr >= 7'h42 ? _RAND_3[4:0] : tail[tail_push_tail_addr]; // @[ListBuffer.scala 47:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_4_en = io_pop_valid;
  assign tail_MPORT_4_addr = io_pop_bits;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_4_data = tail[tail_MPORT_4_addr]; // @[ListBuffer.scala 47:18]
  `else
  assign tail_MPORT_4_data = tail_MPORT_4_addr >= 7'h42 ? _RAND_4[4:0] : tail[tail_MPORT_4_addr]; // @[ListBuffer.scala 47:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign tail_MPORT_3_data = {_freeIdx_T,_freeIdx_T_11};
  assign tail_MPORT_3_addr = io_push_bits_index;
  assign tail_MPORT_3_mask = 1'h1;
  assign tail_MPORT_3_en = io_push_ready & io_push_valid;
  assign next_MPORT_5_en = io_pop_valid;
  assign next_MPORT_5_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign next_MPORT_5_data = next[next_MPORT_5_addr]; // @[ListBuffer.scala 49:18]
  `else
  assign next_MPORT_5_data = next_MPORT_5_addr >= 5'h16 ? _RAND_6[4:0] : next[next_MPORT_5_addr]; // @[ListBuffer.scala 49:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign next_MPORT_1_data = {_freeIdx_T,_freeIdx_T_11};
  assign next_MPORT_1_addr = tail_push_tail_data;
  assign next_MPORT_1_mask = 1'h1;
  assign next_MPORT_1_en = _T & push_valid;
  assign data_prio_0_io_data_MPORT_en = 1'h1;
  assign data_prio_0_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_0_io_data_MPORT_data = data_prio_0[data_prio_0_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_prio_0_io_data_MPORT_data = data_prio_0_io_data_MPORT_addr >= 5'h16 ? _RAND_8[0:0] :
    data_prio_0[data_prio_0_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_0_MPORT_data = io_push_bits_data_prio_0;
  assign data_prio_0_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_prio_0_MPORT_mask = 1'h1;
  assign data_prio_0_MPORT_en = io_push_ready & io_push_valid;
  assign data_prio_1_io_data_MPORT_en = 1'h1;
  assign data_prio_1_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_1_io_data_MPORT_data = data_prio_1[data_prio_1_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_prio_1_io_data_MPORT_data = data_prio_1_io_data_MPORT_addr >= 5'h16 ? _RAND_10[0:0] :
    data_prio_1[data_prio_1_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_1_MPORT_data = 1'h0;
  assign data_prio_1_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_prio_1_MPORT_mask = 1'h1;
  assign data_prio_1_MPORT_en = io_push_ready & io_push_valid;
  assign data_prio_2_io_data_MPORT_en = 1'h1;
  assign data_prio_2_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_2_io_data_MPORT_data = data_prio_2[data_prio_2_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_prio_2_io_data_MPORT_data = data_prio_2_io_data_MPORT_addr >= 5'h16 ? _RAND_12[0:0] :
    data_prio_2[data_prio_2_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_prio_2_MPORT_data = io_push_bits_data_prio_2;
  assign data_prio_2_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_prio_2_MPORT_mask = 1'h1;
  assign data_prio_2_MPORT_en = io_push_ready & io_push_valid;
  assign data_opcode_io_data_MPORT_en = 1'h1;
  assign data_opcode_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_opcode_io_data_MPORT_data = data_opcode[data_opcode_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_opcode_io_data_MPORT_data = data_opcode_io_data_MPORT_addr >= 5'h16 ? _RAND_14[2:0] :
    data_opcode[data_opcode_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_opcode_MPORT_data = io_push_bits_data_opcode;
  assign data_opcode_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_opcode_MPORT_mask = 1'h1;
  assign data_opcode_MPORT_en = io_push_ready & io_push_valid;
  assign data_param_io_data_MPORT_en = 1'h1;
  assign data_param_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_param_io_data_MPORT_data = data_param[data_param_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_param_io_data_MPORT_data = data_param_io_data_MPORT_addr >= 5'h16 ? _RAND_16[2:0] :
    data_param[data_param_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_param_MPORT_data = io_push_bits_data_param;
  assign data_param_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_param_MPORT_mask = 1'h1;
  assign data_param_MPORT_en = io_push_ready & io_push_valid;
  assign data_size_io_data_MPORT_en = 1'h1;
  assign data_size_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_size_io_data_MPORT_data = data_size[data_size_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_size_io_data_MPORT_data = data_size_io_data_MPORT_addr >= 5'h16 ? _RAND_18[2:0] :
    data_size[data_size_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_size_MPORT_data = io_push_bits_data_size;
  assign data_size_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_size_MPORT_mask = 1'h1;
  assign data_size_MPORT_en = io_push_ready & io_push_valid;
  assign data_source_io_data_MPORT_en = 1'h1;
  assign data_source_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_source_io_data_MPORT_data = data_source[data_source_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_source_io_data_MPORT_data = data_source_io_data_MPORT_addr >= 5'h16 ? _RAND_20[2:0] :
    data_source[data_source_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_source_MPORT_data = io_push_bits_data_source;
  assign data_source_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_source_MPORT_mask = 1'h1;
  assign data_source_MPORT_en = io_push_ready & io_push_valid;
  assign data_tag_io_data_MPORT_en = 1'h1;
  assign data_tag_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_tag_io_data_MPORT_data = data_tag[data_tag_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_tag_io_data_MPORT_data = data_tag_io_data_MPORT_addr >= 5'h16 ? _RAND_22[24:0] :
    data_tag[data_tag_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_tag_MPORT_data = io_push_bits_data_tag;
  assign data_tag_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_tag_MPORT_mask = 1'h1;
  assign data_tag_MPORT_en = io_push_ready & io_push_valid;
  assign data_offset_io_data_MPORT_en = 1'h1;
  assign data_offset_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_offset_io_data_MPORT_data = data_offset[data_offset_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_offset_io_data_MPORT_data = data_offset_io_data_MPORT_addr >= 5'h16 ? _RAND_24[3:0] :
    data_offset[data_offset_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_offset_MPORT_data = io_push_bits_data_offset;
  assign data_offset_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_offset_MPORT_mask = 1'h1;
  assign data_offset_MPORT_en = io_push_ready & io_push_valid;
  assign data_put_io_data_MPORT_en = 1'h1;
  assign data_put_io_data_MPORT_addr = head_pop_head_data;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign data_put_io_data_MPORT_data = data_put[data_put_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `else
  assign data_put_io_data_MPORT_data = data_put_io_data_MPORT_addr >= 5'h16 ? _RAND_26[5:0] :
    data_put[data_put_io_data_MPORT_addr]; // @[ListBuffer.scala 50:18]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign data_put_MPORT_data = io_push_bits_data_put;
  assign data_put_MPORT_addr = {_freeIdx_T,_freeIdx_T_11};
  assign data_put_MPORT_mask = 1'h1;
  assign data_put_MPORT_en = io_push_ready & io_push_valid;
  assign io_push_ready = ~(&used); // @[ListBuffer.scala 63:20]
  assign io_valid = valid; // @[ListBuffer.scala 81:12]
  assign io_data_prio_0 = data_prio_0_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_prio_1 = data_prio_1_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_prio_2 = data_prio_2_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_opcode = data_opcode_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_param = data_param_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_size = data_size_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_source = data_source_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_tag = data_tag_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_offset = data_offset_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  assign io_data_put = data_put_io_data_MPORT_data; // @[ListBuffer.scala 80:11]
  always @(posedge clock) begin
    if (head_MPORT_2_en & head_MPORT_2_mask) begin
      head[head_MPORT_2_addr] <= head_MPORT_2_data; // @[ListBuffer.scala 46:18]
    end
    if (head_MPORT_6_en & head_MPORT_6_mask) begin
      head[head_MPORT_6_addr] <= head_MPORT_6_data; // @[ListBuffer.scala 46:18]
    end
    if (tail_MPORT_3_en & tail_MPORT_3_mask) begin
      tail[tail_MPORT_3_addr] <= tail_MPORT_3_data; // @[ListBuffer.scala 47:18]
    end
    if (next_MPORT_1_en & next_MPORT_1_mask) begin
      next[next_MPORT_1_addr] <= next_MPORT_1_data; // @[ListBuffer.scala 49:18]
    end
    if (data_prio_0_MPORT_en & data_prio_0_MPORT_mask) begin
      data_prio_0[data_prio_0_MPORT_addr] <= data_prio_0_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_prio_1_MPORT_en & data_prio_1_MPORT_mask) begin
      data_prio_1[data_prio_1_MPORT_addr] <= data_prio_1_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_prio_2_MPORT_en & data_prio_2_MPORT_mask) begin
      data_prio_2[data_prio_2_MPORT_addr] <= data_prio_2_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_opcode_MPORT_en & data_opcode_MPORT_mask) begin
      data_opcode[data_opcode_MPORT_addr] <= data_opcode_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_param_MPORT_en & data_param_MPORT_mask) begin
      data_param[data_param_MPORT_addr] <= data_param_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_size_MPORT_en & data_size_MPORT_mask) begin
      data_size[data_size_MPORT_addr] <= data_size_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_source_MPORT_en & data_source_MPORT_mask) begin
      data_source[data_source_MPORT_addr] <= data_source_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_tag_MPORT_en & data_tag_MPORT_mask) begin
      data_tag[data_tag_MPORT_addr] <= data_tag_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_offset_MPORT_en & data_offset_MPORT_mask) begin
      data_offset[data_offset_MPORT_addr] <= data_offset_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (data_put_MPORT_en & data_put_MPORT_mask) begin
      data_put[data_put_MPORT_addr] <= data_put_MPORT_data; // @[ListBuffer.scala 50:18]
    end
    if (reset) begin // @[ListBuffer.scala 45:22]
      valid <= 66'h0; // @[ListBuffer.scala 45:22]
    end else begin
      valid <= _valid_T_2;
    end
    if (reset) begin // @[ListBuffer.scala 48:22]
      used <= 22'h0; // @[ListBuffer.scala 48:22]
    end else begin
      used <= _used_T_2;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_pop_valid | _T_2[0])) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at ListBuffer.scala:84 assert (!io.pop.fire() || (io.valid)(io.pop.bits))\n"); // @[ListBuffer.scala 84:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_pop_valid | _T_2[0]) & ~reset) begin
          $fatal; // @[ListBuffer.scala 84:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_GARBAGE_ASSIGN
  _RAND_1 = {1{`RANDOM}};
  _RAND_3 = {1{`RANDOM}};
  _RAND_4 = {1{`RANDOM}};
  _RAND_6 = {1{`RANDOM}};
  _RAND_8 = {1{`RANDOM}};
  _RAND_10 = {1{`RANDOM}};
  _RAND_12 = {1{`RANDOM}};
  _RAND_14 = {1{`RANDOM}};
  _RAND_16 = {1{`RANDOM}};
  _RAND_18 = {1{`RANDOM}};
  _RAND_20 = {1{`RANDOM}};
  _RAND_22 = {1{`RANDOM}};
  _RAND_24 = {1{`RANDOM}};
  _RAND_26 = {1{`RANDOM}};
`endif // RANDOMIZE_GARBAGE_ASSIGN
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 66; initvar = initvar+1)
    head[initvar] = _RAND_0[4:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 66; initvar = initvar+1)
    tail[initvar] = _RAND_2[4:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    next[initvar] = _RAND_5[4:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_prio_0[initvar] = _RAND_7[0:0];
  _RAND_9 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_prio_1[initvar] = _RAND_9[0:0];
  _RAND_11 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_prio_2[initvar] = _RAND_11[0:0];
  _RAND_13 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_opcode[initvar] = _RAND_13[2:0];
  _RAND_15 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_param[initvar] = _RAND_15[2:0];
  _RAND_17 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_size[initvar] = _RAND_17[2:0];
  _RAND_19 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_source[initvar] = _RAND_19[2:0];
  _RAND_21 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_tag[initvar] = _RAND_21[24:0];
  _RAND_23 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_offset[initvar] = _RAND_23[3:0];
  _RAND_25 = {1{`RANDOM}};
  for (initvar = 0; initvar < 22; initvar = initvar+1)
    data_put[initvar] = _RAND_25[5:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {3{`RANDOM}};
  valid = _RAND_27[65:0];
  _RAND_28 = {1{`RANDOM}};
  used = _RAND_28[21:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module MSHR(
  input         clock,
  input         reset,
  input         io_allocate_valid,
  input         io_allocate_bits_prio_0,
  input         io_allocate_bits_prio_1,
  input         io_allocate_bits_prio_2,
  input  [2:0]  io_allocate_bits_opcode,
  input  [2:0]  io_allocate_bits_param,
  input  [2:0]  io_allocate_bits_size,
  input  [2:0]  io_allocate_bits_source,
  input  [24:0] io_allocate_bits_tag,
  input  [3:0]  io_allocate_bits_offset,
  input  [5:0]  io_allocate_bits_put,
  input  [2:0]  io_allocate_bits_set,
  input         io_allocate_bits_repeat,
  input         io_directory_valid,
  input         io_directory_bits_dirty,
  input  [1:0]  io_directory_bits_state,
  input         io_directory_bits_clients,
  input  [24:0] io_directory_bits_tag,
  input         io_directory_bits_hit,
  input         io_directory_bits_way,
  output        io_status_valid,
  output [2:0]  io_status_bits_set,
  output [24:0] io_status_bits_tag,
  output        io_status_bits_way,
  output        io_status_bits_blockB,
  output        io_status_bits_nestB,
  output        io_status_bits_blockC,
  output        io_status_bits_nestC,
  input         io_schedule_ready,
  output        io_schedule_valid,
  output        io_schedule_bits_a_valid,
  output [24:0] io_schedule_bits_a_bits_tag,
  output [2:0]  io_schedule_bits_a_bits_set,
  output [2:0]  io_schedule_bits_a_bits_param,
  output        io_schedule_bits_a_bits_block,
  output        io_schedule_bits_b_valid,
  output [2:0]  io_schedule_bits_b_bits_param,
  output [24:0] io_schedule_bits_b_bits_tag,
  output [2:0]  io_schedule_bits_b_bits_set,
  output        io_schedule_bits_b_bits_clients,
  output        io_schedule_bits_c_valid,
  output [2:0]  io_schedule_bits_c_bits_opcode,
  output [2:0]  io_schedule_bits_c_bits_param,
  output [24:0] io_schedule_bits_c_bits_tag,
  output [2:0]  io_schedule_bits_c_bits_set,
  output        io_schedule_bits_c_bits_way,
  output        io_schedule_bits_c_bits_dirty,
  output        io_schedule_bits_d_valid,
  output        io_schedule_bits_d_bits_prio_0,
  output        io_schedule_bits_d_bits_prio_2,
  output [2:0]  io_schedule_bits_d_bits_opcode,
  output [2:0]  io_schedule_bits_d_bits_param,
  output [2:0]  io_schedule_bits_d_bits_size,
  output [2:0]  io_schedule_bits_d_bits_source,
  output [3:0]  io_schedule_bits_d_bits_offset,
  output [5:0]  io_schedule_bits_d_bits_put,
  output [2:0]  io_schedule_bits_d_bits_set,
  output        io_schedule_bits_d_bits_way,
  output        io_schedule_bits_d_bits_bad,
  output        io_schedule_bits_e_valid,
  output [2:0]  io_schedule_bits_e_bits_sink,
  output        io_schedule_bits_x_valid,
  output        io_schedule_bits_dir_valid,
  output [2:0]  io_schedule_bits_dir_bits_set,
  output        io_schedule_bits_dir_bits_way,
  output        io_schedule_bits_dir_bits_data_dirty,
  output [1:0]  io_schedule_bits_dir_bits_data_state,
  output        io_schedule_bits_dir_bits_data_clients,
  output [24:0] io_schedule_bits_dir_bits_data_tag,
  output        io_schedule_bits_reload,
  input         io_sinkc_valid,
  input         io_sinkc_bits_last,
  input  [24:0] io_sinkc_bits_tag,
  input  [2:0]  io_sinkc_bits_source,
  input  [2:0]  io_sinkc_bits_param,
  input         io_sinkc_bits_data,
  input         io_sinkd_valid,
  input         io_sinkd_bits_last,
  input  [2:0]  io_sinkd_bits_opcode,
  input  [2:0]  io_sinkd_bits_param,
  input  [2:0]  io_sinkd_bits_sink,
  input         io_sinkd_bits_denied,
  input         io_sinke_valid,
  input  [2:0]  io_nestedwb_set,
  input  [24:0] io_nestedwb_tag,
  input         io_nestedwb_b_toN,
  input         io_nestedwb_b_toB,
  input         io_nestedwb_b_clr_dirty,
  input         io_nestedwb_c_set_dirty
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
`endif // RANDOMIZE_REG_INIT
  reg  request_valid; // @[MSHR.scala 94:30]
  reg  request_prio_0; // @[MSHR.scala 95:20]
  reg  request_prio_1; // @[MSHR.scala 95:20]
  reg  request_prio_2; // @[MSHR.scala 95:20]
  reg [2:0] request_opcode; // @[MSHR.scala 95:20]
  reg [2:0] request_param; // @[MSHR.scala 95:20]
  reg [2:0] request_size; // @[MSHR.scala 95:20]
  reg [2:0] request_source; // @[MSHR.scala 95:20]
  reg [24:0] request_tag; // @[MSHR.scala 95:20]
  reg [3:0] request_offset; // @[MSHR.scala 95:20]
  reg [5:0] request_put; // @[MSHR.scala 95:20]
  reg [2:0] request_set; // @[MSHR.scala 95:20]
  reg  meta_valid; // @[MSHR.scala 96:27]
  reg  meta_dirty; // @[MSHR.scala 97:17]
  reg [1:0] meta_state; // @[MSHR.scala 97:17]
  reg  meta_clients; // @[MSHR.scala 97:17]
  reg [24:0] meta_tag; // @[MSHR.scala 97:17]
  reg  meta_hit; // @[MSHR.scala 97:17]
  reg  meta_way; // @[MSHR.scala 97:17]
  wire  _T = meta_state == 2'h0; // @[MSHR.scala 101:22]
  wire  _T_1 = |meta_clients; // @[MSHR.scala 102:29]
  wire  _T_2 = ~(|meta_clients); // @[MSHR.scala 102:15]
  wire  _T_4 = ~reset; // @[MSHR.scala 102:14]
  wire  _T_6 = ~meta_dirty; // @[MSHR.scala 103:15]
  wire  _T_9 = ~(~meta_dirty); // @[MSHR.scala 103:14]
  wire  _T_10 = meta_state == 2'h1; // @[MSHR.scala 105:22]
  wire  _T_15 = meta_state == 2'h2; // @[MSHR.scala 108:22]
  reg  s_rprobe; // @[MSHR.scala 118:33]
  reg  w_rprobeackfirst; // @[MSHR.scala 119:33]
  reg  w_rprobeacklast; // @[MSHR.scala 120:33]
  reg  s_release; // @[MSHR.scala 121:33]
  reg  w_releaseack; // @[MSHR.scala 122:33]
  reg  s_pprobe; // @[MSHR.scala 123:33]
  reg  s_acquire; // @[MSHR.scala 124:33]
  reg  w_grantfirst; // @[MSHR.scala 126:33]
  reg  w_grantlast; // @[MSHR.scala 127:33]
  reg  w_grant; // @[MSHR.scala 128:33]
  reg  w_pprobeackfirst; // @[MSHR.scala 129:33]
  reg  w_pprobeacklast; // @[MSHR.scala 130:33]
  reg  w_pprobeack; // @[MSHR.scala 131:33]
  reg  s_grantack; // @[MSHR.scala 133:33]
  reg  s_execute; // @[MSHR.scala 134:33]
  reg  w_grantack; // @[MSHR.scala 135:33]
  reg  s_writeback; // @[MSHR.scala 136:33]
  reg [2:0] sink; // @[MSHR.scala 144:17]
  reg  gotT; // @[MSHR.scala 145:17]
  reg  bad_grant; // @[MSHR.scala 146:22]
  reg  probes_done; // @[MSHR.scala 147:24]
  reg  probes_toN; // @[MSHR.scala 148:23]
  wire  _T_28 = meta_state != 2'h0; // @[MSHR.scala 152:34]
  wire  _T_30 = io_nestedwb_set == request_set; // @[MSHR.scala 153:25]
  wire  _T_31 = meta_valid & meta_state != 2'h0 & _T_30; // @[MSHR.scala 152:46]
  wire  _GEN_0 = io_nestedwb_b_clr_dirty ? 1'h0 : meta_dirty; // @[MSHR.scala 154:{36,49} 97:17]
  wire  _GEN_1 = io_nestedwb_c_set_dirty | _GEN_0; // @[MSHR.scala 155:{36,49}]
  wire  _GEN_4 = _T_31 & io_nestedwb_tag == meta_tag ? _GEN_1 : meta_dirty; // @[MSHR.scala 153:74 97:17]
  wire  _io_status_bits_blockB_T = ~meta_valid; // @[MSHR.scala 165:28]
  wire  _io_status_bits_blockB_T_6 = ~w_grantfirst; // @[MSHR.scala 165:103]
  wire  no_wait = w_rprobeacklast & w_releaseack & w_grantlast & w_pprobeacklast & w_grantack; // @[MSHR.scala 180:83]
  wire  _io_schedule_bits_b_valid_T = ~s_rprobe; // @[MSHR.scala 182:31]
  wire  _io_schedule_bits_c_valid_T = ~s_release; // @[MSHR.scala 183:32]
  wire  _io_schedule_bits_c_valid_T_1 = ~s_release & w_rprobeackfirst; // @[MSHR.scala 183:43]
  wire  _io_schedule_bits_dir_valid_T_3 = ~s_writeback & no_wait; // @[MSHR.scala 187:83]
  wire  _io_schedule_valid_T_2 = io_schedule_bits_a_valid | io_schedule_bits_b_valid | io_schedule_bits_c_valid |
    io_schedule_bits_d_valid; // @[MSHR.scala 189:105]
  wire  _GEN_7 = w_rprobeackfirst | s_release; // @[MSHR.scala 121:33 196:{35,50}]
  wire  _GEN_8 = s_release & s_pprobe | s_acquire; // @[MSHR.scala 124:33 198:{35,50}]
  wire  _GEN_11 = w_grantfirst | s_grantack; // @[MSHR.scala 133:33 201:{35,50}]
  wire  _GEN_12 = w_pprobeack & w_grant | s_execute; // @[MSHR.scala 134:33 202:{35,50}]
  wire  _GEN_13 = no_wait | s_writeback; // @[MSHR.scala 136:33 203:{35,50}]
  wire  _GEN_14 = no_wait ? 1'h0 : request_valid; // @[MSHR.scala 205:20 206:21 94:30]
  wire  _GEN_15 = no_wait ? 1'h0 : meta_valid; // @[MSHR.scala 205:20 207:18 96:27]
  wire  _GEN_16 = io_schedule_ready | s_rprobe; // @[MSHR.scala 194:28 118:33 195:50]
  wire  _GEN_17 = io_schedule_ready ? _GEN_7 : s_release; // @[MSHR.scala 194:28 121:33]
  wire  _GEN_18 = io_schedule_ready | s_pprobe; // @[MSHR.scala 194:28 123:33 197:50]
  wire  _GEN_19 = io_schedule_ready ? _GEN_8 : s_acquire; // @[MSHR.scala 194:28 124:33]
  wire  _GEN_22 = io_schedule_ready ? _GEN_11 : s_grantack; // @[MSHR.scala 194:28 133:33]
  wire  _GEN_23 = io_schedule_ready ? _GEN_12 : s_execute; // @[MSHR.scala 194:28 134:33]
  wire  _GEN_24 = io_schedule_ready ? _GEN_13 : s_writeback; // @[MSHR.scala 194:28 136:33]
  wire  _GEN_25 = io_schedule_ready ? _GEN_14 : request_valid; // @[MSHR.scala 194:28 94:30]
  wire  _GEN_26 = io_schedule_ready ? _GEN_15 : meta_valid; // @[MSHR.scala 194:28 96:27]
  wire  req_clientBit = request_source == 3'h3; // @[Parameters.scala 46:9]
  wire  _req_needT_T_1 = ~request_opcode[2]; // @[Parameters.scala 265:5]
  wire  _req_needT_T_3 = request_param == 3'h1; // @[Parameters.scala 266:42]
  wire  _req_needT_T_4 = request_opcode == 3'h5 & request_param == 3'h1; // @[Parameters.scala 266:33]
  wire  _req_needT_T_5 = ~request_opcode[2] | _req_needT_T_4; // @[Parameters.scala 265:16]
  wire  _req_needT_T_7 = request_opcode == 3'h7; // @[Parameters.scala 267:52]
  wire  _req_needT_T_8 = request_opcode == 3'h6 | request_opcode == 3'h7; // @[Parameters.scala 267:42]
  wire  _req_needT_T_10 = (request_opcode == 3'h6 | request_opcode == 3'h7) & request_param != 3'h0; // @[Parameters.scala 267:80]
  wire  req_needT = _req_needT_T_5 | _req_needT_T_10; // @[Parameters.scala 266:70]
  wire  _req_promoteT_T_2 = meta_hit ? _T_2 & meta_state == 2'h3 : gotT; // @[MSHR.scala 218:40]
  wire  req_promoteT = _req_needT_T_8 & _req_promoteT_T_2; // @[MSHR.scala 218:34]
  wire [1:0] _final_meta_writeback_state_T_3 = request_param != 3'h3 & _T_15 ? 2'h3 : meta_state; // @[MSHR.scala 222:40]
  wire  _final_meta_writeback_clients_T_4 = _req_needT_T_3 | request_param == 3'h2 | request_param == 3'h5; // @[Parameters.scala 278:66]
  wire  _final_meta_writeback_clients_T_9 = meta_clients & ~probes_toN; // @[MSHR.scala 229:52]
  wire  _final_meta_writeback_dirty_T_5 = meta_hit & meta_dirty | _req_needT_T_1; // @[MSHR.scala 233:60]
  wire [1:0] _final_meta_writeback_state_T_4 = _req_needT_T_8 ? 2'h2 : 2'h3; // @[MSHR.scala 235:40]
  wire  _final_meta_writeback_state_T_5 = ~meta_hit; // @[MSHR.scala 236:41]
  wire [1:0] _final_meta_writeback_state_T_7 = gotT ? _final_meta_writeback_state_T_4 : 2'h1; // @[MSHR.scala 236:55]
  wire [1:0] _final_meta_writeback_state_T_9 = _T_2 & _req_needT_T_8 ? 2'h2 : 2'h3; // @[MSHR.scala 241:55]
  wire  _final_meta_writeback_state_T_10 = 2'h1 == meta_state; // @[Mux.scala 81:61]
  wire  _final_meta_writeback_state_T_12 = 2'h2 == meta_state; // @[Mux.scala 81:61]
  wire [1:0] _final_meta_writeback_state_T_13 = 2'h2 == meta_state ? 2'h3 : 2'h1; // @[Mux.scala 81:58]
  wire  _final_meta_writeback_state_T_14 = 2'h3 == meta_state; // @[Mux.scala 81:61]
  wire [1:0] _final_meta_writeback_state_T_15 = 2'h3 == meta_state ? _final_meta_writeback_state_T_9 :
    _final_meta_writeback_state_T_13; // @[Mux.scala 81:58]
  wire [1:0] _final_meta_writeback_state_T_16 = ~meta_hit ? _final_meta_writeback_state_T_7 :
    _final_meta_writeback_state_T_15; // @[MSHR.scala 236:40]
  wire [1:0] _final_meta_writeback_state_T_17 = req_needT ? _final_meta_writeback_state_T_4 :
    _final_meta_writeback_state_T_16; // @[MSHR.scala 234:38]
  wire  _final_meta_writeback_clients_T_12 = meta_hit & _final_meta_writeback_clients_T_9; // @[MSHR.scala 242:40]
  wire  _final_meta_writeback_clients_T_13 = _req_needT_T_8 & req_clientBit; // @[MSHR.scala 243:40]
  wire  _final_meta_writeback_clients_T_14 = meta_hit & _final_meta_writeback_clients_T_9 |
    _final_meta_writeback_clients_T_13; // @[MSHR.scala 242:88]
  wire  _GEN_35 = request_prio_2 ? meta_dirty | request_opcode[0] : _final_meta_writeback_dirty_T_5; // @[MSHR.scala 220:54 221:34]
  wire [1:0] _GEN_36 = request_prio_2 ? _final_meta_writeback_state_T_3 : _final_meta_writeback_state_T_17; // @[MSHR.scala 220:54 222:34]
  wire  _GEN_37 = request_prio_2 ? meta_clients & ~(_final_meta_writeback_clients_T_4 & req_clientBit) :
    _final_meta_writeback_clients_T_14; // @[MSHR.scala 220:54 223:34]
  wire [24:0] final_meta_writeback_tag = request_prio_2 ? meta_tag : request_tag; // @[MSHR.scala 220:54]
  wire [1:0] _GEN_42 = meta_hit ? 2'h1 : 2'h0; // @[MSHR.scala 249:21 254:36 260:36]
  wire  final_meta_writeback_hit = bad_grant ? meta_hit : 1'h1; // @[MSHR.scala 248:20]
  wire  final_meta_writeback_dirty = bad_grant ? 1'h0 : _GEN_35; // @[MSHR.scala 248:20]
  wire [1:0] final_meta_writeback_state = bad_grant ? _GEN_42 : _GEN_36; // @[MSHR.scala 248:20]
  wire  final_meta_writeback_clients = bad_grant ? _final_meta_writeback_clients_T_12 : _GEN_37; // @[MSHR.scala 248:20]
  wire  honour_BtoT = meta_hit & |(meta_clients & req_clientBit); // @[MSHR.scala 273:30]
  wire  _excluded_client_T_5 = _req_needT_T_8 | request_opcode == 3'h4; // @[Parameters.scala 275:77]
  wire  excluded_client = meta_hit & request_prio_0 & _excluded_client_T_5 & req_clientBit; // @[MSHR.scala 276:28]
  wire [1:0] _io_schedule_bits_a_bits_param_T = meta_hit ? 2'h2 : 2'h1; // @[MSHR.scala 279:56]
  wire [1:0] _io_schedule_bits_a_bits_param_T_1 = req_needT ? _io_schedule_bits_a_bits_param_T : 2'h0; // @[MSHR.scala 279:41]
  wire  _io_schedule_bits_a_bits_block_T_4 = ~(request_opcode == 3'h0 | _req_needT_T_7); // @[MSHR.scala 281:38]
  wire [1:0] _io_schedule_bits_b_bits_param_T_1 = req_needT ? 2'h2 : 2'h1; // @[MSHR.scala 283:97]
  wire [2:0] _io_schedule_bits_b_bits_param_T_2 = request_prio_1 ? request_param : {{1'd0},
    _io_schedule_bits_b_bits_param_T_1}; // @[MSHR.scala 283:61]
  wire  _io_schedule_bits_b_bits_clients_T_1 = meta_clients & ~excluded_client; // @[MSHR.scala 286:51]
  wire [1:0] _io_schedule_bits_d_bits_param_T_1 = req_promoteT ? 2'h1 : 2'h0; // @[MSHR.scala 297:53]
  wire [1:0] _io_schedule_bits_d_bits_param_T_2 = honour_BtoT ? 2'h2 : 2'h1; // @[MSHR.scala 298:53]
  wire [2:0] _io_schedule_bits_d_bits_param_T_4 = 3'h0 == request_param ? {{1'd0}, _io_schedule_bits_d_bits_param_T_1}
     : 3'h0; // @[Mux.scala 81:58]
  wire [2:0] _io_schedule_bits_d_bits_param_T_6 = 3'h2 == request_param ? {{1'd0}, _io_schedule_bits_d_bits_param_T_2}
     : _io_schedule_bits_d_bits_param_T_4; // @[Mux.scala 81:58]
  wire [2:0] _io_schedule_bits_d_bits_param_T_8 = 3'h1 == request_param ? 3'h1 : _io_schedule_bits_d_bits_param_T_6; // @[Mux.scala 81:58]
  wire  _evict_out_T = _T_1 ? 1'h0 : 1'h1; // @[MSHR.scala 315:32]
  wire [1:0] _evict_out_T_1 = meta_dirty ? 2'h2 : 2'h3; // @[MSHR.scala 316:32]
  wire [2:0] _evict_out_T_2 = meta_dirty ? 3'h4 : 3'h5; // @[MSHR.scala 317:39]
  wire [2:0] _evict_out_T_3 = meta_dirty ? 3'h6 : 3'h7; // @[MSHR.scala 317:76]
  wire [2:0] _evict_out_T_4 = _T_1 ? _evict_out_T_2 : _evict_out_T_3; // @[MSHR.scala 317:32]
  wire [3:0] _GEN_49 = _final_meta_writeback_state_T_14 ? {{1'd0}, _evict_out_T_4} : 4'h8; // @[MSHR.scala 314:26 317:26]
  wire [3:0] _GEN_50 = _final_meta_writeback_state_T_12 ? {{2'd0}, _evict_out_T_1} : _GEN_49; // @[MSHR.scala 314:26 316:26]
  wire [3:0] _GEN_51 = _final_meta_writeback_state_T_10 ? {{3'd0}, _evict_out_T} : _GEN_50; // @[MSHR.scala 314:26 315:26]
  wire [3:0] evict = ~_final_meta_writeback_state_T_5 ? 4'h8 : _GEN_51; // @[MSHR.scala 320:{17,23}]
  wire [3:0] before_ = _final_meta_writeback_state_T_5 ? 4'h8 : _GEN_51; // @[MSHR.scala 320:{17,23}]
  wire  after_c = |final_meta_writeback_clients; // @[MSHR.scala 312:27]
  wire  _after_out_T = after_c ? 1'h0 : 1'h1; // @[MSHR.scala 315:32]
  wire [1:0] _after_out_T_1 = final_meta_writeback_dirty ? 2'h2 : 2'h3; // @[MSHR.scala 316:32]
  wire [2:0] _after_out_T_2 = final_meta_writeback_dirty ? 3'h4 : 3'h5; // @[MSHR.scala 317:39]
  wire [2:0] _after_out_T_3 = final_meta_writeback_dirty ? 3'h6 : 3'h7; // @[MSHR.scala 317:76]
  wire [2:0] _after_out_T_4 = after_c ? _after_out_T_2 : _after_out_T_3; // @[MSHR.scala 317:32]
  wire [3:0] _GEN_59 = 2'h3 == final_meta_writeback_state ? {{1'd0}, _after_out_T_4} : 4'h8; // @[MSHR.scala 314:26 317:26]
  wire [3:0] _GEN_60 = 2'h2 == final_meta_writeback_state ? {{2'd0}, _after_out_T_1} : _GEN_59; // @[MSHR.scala 314:26 316:26]
  wire [3:0] after = 2'h1 == final_meta_writeback_state ? {{3'd0}, _after_out_T} : _GEN_60; // @[MSHR.scala 314:26 315:26]
  wire  _T_58 = _io_schedule_bits_c_valid_T_1 & io_schedule_ready; // @[MSHR.scala 360:42]
  wire  _T_64 = before_ == 4'h1; // @[MSHR.scala 361:13]
  wire  _T_74 = before_ == 4'h0; // @[MSHR.scala 362:13]
  wire  _T_80 = before_ == 4'h7; // @[MSHR.scala 363:13]
  wire  _T_86 = before_ == 4'h5; // @[MSHR.scala 364:13]
  wire  _T_92 = before_ == 4'h4; // @[MSHR.scala 365:13]
  wire  _T_98 = before_ == 4'h6; // @[MSHR.scala 366:13]
  wire  _T_104 = before_ == 4'h3; // @[MSHR.scala 367:13]
  wire  _T_110 = before_ == 4'h2; // @[MSHR.scala 368:13]
  wire  _T_117 = _io_schedule_bits_dir_valid_T_3 & io_schedule_ready; // @[MSHR.scala 371:35]
  wire  _T_118 = before_ == 4'h8; // @[MSHR.scala 372:15]
  wire  _T_119 = after == 4'h1; // @[MSHR.scala 372:15]
  wire  _T_126 = after == 4'h0; // @[MSHR.scala 373:15]
  wire  _T_136 = after == 4'h5; // @[MSHR.scala 375:15]
  wire  _T_143 = after == 4'h4; // @[MSHR.scala 376:15]
  wire  _T_156 = after == 4'h2; // @[MSHR.scala 379:15]
  wire  _T_163 = after == 4'h8; // @[MSHR.scala 381:15]
  wire  _T_177 = after == 4'h7; // @[MSHR.scala 383:15]
  wire  _T_198 = after == 4'h6; // @[MSHR.scala 386:15]
  wire  _T_205 = after == 4'h3; // @[MSHR.scala 387:15]
  wire  probe_bit = io_sinkc_bits_source == 3'h3; // @[Parameters.scala 46:9]
  wire  _last_probe_T = probes_done | probe_bit; // @[MSHR.scala 456:33]
  wire  last_probe = (probes_done | probe_bit) == _io_schedule_bits_b_bits_clients_T_1; // @[MSHR.scala 456:46]
  wire  probe_toN = io_sinkc_bits_param == 3'h1 | io_sinkc_bits_param == 3'h2 | io_sinkc_bits_param == 3'h5; // @[Parameters.scala 278:66]
  wire  _w_rprobeacklast_T = last_probe & io_sinkc_bits_last; // @[MSHR.scala 468:55]
  wire  _set_pprobeack_T = request_offset == 4'h0; // @[MSHR.scala 472:77]
  wire  set_pprobeack = last_probe & (io_sinkc_bits_last | request_offset == 4'h0); // @[MSHR.scala 472:36]
  wire  _GEN_63 = _T_28 & io_sinkc_bits_tag == meta_tag & io_sinkc_bits_data | _GEN_4; // @[MSHR.scala 477:{104,91}]
  wire  _GEN_67 = io_sinkc_valid ? w_rprobeackfirst | last_probe : w_rprobeackfirst; // @[MSHR.scala 458:49 467:22 119:33]
  wire  _GEN_68 = io_sinkc_valid ? w_rprobeacklast | last_probe & io_sinkc_bits_last : w_rprobeacklast; // @[MSHR.scala 458:49 468:21 120:33]
  wire  _GEN_69 = io_sinkc_valid ? w_pprobeackfirst | last_probe : w_pprobeackfirst; // @[MSHR.scala 458:49 469:22 129:33]
  wire  _GEN_70 = io_sinkc_valid ? w_pprobeacklast | _w_rprobeacklast_T : w_pprobeacklast; // @[MSHR.scala 458:49 470:21 130:33]
  wire  _GEN_71 = io_sinkc_valid ? w_pprobeack | set_pprobeack : w_pprobeack; // @[MSHR.scala 458:49 473:17 131:33]
  wire  _GEN_73 = io_sinkd_bits_opcode == 3'h6 | w_releaseack; // @[MSHR.scala 492:53 493:20 122:33]
  wire  _GEN_75 = io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5 | w_grantfirst; // @[MSHR.scala 480:81 482:20 126:33]
  wire  _GEN_76 = io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5 ? io_sinkd_bits_last : w_grantlast; // @[MSHR.scala 480:81 483:19 127:33]
  wire  _GEN_78 = io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5 ? _set_pprobeack_T | io_sinkd_bits_last :
    w_grant; // @[MSHR.scala 480:81 487:15 128:33]
  wire  _GEN_80 = io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5 ? w_releaseack : _GEN_73; // @[MSHR.scala 122:33 480:81]
  wire  _GEN_82 = io_sinkd_valid ? _GEN_75 : w_grantfirst; // @[MSHR.scala 479:25 126:33]
  wire  _GEN_83 = io_sinkd_valid ? _GEN_76 : w_grantlast; // @[MSHR.scala 479:25 127:33]
  wire  _GEN_85 = io_sinkd_valid ? _GEN_78 : w_grant; // @[MSHR.scala 479:25 128:33]
  wire  _GEN_87 = io_sinkd_valid ? _GEN_80 : w_releaseack; // @[MSHR.scala 479:25 122:33]
  wire  _GEN_88 = io_sinke_valid | w_grantack; // @[MSHR.scala 496:25 497:16 135:33]
  wire  _new_meta_T = io_allocate_valid & io_allocate_bits_repeat; // @[MSHR.scala 502:40]
  wire  new_meta_dirty = io_allocate_valid & io_allocate_bits_repeat ? final_meta_writeback_dirty :
    io_directory_bits_dirty; // @[MSHR.scala 502:21]
  wire [1:0] new_meta_state = io_allocate_valid & io_allocate_bits_repeat ? final_meta_writeback_state :
    io_directory_bits_state; // @[MSHR.scala 502:21]
  wire  new_meta_clients = io_allocate_valid & io_allocate_bits_repeat ? final_meta_writeback_clients :
    io_directory_bits_clients; // @[MSHR.scala 502:21]
  wire  new_meta_hit = io_allocate_valid & io_allocate_bits_repeat ? final_meta_writeback_hit : io_directory_bits_hit; // @[MSHR.scala 502:21]
  wire  new_request_prio_2 = io_allocate_valid ? io_allocate_bits_prio_2 : request_prio_2; // @[MSHR.scala 503:24]
  wire [2:0] new_request_opcode = io_allocate_valid ? io_allocate_bits_opcode : request_opcode; // @[MSHR.scala 503:24]
  wire [2:0] new_request_param = io_allocate_valid ? io_allocate_bits_param : request_param; // @[MSHR.scala 503:24]
  wire [2:0] new_request_source = io_allocate_valid ? io_allocate_bits_source : request_source; // @[MSHR.scala 503:24]
  wire  _new_needT_T_1 = ~new_request_opcode[2]; // @[Parameters.scala 265:5]
  wire  _new_needT_T_3 = new_request_param == 3'h1; // @[Parameters.scala 266:42]
  wire  _new_needT_T_4 = new_request_opcode == 3'h5 & new_request_param == 3'h1; // @[Parameters.scala 266:33]
  wire  _new_needT_T_5 = ~new_request_opcode[2] | _new_needT_T_4; // @[Parameters.scala 265:16]
  wire  _new_needT_T_8 = new_request_opcode == 3'h6 | new_request_opcode == 3'h7; // @[Parameters.scala 267:42]
  wire  _new_needT_T_10 = (new_request_opcode == 3'h6 | new_request_opcode == 3'h7) & new_request_param != 3'h0; // @[Parameters.scala 267:80]
  wire  new_needT = _new_needT_T_5 | _new_needT_T_10; // @[Parameters.scala 266:70]
  wire  new_clientBit = new_request_source == 3'h3; // @[Parameters.scala 46:9]
  wire  _new_skipProbe_T_4 = _new_needT_T_8 | new_request_opcode == 3'h4; // @[Parameters.scala 275:77]
  wire  new_skipProbe = _new_skipProbe_T_4 & new_clientBit; // @[MSHR.scala 506:26]
  wire  _T_595 = io_schedule_ready & io_schedule_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_94 = io_allocate_valid | _GEN_25; // @[MSHR.scala 529:28 531:19]
  wire  _T_602 = io_directory_valid | _new_meta_T; // @[MSHR.scala 536:28]
  wire  _T_605 = ~new_meta_dirty; // @[MSHR.scala 571:38]
  wire  _GEN_107 = new_request_opcode[0] & ~new_meta_dirty ? 1'h0 : 1'h1; // @[MSHR.scala 571:55 572:21 565:22]
  wire  _T_609 = new_request_param == 3'h0 | new_request_param == 3'h4; // @[Parameters.scala 281:34]
  wire  _T_610 = new_meta_state == 2'h2; // @[MSHR.scala 575:56]
  wire  _GEN_108 = _T_609 & new_meta_state == 2'h2 ? 1'h0 : _GEN_107; // @[MSHR.scala 575:67 576:21]
  wire  _T_616 = _new_needT_T_3 | new_request_param == 3'h2 | new_request_param == 3'h5; // @[Parameters.scala 278:66]
  wire  _GEN_109 = _T_616 & (new_meta_clients & new_clientBit) ? 1'h0 : _GEN_108; // @[MSHR.scala 579:89 580:21]
  wire  _T_622 = ~new_meta_hit; // @[MSHR.scala 582:14]
  wire  _GEN_110 = new_meta_clients ? 1'h0 : 1'h1; // @[MSHR.scala 592:75 593:20 547:22]
  wire  _GEN_114 = _T_622 & new_meta_state != 2'h0 ? 1'h0 : 1'h1; // @[MSHR.scala 603:58 604:19 550:22]
  wire  _GEN_115 = _T_622 & new_meta_state != 2'h0 ? _GEN_110 : 1'h1; // @[MSHR.scala 547:22 603:58]
  wire  _GEN_116 = _T_622 | new_meta_state == 2'h1 & new_needT ? 1'h0 : 1'h1; // @[MSHR.scala 614:72 615:19 553:22]
  wire  _T_636 = new_needT | _T_610; // @[MSHR.scala 624:24]
  wire  _T_637 = new_meta_hit & _T_636; // @[MSHR.scala 623:55]
  wire  _T_639 = new_meta_clients & ~new_skipProbe; // @[MSHR.scala 625:31]
  wire  _T_641 = _T_637 & _T_639; // @[MSHR.scala 624:53]
  wire  _GEN_117 = _T_641 ? 1'h0 : 1'h1; // @[MSHR.scala 625:63 626:18 552:22]
  wire  _GEN_118 = _T_641 ? 1'h0 : _GEN_116; // @[MSHR.scala 625:63 630:21]
  wire  _GEN_119 = _new_needT_T_8 ? 1'h0 : 1'h1; // @[MSHR.scala 633:88 634:20 564:22]
  wire  _GEN_120 = _new_needT_T_8 ? 1'h0 : _GEN_118; // @[MSHR.scala 633:88 635:21]
  wire  _GEN_121 = _new_needT_T_1 & new_meta_hit & _T_605 ? 1'h0 : _GEN_120; // @[MSHR.scala 638:72 639:21]
  wire  _GEN_131 = new_request_prio_2 ? _GEN_109 : _GEN_121; // @[MSHR.scala 568:60]
  wire  _GEN_133 = new_request_prio_2 | _GEN_114; // @[MSHR.scala 550:22 568:60]
  wire  _GEN_134 = new_request_prio_2 | _GEN_115; // @[MSHR.scala 547:22 568:60]
  wire  _GEN_135 = new_request_prio_2 | _GEN_116; // @[MSHR.scala 553:22 568:60]
  wire  _GEN_136 = new_request_prio_2 | _GEN_117; // @[MSHR.scala 552:22 568:60]
  wire  _GEN_137 = new_request_prio_2 | _GEN_119; // @[MSHR.scala 564:22 568:60]
  wire  _GEN_138 = io_directory_valid | _new_meta_T | _GEN_26; // @[MSHR.scala 536:79 537:16]
  wire  _GEN_150 = io_directory_valid | _new_meta_T ? _GEN_134 : _GEN_16; // @[MSHR.scala 536:79]
  wire  _GEN_151 = io_directory_valid | _new_meta_T ? _GEN_134 : _GEN_67; // @[MSHR.scala 536:79]
  wire  _GEN_152 = io_directory_valid | _new_meta_T ? _GEN_134 : _GEN_68; // @[MSHR.scala 536:79]
  wire  _GEN_153 = io_directory_valid | _new_meta_T ? _GEN_133 : _GEN_17; // @[MSHR.scala 536:79]
  wire  _GEN_154 = io_directory_valid | _new_meta_T ? _GEN_133 : _GEN_87; // @[MSHR.scala 536:79]
  wire  _GEN_155 = io_directory_valid | _new_meta_T ? _GEN_136 : _GEN_18; // @[MSHR.scala 536:79]
  wire  _GEN_156 = io_directory_valid | _new_meta_T ? _GEN_135 : _GEN_19; // @[MSHR.scala 536:79]
  wire  _GEN_158 = io_directory_valid | _new_meta_T ? _GEN_135 : _GEN_82; // @[MSHR.scala 536:79]
  wire  _GEN_159 = io_directory_valid | _new_meta_T ? _GEN_135 : _GEN_83; // @[MSHR.scala 536:79]
  wire  _GEN_160 = io_directory_valid | _new_meta_T ? _GEN_135 : _GEN_85; // @[MSHR.scala 536:79]
  wire  _GEN_161 = io_directory_valid | _new_meta_T ? _GEN_136 : _GEN_69; // @[MSHR.scala 536:79]
  wire  _GEN_162 = io_directory_valid | _new_meta_T ? _GEN_136 : _GEN_70; // @[MSHR.scala 536:79]
  wire  _GEN_163 = io_directory_valid | _new_meta_T ? _GEN_136 : _GEN_71; // @[MSHR.scala 536:79]
  wire  _GEN_165 = io_directory_valid | _new_meta_T ? _GEN_135 : _GEN_22; // @[MSHR.scala 536:79]
  wire  _GEN_166 = io_directory_valid | _new_meta_T ? 1'h0 : _GEN_23; // @[MSHR.scala 536:79]
  wire  _GEN_167 = io_directory_valid | _new_meta_T ? _GEN_137 : _GEN_88; // @[MSHR.scala 536:79]
  wire  _GEN_168 = io_directory_valid | _new_meta_T ? _GEN_131 : _GEN_24; // @[MSHR.scala 536:79]
  wire  _GEN_66 = meta_valid & _T; // @[MSHR.scala 102:14]
  wire  _GEN_147 = meta_valid & _T & ~reset; // @[MSHR.scala 102:14]
  wire  _GEN_176 = meta_valid & _T_15; // @[MSHR.scala 109:14]
  wire  _GEN_177 = meta_valid & _T_15 & _T_4; // @[MSHR.scala 109:14]
  wire  _GEN_185 = _T_58 & _T_4; // @[MSHR.scala 361:13]
  wire  _GEN_195 = _T_117 & _T_4; // @[MSHR.scala 372:15]
  wire  _GEN_249 = _new_meta_T & _T_4; // @[MSHR.scala 518:11]
  assign io_status_valid = request_valid; // @[MSHR.scala 161:19]
  assign io_status_bits_set = request_set; // @[MSHR.scala 162:25]
  assign io_status_bits_tag = request_tag; // @[MSHR.scala 163:25]
  assign io_status_bits_way = meta_way; // @[MSHR.scala 164:25]
  assign io_status_bits_blockB = ~meta_valid | (~w_releaseack | ~w_rprobeacklast | ~w_pprobeacklast) & ~w_grantfirst; // @[MSHR.scala 165:40]
  assign io_status_bits_nestB = meta_valid & w_releaseack & w_rprobeacklast & w_pprobeacklast &
    _io_status_bits_blockB_T_6; // @[MSHR.scala 166:93]
  assign io_status_bits_blockC = ~meta_valid; // @[MSHR.scala 169:28]
  assign io_status_bits_nestC = meta_valid & (~w_rprobeackfirst | ~w_pprobeackfirst | _io_status_bits_blockB_T_6); // @[MSHR.scala 170:39]
  assign io_schedule_valid = _io_schedule_valid_T_2 | io_schedule_bits_e_valid | io_schedule_bits_x_valid |
    io_schedule_bits_dir_valid; // @[MSHR.scala 190:105]
  assign io_schedule_bits_a_valid = ~s_acquire & s_release & s_pprobe; // @[MSHR.scala 181:55]
  assign io_schedule_bits_a_bits_tag = request_tag; // @[MSHR.scala 277:35]
  assign io_schedule_bits_a_bits_set = request_set; // @[MSHR.scala 278:35]
  assign io_schedule_bits_a_bits_param = {{1'd0}, _io_schedule_bits_a_bits_param_T_1}; // @[MSHR.scala 279:35]
  assign io_schedule_bits_a_bits_block = request_size != 3'h4 | _io_schedule_bits_a_bits_block_T_4; // @[MSHR.scala 280:95]
  assign io_schedule_bits_b_valid = ~s_rprobe | ~s_pprobe; // @[MSHR.scala 182:41]
  assign io_schedule_bits_b_bits_param = _io_schedule_bits_b_valid_T ? 3'h2 : _io_schedule_bits_b_bits_param_T_2; // @[MSHR.scala 283:41]
  assign io_schedule_bits_b_bits_tag = _io_schedule_bits_b_valid_T ? meta_tag : request_tag; // @[MSHR.scala 284:41]
  assign io_schedule_bits_b_bits_set = request_set; // @[MSHR.scala 285:35]
  assign io_schedule_bits_b_bits_clients = meta_clients & ~excluded_client; // @[MSHR.scala 286:51]
  assign io_schedule_bits_c_valid = ~s_release & w_rprobeackfirst; // @[MSHR.scala 183:43]
  assign io_schedule_bits_c_bits_opcode = meta_dirty ? 3'h7 : 3'h6; // @[MSHR.scala 287:41]
  assign io_schedule_bits_c_bits_param = _T_10 ? 3'h2 : 3'h1; // @[MSHR.scala 288:41]
  assign io_schedule_bits_c_bits_tag = meta_tag; // @[MSHR.scala 290:35]
  assign io_schedule_bits_c_bits_set = request_set; // @[MSHR.scala 291:35]
  assign io_schedule_bits_c_bits_way = meta_way; // @[MSHR.scala 292:35]
  assign io_schedule_bits_c_bits_dirty = meta_dirty; // @[MSHR.scala 293:35]
  assign io_schedule_bits_d_valid = ~s_execute & w_pprobeack & w_grant; // @[MSHR.scala 184:57]
  assign io_schedule_bits_d_bits_prio_0 = request_prio_0; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_prio_2 = request_prio_2; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_opcode = request_opcode; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_param = ~_req_needT_T_8 ? request_param : _io_schedule_bits_d_bits_param_T_8; // @[MSHR.scala 295:41]
  assign io_schedule_bits_d_bits_size = request_size; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_source = request_source; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_offset = request_offset; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_put = request_put; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_set = request_set; // @[MSHR.scala 294:35]
  assign io_schedule_bits_d_bits_way = meta_way; // @[MSHR.scala 301:35]
  assign io_schedule_bits_d_bits_bad = bad_grant; // @[MSHR.scala 302:35]
  assign io_schedule_bits_e_valid = ~s_grantack & w_grantfirst; // @[MSHR.scala 185:43]
  assign io_schedule_bits_e_bits_sink = sink; // @[MSHR.scala 303:35]
  assign io_schedule_bits_x_valid = 1'h0; // @[MSHR.scala 186:40]
  assign io_schedule_bits_dir_valid = _io_schedule_bits_c_valid_T_1 | ~s_writeback & no_wait; // @[MSHR.scala 187:66]
  assign io_schedule_bits_dir_bits_set = request_set; // @[MSHR.scala 305:35]
  assign io_schedule_bits_dir_bits_way = meta_way; // @[MSHR.scala 306:35]
  assign io_schedule_bits_dir_bits_data_dirty = _io_schedule_bits_c_valid_T ? 1'h0 : final_meta_writeback_dirty; // @[MSHR.scala 307:41]
  assign io_schedule_bits_dir_bits_data_state = _io_schedule_bits_c_valid_T ? 2'h0 : final_meta_writeback_state; // @[MSHR.scala 307:41]
  assign io_schedule_bits_dir_bits_data_clients = _io_schedule_bits_c_valid_T ? 1'h0 : final_meta_writeback_clients; // @[MSHR.scala 307:41]
  assign io_schedule_bits_dir_bits_data_tag = _io_schedule_bits_c_valid_T ? 25'h0 : final_meta_writeback_tag; // @[MSHR.scala 307:41]
  assign io_schedule_bits_reload = w_rprobeacklast & w_releaseack & w_grantlast & w_pprobeacklast & w_grantack; // @[MSHR.scala 180:83]
  always @(posedge clock) begin
    if (reset) begin // @[MSHR.scala 94:30]
      request_valid <= 1'h0; // @[MSHR.scala 94:30]
    end else begin
      request_valid <= _GEN_94;
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_prio_0 <= io_allocate_bits_prio_0; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_prio_1 <= io_allocate_bits_prio_1; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_prio_2 <= io_allocate_bits_prio_2; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_opcode <= io_allocate_bits_opcode; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_param <= io_allocate_bits_param; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_size <= io_allocate_bits_size; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_source <= io_allocate_bits_source; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_tag <= io_allocate_bits_tag; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_offset <= io_allocate_bits_offset; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_put <= io_allocate_bits_put; // @[MSHR.scala 532:13]
    end
    if (io_allocate_valid) begin // @[MSHR.scala 529:28]
      request_set <= io_allocate_bits_set; // @[MSHR.scala 532:13]
    end
    if (reset) begin // @[MSHR.scala 96:27]
      meta_valid <= 1'h0; // @[MSHR.scala 96:27]
    end else begin
      meta_valid <= _GEN_138;
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (io_allocate_valid & io_allocate_bits_repeat) begin // @[MSHR.scala 502:21]
        if (bad_grant) begin // @[MSHR.scala 248:20]
          meta_dirty <= 1'h0;
        end else if (request_prio_2) begin // @[MSHR.scala 220:54]
          meta_dirty <= meta_dirty | request_opcode[0]; // @[MSHR.scala 221:34]
        end else begin
          meta_dirty <= _final_meta_writeback_dirty_T_5;
        end
      end else begin
        meta_dirty <= io_directory_bits_dirty;
      end
    end else if (io_sinkc_valid) begin // @[MSHR.scala 458:49]
      meta_dirty <= _GEN_63;
    end else if (_T_31 & io_nestedwb_tag == meta_tag) begin // @[MSHR.scala 153:74]
      meta_dirty <= _GEN_1;
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (io_allocate_valid & io_allocate_bits_repeat) begin // @[MSHR.scala 502:21]
        if (bad_grant) begin // @[MSHR.scala 248:20]
          if (meta_hit) begin // @[MSHR.scala 249:21]
            meta_state <= 2'h1; // @[MSHR.scala 254:36]
          end else begin
            meta_state <= 2'h0; // @[MSHR.scala 260:36]
          end
        end else if (request_prio_2) begin // @[MSHR.scala 220:54]
          meta_state <= _final_meta_writeback_state_T_3; // @[MSHR.scala 222:34]
        end else begin
          meta_state <= _final_meta_writeback_state_T_17;
        end
      end else begin
        meta_state <= io_directory_bits_state;
      end
    end else if (_T_31 & io_nestedwb_tag == meta_tag) begin // @[MSHR.scala 153:74]
      if (io_nestedwb_b_toB) begin // @[MSHR.scala 156:30]
        meta_state <= 2'h1; // @[MSHR.scala 156:43]
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (io_allocate_valid & io_allocate_bits_repeat) begin // @[MSHR.scala 502:21]
        if (bad_grant) begin // @[MSHR.scala 248:20]
          meta_clients <= _final_meta_writeback_clients_T_12;
        end else if (request_prio_2) begin // @[MSHR.scala 220:54]
          meta_clients <= meta_clients & ~(_final_meta_writeback_clients_T_4 & req_clientBit); // @[MSHR.scala 223:34]
        end else begin
          meta_clients <= _final_meta_writeback_clients_T_14;
        end
      end else begin
        meta_clients <= io_directory_bits_clients;
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (io_allocate_valid & io_allocate_bits_repeat) begin // @[MSHR.scala 502:21]
        if (!(request_prio_2)) begin // @[MSHR.scala 220:54]
          meta_tag <= request_tag;
        end
      end else begin
        meta_tag <= io_directory_bits_tag;
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (io_allocate_valid & io_allocate_bits_repeat) begin // @[MSHR.scala 502:21]
        if (!(bad_grant)) begin // @[MSHR.scala 248:20]
          meta_hit <= 1'h1;
        end
      end else begin
        meta_hit <= io_directory_bits_hit;
      end
    end else if (_T_31 & io_nestedwb_tag == meta_tag) begin // @[MSHR.scala 153:74]
      if (io_nestedwb_b_toN) begin // @[MSHR.scala 157:30]
        meta_hit <= 1'h0; // @[MSHR.scala 157:41]
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      if (!(io_allocate_valid & io_allocate_bits_repeat)) begin // @[MSHR.scala 502:21]
        meta_way <= io_directory_bits_way;
      end
    end
    s_rprobe <= reset | _GEN_150; // @[MSHR.scala 118:{33,33}]
    w_rprobeackfirst <= reset | _GEN_151; // @[MSHR.scala 119:{33,33}]
    w_rprobeacklast <= reset | _GEN_152; // @[MSHR.scala 120:{33,33}]
    s_release <= reset | _GEN_153; // @[MSHR.scala 121:{33,33}]
    w_releaseack <= reset | _GEN_154; // @[MSHR.scala 122:{33,33}]
    s_pprobe <= reset | _GEN_155; // @[MSHR.scala 123:{33,33}]
    s_acquire <= reset | _GEN_156; // @[MSHR.scala 124:{33,33}]
    w_grantfirst <= reset | _GEN_158; // @[MSHR.scala 126:{33,33}]
    w_grantlast <= reset | _GEN_159; // @[MSHR.scala 127:{33,33}]
    w_grant <= reset | _GEN_160; // @[MSHR.scala 128:{33,33}]
    w_pprobeackfirst <= reset | _GEN_161; // @[MSHR.scala 129:{33,33}]
    w_pprobeacklast <= reset | _GEN_162; // @[MSHR.scala 130:{33,33}]
    w_pprobeack <= reset | _GEN_163; // @[MSHR.scala 131:{33,33}]
    s_grantack <= reset | _GEN_165; // @[MSHR.scala 133:{33,33}]
    s_execute <= reset | _GEN_166; // @[MSHR.scala 134:{33,33}]
    w_grantack <= reset | _GEN_167; // @[MSHR.scala 135:{33,33}]
    s_writeback <= reset | _GEN_168; // @[MSHR.scala 136:{33,33}]
    if (io_sinkd_valid) begin // @[MSHR.scala 479:25]
      if (io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5) begin // @[MSHR.scala 480:81]
        sink <= io_sinkd_bits_sink; // @[MSHR.scala 481:12]
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      gotT <= 1'h0; // @[MSHR.scala 542:10]
    end else if (io_sinkd_valid) begin // @[MSHR.scala 479:25]
      if (io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5) begin // @[MSHR.scala 480:81]
        gotT <= io_sinkd_bits_param == 3'h0; // @[MSHR.scala 490:12]
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      bad_grant <= 1'h0; // @[MSHR.scala 543:15]
    end else if (io_sinkd_valid) begin // @[MSHR.scala 479:25]
      if (io_sinkd_bits_opcode == 3'h4 | io_sinkd_bits_opcode == 3'h5) begin // @[MSHR.scala 480:81]
        bad_grant <= io_sinkd_bits_denied; // @[MSHR.scala 485:17]
      end
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      probes_done <= 1'h0; // @[MSHR.scala 539:17]
    end else if (io_sinkc_valid) begin // @[MSHR.scala 458:49]
      probes_done <= _last_probe_T; // @[MSHR.scala 464:17]
    end
    if (io_directory_valid | _new_meta_T) begin // @[MSHR.scala 536:79]
      probes_toN <= 1'h0; // @[MSHR.scala 540:16]
    end else if (io_sinkc_valid) begin // @[MSHR.scala 458:49]
      probes_toN <= probes_toN | probe_toN & probe_bit; // @[MSHR.scala 465:16]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (meta_valid & _T & ~reset & ~(~(|meta_clients))) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:102 assert (!meta.clients.orR)\n"); // @[MSHR.scala 102:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(|meta_clients)) & (meta_valid & _T & ~reset)) begin
          $fatal; // @[MSHR.scala 102:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_147 & ~(~meta_dirty)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:103 assert (!meta.dirty)\n"); // @[MSHR.scala 103:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~meta_dirty) & (_GEN_66 & _T_4)) begin
          $fatal; // @[MSHR.scala 103:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (meta_valid & _T_10 & _T_4 & _T_9) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:106 assert (!meta.dirty)\n"); // @[MSHR.scala 106:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_6 & (meta_valid & _T_10 & _T_4)) begin
          $fatal; // @[MSHR.scala 106:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (meta_valid & _T_15 & _T_4 & _T_2) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:109 assert (meta.clients.orR)\n"); // @[MSHR.scala 109:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1 & (meta_valid & _T_15 & _T_4)) begin
          $fatal; // @[MSHR.scala 109:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_177 & ~(~(meta_clients & meta_clients - 1'h1))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MSHR.scala:110 assert ((meta.clients & (meta.clients - UInt(1))) === UInt(0)) // at most one\n"
            ); // @[MSHR.scala 110:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(meta_clients & meta_clients - 1'h1)) & (_GEN_176 & _T_4)) begin
          $fatal; // @[MSHR.scala 110:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & ~(~io_status_bits_nestB | ~io_status_bits_blockB)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MSHR.scala:176 assert (!io.status.bits.nestB || !io.status.bits.blockB)\n"); // @[MSHR.scala 176:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_status_bits_nestB | ~io_status_bits_blockB) & _T_4) begin
          $fatal; // @[MSHR.scala 176:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4 & ~(~io_status_bits_nestC | ~io_status_bits_blockC)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MSHR.scala:177 assert (!io.status.bits.nestC || !io.status.bits.blockC)\n"); // @[MSHR.scala 177:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_status_bits_nestC | ~io_status_bits_blockC) & _T_4) begin
          $fatal; // @[MSHR.scala 177:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (bad_grant & meta_hit & _T_4 & ~(_io_status_bits_blockB_T | _T_10)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:251 assert (!meta_valid || meta.state === BRANCH)\n"
            ); // @[MSHR.scala 251:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_io_status_bits_blockB_T | _T_10) & (bad_grant & meta_hit & _T_4)) begin
          $fatal; // @[MSHR.scala 251:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_58 & _T_4 & ~(~(evict == 4'h1))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to evicted should be impossible (false,true,true,false,false)\n    at MSHR.scala:343 assert(!(evict === from.code), s\"State transition from ${from} to evicted should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 361:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(evict == 4'h1)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 361:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_58 & _T_4 & ~(~(before_ == 4'h1))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 361:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h1)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 361:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(evict == 4'h0))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to evicted should be impossible (false,true,true,false,false)\n    at MSHR.scala:343 assert(!(evict === from.code), s\"State transition from ${from} to evicted should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 362:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(evict == 4'h0)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 362:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h0))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 362:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h0)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 362:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h7))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 363:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h7)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 363:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h5))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 364:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h5)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 364:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h4))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 365:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h4)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 365:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h6))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 366:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h6)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 366:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h3))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_C to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 367:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h3)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 367:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_185 & ~(~(before_ == 4'h2))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to flushed should be impossible (false,true,true,false,false)\n    at MSHR.scala:348 assert(!(before === from.code), s\"State transition from ${from} to flushed should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 368:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h2)) & (_T_58 & _T_4)) begin
          $fatal; // @[MSHR.scala 368:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_117 & _T_4 & ~(~(before_ == 4'h8 & after == 4'h1))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_INVALID to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 372:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(before_ == 4'h8 & after == 4'h1)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 372:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_118 & after == 4'h0))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_INVALID to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 373:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_118 & after == 4'h0)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 373:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_118 & after == 4'h5))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_INVALID to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 375:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_118 & after == 4'h5)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 375:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_118 & after == 4'h4))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_INVALID to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 376:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_118 & after == 4'h4)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 376:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_118 & after == 4'h2))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_INVALID to S_TRUNK_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 379:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_118 & after == 4'h2)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 379:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & after == 4'h8))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 381:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & after == 4'h8)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 381:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 382:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 382:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & after == 4'h7))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TIP should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 383:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & after == 4'h7)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 383:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 384:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 384:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & _T_143))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 385:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & _T_143)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 385:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & after == 4'h6))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TIP_D should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 386:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & after == 4'h6)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 386:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & after == 4'h3))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TRUNK_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 387:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & after == 4'h3)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 387:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_64 & _T_156))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH to S_TRUNK_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 388:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_64 & _T_156)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 388:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 390:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 390:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 391:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 391:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_177))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TIP should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 392:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_177)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 392:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 393:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 393:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_198))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TIP_D should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 394:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_198)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 394:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_143))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 395:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_143)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 395:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_205))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TRUNK_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 396:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_205)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 396:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_74 & _T_156))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_BRANCH_C to S_TRUNK_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 397:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_74 & _T_156)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 397:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 399:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 399:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 400:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 400:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 401:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 401:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 402:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 402:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_143))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 404:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_143)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 404:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_80 & _T_156))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP to S_TRUNK_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 406:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_80 & _T_156)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 406:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_86 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 408:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_86 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 408:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_86 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 409:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_86 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 409:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_86 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 410:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_86 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 410:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_86 & _T_143))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 413:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_86 & _T_143)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 413:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_86 & _T_156))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_C to S_TRUNK_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 415:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_86 & _T_156)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 415:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 417:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 417:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 418:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 418:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 419:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 419:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_177))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_TIP should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 420:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_177)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 420:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 421:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 421:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_143))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_TIP_CD should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 422:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_143)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 422:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_98 & _T_205))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_D to S_TRUNK_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 423:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_98 & _T_205)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 423:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 426:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 426:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 427:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 427:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 428:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 428:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_177))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_TIP should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 429:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_177)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 429:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 430:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 430:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_92 & _T_205))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TIP_CD to S_TRUNK_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 432:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_92 & _T_205)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 432:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_104 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_C to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 435:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_104 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 435:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_104 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_C to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 436:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_104 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 436:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_104 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_C to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 437:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_104 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 437:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_163))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 444:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_163)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 444:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_119))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 445:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_119)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 445:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_126))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 446:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_126)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 446:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_177))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_TIP should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 447:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_177)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 447:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_136))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_TIP_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 448:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_136)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 448:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_195 & ~(~(_T_110 & _T_205))) begin
          $fwrite(32'h80000002,
            "Assertion failed: State transition from S_TRUNK_CD to S_TRUNK_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:356 assert(!(before === from.code && after === to.code), s\"State transition from ${from} to ${to} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 451:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(_T_110 & _T_205)) & (_T_117 & _T_4)) begin
          $fatal; // @[MSHR.scala 451:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_new_meta_T & _T_4 & ~(~_T_163)) begin
          $fwrite(32'h80000002,
            "Assertion failed: State bypass from S_INVALID should be impossible (false,true,true,false,false)\n    at MSHR.scala:513 assert(!(prior === from.code), s\"State bypass from ${from} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 518:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~_T_163) & (_new_meta_T & _T_4)) begin
          $fatal; // @[MSHR.scala 518:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_249 & ~(~_T_119)) begin
          $fwrite(32'h80000002,
            "Assertion failed: State bypass from S_BRANCH should be impossible (false,true,true,false,false)\n    at MSHR.scala:513 assert(!(prior === from.code), s\"State bypass from ${from} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 519:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~_T_119) & (_new_meta_T & _T_4)) begin
          $fatal; // @[MSHR.scala 519:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_249 & ~(~_T_126)) begin
          $fwrite(32'h80000002,
            "Assertion failed: State bypass from S_BRANCH_C should be impossible (false,true,true,false,false)\n    at MSHR.scala:513 assert(!(prior === from.code), s\"State bypass from ${from} should be impossible ${cfg}\")\n"
            ); // @[MSHR.scala 520:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~_T_126) & (_new_meta_T & _T_4)) begin
          $fatal; // @[MSHR.scala 520:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_allocate_valid & _T_4 & ~(~request_valid | no_wait & _T_595)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at MSHR.scala:530 assert (!request_valid || (no_wait && io.schedule.fire()))\n"); // @[MSHR.scala 530:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~request_valid | no_wait & _T_595) & (io_allocate_valid & _T_4)) begin
          $fatal; // @[MSHR.scala 530:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_602 & new_request_prio_2 & _T_4 & ~new_meta_hit) begin
          $fwrite(32'h80000002,"Assertion failed\n    at MSHR.scala:582 assert (new_meta.hit)\n"); // @[MSHR.scala 582:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~new_meta_hit & (_T_602 & new_request_prio_2 & _T_4)) begin
          $fatal; // @[MSHR.scala 582:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  request_valid = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  request_prio_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  request_prio_1 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  request_prio_2 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  request_opcode = _RAND_4[2:0];
  _RAND_5 = {1{`RANDOM}};
  request_param = _RAND_5[2:0];
  _RAND_6 = {1{`RANDOM}};
  request_size = _RAND_6[2:0];
  _RAND_7 = {1{`RANDOM}};
  request_source = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  request_tag = _RAND_8[24:0];
  _RAND_9 = {1{`RANDOM}};
  request_offset = _RAND_9[3:0];
  _RAND_10 = {1{`RANDOM}};
  request_put = _RAND_10[5:0];
  _RAND_11 = {1{`RANDOM}};
  request_set = _RAND_11[2:0];
  _RAND_12 = {1{`RANDOM}};
  meta_valid = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  meta_dirty = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  meta_state = _RAND_14[1:0];
  _RAND_15 = {1{`RANDOM}};
  meta_clients = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  meta_tag = _RAND_16[24:0];
  _RAND_17 = {1{`RANDOM}};
  meta_hit = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  meta_way = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  s_rprobe = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  w_rprobeackfirst = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  w_rprobeacklast = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  s_release = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  w_releaseack = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  s_pprobe = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  s_acquire = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  w_grantfirst = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  w_grantlast = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  w_grant = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  w_pprobeackfirst = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  w_pprobeacklast = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  w_pprobeack = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  s_grantack = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  s_execute = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  w_grantack = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  s_writeback = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  sink = _RAND_36[2:0];
  _RAND_37 = {1{`RANDOM}};
  gotT = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  bad_grant = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  probes_done = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  probes_toN = _RAND_40[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Scheduler(
  input         clock,
  input         reset,
  output        io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input  [2:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input  [63:0] io_in_a_bits_data,
  input         io_in_a_bits_corrupt,
  input         io_in_b_ready,
  output        io_in_b_valid,
  output [1:0]  io_in_b_bits_param,
  output [31:0] io_in_b_bits_address,
  output        io_in_c_ready,
  input         io_in_c_valid,
  input  [2:0]  io_in_c_bits_opcode,
  input  [2:0]  io_in_c_bits_param,
  input  [2:0]  io_in_c_bits_size,
  input  [31:0] io_in_c_bits_address,
  input  [63:0] io_in_c_bits_data,
  input         io_in_c_bits_corrupt,
  input         io_in_d_ready,
  output        io_in_d_valid,
  output [2:0]  io_in_d_bits_opcode,
  output [1:0]  io_in_d_bits_param,
  output [2:0]  io_in_d_bits_size,
  output [2:0]  io_in_d_bits_source,
  output [4:0]  io_in_d_bits_sink,
  output        io_in_d_bits_denied,
  output [63:0] io_in_d_bits_data,
  output        io_in_d_bits_corrupt,
  input         io_in_e_valid,
  input  [4:0]  io_in_e_bits_sink,
  input         io_out_a_ready,
  output        io_out_a_valid,
  output [2:0]  io_out_a_bits_opcode,
  output [2:0]  io_out_a_bits_param,
  output [2:0]  io_out_a_bits_size,
  output [4:0]  io_out_a_bits_source,
  output [31:0] io_out_a_bits_address,
  output [7:0]  io_out_a_bits_mask,
  output [63:0] io_out_a_bits_data,
  output        io_out_a_bits_corrupt,
  input         io_out_c_ready,
  output        io_out_c_valid,
  output [2:0]  io_out_c_bits_opcode,
  output [2:0]  io_out_c_bits_param,
  output [2:0]  io_out_c_bits_size,
  output [4:0]  io_out_c_bits_source,
  output [31:0] io_out_c_bits_address,
  output [63:0] io_out_c_bits_data,
  output        io_out_c_bits_corrupt,
  output        io_out_d_ready,
  input         io_out_d_valid,
  input  [2:0]  io_out_d_bits_opcode,
  input  [1:0]  io_out_d_bits_param,
  input  [2:0]  io_out_d_bits_size,
  input  [4:0]  io_out_d_bits_source,
  input  [2:0]  io_out_d_bits_sink,
  input         io_out_d_bits_denied,
  input  [63:0] io_out_d_bits_data,
  input         io_out_d_bits_corrupt,
  output        io_out_e_valid,
  output [2:0]  io_out_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
`endif // RANDOMIZE_REG_INIT
  wire  sourceA_clock; // @[Scheduler.scala 38:23]
  wire  sourceA_reset; // @[Scheduler.scala 38:23]
  wire  sourceA_io_req_ready; // @[Scheduler.scala 38:23]
  wire  sourceA_io_req_valid; // @[Scheduler.scala 38:23]
  wire [24:0] sourceA_io_req_bits_tag; // @[Scheduler.scala 38:23]
  wire [2:0] sourceA_io_req_bits_set; // @[Scheduler.scala 38:23]
  wire [2:0] sourceA_io_req_bits_param; // @[Scheduler.scala 38:23]
  wire [4:0] sourceA_io_req_bits_source; // @[Scheduler.scala 38:23]
  wire  sourceA_io_req_bits_block; // @[Scheduler.scala 38:23]
  wire  sourceA_io_a_ready; // @[Scheduler.scala 38:23]
  wire  sourceA_io_a_valid; // @[Scheduler.scala 38:23]
  wire [2:0] sourceA_io_a_bits_opcode; // @[Scheduler.scala 38:23]
  wire [2:0] sourceA_io_a_bits_param; // @[Scheduler.scala 38:23]
  wire [2:0] sourceA_io_a_bits_size; // @[Scheduler.scala 38:23]
  wire [4:0] sourceA_io_a_bits_source; // @[Scheduler.scala 38:23]
  wire [31:0] sourceA_io_a_bits_address; // @[Scheduler.scala 38:23]
  wire [7:0] sourceA_io_a_bits_mask; // @[Scheduler.scala 38:23]
  wire [63:0] sourceA_io_a_bits_data; // @[Scheduler.scala 38:23]
  wire  sourceA_io_a_bits_corrupt; // @[Scheduler.scala 38:23]
  wire  sourceB_clock; // @[Scheduler.scala 39:23]
  wire  sourceB_reset; // @[Scheduler.scala 39:23]
  wire  sourceB_io_req_ready; // @[Scheduler.scala 39:23]
  wire  sourceB_io_req_valid; // @[Scheduler.scala 39:23]
  wire [2:0] sourceB_io_req_bits_param; // @[Scheduler.scala 39:23]
  wire [24:0] sourceB_io_req_bits_tag; // @[Scheduler.scala 39:23]
  wire [2:0] sourceB_io_req_bits_set; // @[Scheduler.scala 39:23]
  wire  sourceB_io_req_bits_clients; // @[Scheduler.scala 39:23]
  wire  sourceB_io_b_ready; // @[Scheduler.scala 39:23]
  wire  sourceB_io_b_valid; // @[Scheduler.scala 39:23]
  wire [1:0] sourceB_io_b_bits_param; // @[Scheduler.scala 39:23]
  wire [31:0] sourceB_io_b_bits_address; // @[Scheduler.scala 39:23]
  wire  sourceC_clock; // @[Scheduler.scala 40:23]
  wire  sourceC_reset; // @[Scheduler.scala 40:23]
  wire  sourceC_io_req_ready; // @[Scheduler.scala 40:23]
  wire  sourceC_io_req_valid; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_req_bits_opcode; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_req_bits_param; // @[Scheduler.scala 40:23]
  wire [4:0] sourceC_io_req_bits_source; // @[Scheduler.scala 40:23]
  wire [24:0] sourceC_io_req_bits_tag; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_req_bits_set; // @[Scheduler.scala 40:23]
  wire  sourceC_io_req_bits_way; // @[Scheduler.scala 40:23]
  wire  sourceC_io_req_bits_dirty; // @[Scheduler.scala 40:23]
  wire  sourceC_io_c_ready; // @[Scheduler.scala 40:23]
  wire  sourceC_io_c_valid; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_c_bits_opcode; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_c_bits_param; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_c_bits_size; // @[Scheduler.scala 40:23]
  wire [4:0] sourceC_io_c_bits_source; // @[Scheduler.scala 40:23]
  wire [31:0] sourceC_io_c_bits_address; // @[Scheduler.scala 40:23]
  wire [63:0] sourceC_io_c_bits_data; // @[Scheduler.scala 40:23]
  wire  sourceC_io_c_bits_corrupt; // @[Scheduler.scala 40:23]
  wire  sourceC_io_bs_adr_ready; // @[Scheduler.scala 40:23]
  wire  sourceC_io_bs_adr_valid; // @[Scheduler.scala 40:23]
  wire  sourceC_io_bs_adr_bits_way; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_bs_adr_bits_set; // @[Scheduler.scala 40:23]
  wire  sourceC_io_bs_adr_bits_beat; // @[Scheduler.scala 40:23]
  wire [63:0] sourceC_io_bs_dat_data; // @[Scheduler.scala 40:23]
  wire [2:0] sourceC_io_evict_req_set; // @[Scheduler.scala 40:23]
  wire  sourceC_io_evict_req_way; // @[Scheduler.scala 40:23]
  wire  sourceC_io_evict_safe; // @[Scheduler.scala 40:23]
  wire  sourceD_clock; // @[Scheduler.scala 41:23]
  wire  sourceD_reset; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_valid; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_bits_prio_0; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_bits_prio_2; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_req_bits_opcode; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_req_bits_param; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_req_bits_size; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_req_bits_source; // @[Scheduler.scala 41:23]
  wire [3:0] sourceD_io_req_bits_offset; // @[Scheduler.scala 41:23]
  wire [5:0] sourceD_io_req_bits_put; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_req_bits_set; // @[Scheduler.scala 41:23]
  wire [4:0] sourceD_io_req_bits_sink; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_bits_way; // @[Scheduler.scala 41:23]
  wire  sourceD_io_req_bits_bad; // @[Scheduler.scala 41:23]
  wire  sourceD_io_d_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_d_valid; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_d_bits_opcode; // @[Scheduler.scala 41:23]
  wire [1:0] sourceD_io_d_bits_param; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_d_bits_size; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_d_bits_source; // @[Scheduler.scala 41:23]
  wire [4:0] sourceD_io_d_bits_sink; // @[Scheduler.scala 41:23]
  wire  sourceD_io_d_bits_denied; // @[Scheduler.scala 41:23]
  wire [63:0] sourceD_io_d_bits_data; // @[Scheduler.scala 41:23]
  wire  sourceD_io_d_bits_corrupt; // @[Scheduler.scala 41:23]
  wire  sourceD_io_pb_pop_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_pb_pop_valid; // @[Scheduler.scala 41:23]
  wire [5:0] sourceD_io_pb_pop_bits_index; // @[Scheduler.scala 41:23]
  wire  sourceD_io_pb_pop_bits_last; // @[Scheduler.scala 41:23]
  wire [63:0] sourceD_io_pb_beat_data; // @[Scheduler.scala 41:23]
  wire [7:0] sourceD_io_pb_beat_mask; // @[Scheduler.scala 41:23]
  wire  sourceD_io_pb_beat_corrupt; // @[Scheduler.scala 41:23]
  wire  sourceD_io_rel_pop_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_rel_pop_valid; // @[Scheduler.scala 41:23]
  wire [5:0] sourceD_io_rel_pop_bits_index; // @[Scheduler.scala 41:23]
  wire  sourceD_io_rel_pop_bits_last; // @[Scheduler.scala 41:23]
  wire [63:0] sourceD_io_rel_beat_data; // @[Scheduler.scala 41:23]
  wire  sourceD_io_rel_beat_corrupt; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_radr_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_radr_valid; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_radr_bits_way; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_bs_radr_bits_set; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_radr_bits_beat; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_radr_bits_mask; // @[Scheduler.scala 41:23]
  wire [63:0] sourceD_io_bs_rdat_data; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_wadr_ready; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_wadr_valid; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_wadr_bits_way; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_bs_wadr_bits_set; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_wadr_bits_beat; // @[Scheduler.scala 41:23]
  wire  sourceD_io_bs_wadr_bits_mask; // @[Scheduler.scala 41:23]
  wire [63:0] sourceD_io_bs_wdat_data; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_evict_req_set; // @[Scheduler.scala 41:23]
  wire  sourceD_io_evict_req_way; // @[Scheduler.scala 41:23]
  wire  sourceD_io_evict_safe; // @[Scheduler.scala 41:23]
  wire [2:0] sourceD_io_grant_req_set; // @[Scheduler.scala 41:23]
  wire  sourceD_io_grant_req_way; // @[Scheduler.scala 41:23]
  wire  sourceD_io_grant_safe; // @[Scheduler.scala 41:23]
  wire  sourceE_clock; // @[Scheduler.scala 42:23]
  wire  sourceE_reset; // @[Scheduler.scala 42:23]
  wire  sourceE_io_req_ready; // @[Scheduler.scala 42:23]
  wire  sourceE_io_req_valid; // @[Scheduler.scala 42:23]
  wire [2:0] sourceE_io_req_bits_sink; // @[Scheduler.scala 42:23]
  wire  sourceE_io_e_valid; // @[Scheduler.scala 42:23]
  wire [2:0] sourceE_io_e_bits_sink; // @[Scheduler.scala 42:23]
  wire  sinkA_clock; // @[Scheduler.scala 52:21]
  wire  sinkA_reset; // @[Scheduler.scala 52:21]
  wire  sinkA_io_req_ready; // @[Scheduler.scala 52:21]
  wire  sinkA_io_req_valid; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_req_bits_opcode; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_req_bits_param; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_req_bits_size; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_req_bits_source; // @[Scheduler.scala 52:21]
  wire [24:0] sinkA_io_req_bits_tag; // @[Scheduler.scala 52:21]
  wire [3:0] sinkA_io_req_bits_offset; // @[Scheduler.scala 52:21]
  wire [5:0] sinkA_io_req_bits_put; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_req_bits_set; // @[Scheduler.scala 52:21]
  wire  sinkA_io_a_ready; // @[Scheduler.scala 52:21]
  wire  sinkA_io_a_valid; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_a_bits_opcode; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_a_bits_param; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_a_bits_size; // @[Scheduler.scala 52:21]
  wire [2:0] sinkA_io_a_bits_source; // @[Scheduler.scala 52:21]
  wire [31:0] sinkA_io_a_bits_address; // @[Scheduler.scala 52:21]
  wire [7:0] sinkA_io_a_bits_mask; // @[Scheduler.scala 52:21]
  wire [63:0] sinkA_io_a_bits_data; // @[Scheduler.scala 52:21]
  wire  sinkA_io_a_bits_corrupt; // @[Scheduler.scala 52:21]
  wire  sinkA_io_pb_pop_ready; // @[Scheduler.scala 52:21]
  wire  sinkA_io_pb_pop_valid; // @[Scheduler.scala 52:21]
  wire [5:0] sinkA_io_pb_pop_bits_index; // @[Scheduler.scala 52:21]
  wire  sinkA_io_pb_pop_bits_last; // @[Scheduler.scala 52:21]
  wire [63:0] sinkA_io_pb_beat_data; // @[Scheduler.scala 52:21]
  wire [7:0] sinkA_io_pb_beat_mask; // @[Scheduler.scala 52:21]
  wire  sinkA_io_pb_beat_corrupt; // @[Scheduler.scala 52:21]
  wire  sinkC_clock; // @[Scheduler.scala 53:21]
  wire  sinkC_reset; // @[Scheduler.scala 53:21]
  wire  sinkC_io_req_ready; // @[Scheduler.scala 53:21]
  wire  sinkC_io_req_valid; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_req_bits_opcode; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_req_bits_param; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_req_bits_size; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_req_bits_source; // @[Scheduler.scala 53:21]
  wire [24:0] sinkC_io_req_bits_tag; // @[Scheduler.scala 53:21]
  wire [3:0] sinkC_io_req_bits_offset; // @[Scheduler.scala 53:21]
  wire [5:0] sinkC_io_req_bits_put; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_req_bits_set; // @[Scheduler.scala 53:21]
  wire  sinkC_io_resp_valid; // @[Scheduler.scala 53:21]
  wire  sinkC_io_resp_bits_last; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_resp_bits_set; // @[Scheduler.scala 53:21]
  wire [24:0] sinkC_io_resp_bits_tag; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_resp_bits_source; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_resp_bits_param; // @[Scheduler.scala 53:21]
  wire  sinkC_io_resp_bits_data; // @[Scheduler.scala 53:21]
  wire  sinkC_io_c_ready; // @[Scheduler.scala 53:21]
  wire  sinkC_io_c_valid; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_c_bits_opcode; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_c_bits_param; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_c_bits_size; // @[Scheduler.scala 53:21]
  wire [31:0] sinkC_io_c_bits_address; // @[Scheduler.scala 53:21]
  wire [63:0] sinkC_io_c_bits_data; // @[Scheduler.scala 53:21]
  wire  sinkC_io_c_bits_corrupt; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_set; // @[Scheduler.scala 53:21]
  wire  sinkC_io_way; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_ready; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_valid; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_bits_noop; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_bits_way; // @[Scheduler.scala 53:21]
  wire [2:0] sinkC_io_bs_adr_bits_set; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_bits_beat; // @[Scheduler.scala 53:21]
  wire  sinkC_io_bs_adr_bits_mask; // @[Scheduler.scala 53:21]
  wire [63:0] sinkC_io_bs_dat_data; // @[Scheduler.scala 53:21]
  wire  sinkC_io_rel_pop_ready; // @[Scheduler.scala 53:21]
  wire  sinkC_io_rel_pop_valid; // @[Scheduler.scala 53:21]
  wire [5:0] sinkC_io_rel_pop_bits_index; // @[Scheduler.scala 53:21]
  wire  sinkC_io_rel_pop_bits_last; // @[Scheduler.scala 53:21]
  wire [63:0] sinkC_io_rel_beat_data; // @[Scheduler.scala 53:21]
  wire  sinkC_io_rel_beat_corrupt; // @[Scheduler.scala 53:21]
  wire  sinkD_clock; // @[Scheduler.scala 54:21]
  wire  sinkD_reset; // @[Scheduler.scala 54:21]
  wire  sinkD_io_resp_valid; // @[Scheduler.scala 54:21]
  wire  sinkD_io_resp_bits_last; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_resp_bits_opcode; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_resp_bits_param; // @[Scheduler.scala 54:21]
  wire [4:0] sinkD_io_resp_bits_source; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_resp_bits_sink; // @[Scheduler.scala 54:21]
  wire  sinkD_io_resp_bits_denied; // @[Scheduler.scala 54:21]
  wire  sinkD_io_d_ready; // @[Scheduler.scala 54:21]
  wire  sinkD_io_d_valid; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_d_bits_opcode; // @[Scheduler.scala 54:21]
  wire [1:0] sinkD_io_d_bits_param; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_d_bits_size; // @[Scheduler.scala 54:21]
  wire [4:0] sinkD_io_d_bits_source; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_d_bits_sink; // @[Scheduler.scala 54:21]
  wire  sinkD_io_d_bits_denied; // @[Scheduler.scala 54:21]
  wire [63:0] sinkD_io_d_bits_data; // @[Scheduler.scala 54:21]
  wire  sinkD_io_d_bits_corrupt; // @[Scheduler.scala 54:21]
  wire [4:0] sinkD_io_source; // @[Scheduler.scala 54:21]
  wire  sinkD_io_way; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_set; // @[Scheduler.scala 54:21]
  wire  sinkD_io_bs_adr_ready; // @[Scheduler.scala 54:21]
  wire  sinkD_io_bs_adr_valid; // @[Scheduler.scala 54:21]
  wire  sinkD_io_bs_adr_bits_noop; // @[Scheduler.scala 54:21]
  wire  sinkD_io_bs_adr_bits_way; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_bs_adr_bits_set; // @[Scheduler.scala 54:21]
  wire  sinkD_io_bs_adr_bits_beat; // @[Scheduler.scala 54:21]
  wire [63:0] sinkD_io_bs_dat_data; // @[Scheduler.scala 54:21]
  wire [2:0] sinkD_io_grant_req_set; // @[Scheduler.scala 54:21]
  wire  sinkD_io_grant_req_way; // @[Scheduler.scala 54:21]
  wire  sinkD_io_grant_safe; // @[Scheduler.scala 54:21]
  wire  sinkE_io_resp_valid; // @[Scheduler.scala 55:21]
  wire [4:0] sinkE_io_resp_bits_sink; // @[Scheduler.scala 55:21]
  wire  sinkE_io_e_valid; // @[Scheduler.scala 55:21]
  wire [4:0] sinkE_io_e_bits_sink; // @[Scheduler.scala 55:21]
  wire  directory_clock; // @[Scheduler.scala 66:25]
  wire  directory_reset; // @[Scheduler.scala 66:25]
  wire  directory_io_write_ready; // @[Scheduler.scala 66:25]
  wire  directory_io_write_valid; // @[Scheduler.scala 66:25]
  wire [2:0] directory_io_write_bits_set; // @[Scheduler.scala 66:25]
  wire  directory_io_write_bits_way; // @[Scheduler.scala 66:25]
  wire  directory_io_write_bits_data_dirty; // @[Scheduler.scala 66:25]
  wire [1:0] directory_io_write_bits_data_state; // @[Scheduler.scala 66:25]
  wire  directory_io_write_bits_data_clients; // @[Scheduler.scala 66:25]
  wire [24:0] directory_io_write_bits_data_tag; // @[Scheduler.scala 66:25]
  wire  directory_io_read_valid; // @[Scheduler.scala 66:25]
  wire [2:0] directory_io_read_bits_set; // @[Scheduler.scala 66:25]
  wire [24:0] directory_io_read_bits_tag; // @[Scheduler.scala 66:25]
  wire  directory_io_result_bits_dirty; // @[Scheduler.scala 66:25]
  wire [1:0] directory_io_result_bits_state; // @[Scheduler.scala 66:25]
  wire  directory_io_result_bits_clients; // @[Scheduler.scala 66:25]
  wire [24:0] directory_io_result_bits_tag; // @[Scheduler.scala 66:25]
  wire  directory_io_result_bits_hit; // @[Scheduler.scala 66:25]
  wire  directory_io_result_bits_way; // @[Scheduler.scala 66:25]
  wire  directory_io_ready; // @[Scheduler.scala 66:25]
  wire  bankedStore_clock; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_ready; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_valid; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_bits_noop; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_bits_way; // @[Scheduler.scala 67:27]
  wire [2:0] bankedStore_io_sinkC_adr_bits_set; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_bits_beat; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkC_adr_bits_mask; // @[Scheduler.scala 67:27]
  wire [63:0] bankedStore_io_sinkC_dat_data; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkD_adr_ready; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkD_adr_valid; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkD_adr_bits_noop; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkD_adr_bits_way; // @[Scheduler.scala 67:27]
  wire [2:0] bankedStore_io_sinkD_adr_bits_set; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sinkD_adr_bits_beat; // @[Scheduler.scala 67:27]
  wire [63:0] bankedStore_io_sinkD_dat_data; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceC_adr_ready; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceC_adr_valid; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceC_adr_bits_way; // @[Scheduler.scala 67:27]
  wire [2:0] bankedStore_io_sourceC_adr_bits_set; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceC_adr_bits_beat; // @[Scheduler.scala 67:27]
  wire [63:0] bankedStore_io_sourceC_dat_data; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_radr_ready; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_radr_valid; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_radr_bits_way; // @[Scheduler.scala 67:27]
  wire [2:0] bankedStore_io_sourceD_radr_bits_set; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_radr_bits_beat; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_radr_bits_mask; // @[Scheduler.scala 67:27]
  wire [63:0] bankedStore_io_sourceD_rdat_data; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_wadr_ready; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_wadr_valid; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_wadr_bits_way; // @[Scheduler.scala 67:27]
  wire [2:0] bankedStore_io_sourceD_wadr_bits_set; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_wadr_bits_beat; // @[Scheduler.scala 67:27]
  wire  bankedStore_io_sourceD_wadr_bits_mask; // @[Scheduler.scala 67:27]
  wire [63:0] bankedStore_io_sourceD_wdat_data; // @[Scheduler.scala 67:27]
  wire  requests_clock; // @[Scheduler.scala 68:24]
  wire  requests_reset; // @[Scheduler.scala 68:24]
  wire  requests_io_push_ready; // @[Scheduler.scala 68:24]
  wire  requests_io_push_valid; // @[Scheduler.scala 68:24]
  wire [6:0] requests_io_push_bits_index; // @[Scheduler.scala 68:24]
  wire  requests_io_push_bits_data_prio_0; // @[Scheduler.scala 68:24]
  wire  requests_io_push_bits_data_prio_2; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_push_bits_data_opcode; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_push_bits_data_param; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_push_bits_data_size; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_push_bits_data_source; // @[Scheduler.scala 68:24]
  wire [24:0] requests_io_push_bits_data_tag; // @[Scheduler.scala 68:24]
  wire [3:0] requests_io_push_bits_data_offset; // @[Scheduler.scala 68:24]
  wire [5:0] requests_io_push_bits_data_put; // @[Scheduler.scala 68:24]
  wire [65:0] requests_io_valid; // @[Scheduler.scala 68:24]
  wire  requests_io_pop_valid; // @[Scheduler.scala 68:24]
  wire [6:0] requests_io_pop_bits; // @[Scheduler.scala 68:24]
  wire  requests_io_data_prio_0; // @[Scheduler.scala 68:24]
  wire  requests_io_data_prio_1; // @[Scheduler.scala 68:24]
  wire  requests_io_data_prio_2; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_data_opcode; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_data_param; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_data_size; // @[Scheduler.scala 68:24]
  wire [2:0] requests_io_data_source; // @[Scheduler.scala 68:24]
  wire [24:0] requests_io_data_tag; // @[Scheduler.scala 68:24]
  wire [3:0] requests_io_data_offset; // @[Scheduler.scala 68:24]
  wire [5:0] requests_io_data_put; // @[Scheduler.scala 68:24]
  wire  abc_mshrs_0_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_0_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_0_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_0_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_0_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_0_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_0_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_0_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_0_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_0_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_1_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_1_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_1_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_1_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_1_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_1_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_1_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_1_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_1_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_2_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_2_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_2_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_2_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_2_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_2_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_2_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_2_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_2_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_3_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_3_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_3_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_3_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_3_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_3_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_3_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_3_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_3_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_4_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_4_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_4_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_4_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_4_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_4_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_4_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_4_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_4_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_5_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_5_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_5_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_5_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_5_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_5_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_5_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_5_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_5_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_6_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_6_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_6_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_6_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_6_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_6_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_6_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_6_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_6_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_7_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_7_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_7_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_7_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_7_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_7_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_7_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_7_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_7_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_8_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_8_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_8_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_8_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_8_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_8_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_8_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_8_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_8_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_9_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_9_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_9_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_9_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_9_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_9_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_9_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_9_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_9_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_10_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_10_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_10_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_10_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_10_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_10_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_10_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_10_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_10_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_11_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_11_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_11_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_11_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_11_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_11_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_11_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_11_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_11_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_12_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_12_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_12_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_12_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_12_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_12_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_12_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_12_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_12_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_13_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_13_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_13_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_13_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_13_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_13_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_13_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_13_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_13_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_14_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_14_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_14_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_14_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_14_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_14_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_14_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_14_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_14_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_15_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_15_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_15_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_15_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_15_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_15_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_15_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_15_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_15_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_16_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_16_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_16_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_16_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_16_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_16_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_16_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_16_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_16_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_17_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_17_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_17_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_17_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_17_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_17_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_17_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_17_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_17_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_18_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_18_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_18_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_18_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_18_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_18_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_18_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_18_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_18_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_clock; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_reset; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_19_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_19_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_19_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] abc_mshrs_19_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] abc_mshrs_19_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] abc_mshrs_19_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] abc_mshrs_19_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] abc_mshrs_19_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  abc_mshrs_19_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  bc_mshr_clock; // @[Scheduler.scala 69:46]
  wire  bc_mshr_reset; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] bc_mshr_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] bc_mshr_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] bc_mshr_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] bc_mshr_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] bc_mshr_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] bc_mshr_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] bc_mshr_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] bc_mshr_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  bc_mshr_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  c_mshr_clock; // @[Scheduler.scala 69:46]
  wire  c_mshr_reset; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_allocate_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_allocate_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_allocate_bits_prio_1; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_allocate_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_allocate_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_allocate_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_allocate_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_allocate_bits_source; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_allocate_bits_tag; // @[Scheduler.scala 69:46]
  wire [3:0] c_mshr_io_allocate_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] c_mshr_io_allocate_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_allocate_bits_set; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_allocate_bits_repeat; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_directory_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_directory_bits_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] c_mshr_io_directory_bits_state; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_directory_bits_clients; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_directory_bits_tag; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_directory_bits_hit; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_directory_bits_way; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_status_bits_set; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_status_bits_tag; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_bits_way; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_bits_blockB; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_bits_nestB; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_bits_blockC; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_status_bits_nestC; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_ready; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_a_valid; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_schedule_bits_a_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_a_bits_set; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_a_bits_param; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_a_bits_block; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_b_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_b_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_schedule_bits_b_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_b_bits_set; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_b_bits_clients; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_c_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_c_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_c_bits_param; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_schedule_bits_c_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_c_bits_set; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_c_bits_way; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_c_bits_dirty; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_d_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_d_bits_prio_0; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_d_bits_prio_2; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_d_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_d_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_d_bits_size; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_d_bits_source; // @[Scheduler.scala 69:46]
  wire [3:0] c_mshr_io_schedule_bits_d_bits_offset; // @[Scheduler.scala 69:46]
  wire [5:0] c_mshr_io_schedule_bits_d_bits_put; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_d_bits_set; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_d_bits_way; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_d_bits_bad; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_e_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_e_bits_sink; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_x_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_schedule_bits_dir_bits_set; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_dir_bits_way; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 69:46]
  wire [1:0] c_mshr_io_schedule_bits_dir_bits_data_state; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_dir_bits_data_clients; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_schedule_bits_dir_bits_data_tag; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_schedule_bits_reload; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkc_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkc_bits_last; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_sinkc_bits_tag; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_sinkc_bits_source; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_sinkc_bits_param; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkc_bits_data; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkd_valid; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkd_bits_last; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_sinkd_bits_opcode; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_sinkd_bits_param; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_sinkd_bits_sink; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinkd_bits_denied; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_sinke_valid; // @[Scheduler.scala 69:46]
  wire [2:0] c_mshr_io_nestedwb_set; // @[Scheduler.scala 69:46]
  wire [24:0] c_mshr_io_nestedwb_tag; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_nestedwb_b_toN; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_nestedwb_b_toB; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_nestedwb_b_clr_dirty; // @[Scheduler.scala 69:46]
  wire  c_mshr_io_nestedwb_c_set_dirty; // @[Scheduler.scala 69:46]
  wire  _mshr_stall_abc_T_3 = c_mshr_io_status_valid & abc_mshrs_0_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_0 = bc_mshr_io_status_valid & abc_mshrs_0_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_3; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_7 = c_mshr_io_status_valid & abc_mshrs_1_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_1 = bc_mshr_io_status_valid & abc_mshrs_1_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_7; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_11 = c_mshr_io_status_valid & abc_mshrs_2_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_2 = bc_mshr_io_status_valid & abc_mshrs_2_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_11; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_15 = c_mshr_io_status_valid & abc_mshrs_3_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_3 = bc_mshr_io_status_valid & abc_mshrs_3_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_15; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_19 = c_mshr_io_status_valid & abc_mshrs_4_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_4 = bc_mshr_io_status_valid & abc_mshrs_4_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_19; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_23 = c_mshr_io_status_valid & abc_mshrs_5_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_5 = bc_mshr_io_status_valid & abc_mshrs_5_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_23; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_27 = c_mshr_io_status_valid & abc_mshrs_6_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_6 = bc_mshr_io_status_valid & abc_mshrs_6_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_27; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_31 = c_mshr_io_status_valid & abc_mshrs_7_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_7 = bc_mshr_io_status_valid & abc_mshrs_7_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_31; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_35 = c_mshr_io_status_valid & abc_mshrs_8_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_8 = bc_mshr_io_status_valid & abc_mshrs_8_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_35; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_39 = c_mshr_io_status_valid & abc_mshrs_9_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_9 = bc_mshr_io_status_valid & abc_mshrs_9_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_39; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_43 = c_mshr_io_status_valid & abc_mshrs_10_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_10 = bc_mshr_io_status_valid & abc_mshrs_10_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_43; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_47 = c_mshr_io_status_valid & abc_mshrs_11_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_11 = bc_mshr_io_status_valid & abc_mshrs_11_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_47; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_51 = c_mshr_io_status_valid & abc_mshrs_12_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_12 = bc_mshr_io_status_valid & abc_mshrs_12_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_51; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_55 = c_mshr_io_status_valid & abc_mshrs_13_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_13 = bc_mshr_io_status_valid & abc_mshrs_13_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_55; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_59 = c_mshr_io_status_valid & abc_mshrs_14_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_14 = bc_mshr_io_status_valid & abc_mshrs_14_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_59; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_63 = c_mshr_io_status_valid & abc_mshrs_15_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_15 = bc_mshr_io_status_valid & abc_mshrs_15_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_63; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_67 = c_mshr_io_status_valid & abc_mshrs_16_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_16 = bc_mshr_io_status_valid & abc_mshrs_16_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_67; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_71 = c_mshr_io_status_valid & abc_mshrs_17_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_17 = bc_mshr_io_status_valid & abc_mshrs_17_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_71; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_75 = c_mshr_io_status_valid & abc_mshrs_18_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_18 = bc_mshr_io_status_valid & abc_mshrs_18_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_75; // @[Scheduler.scala 88:86]
  wire  _mshr_stall_abc_T_79 = c_mshr_io_status_valid & abc_mshrs_19_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 89:30]
  wire  mshr_stall_19 = bc_mshr_io_status_valid & abc_mshrs_19_io_status_bits_set == bc_mshr_io_status_bits_set |
    _mshr_stall_abc_T_79; // @[Scheduler.scala 88:86]
  wire  mshr_stall_20 = c_mshr_io_status_valid & bc_mshr_io_status_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 92:28]
  wire  _mshr_request_T_3 = sourceA_io_req_ready | ~abc_mshrs_0_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_4 = abc_mshrs_0_io_schedule_valid & ~mshr_stall_0 & _mshr_request_T_3; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_6 = sourceB_io_req_ready | ~abc_mshrs_0_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_7 = _mshr_request_T_4 & _mshr_request_T_6; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_9 = sourceC_io_req_ready | ~abc_mshrs_0_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_10 = _mshr_request_T_7 & _mshr_request_T_9; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_12 = sourceD_io_req_ready | ~abc_mshrs_0_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_13 = _mshr_request_T_10 & _mshr_request_T_12; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_15 = sourceE_io_req_ready | ~abc_mshrs_0_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_16 = _mshr_request_T_13 & _mshr_request_T_15; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_21 = directory_io_write_ready | ~abc_mshrs_0_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_22 = _mshr_request_T_16 & _mshr_request_T_21; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_26 = sourceA_io_req_ready | ~abc_mshrs_1_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_27 = abc_mshrs_1_io_schedule_valid & ~mshr_stall_1 & _mshr_request_T_26; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_29 = sourceB_io_req_ready | ~abc_mshrs_1_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_30 = _mshr_request_T_27 & _mshr_request_T_29; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_32 = sourceC_io_req_ready | ~abc_mshrs_1_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_33 = _mshr_request_T_30 & _mshr_request_T_32; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_35 = sourceD_io_req_ready | ~abc_mshrs_1_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_36 = _mshr_request_T_33 & _mshr_request_T_35; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_38 = sourceE_io_req_ready | ~abc_mshrs_1_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_39 = _mshr_request_T_36 & _mshr_request_T_38; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_44 = directory_io_write_ready | ~abc_mshrs_1_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_45 = _mshr_request_T_39 & _mshr_request_T_44; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_49 = sourceA_io_req_ready | ~abc_mshrs_2_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_50 = abc_mshrs_2_io_schedule_valid & ~mshr_stall_2 & _mshr_request_T_49; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_52 = sourceB_io_req_ready | ~abc_mshrs_2_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_53 = _mshr_request_T_50 & _mshr_request_T_52; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_55 = sourceC_io_req_ready | ~abc_mshrs_2_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_56 = _mshr_request_T_53 & _mshr_request_T_55; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_58 = sourceD_io_req_ready | ~abc_mshrs_2_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_59 = _mshr_request_T_56 & _mshr_request_T_58; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_61 = sourceE_io_req_ready | ~abc_mshrs_2_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_62 = _mshr_request_T_59 & _mshr_request_T_61; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_67 = directory_io_write_ready | ~abc_mshrs_2_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_68 = _mshr_request_T_62 & _mshr_request_T_67; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_72 = sourceA_io_req_ready | ~abc_mshrs_3_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_73 = abc_mshrs_3_io_schedule_valid & ~mshr_stall_3 & _mshr_request_T_72; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_75 = sourceB_io_req_ready | ~abc_mshrs_3_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_76 = _mshr_request_T_73 & _mshr_request_T_75; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_78 = sourceC_io_req_ready | ~abc_mshrs_3_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_79 = _mshr_request_T_76 & _mshr_request_T_78; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_81 = sourceD_io_req_ready | ~abc_mshrs_3_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_82 = _mshr_request_T_79 & _mshr_request_T_81; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_84 = sourceE_io_req_ready | ~abc_mshrs_3_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_85 = _mshr_request_T_82 & _mshr_request_T_84; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_90 = directory_io_write_ready | ~abc_mshrs_3_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_91 = _mshr_request_T_85 & _mshr_request_T_90; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_95 = sourceA_io_req_ready | ~abc_mshrs_4_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_96 = abc_mshrs_4_io_schedule_valid & ~mshr_stall_4 & _mshr_request_T_95; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_98 = sourceB_io_req_ready | ~abc_mshrs_4_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_99 = _mshr_request_T_96 & _mshr_request_T_98; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_101 = sourceC_io_req_ready | ~abc_mshrs_4_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_102 = _mshr_request_T_99 & _mshr_request_T_101; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_104 = sourceD_io_req_ready | ~abc_mshrs_4_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_105 = _mshr_request_T_102 & _mshr_request_T_104; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_107 = sourceE_io_req_ready | ~abc_mshrs_4_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_108 = _mshr_request_T_105 & _mshr_request_T_107; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_113 = directory_io_write_ready | ~abc_mshrs_4_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_114 = _mshr_request_T_108 & _mshr_request_T_113; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_118 = sourceA_io_req_ready | ~abc_mshrs_5_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_119 = abc_mshrs_5_io_schedule_valid & ~mshr_stall_5 & _mshr_request_T_118; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_121 = sourceB_io_req_ready | ~abc_mshrs_5_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_122 = _mshr_request_T_119 & _mshr_request_T_121; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_124 = sourceC_io_req_ready | ~abc_mshrs_5_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_125 = _mshr_request_T_122 & _mshr_request_T_124; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_127 = sourceD_io_req_ready | ~abc_mshrs_5_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_128 = _mshr_request_T_125 & _mshr_request_T_127; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_130 = sourceE_io_req_ready | ~abc_mshrs_5_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_131 = _mshr_request_T_128 & _mshr_request_T_130; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_136 = directory_io_write_ready | ~abc_mshrs_5_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_137 = _mshr_request_T_131 & _mshr_request_T_136; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_141 = sourceA_io_req_ready | ~abc_mshrs_6_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_142 = abc_mshrs_6_io_schedule_valid & ~mshr_stall_6 & _mshr_request_T_141; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_144 = sourceB_io_req_ready | ~abc_mshrs_6_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_145 = _mshr_request_T_142 & _mshr_request_T_144; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_147 = sourceC_io_req_ready | ~abc_mshrs_6_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_148 = _mshr_request_T_145 & _mshr_request_T_147; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_150 = sourceD_io_req_ready | ~abc_mshrs_6_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_151 = _mshr_request_T_148 & _mshr_request_T_150; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_153 = sourceE_io_req_ready | ~abc_mshrs_6_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_154 = _mshr_request_T_151 & _mshr_request_T_153; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_159 = directory_io_write_ready | ~abc_mshrs_6_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_160 = _mshr_request_T_154 & _mshr_request_T_159; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_164 = sourceA_io_req_ready | ~abc_mshrs_7_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_165 = abc_mshrs_7_io_schedule_valid & ~mshr_stall_7 & _mshr_request_T_164; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_167 = sourceB_io_req_ready | ~abc_mshrs_7_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_168 = _mshr_request_T_165 & _mshr_request_T_167; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_170 = sourceC_io_req_ready | ~abc_mshrs_7_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_171 = _mshr_request_T_168 & _mshr_request_T_170; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_173 = sourceD_io_req_ready | ~abc_mshrs_7_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_174 = _mshr_request_T_171 & _mshr_request_T_173; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_176 = sourceE_io_req_ready | ~abc_mshrs_7_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_177 = _mshr_request_T_174 & _mshr_request_T_176; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_182 = directory_io_write_ready | ~abc_mshrs_7_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_183 = _mshr_request_T_177 & _mshr_request_T_182; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_187 = sourceA_io_req_ready | ~abc_mshrs_8_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_188 = abc_mshrs_8_io_schedule_valid & ~mshr_stall_8 & _mshr_request_T_187; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_190 = sourceB_io_req_ready | ~abc_mshrs_8_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_191 = _mshr_request_T_188 & _mshr_request_T_190; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_193 = sourceC_io_req_ready | ~abc_mshrs_8_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_194 = _mshr_request_T_191 & _mshr_request_T_193; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_196 = sourceD_io_req_ready | ~abc_mshrs_8_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_197 = _mshr_request_T_194 & _mshr_request_T_196; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_199 = sourceE_io_req_ready | ~abc_mshrs_8_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_200 = _mshr_request_T_197 & _mshr_request_T_199; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_205 = directory_io_write_ready | ~abc_mshrs_8_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_206 = _mshr_request_T_200 & _mshr_request_T_205; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_210 = sourceA_io_req_ready | ~abc_mshrs_9_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_211 = abc_mshrs_9_io_schedule_valid & ~mshr_stall_9 & _mshr_request_T_210; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_213 = sourceB_io_req_ready | ~abc_mshrs_9_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_214 = _mshr_request_T_211 & _mshr_request_T_213; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_216 = sourceC_io_req_ready | ~abc_mshrs_9_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_217 = _mshr_request_T_214 & _mshr_request_T_216; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_219 = sourceD_io_req_ready | ~abc_mshrs_9_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_220 = _mshr_request_T_217 & _mshr_request_T_219; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_222 = sourceE_io_req_ready | ~abc_mshrs_9_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_223 = _mshr_request_T_220 & _mshr_request_T_222; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_228 = directory_io_write_ready | ~abc_mshrs_9_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_229 = _mshr_request_T_223 & _mshr_request_T_228; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_233 = sourceA_io_req_ready | ~abc_mshrs_10_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_234 = abc_mshrs_10_io_schedule_valid & ~mshr_stall_10 & _mshr_request_T_233; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_236 = sourceB_io_req_ready | ~abc_mshrs_10_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_237 = _mshr_request_T_234 & _mshr_request_T_236; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_239 = sourceC_io_req_ready | ~abc_mshrs_10_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_240 = _mshr_request_T_237 & _mshr_request_T_239; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_242 = sourceD_io_req_ready | ~abc_mshrs_10_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_243 = _mshr_request_T_240 & _mshr_request_T_242; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_245 = sourceE_io_req_ready | ~abc_mshrs_10_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_246 = _mshr_request_T_243 & _mshr_request_T_245; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_251 = directory_io_write_ready | ~abc_mshrs_10_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_252 = _mshr_request_T_246 & _mshr_request_T_251; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_256 = sourceA_io_req_ready | ~abc_mshrs_11_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_257 = abc_mshrs_11_io_schedule_valid & ~mshr_stall_11 & _mshr_request_T_256; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_259 = sourceB_io_req_ready | ~abc_mshrs_11_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_260 = _mshr_request_T_257 & _mshr_request_T_259; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_262 = sourceC_io_req_ready | ~abc_mshrs_11_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_263 = _mshr_request_T_260 & _mshr_request_T_262; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_265 = sourceD_io_req_ready | ~abc_mshrs_11_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_266 = _mshr_request_T_263 & _mshr_request_T_265; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_268 = sourceE_io_req_ready | ~abc_mshrs_11_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_269 = _mshr_request_T_266 & _mshr_request_T_268; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_274 = directory_io_write_ready | ~abc_mshrs_11_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_275 = _mshr_request_T_269 & _mshr_request_T_274; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_279 = sourceA_io_req_ready | ~abc_mshrs_12_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_280 = abc_mshrs_12_io_schedule_valid & ~mshr_stall_12 & _mshr_request_T_279; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_282 = sourceB_io_req_ready | ~abc_mshrs_12_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_283 = _mshr_request_T_280 & _mshr_request_T_282; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_285 = sourceC_io_req_ready | ~abc_mshrs_12_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_286 = _mshr_request_T_283 & _mshr_request_T_285; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_288 = sourceD_io_req_ready | ~abc_mshrs_12_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_289 = _mshr_request_T_286 & _mshr_request_T_288; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_291 = sourceE_io_req_ready | ~abc_mshrs_12_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_292 = _mshr_request_T_289 & _mshr_request_T_291; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_297 = directory_io_write_ready | ~abc_mshrs_12_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_298 = _mshr_request_T_292 & _mshr_request_T_297; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_302 = sourceA_io_req_ready | ~abc_mshrs_13_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_303 = abc_mshrs_13_io_schedule_valid & ~mshr_stall_13 & _mshr_request_T_302; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_305 = sourceB_io_req_ready | ~abc_mshrs_13_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_306 = _mshr_request_T_303 & _mshr_request_T_305; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_308 = sourceC_io_req_ready | ~abc_mshrs_13_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_309 = _mshr_request_T_306 & _mshr_request_T_308; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_311 = sourceD_io_req_ready | ~abc_mshrs_13_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_312 = _mshr_request_T_309 & _mshr_request_T_311; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_314 = sourceE_io_req_ready | ~abc_mshrs_13_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_315 = _mshr_request_T_312 & _mshr_request_T_314; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_320 = directory_io_write_ready | ~abc_mshrs_13_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_321 = _mshr_request_T_315 & _mshr_request_T_320; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_325 = sourceA_io_req_ready | ~abc_mshrs_14_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_326 = abc_mshrs_14_io_schedule_valid & ~mshr_stall_14 & _mshr_request_T_325; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_328 = sourceB_io_req_ready | ~abc_mshrs_14_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_329 = _mshr_request_T_326 & _mshr_request_T_328; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_331 = sourceC_io_req_ready | ~abc_mshrs_14_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_332 = _mshr_request_T_329 & _mshr_request_T_331; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_334 = sourceD_io_req_ready | ~abc_mshrs_14_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_335 = _mshr_request_T_332 & _mshr_request_T_334; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_337 = sourceE_io_req_ready | ~abc_mshrs_14_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_338 = _mshr_request_T_335 & _mshr_request_T_337; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_343 = directory_io_write_ready | ~abc_mshrs_14_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_344 = _mshr_request_T_338 & _mshr_request_T_343; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_348 = sourceA_io_req_ready | ~abc_mshrs_15_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_349 = abc_mshrs_15_io_schedule_valid & ~mshr_stall_15 & _mshr_request_T_348; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_351 = sourceB_io_req_ready | ~abc_mshrs_15_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_352 = _mshr_request_T_349 & _mshr_request_T_351; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_354 = sourceC_io_req_ready | ~abc_mshrs_15_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_355 = _mshr_request_T_352 & _mshr_request_T_354; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_357 = sourceD_io_req_ready | ~abc_mshrs_15_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_358 = _mshr_request_T_355 & _mshr_request_T_357; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_360 = sourceE_io_req_ready | ~abc_mshrs_15_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_361 = _mshr_request_T_358 & _mshr_request_T_360; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_366 = directory_io_write_ready | ~abc_mshrs_15_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_367 = _mshr_request_T_361 & _mshr_request_T_366; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_371 = sourceA_io_req_ready | ~abc_mshrs_16_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_372 = abc_mshrs_16_io_schedule_valid & ~mshr_stall_16 & _mshr_request_T_371; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_374 = sourceB_io_req_ready | ~abc_mshrs_16_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_375 = _mshr_request_T_372 & _mshr_request_T_374; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_377 = sourceC_io_req_ready | ~abc_mshrs_16_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_378 = _mshr_request_T_375 & _mshr_request_T_377; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_380 = sourceD_io_req_ready | ~abc_mshrs_16_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_381 = _mshr_request_T_378 & _mshr_request_T_380; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_383 = sourceE_io_req_ready | ~abc_mshrs_16_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_384 = _mshr_request_T_381 & _mshr_request_T_383; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_389 = directory_io_write_ready | ~abc_mshrs_16_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_390 = _mshr_request_T_384 & _mshr_request_T_389; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_394 = sourceA_io_req_ready | ~abc_mshrs_17_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_395 = abc_mshrs_17_io_schedule_valid & ~mshr_stall_17 & _mshr_request_T_394; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_397 = sourceB_io_req_ready | ~abc_mshrs_17_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_398 = _mshr_request_T_395 & _mshr_request_T_397; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_400 = sourceC_io_req_ready | ~abc_mshrs_17_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_401 = _mshr_request_T_398 & _mshr_request_T_400; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_403 = sourceD_io_req_ready | ~abc_mshrs_17_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_404 = _mshr_request_T_401 & _mshr_request_T_403; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_406 = sourceE_io_req_ready | ~abc_mshrs_17_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_407 = _mshr_request_T_404 & _mshr_request_T_406; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_412 = directory_io_write_ready | ~abc_mshrs_17_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_413 = _mshr_request_T_407 & _mshr_request_T_412; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_417 = sourceA_io_req_ready | ~abc_mshrs_18_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_418 = abc_mshrs_18_io_schedule_valid & ~mshr_stall_18 & _mshr_request_T_417; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_420 = sourceB_io_req_ready | ~abc_mshrs_18_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_421 = _mshr_request_T_418 & _mshr_request_T_420; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_423 = sourceC_io_req_ready | ~abc_mshrs_18_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_424 = _mshr_request_T_421 & _mshr_request_T_423; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_426 = sourceD_io_req_ready | ~abc_mshrs_18_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_427 = _mshr_request_T_424 & _mshr_request_T_426; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_429 = sourceE_io_req_ready | ~abc_mshrs_18_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_430 = _mshr_request_T_427 & _mshr_request_T_429; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_435 = directory_io_write_ready | ~abc_mshrs_18_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_436 = _mshr_request_T_430 & _mshr_request_T_435; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_440 = sourceA_io_req_ready | ~abc_mshrs_19_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_441 = abc_mshrs_19_io_schedule_valid & ~mshr_stall_19 & _mshr_request_T_440; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_443 = sourceB_io_req_ready | ~abc_mshrs_19_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_444 = _mshr_request_T_441 & _mshr_request_T_443; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_446 = sourceC_io_req_ready | ~abc_mshrs_19_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_447 = _mshr_request_T_444 & _mshr_request_T_446; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_449 = sourceD_io_req_ready | ~abc_mshrs_19_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_450 = _mshr_request_T_447 & _mshr_request_T_449; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_452 = sourceE_io_req_ready | ~abc_mshrs_19_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_453 = _mshr_request_T_450 & _mshr_request_T_452; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_458 = directory_io_write_ready | ~abc_mshrs_19_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_459 = _mshr_request_T_453 & _mshr_request_T_458; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_463 = sourceA_io_req_ready | ~bc_mshr_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_464 = bc_mshr_io_schedule_valid & ~mshr_stall_20 & _mshr_request_T_463; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_466 = sourceB_io_req_ready | ~bc_mshr_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_467 = _mshr_request_T_464 & _mshr_request_T_466; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_469 = sourceC_io_req_ready | ~bc_mshr_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_470 = _mshr_request_T_467 & _mshr_request_T_469; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_472 = sourceD_io_req_ready | ~bc_mshr_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_473 = _mshr_request_T_470 & _mshr_request_T_472; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_475 = sourceE_io_req_ready | ~bc_mshr_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_476 = _mshr_request_T_473 & _mshr_request_T_475; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_481 = directory_io_write_ready | ~bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_482 = _mshr_request_T_476 & _mshr_request_T_481; // @[Scheduler.scala 111:61]
  wire  _mshr_request_T_486 = sourceA_io_req_ready | ~c_mshr_io_schedule_bits_a_valid; // @[Scheduler.scala 106:29]
  wire  _mshr_request_T_487 = c_mshr_io_schedule_valid & _mshr_request_T_486; // @[Scheduler.scala 105:31]
  wire  _mshr_request_T_489 = sourceB_io_req_ready | ~c_mshr_io_schedule_bits_b_valid; // @[Scheduler.scala 107:29]
  wire  _mshr_request_T_490 = _mshr_request_T_487 & _mshr_request_T_489; // @[Scheduler.scala 106:61]
  wire  _mshr_request_T_492 = sourceC_io_req_ready | ~c_mshr_io_schedule_bits_c_valid; // @[Scheduler.scala 108:29]
  wire  _mshr_request_T_493 = _mshr_request_T_490 & _mshr_request_T_492; // @[Scheduler.scala 107:61]
  wire  _mshr_request_T_495 = sourceD_io_req_ready | ~c_mshr_io_schedule_bits_d_valid; // @[Scheduler.scala 109:29]
  wire  _mshr_request_T_496 = _mshr_request_T_493 & _mshr_request_T_495; // @[Scheduler.scala 108:61]
  wire  _mshr_request_T_498 = sourceE_io_req_ready | ~c_mshr_io_schedule_bits_e_valid; // @[Scheduler.scala 110:29]
  wire  _mshr_request_T_499 = _mshr_request_T_496 & _mshr_request_T_498; // @[Scheduler.scala 109:61]
  wire  _mshr_request_T_504 = directory_io_write_ready | ~c_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 112:33]
  wire  _mshr_request_T_505 = _mshr_request_T_499 & _mshr_request_T_504; // @[Scheduler.scala 111:61]
  wire [4:0] mshr_request_lo_lo = {_mshr_request_T_114,_mshr_request_T_91,_mshr_request_T_68,_mshr_request_T_45,
    _mshr_request_T_22}; // @[Cat.scala 33:92]
  wire [10:0] mshr_request_lo = {_mshr_request_T_252,_mshr_request_T_229,_mshr_request_T_206,_mshr_request_T_183,
    _mshr_request_T_160,_mshr_request_T_137,mshr_request_lo_lo}; // @[Cat.scala 33:92]
  wire [4:0] mshr_request_hi_lo = {_mshr_request_T_367,_mshr_request_T_344,_mshr_request_T_321,_mshr_request_T_298,
    _mshr_request_T_275}; // @[Cat.scala 33:92]
  wire [21:0] mshr_request = {_mshr_request_T_505,_mshr_request_T_482,_mshr_request_T_459,_mshr_request_T_436,
    _mshr_request_T_413,_mshr_request_T_390,mshr_request_hi_lo,mshr_request_lo}; // @[Cat.scala 33:92]
  reg [21:0] robin_filter; // @[Scheduler.scala 116:29]
  wire [21:0] _robin_request_T = mshr_request & robin_filter; // @[Scheduler.scala 117:54]
  wire [43:0] robin_request = {_mshr_request_T_505,_mshr_request_T_482,_mshr_request_T_459,_mshr_request_T_436,
    _mshr_request_T_413,_mshr_request_T_390,mshr_request_hi_lo,mshr_request_lo,_robin_request_T}; // @[Cat.scala 33:92]
  wire [44:0] _mshr_selectOH2_T = {robin_request, 1'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_2 = robin_request | _mshr_selectOH2_T[43:0]; // @[package.scala 244:43]
  wire [45:0] _mshr_selectOH2_T_3 = {_mshr_selectOH2_T_2, 2'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_5 = _mshr_selectOH2_T_2 | _mshr_selectOH2_T_3[43:0]; // @[package.scala 244:43]
  wire [47:0] _mshr_selectOH2_T_6 = {_mshr_selectOH2_T_5, 4'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_8 = _mshr_selectOH2_T_5 | _mshr_selectOH2_T_6[43:0]; // @[package.scala 244:43]
  wire [51:0] _mshr_selectOH2_T_9 = {_mshr_selectOH2_T_8, 8'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_11 = _mshr_selectOH2_T_8 | _mshr_selectOH2_T_9[43:0]; // @[package.scala 244:43]
  wire [59:0] _mshr_selectOH2_T_12 = {_mshr_selectOH2_T_11, 16'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_14 = _mshr_selectOH2_T_11 | _mshr_selectOH2_T_12[43:0]; // @[package.scala 244:43]
  wire [75:0] _mshr_selectOH2_T_15 = {_mshr_selectOH2_T_14, 32'h0}; // @[package.scala 244:48]
  wire [43:0] _mshr_selectOH2_T_17 = _mshr_selectOH2_T_14 | _mshr_selectOH2_T_15[43:0]; // @[package.scala 244:43]
  wire [44:0] _mshr_selectOH2_T_19 = {_mshr_selectOH2_T_17, 1'h0}; // @[Scheduler.scala 118:48]
  wire [44:0] _mshr_selectOH2_T_20 = ~_mshr_selectOH2_T_19; // @[Scheduler.scala 118:24]
  wire [44:0] _GEN_282 = {{1'd0}, robin_request}; // @[Scheduler.scala 118:54]
  wire [44:0] mshr_selectOH2 = _mshr_selectOH2_T_20 & _GEN_282; // @[Scheduler.scala 118:54]
  wire [21:0] mshr_selectOH = mshr_selectOH2[43:22] | mshr_selectOH2[21:0]; // @[Scheduler.scala 119:70]
  wire [5:0] mshr_select_hi = mshr_selectOH[21:16]; // @[OneHot.scala 30:18]
  wire [15:0] mshr_select_lo = mshr_selectOH[15:0]; // @[OneHot.scala 31:18]
  wire  _mshr_select_T = |mshr_select_hi; // @[OneHot.scala 32:14]
  wire [15:0] _GEN_296 = {{10'd0}, mshr_select_hi}; // @[OneHot.scala 32:28]
  wire [15:0] _mshr_select_T_1 = _GEN_296 | mshr_select_lo; // @[OneHot.scala 32:28]
  wire [7:0] mshr_select_hi_1 = _mshr_select_T_1[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] mshr_select_lo_1 = _mshr_select_T_1[7:0]; // @[OneHot.scala 31:18]
  wire  _mshr_select_T_2 = |mshr_select_hi_1; // @[OneHot.scala 32:14]
  wire [7:0] _mshr_select_T_3 = mshr_select_hi_1 | mshr_select_lo_1; // @[OneHot.scala 32:28]
  wire [3:0] mshr_select_hi_2 = _mshr_select_T_3[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] mshr_select_lo_2 = _mshr_select_T_3[3:0]; // @[OneHot.scala 31:18]
  wire  _mshr_select_T_4 = |mshr_select_hi_2; // @[OneHot.scala 32:14]
  wire [3:0] _mshr_select_T_5 = mshr_select_hi_2 | mshr_select_lo_2; // @[OneHot.scala 32:28]
  wire [1:0] mshr_select_hi_3 = _mshr_select_T_5[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] mshr_select_lo_3 = _mshr_select_T_5[1:0]; // @[OneHot.scala 31:18]
  wire  _mshr_select_T_6 = |mshr_select_hi_3; // @[OneHot.scala 32:14]
  wire [1:0] _mshr_select_T_7 = mshr_select_hi_3 | mshr_select_lo_3; // @[OneHot.scala 32:28]
  wire [3:0] _mshr_select_T_11 = {_mshr_select_T_2,_mshr_select_T_4,_mshr_select_T_6,_mshr_select_T_7[1]}; // @[Cat.scala 33:92]
  wire [4:0] mshr_select = {_mshr_select_T,_mshr_select_T_2,_mshr_select_T_4,_mshr_select_T_6,_mshr_select_T_7[1]}; // @[Cat.scala 33:92]
  wire  _schedule_T_37 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_reload; // @[Mux.scala 27:73]
  wire  _schedule_T_58 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_reload | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_reload | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_reload | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_reload | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_reload | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_reload | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_reload | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_reload | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_reload | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_reload | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_reload | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_reload | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_reload | mshr_selectOH[
    13] & abc_mshrs_13_io_schedule_bits_reload | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_reload |
    _schedule_T_37; // @[Mux.scala 27:73]
  wire  schedule_reload = _schedule_T_58 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_reload | mshr_selectOH[17]
     & abc_mshrs_17_io_schedule_bits_reload | mshr_selectOH[18] & abc_mshrs_18_io_schedule_bits_reload | mshr_selectOH[
    19] & abc_mshrs_19_io_schedule_bits_reload | mshr_selectOH[20] & bc_mshr_io_schedule_bits_reload | mshr_selectOH[21]
     & c_mshr_io_schedule_bits_reload; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_65 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_66 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_67 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_68 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_69 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_70 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_71 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_72 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_73 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_74 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_75 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_76 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_77 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_78 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_79 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_80 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_81 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_82 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_83 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_84 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_85 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_86 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_dir_bits_data_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_87 = _schedule_T_65 | _schedule_T_66; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_88 = _schedule_T_87 | _schedule_T_67; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_89 = _schedule_T_88 | _schedule_T_68; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_90 = _schedule_T_89 | _schedule_T_69; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_91 = _schedule_T_90 | _schedule_T_70; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_92 = _schedule_T_91 | _schedule_T_71; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_93 = _schedule_T_92 | _schedule_T_72; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_94 = _schedule_T_93 | _schedule_T_73; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_95 = _schedule_T_94 | _schedule_T_74; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_96 = _schedule_T_95 | _schedule_T_75; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_97 = _schedule_T_96 | _schedule_T_76; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_98 = _schedule_T_97 | _schedule_T_77; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_99 = _schedule_T_98 | _schedule_T_78; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_100 = _schedule_T_99 | _schedule_T_79; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_101 = _schedule_T_100 | _schedule_T_80; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_102 = _schedule_T_101 | _schedule_T_81; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_103 = _schedule_T_102 | _schedule_T_82; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_104 = _schedule_T_103 | _schedule_T_83; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_105 = _schedule_T_104 | _schedule_T_84; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_106 = _schedule_T_105 | _schedule_T_85; // @[Mux.scala 27:73]
  wire  _schedule_T_123 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_dir_bits_data_clients; // @[Mux.scala 27:73]
  wire  _schedule_T_144 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[2] &
    abc_mshrs_2_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[8] &
    abc_mshrs_8_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[12] &
    abc_mshrs_12_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_dir_bits_data_clients | _schedule_T_123; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_151 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_152 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_153 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_154 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_155 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_156 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_157 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_158 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_159 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_160 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_161 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_162 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_163 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_164 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_165 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_166 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_167 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_168 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_169 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_170 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_171 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_172 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_dir_bits_data_state : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_173 = _schedule_T_151 | _schedule_T_152; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_174 = _schedule_T_173 | _schedule_T_153; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_175 = _schedule_T_174 | _schedule_T_154; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_176 = _schedule_T_175 | _schedule_T_155; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_177 = _schedule_T_176 | _schedule_T_156; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_178 = _schedule_T_177 | _schedule_T_157; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_179 = _schedule_T_178 | _schedule_T_158; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_180 = _schedule_T_179 | _schedule_T_159; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_181 = _schedule_T_180 | _schedule_T_160; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_182 = _schedule_T_181 | _schedule_T_161; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_183 = _schedule_T_182 | _schedule_T_162; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_184 = _schedule_T_183 | _schedule_T_163; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_185 = _schedule_T_184 | _schedule_T_164; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_186 = _schedule_T_185 | _schedule_T_165; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_187 = _schedule_T_186 | _schedule_T_166; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_188 = _schedule_T_187 | _schedule_T_167; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_189 = _schedule_T_188 | _schedule_T_168; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_190 = _schedule_T_189 | _schedule_T_169; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_191 = _schedule_T_190 | _schedule_T_170; // @[Mux.scala 27:73]
  wire [1:0] _schedule_T_192 = _schedule_T_191 | _schedule_T_171; // @[Mux.scala 27:73]
  wire  _schedule_T_209 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_dir_bits_data_dirty; // @[Mux.scala 27:73]
  wire  _schedule_T_230 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[2] &
    abc_mshrs_2_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[8] &
    abc_mshrs_8_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[12] &
    abc_mshrs_12_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_dir_bits_data_dirty | _schedule_T_209; // @[Mux.scala 27:73]
  wire  _schedule_T_252 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_dir_bits_way; // @[Mux.scala 27:73]
  wire  _schedule_T_273 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_dir_bits_way | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_dir_bits_way | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_dir_bits_way |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_dir_bits_way | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_dir_bits_way | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_dir_bits_way |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_dir_bits_way | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_dir_bits_way | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_dir_bits_way |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_dir_bits_way | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_dir_bits_way | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_dir_bits_way |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_dir_bits_way | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_dir_bits_way | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_dir_bits_way |
    _schedule_T_252; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_280 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_281 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_282 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_283 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_284 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_285 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_286 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_287 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_288 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_289 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_290 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_291 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_292 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_293 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_294 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_295 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_296 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_297 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_298 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_299 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_300 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_301 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_dir_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_302 = _schedule_T_280 | _schedule_T_281; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_303 = _schedule_T_302 | _schedule_T_282; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_304 = _schedule_T_303 | _schedule_T_283; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_305 = _schedule_T_304 | _schedule_T_284; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_306 = _schedule_T_305 | _schedule_T_285; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_307 = _schedule_T_306 | _schedule_T_286; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_308 = _schedule_T_307 | _schedule_T_287; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_309 = _schedule_T_308 | _schedule_T_288; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_310 = _schedule_T_309 | _schedule_T_289; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_311 = _schedule_T_310 | _schedule_T_290; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_312 = _schedule_T_311 | _schedule_T_291; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_313 = _schedule_T_312 | _schedule_T_292; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_314 = _schedule_T_313 | _schedule_T_293; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_315 = _schedule_T_314 | _schedule_T_294; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_316 = _schedule_T_315 | _schedule_T_295; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_317 = _schedule_T_316 | _schedule_T_296; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_318 = _schedule_T_317 | _schedule_T_297; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_319 = _schedule_T_318 | _schedule_T_298; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_320 = _schedule_T_319 | _schedule_T_299; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_321 = _schedule_T_320 | _schedule_T_300; // @[Mux.scala 27:73]
  wire  _schedule_T_338 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_dir_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_343 = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_344 = mshr_selectOH[21] & c_mshr_io_schedule_bits_dir_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_359 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_dir_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_dir_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_dir_valid | mshr_selectOH[3
    ] & abc_mshrs_3_io_schedule_bits_dir_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_dir_valid |
    mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_dir_valid | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_dir_valid | mshr_selectOH[7] & abc_mshrs_7_io_schedule_bits_dir_valid | mshr_selectOH[8
    ] & abc_mshrs_8_io_schedule_bits_dir_valid | mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_dir_valid |
    mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_dir_valid | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_dir_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_dir_valid |
    mshr_selectOH[13] & abc_mshrs_13_io_schedule_bits_dir_valid | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_dir_valid | _schedule_T_338; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_452 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_453 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_454 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_455 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_456 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_457 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_458 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_459 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_460 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_461 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_462 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_463 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_464 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_465 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_466 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_467 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_468 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_469 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_470 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_471 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_472 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_473 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_e_bits_sink : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_474 = _schedule_T_452 | _schedule_T_453; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_475 = _schedule_T_474 | _schedule_T_454; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_476 = _schedule_T_475 | _schedule_T_455; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_477 = _schedule_T_476 | _schedule_T_456; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_478 = _schedule_T_477 | _schedule_T_457; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_479 = _schedule_T_478 | _schedule_T_458; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_480 = _schedule_T_479 | _schedule_T_459; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_481 = _schedule_T_480 | _schedule_T_460; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_482 = _schedule_T_481 | _schedule_T_461; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_483 = _schedule_T_482 | _schedule_T_462; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_484 = _schedule_T_483 | _schedule_T_463; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_485 = _schedule_T_484 | _schedule_T_464; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_486 = _schedule_T_485 | _schedule_T_465; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_487 = _schedule_T_486 | _schedule_T_466; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_488 = _schedule_T_487 | _schedule_T_467; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_489 = _schedule_T_488 | _schedule_T_468; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_490 = _schedule_T_489 | _schedule_T_469; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_491 = _schedule_T_490 | _schedule_T_470; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_492 = _schedule_T_491 | _schedule_T_471; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_493 = _schedule_T_492 | _schedule_T_472; // @[Mux.scala 27:73]
  wire  _schedule_T_510 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_e_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_531 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_e_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_e_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_e_valid | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_e_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_e_valid | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_e_valid | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_e_valid | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_e_valid | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_e_valid | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_e_valid | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_e_valid | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_e_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_e_valid | mshr_selectOH
    [13] & abc_mshrs_13_io_schedule_bits_e_valid | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_e_valid |
    _schedule_T_510; // @[Mux.scala 27:73]
  wire  _schedule_T_553 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_d_bits_bad; // @[Mux.scala 27:73]
  wire  _schedule_T_574 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_d_bits_bad | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_d_bits_bad | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_d_bits_bad | mshr_selectOH
    [3] & abc_mshrs_3_io_schedule_bits_d_bits_bad | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_d_bits_bad |
    mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_d_bits_bad | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_d_bits_bad | mshr_selectOH[7] & abc_mshrs_7_io_schedule_bits_d_bits_bad | mshr_selectOH
    [8] & abc_mshrs_8_io_schedule_bits_d_bits_bad | mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_d_bits_bad |
    mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_d_bits_bad | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_d_bits_bad | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_d_bits_bad |
    mshr_selectOH[13] & abc_mshrs_13_io_schedule_bits_d_bits_bad | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_d_bits_bad | _schedule_T_553; // @[Mux.scala 27:73]
  wire  _schedule_T_596 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_d_bits_way; // @[Mux.scala 27:73]
  wire  _schedule_T_617 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_d_bits_way | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_d_bits_way | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_d_bits_way | mshr_selectOH
    [3] & abc_mshrs_3_io_schedule_bits_d_bits_way | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_d_bits_way |
    mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_d_bits_way | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_d_bits_way | mshr_selectOH[7] & abc_mshrs_7_io_schedule_bits_d_bits_way | mshr_selectOH
    [8] & abc_mshrs_8_io_schedule_bits_d_bits_way | mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_d_bits_way |
    mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_d_bits_way | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_d_bits_way | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_d_bits_way |
    mshr_selectOH[13] & abc_mshrs_13_io_schedule_bits_d_bits_way | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_d_bits_way | _schedule_T_596; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_667 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_668 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_669 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_670 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_671 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_672 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_673 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_674 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_675 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_676 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_677 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_678 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_679 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_680 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_681 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_682 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_683 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_684 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_685 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_686 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_687 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_688 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_689 = _schedule_T_667 | _schedule_T_668; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_690 = _schedule_T_689 | _schedule_T_669; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_691 = _schedule_T_690 | _schedule_T_670; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_692 = _schedule_T_691 | _schedule_T_671; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_693 = _schedule_T_692 | _schedule_T_672; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_694 = _schedule_T_693 | _schedule_T_673; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_695 = _schedule_T_694 | _schedule_T_674; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_696 = _schedule_T_695 | _schedule_T_675; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_697 = _schedule_T_696 | _schedule_T_676; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_698 = _schedule_T_697 | _schedule_T_677; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_699 = _schedule_T_698 | _schedule_T_678; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_700 = _schedule_T_699 | _schedule_T_679; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_701 = _schedule_T_700 | _schedule_T_680; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_702 = _schedule_T_701 | _schedule_T_681; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_703 = _schedule_T_702 | _schedule_T_682; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_704 = _schedule_T_703 | _schedule_T_683; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_705 = _schedule_T_704 | _schedule_T_684; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_706 = _schedule_T_705 | _schedule_T_685; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_707 = _schedule_T_706 | _schedule_T_686; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_708 = _schedule_T_707 | _schedule_T_687; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_710 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_711 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_712 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_713 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_714 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_715 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_716 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_717 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_718 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_719 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_720 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_721 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_722 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_723 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_724 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_725 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_726 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_727 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_728 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_729 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_730 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_731 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_put : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_732 = _schedule_T_710 | _schedule_T_711; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_733 = _schedule_T_732 | _schedule_T_712; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_734 = _schedule_T_733 | _schedule_T_713; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_735 = _schedule_T_734 | _schedule_T_714; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_736 = _schedule_T_735 | _schedule_T_715; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_737 = _schedule_T_736 | _schedule_T_716; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_738 = _schedule_T_737 | _schedule_T_717; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_739 = _schedule_T_738 | _schedule_T_718; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_740 = _schedule_T_739 | _schedule_T_719; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_741 = _schedule_T_740 | _schedule_T_720; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_742 = _schedule_T_741 | _schedule_T_721; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_743 = _schedule_T_742 | _schedule_T_722; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_744 = _schedule_T_743 | _schedule_T_723; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_745 = _schedule_T_744 | _schedule_T_724; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_746 = _schedule_T_745 | _schedule_T_725; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_747 = _schedule_T_746 | _schedule_T_726; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_748 = _schedule_T_747 | _schedule_T_727; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_749 = _schedule_T_748 | _schedule_T_728; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_750 = _schedule_T_749 | _schedule_T_729; // @[Mux.scala 27:73]
  wire [5:0] _schedule_T_751 = _schedule_T_750 | _schedule_T_730; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_753 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_754 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_755 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_756 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_757 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_758 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_759 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_760 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_761 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_762 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_763 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_764 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_765 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_766 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_767 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_768 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_769 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_770 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_771 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_772 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_773 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_774 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_offset : 4'h0; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_775 = _schedule_T_753 | _schedule_T_754; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_776 = _schedule_T_775 | _schedule_T_755; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_777 = _schedule_T_776 | _schedule_T_756; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_778 = _schedule_T_777 | _schedule_T_757; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_779 = _schedule_T_778 | _schedule_T_758; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_780 = _schedule_T_779 | _schedule_T_759; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_781 = _schedule_T_780 | _schedule_T_760; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_782 = _schedule_T_781 | _schedule_T_761; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_783 = _schedule_T_782 | _schedule_T_762; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_784 = _schedule_T_783 | _schedule_T_763; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_785 = _schedule_T_784 | _schedule_T_764; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_786 = _schedule_T_785 | _schedule_T_765; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_787 = _schedule_T_786 | _schedule_T_766; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_788 = _schedule_T_787 | _schedule_T_767; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_789 = _schedule_T_788 | _schedule_T_768; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_790 = _schedule_T_789 | _schedule_T_769; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_791 = _schedule_T_790 | _schedule_T_770; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_792 = _schedule_T_791 | _schedule_T_771; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_793 = _schedule_T_792 | _schedule_T_772; // @[Mux.scala 27:73]
  wire [3:0] _schedule_T_794 = _schedule_T_793 | _schedule_T_773; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_839 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_840 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_841 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_842 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_843 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_844 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_845 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_846 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_847 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_848 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_849 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_850 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_851 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_852 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_853 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_854 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_855 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_856 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_857 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_858 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_859 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_860 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_861 = _schedule_T_839 | _schedule_T_840; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_862 = _schedule_T_861 | _schedule_T_841; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_863 = _schedule_T_862 | _schedule_T_842; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_864 = _schedule_T_863 | _schedule_T_843; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_865 = _schedule_T_864 | _schedule_T_844; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_866 = _schedule_T_865 | _schedule_T_845; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_867 = _schedule_T_866 | _schedule_T_846; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_868 = _schedule_T_867 | _schedule_T_847; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_869 = _schedule_T_868 | _schedule_T_848; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_870 = _schedule_T_869 | _schedule_T_849; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_871 = _schedule_T_870 | _schedule_T_850; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_872 = _schedule_T_871 | _schedule_T_851; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_873 = _schedule_T_872 | _schedule_T_852; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_874 = _schedule_T_873 | _schedule_T_853; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_875 = _schedule_T_874 | _schedule_T_854; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_876 = _schedule_T_875 | _schedule_T_855; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_877 = _schedule_T_876 | _schedule_T_856; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_878 = _schedule_T_877 | _schedule_T_857; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_879 = _schedule_T_878 | _schedule_T_858; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_880 = _schedule_T_879 | _schedule_T_859; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_882 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_883 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_884 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_885 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_886 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_887 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_888 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_889 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_890 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_891 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_892 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_893 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_894 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_895 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_896 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_897 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_898 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_899 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_900 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_901 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_902 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_903 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_904 = _schedule_T_882 | _schedule_T_883; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_905 = _schedule_T_904 | _schedule_T_884; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_906 = _schedule_T_905 | _schedule_T_885; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_907 = _schedule_T_906 | _schedule_T_886; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_908 = _schedule_T_907 | _schedule_T_887; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_909 = _schedule_T_908 | _schedule_T_888; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_910 = _schedule_T_909 | _schedule_T_889; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_911 = _schedule_T_910 | _schedule_T_890; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_912 = _schedule_T_911 | _schedule_T_891; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_913 = _schedule_T_912 | _schedule_T_892; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_914 = _schedule_T_913 | _schedule_T_893; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_915 = _schedule_T_914 | _schedule_T_894; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_916 = _schedule_T_915 | _schedule_T_895; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_917 = _schedule_T_916 | _schedule_T_896; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_918 = _schedule_T_917 | _schedule_T_897; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_919 = _schedule_T_918 | _schedule_T_898; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_920 = _schedule_T_919 | _schedule_T_899; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_921 = _schedule_T_920 | _schedule_T_900; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_922 = _schedule_T_921 | _schedule_T_901; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_923 = _schedule_T_922 | _schedule_T_902; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_925 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_926 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_927 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_928 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_929 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_930 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_931 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_932 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_933 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_934 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_935 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_936 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_937 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_938 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_939 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_940 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_941 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_942 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_943 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_944 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_945 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_946 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_947 = _schedule_T_925 | _schedule_T_926; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_948 = _schedule_T_947 | _schedule_T_927; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_949 = _schedule_T_948 | _schedule_T_928; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_950 = _schedule_T_949 | _schedule_T_929; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_951 = _schedule_T_950 | _schedule_T_930; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_952 = _schedule_T_951 | _schedule_T_931; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_953 = _schedule_T_952 | _schedule_T_932; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_954 = _schedule_T_953 | _schedule_T_933; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_955 = _schedule_T_954 | _schedule_T_934; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_956 = _schedule_T_955 | _schedule_T_935; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_957 = _schedule_T_956 | _schedule_T_936; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_958 = _schedule_T_957 | _schedule_T_937; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_959 = _schedule_T_958 | _schedule_T_938; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_960 = _schedule_T_959 | _schedule_T_939; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_961 = _schedule_T_960 | _schedule_T_940; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_962 = _schedule_T_961 | _schedule_T_941; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_963 = _schedule_T_962 | _schedule_T_942; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_964 = _schedule_T_963 | _schedule_T_943; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_965 = _schedule_T_964 | _schedule_T_944; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_966 = _schedule_T_965 | _schedule_T_945; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_968 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_969 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_970 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_971 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_972 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_973 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_974 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_975 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_976 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_977 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_978 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_979 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_980 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_981 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_982 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_983 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_984 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_985 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_986 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_987 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_988 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_989 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_990 = _schedule_T_968 | _schedule_T_969; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_991 = _schedule_T_990 | _schedule_T_970; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_992 = _schedule_T_991 | _schedule_T_971; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_993 = _schedule_T_992 | _schedule_T_972; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_994 = _schedule_T_993 | _schedule_T_973; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_995 = _schedule_T_994 | _schedule_T_974; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_996 = _schedule_T_995 | _schedule_T_975; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_997 = _schedule_T_996 | _schedule_T_976; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_998 = _schedule_T_997 | _schedule_T_977; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_999 = _schedule_T_998 | _schedule_T_978; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1000 = _schedule_T_999 | _schedule_T_979; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1001 = _schedule_T_1000 | _schedule_T_980; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1002 = _schedule_T_1001 | _schedule_T_981; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1003 = _schedule_T_1002 | _schedule_T_982; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1004 = _schedule_T_1003 | _schedule_T_983; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1005 = _schedule_T_1004 | _schedule_T_984; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1006 = _schedule_T_1005 | _schedule_T_985; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1007 = _schedule_T_1006 | _schedule_T_986; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1008 = _schedule_T_1007 | _schedule_T_987; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1009 = _schedule_T_1008 | _schedule_T_988; // @[Mux.scala 27:73]
  wire  _schedule_T_1069 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_d_bits_prio_0; // @[Mux.scala 27:73]
  wire  _schedule_T_1090 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_d_bits_prio_0 |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_d_bits_prio_0 |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_d_bits_prio_0 |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_d_bits_prio_0 |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_d_bits_prio_0 |
    _schedule_T_1069; // @[Mux.scala 27:73]
  wire  _schedule_T_1155 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_d_bits_prio_2; // @[Mux.scala 27:73]
  wire  _schedule_T_1176 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_d_bits_prio_2 |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_d_bits_prio_2 |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_d_bits_prio_2 |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_d_bits_prio_2 |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_d_bits_prio_2 |
    _schedule_T_1155; // @[Mux.scala 27:73]
  wire  _schedule_T_1198 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_d_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_1219 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_d_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_d_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_d_valid | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_d_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_d_valid | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_d_valid | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_d_valid | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_d_valid | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_d_valid | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_d_valid | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_d_valid | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_d_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_d_valid | mshr_selectOH
    [13] & abc_mshrs_13_io_schedule_bits_d_valid | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_d_valid |
    _schedule_T_1198; // @[Mux.scala 27:73]
  wire  _schedule_T_1241 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_c_bits_dirty; // @[Mux.scala 27:73]
  wire  _schedule_T_1262 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_c_bits_dirty | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_c_bits_dirty | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_c_bits_dirty |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_c_bits_dirty | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_c_bits_dirty | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_c_bits_dirty |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_c_bits_dirty | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_c_bits_dirty | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_c_bits_dirty |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_c_bits_dirty | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_c_bits_dirty | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_c_bits_dirty |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_c_bits_dirty | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_c_bits_dirty | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_c_bits_dirty |
    _schedule_T_1241; // @[Mux.scala 27:73]
  wire  _schedule_T_1284 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_c_bits_way; // @[Mux.scala 27:73]
  wire  _schedule_T_1305 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_c_bits_way | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_c_bits_way | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_c_bits_way | mshr_selectOH
    [3] & abc_mshrs_3_io_schedule_bits_c_bits_way | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_c_bits_way |
    mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_c_bits_way | mshr_selectOH[6] &
    abc_mshrs_6_io_schedule_bits_c_bits_way | mshr_selectOH[7] & abc_mshrs_7_io_schedule_bits_c_bits_way | mshr_selectOH
    [8] & abc_mshrs_8_io_schedule_bits_c_bits_way | mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_c_bits_way |
    mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_c_bits_way | mshr_selectOH[11] &
    abc_mshrs_11_io_schedule_bits_c_bits_way | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_c_bits_way |
    mshr_selectOH[13] & abc_mshrs_13_io_schedule_bits_c_bits_way | mshr_selectOH[14] &
    abc_mshrs_14_io_schedule_bits_c_bits_way | _schedule_T_1284; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1312 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1313 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1314 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1315 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1316 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1317 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1318 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1319 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1320 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1321 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1322 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1323 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1324 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1325 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1326 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1327 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1328 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1329 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1330 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1331 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1332 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1333 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_c_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1334 = _schedule_T_1312 | _schedule_T_1313; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1335 = _schedule_T_1334 | _schedule_T_1314; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1336 = _schedule_T_1335 | _schedule_T_1315; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1337 = _schedule_T_1336 | _schedule_T_1316; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1338 = _schedule_T_1337 | _schedule_T_1317; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1339 = _schedule_T_1338 | _schedule_T_1318; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1340 = _schedule_T_1339 | _schedule_T_1319; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1341 = _schedule_T_1340 | _schedule_T_1320; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1342 = _schedule_T_1341 | _schedule_T_1321; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1343 = _schedule_T_1342 | _schedule_T_1322; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1344 = _schedule_T_1343 | _schedule_T_1323; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1345 = _schedule_T_1344 | _schedule_T_1324; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1346 = _schedule_T_1345 | _schedule_T_1325; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1347 = _schedule_T_1346 | _schedule_T_1326; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1348 = _schedule_T_1347 | _schedule_T_1327; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1349 = _schedule_T_1348 | _schedule_T_1328; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1350 = _schedule_T_1349 | _schedule_T_1329; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1351 = _schedule_T_1350 | _schedule_T_1330; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1352 = _schedule_T_1351 | _schedule_T_1331; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1353 = _schedule_T_1352 | _schedule_T_1332; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1355 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1356 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1357 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1358 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1359 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1360 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1361 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1362 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1363 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1364 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1365 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1366 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1367 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1368 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1369 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1370 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1371 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1372 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1373 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1374 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1375 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1376 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_c_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1377 = _schedule_T_1355 | _schedule_T_1356; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1378 = _schedule_T_1377 | _schedule_T_1357; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1379 = _schedule_T_1378 | _schedule_T_1358; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1380 = _schedule_T_1379 | _schedule_T_1359; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1381 = _schedule_T_1380 | _schedule_T_1360; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1382 = _schedule_T_1381 | _schedule_T_1361; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1383 = _schedule_T_1382 | _schedule_T_1362; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1384 = _schedule_T_1383 | _schedule_T_1363; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1385 = _schedule_T_1384 | _schedule_T_1364; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1386 = _schedule_T_1385 | _schedule_T_1365; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1387 = _schedule_T_1386 | _schedule_T_1366; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1388 = _schedule_T_1387 | _schedule_T_1367; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1389 = _schedule_T_1388 | _schedule_T_1368; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1390 = _schedule_T_1389 | _schedule_T_1369; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1391 = _schedule_T_1390 | _schedule_T_1370; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1392 = _schedule_T_1391 | _schedule_T_1371; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1393 = _schedule_T_1392 | _schedule_T_1372; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1394 = _schedule_T_1393 | _schedule_T_1373; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1395 = _schedule_T_1394 | _schedule_T_1374; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1396 = _schedule_T_1395 | _schedule_T_1375; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1441 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1442 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1443 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1444 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1445 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1446 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1447 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1448 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1449 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1450 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1451 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1452 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1453 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1454 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1455 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1456 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1457 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1458 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1459 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1460 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1461 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1462 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_c_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1463 = _schedule_T_1441 | _schedule_T_1442; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1464 = _schedule_T_1463 | _schedule_T_1443; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1465 = _schedule_T_1464 | _schedule_T_1444; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1466 = _schedule_T_1465 | _schedule_T_1445; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1467 = _schedule_T_1466 | _schedule_T_1446; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1468 = _schedule_T_1467 | _schedule_T_1447; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1469 = _schedule_T_1468 | _schedule_T_1448; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1470 = _schedule_T_1469 | _schedule_T_1449; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1471 = _schedule_T_1470 | _schedule_T_1450; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1472 = _schedule_T_1471 | _schedule_T_1451; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1473 = _schedule_T_1472 | _schedule_T_1452; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1474 = _schedule_T_1473 | _schedule_T_1453; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1475 = _schedule_T_1474 | _schedule_T_1454; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1476 = _schedule_T_1475 | _schedule_T_1455; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1477 = _schedule_T_1476 | _schedule_T_1456; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1478 = _schedule_T_1477 | _schedule_T_1457; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1479 = _schedule_T_1478 | _schedule_T_1458; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1480 = _schedule_T_1479 | _schedule_T_1459; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1481 = _schedule_T_1480 | _schedule_T_1460; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1482 = _schedule_T_1481 | _schedule_T_1461; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1484 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1485 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1486 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1487 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1488 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1489 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1490 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1491 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1492 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1493 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1494 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1495 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1496 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1497 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1498 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1499 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1500 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1501 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1502 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1503 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1504 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1505 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_c_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1506 = _schedule_T_1484 | _schedule_T_1485; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1507 = _schedule_T_1506 | _schedule_T_1486; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1508 = _schedule_T_1507 | _schedule_T_1487; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1509 = _schedule_T_1508 | _schedule_T_1488; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1510 = _schedule_T_1509 | _schedule_T_1489; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1511 = _schedule_T_1510 | _schedule_T_1490; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1512 = _schedule_T_1511 | _schedule_T_1491; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1513 = _schedule_T_1512 | _schedule_T_1492; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1514 = _schedule_T_1513 | _schedule_T_1493; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1515 = _schedule_T_1514 | _schedule_T_1494; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1516 = _schedule_T_1515 | _schedule_T_1495; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1517 = _schedule_T_1516 | _schedule_T_1496; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1518 = _schedule_T_1517 | _schedule_T_1497; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1519 = _schedule_T_1518 | _schedule_T_1498; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1520 = _schedule_T_1519 | _schedule_T_1499; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1521 = _schedule_T_1520 | _schedule_T_1500; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1522 = _schedule_T_1521 | _schedule_T_1501; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1523 = _schedule_T_1522 | _schedule_T_1502; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1524 = _schedule_T_1523 | _schedule_T_1503; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1525 = _schedule_T_1524 | _schedule_T_1504; // @[Mux.scala 27:73]
  wire [2:0] schedule_c_bits_opcode = _schedule_T_1525 | _schedule_T_1505; // @[Mux.scala 27:73]
  wire  _schedule_T_1542 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_c_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_1563 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_c_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_c_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_c_valid | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_c_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_c_valid | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_c_valid | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_c_valid | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_c_valid | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_c_valid | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_c_valid | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_c_valid | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_c_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_c_valid | mshr_selectOH
    [13] & abc_mshrs_13_io_schedule_bits_c_valid | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_c_valid |
    _schedule_T_1542; // @[Mux.scala 27:73]
  wire  _schedule_T_1585 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_b_bits_clients; // @[Mux.scala 27:73]
  wire  _schedule_T_1606 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_b_bits_clients | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_b_bits_clients | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_b_bits_clients |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_b_bits_clients | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_b_bits_clients | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_b_bits_clients |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_b_bits_clients | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_b_bits_clients | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_b_bits_clients |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_b_bits_clients | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_b_bits_clients | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_b_bits_clients |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_b_bits_clients | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_b_bits_clients | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_b_bits_clients |
    _schedule_T_1585; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1613 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1614 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1615 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1616 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1617 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1618 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1619 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1620 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1621 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1622 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1623 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1624 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1625 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1626 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1627 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1628 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1629 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1630 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1631 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1632 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1633 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1634 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_b_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1635 = _schedule_T_1613 | _schedule_T_1614; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1636 = _schedule_T_1635 | _schedule_T_1615; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1637 = _schedule_T_1636 | _schedule_T_1616; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1638 = _schedule_T_1637 | _schedule_T_1617; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1639 = _schedule_T_1638 | _schedule_T_1618; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1640 = _schedule_T_1639 | _schedule_T_1619; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1641 = _schedule_T_1640 | _schedule_T_1620; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1642 = _schedule_T_1641 | _schedule_T_1621; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1643 = _schedule_T_1642 | _schedule_T_1622; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1644 = _schedule_T_1643 | _schedule_T_1623; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1645 = _schedule_T_1644 | _schedule_T_1624; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1646 = _schedule_T_1645 | _schedule_T_1625; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1647 = _schedule_T_1646 | _schedule_T_1626; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1648 = _schedule_T_1647 | _schedule_T_1627; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1649 = _schedule_T_1648 | _schedule_T_1628; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1650 = _schedule_T_1649 | _schedule_T_1629; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1651 = _schedule_T_1650 | _schedule_T_1630; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1652 = _schedule_T_1651 | _schedule_T_1631; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1653 = _schedule_T_1652 | _schedule_T_1632; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1654 = _schedule_T_1653 | _schedule_T_1633; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1656 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1657 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1658 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1659 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1660 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1661 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1662 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1663 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1664 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1665 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1666 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1667 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1668 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1669 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1670 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1671 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1672 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1673 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1674 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1675 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1676 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1677 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_b_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1678 = _schedule_T_1656 | _schedule_T_1657; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1679 = _schedule_T_1678 | _schedule_T_1658; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1680 = _schedule_T_1679 | _schedule_T_1659; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1681 = _schedule_T_1680 | _schedule_T_1660; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1682 = _schedule_T_1681 | _schedule_T_1661; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1683 = _schedule_T_1682 | _schedule_T_1662; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1684 = _schedule_T_1683 | _schedule_T_1663; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1685 = _schedule_T_1684 | _schedule_T_1664; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1686 = _schedule_T_1685 | _schedule_T_1665; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1687 = _schedule_T_1686 | _schedule_T_1666; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1688 = _schedule_T_1687 | _schedule_T_1667; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1689 = _schedule_T_1688 | _schedule_T_1668; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1690 = _schedule_T_1689 | _schedule_T_1669; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1691 = _schedule_T_1690 | _schedule_T_1670; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1692 = _schedule_T_1691 | _schedule_T_1671; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1693 = _schedule_T_1692 | _schedule_T_1672; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1694 = _schedule_T_1693 | _schedule_T_1673; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1695 = _schedule_T_1694 | _schedule_T_1674; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1696 = _schedule_T_1695 | _schedule_T_1675; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1697 = _schedule_T_1696 | _schedule_T_1676; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1699 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1700 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1701 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1702 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1703 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1704 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1705 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1706 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1707 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1708 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1709 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1710 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1711 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1712 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1713 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1714 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1715 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1716 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1717 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1718 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1719 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1720 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_b_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1721 = _schedule_T_1699 | _schedule_T_1700; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1722 = _schedule_T_1721 | _schedule_T_1701; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1723 = _schedule_T_1722 | _schedule_T_1702; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1724 = _schedule_T_1723 | _schedule_T_1703; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1725 = _schedule_T_1724 | _schedule_T_1704; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1726 = _schedule_T_1725 | _schedule_T_1705; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1727 = _schedule_T_1726 | _schedule_T_1706; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1728 = _schedule_T_1727 | _schedule_T_1707; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1729 = _schedule_T_1728 | _schedule_T_1708; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1730 = _schedule_T_1729 | _schedule_T_1709; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1731 = _schedule_T_1730 | _schedule_T_1710; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1732 = _schedule_T_1731 | _schedule_T_1711; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1733 = _schedule_T_1732 | _schedule_T_1712; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1734 = _schedule_T_1733 | _schedule_T_1713; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1735 = _schedule_T_1734 | _schedule_T_1714; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1736 = _schedule_T_1735 | _schedule_T_1715; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1737 = _schedule_T_1736 | _schedule_T_1716; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1738 = _schedule_T_1737 | _schedule_T_1717; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1739 = _schedule_T_1738 | _schedule_T_1718; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1740 = _schedule_T_1739 | _schedule_T_1719; // @[Mux.scala 27:73]
  wire  _schedule_T_1757 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_b_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_1778 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_b_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_b_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_b_valid | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_b_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_b_valid | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_b_valid | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_b_valid | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_b_valid | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_b_valid | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_b_valid | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_b_valid | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_b_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_b_valid | mshr_selectOH
    [13] & abc_mshrs_13_io_schedule_bits_b_valid | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_b_valid |
    _schedule_T_1757; // @[Mux.scala 27:73]
  wire  _schedule_T_1800 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_a_bits_block; // @[Mux.scala 27:73]
  wire  _schedule_T_1821 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_a_bits_block | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_a_bits_block | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_a_bits_block |
    mshr_selectOH[3] & abc_mshrs_3_io_schedule_bits_a_bits_block | mshr_selectOH[4] &
    abc_mshrs_4_io_schedule_bits_a_bits_block | mshr_selectOH[5] & abc_mshrs_5_io_schedule_bits_a_bits_block |
    mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_a_bits_block | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_a_bits_block | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_a_bits_block |
    mshr_selectOH[9] & abc_mshrs_9_io_schedule_bits_a_bits_block | mshr_selectOH[10] &
    abc_mshrs_10_io_schedule_bits_a_bits_block | mshr_selectOH[11] & abc_mshrs_11_io_schedule_bits_a_bits_block |
    mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_a_bits_block | mshr_selectOH[13] &
    abc_mshrs_13_io_schedule_bits_a_bits_block | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_a_bits_block |
    _schedule_T_1800; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1871 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1872 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1873 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1874 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1875 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1876 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1877 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1878 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1879 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1880 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1881 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1882 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1883 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1884 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1885 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1886 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1887 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1888 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1889 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1890 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1891 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1892 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1893 = _schedule_T_1871 | _schedule_T_1872; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1894 = _schedule_T_1893 | _schedule_T_1873; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1895 = _schedule_T_1894 | _schedule_T_1874; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1896 = _schedule_T_1895 | _schedule_T_1875; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1897 = _schedule_T_1896 | _schedule_T_1876; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1898 = _schedule_T_1897 | _schedule_T_1877; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1899 = _schedule_T_1898 | _schedule_T_1878; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1900 = _schedule_T_1899 | _schedule_T_1879; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1901 = _schedule_T_1900 | _schedule_T_1880; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1902 = _schedule_T_1901 | _schedule_T_1881; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1903 = _schedule_T_1902 | _schedule_T_1882; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1904 = _schedule_T_1903 | _schedule_T_1883; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1905 = _schedule_T_1904 | _schedule_T_1884; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1906 = _schedule_T_1905 | _schedule_T_1885; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1907 = _schedule_T_1906 | _schedule_T_1886; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1908 = _schedule_T_1907 | _schedule_T_1887; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1909 = _schedule_T_1908 | _schedule_T_1888; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1910 = _schedule_T_1909 | _schedule_T_1889; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1911 = _schedule_T_1910 | _schedule_T_1890; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1912 = _schedule_T_1911 | _schedule_T_1891; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1914 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1915 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1916 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1917 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1918 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1919 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1920 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1921 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1922 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1923 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1924 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1925 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1926 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1927 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1928 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1929 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1930 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1931 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1932 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1933 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1934 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1935 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_a_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1936 = _schedule_T_1914 | _schedule_T_1915; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1937 = _schedule_T_1936 | _schedule_T_1916; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1938 = _schedule_T_1937 | _schedule_T_1917; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1939 = _schedule_T_1938 | _schedule_T_1918; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1940 = _schedule_T_1939 | _schedule_T_1919; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1941 = _schedule_T_1940 | _schedule_T_1920; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1942 = _schedule_T_1941 | _schedule_T_1921; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1943 = _schedule_T_1942 | _schedule_T_1922; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1944 = _schedule_T_1943 | _schedule_T_1923; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1945 = _schedule_T_1944 | _schedule_T_1924; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1946 = _schedule_T_1945 | _schedule_T_1925; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1947 = _schedule_T_1946 | _schedule_T_1926; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1948 = _schedule_T_1947 | _schedule_T_1927; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1949 = _schedule_T_1948 | _schedule_T_1928; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1950 = _schedule_T_1949 | _schedule_T_1929; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1951 = _schedule_T_1950 | _schedule_T_1930; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1952 = _schedule_T_1951 | _schedule_T_1931; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1953 = _schedule_T_1952 | _schedule_T_1932; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1954 = _schedule_T_1953 | _schedule_T_1933; // @[Mux.scala 27:73]
  wire [2:0] _schedule_T_1955 = _schedule_T_1954 | _schedule_T_1934; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1957 = mshr_selectOH[0] ? abc_mshrs_0_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1958 = mshr_selectOH[1] ? abc_mshrs_1_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1959 = mshr_selectOH[2] ? abc_mshrs_2_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1960 = mshr_selectOH[3] ? abc_mshrs_3_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1961 = mshr_selectOH[4] ? abc_mshrs_4_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1962 = mshr_selectOH[5] ? abc_mshrs_5_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1963 = mshr_selectOH[6] ? abc_mshrs_6_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1964 = mshr_selectOH[7] ? abc_mshrs_7_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1965 = mshr_selectOH[8] ? abc_mshrs_8_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1966 = mshr_selectOH[9] ? abc_mshrs_9_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1967 = mshr_selectOH[10] ? abc_mshrs_10_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1968 = mshr_selectOH[11] ? abc_mshrs_11_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1969 = mshr_selectOH[12] ? abc_mshrs_12_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1970 = mshr_selectOH[13] ? abc_mshrs_13_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1971 = mshr_selectOH[14] ? abc_mshrs_14_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1972 = mshr_selectOH[15] ? abc_mshrs_15_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1973 = mshr_selectOH[16] ? abc_mshrs_16_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1974 = mshr_selectOH[17] ? abc_mshrs_17_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1975 = mshr_selectOH[18] ? abc_mshrs_18_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1976 = mshr_selectOH[19] ? abc_mshrs_19_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1977 = mshr_selectOH[20] ? bc_mshr_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1978 = mshr_selectOH[21] ? c_mshr_io_schedule_bits_a_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1979 = _schedule_T_1957 | _schedule_T_1958; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1980 = _schedule_T_1979 | _schedule_T_1959; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1981 = _schedule_T_1980 | _schedule_T_1960; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1982 = _schedule_T_1981 | _schedule_T_1961; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1983 = _schedule_T_1982 | _schedule_T_1962; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1984 = _schedule_T_1983 | _schedule_T_1963; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1985 = _schedule_T_1984 | _schedule_T_1964; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1986 = _schedule_T_1985 | _schedule_T_1965; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1987 = _schedule_T_1986 | _schedule_T_1966; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1988 = _schedule_T_1987 | _schedule_T_1967; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1989 = _schedule_T_1988 | _schedule_T_1968; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1990 = _schedule_T_1989 | _schedule_T_1969; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1991 = _schedule_T_1990 | _schedule_T_1970; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1992 = _schedule_T_1991 | _schedule_T_1971; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1993 = _schedule_T_1992 | _schedule_T_1972; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1994 = _schedule_T_1993 | _schedule_T_1973; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1995 = _schedule_T_1994 | _schedule_T_1974; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1996 = _schedule_T_1995 | _schedule_T_1975; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1997 = _schedule_T_1996 | _schedule_T_1976; // @[Mux.scala 27:73]
  wire [24:0] _schedule_T_1998 = _schedule_T_1997 | _schedule_T_1977; // @[Mux.scala 27:73]
  wire  _schedule_T_2015 = mshr_selectOH[15] & abc_mshrs_15_io_schedule_bits_a_valid; // @[Mux.scala 27:73]
  wire  _schedule_T_2036 = mshr_selectOH[0] & abc_mshrs_0_io_schedule_bits_a_valid | mshr_selectOH[1] &
    abc_mshrs_1_io_schedule_bits_a_valid | mshr_selectOH[2] & abc_mshrs_2_io_schedule_bits_a_valid | mshr_selectOH[3] &
    abc_mshrs_3_io_schedule_bits_a_valid | mshr_selectOH[4] & abc_mshrs_4_io_schedule_bits_a_valid | mshr_selectOH[5] &
    abc_mshrs_5_io_schedule_bits_a_valid | mshr_selectOH[6] & abc_mshrs_6_io_schedule_bits_a_valid | mshr_selectOH[7] &
    abc_mshrs_7_io_schedule_bits_a_valid | mshr_selectOH[8] & abc_mshrs_8_io_schedule_bits_a_valid | mshr_selectOH[9] &
    abc_mshrs_9_io_schedule_bits_a_valid | mshr_selectOH[10] & abc_mshrs_10_io_schedule_bits_a_valid | mshr_selectOH[11]
     & abc_mshrs_11_io_schedule_bits_a_valid | mshr_selectOH[12] & abc_mshrs_12_io_schedule_bits_a_valid | mshr_selectOH
    [13] & abc_mshrs_13_io_schedule_bits_a_valid | mshr_selectOH[14] & abc_mshrs_14_io_schedule_bits_a_valid |
    _schedule_T_2015; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_22 = mshr_selectOH[0] ? abc_mshrs_0_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_23 = mshr_selectOH[1] ? abc_mshrs_1_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_24 = mshr_selectOH[2] ? abc_mshrs_2_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_25 = mshr_selectOH[3] ? abc_mshrs_3_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_26 = mshr_selectOH[4] ? abc_mshrs_4_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_27 = mshr_selectOH[5] ? abc_mshrs_5_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_28 = mshr_selectOH[6] ? abc_mshrs_6_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_29 = mshr_selectOH[7] ? abc_mshrs_7_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_30 = mshr_selectOH[8] ? abc_mshrs_8_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_31 = mshr_selectOH[9] ? abc_mshrs_9_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_32 = mshr_selectOH[10] ? abc_mshrs_10_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_33 = mshr_selectOH[11] ? abc_mshrs_11_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_34 = mshr_selectOH[12] ? abc_mshrs_12_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_35 = mshr_selectOH[13] ? abc_mshrs_13_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_36 = mshr_selectOH[14] ? abc_mshrs_14_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_37 = mshr_selectOH[15] ? abc_mshrs_15_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_38 = mshr_selectOH[16] ? abc_mshrs_16_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_39 = mshr_selectOH[17] ? abc_mshrs_17_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_40 = mshr_selectOH[18] ? abc_mshrs_18_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_41 = mshr_selectOH[19] ? abc_mshrs_19_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_42 = mshr_selectOH[20] ? bc_mshr_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_43 = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : 25'h0; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_44 = _scheduleTag_T_22 | _scheduleTag_T_23; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_45 = _scheduleTag_T_44 | _scheduleTag_T_24; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_46 = _scheduleTag_T_45 | _scheduleTag_T_25; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_47 = _scheduleTag_T_46 | _scheduleTag_T_26; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_48 = _scheduleTag_T_47 | _scheduleTag_T_27; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_49 = _scheduleTag_T_48 | _scheduleTag_T_28; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_50 = _scheduleTag_T_49 | _scheduleTag_T_29; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_51 = _scheduleTag_T_50 | _scheduleTag_T_30; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_52 = _scheduleTag_T_51 | _scheduleTag_T_31; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_53 = _scheduleTag_T_52 | _scheduleTag_T_32; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_54 = _scheduleTag_T_53 | _scheduleTag_T_33; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_55 = _scheduleTag_T_54 | _scheduleTag_T_34; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_56 = _scheduleTag_T_55 | _scheduleTag_T_35; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_57 = _scheduleTag_T_56 | _scheduleTag_T_36; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_58 = _scheduleTag_T_57 | _scheduleTag_T_37; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_59 = _scheduleTag_T_58 | _scheduleTag_T_38; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_60 = _scheduleTag_T_59 | _scheduleTag_T_39; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_61 = _scheduleTag_T_60 | _scheduleTag_T_40; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_62 = _scheduleTag_T_61 | _scheduleTag_T_41; // @[Mux.scala 27:73]
  wire [24:0] _scheduleTag_T_63 = _scheduleTag_T_62 | _scheduleTag_T_42; // @[Mux.scala 27:73]
  wire [24:0] scheduleTag = _scheduleTag_T_63 | _scheduleTag_T_43; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_22 = mshr_selectOH[0] ? abc_mshrs_0_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_23 = mshr_selectOH[1] ? abc_mshrs_1_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_24 = mshr_selectOH[2] ? abc_mshrs_2_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_25 = mshr_selectOH[3] ? abc_mshrs_3_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_26 = mshr_selectOH[4] ? abc_mshrs_4_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_27 = mshr_selectOH[5] ? abc_mshrs_5_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_28 = mshr_selectOH[6] ? abc_mshrs_6_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_29 = mshr_selectOH[7] ? abc_mshrs_7_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_30 = mshr_selectOH[8] ? abc_mshrs_8_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_31 = mshr_selectOH[9] ? abc_mshrs_9_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_32 = mshr_selectOH[10] ? abc_mshrs_10_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_33 = mshr_selectOH[11] ? abc_mshrs_11_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_34 = mshr_selectOH[12] ? abc_mshrs_12_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_35 = mshr_selectOH[13] ? abc_mshrs_13_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_36 = mshr_selectOH[14] ? abc_mshrs_14_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_37 = mshr_selectOH[15] ? abc_mshrs_15_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_38 = mshr_selectOH[16] ? abc_mshrs_16_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_39 = mshr_selectOH[17] ? abc_mshrs_17_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_40 = mshr_selectOH[18] ? abc_mshrs_18_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_41 = mshr_selectOH[19] ? abc_mshrs_19_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_42 = mshr_selectOH[20] ? bc_mshr_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_43 = mshr_selectOH[21] ? c_mshr_io_status_bits_set : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_44 = _scheduleSet_T_22 | _scheduleSet_T_23; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_45 = _scheduleSet_T_44 | _scheduleSet_T_24; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_46 = _scheduleSet_T_45 | _scheduleSet_T_25; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_47 = _scheduleSet_T_46 | _scheduleSet_T_26; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_48 = _scheduleSet_T_47 | _scheduleSet_T_27; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_49 = _scheduleSet_T_48 | _scheduleSet_T_28; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_50 = _scheduleSet_T_49 | _scheduleSet_T_29; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_51 = _scheduleSet_T_50 | _scheduleSet_T_30; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_52 = _scheduleSet_T_51 | _scheduleSet_T_31; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_53 = _scheduleSet_T_52 | _scheduleSet_T_32; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_54 = _scheduleSet_T_53 | _scheduleSet_T_33; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_55 = _scheduleSet_T_54 | _scheduleSet_T_34; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_56 = _scheduleSet_T_55 | _scheduleSet_T_35; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_57 = _scheduleSet_T_56 | _scheduleSet_T_36; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_58 = _scheduleSet_T_57 | _scheduleSet_T_37; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_59 = _scheduleSet_T_58 | _scheduleSet_T_38; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_60 = _scheduleSet_T_59 | _scheduleSet_T_39; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_61 = _scheduleSet_T_60 | _scheduleSet_T_40; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_62 = _scheduleSet_T_61 | _scheduleSet_T_41; // @[Mux.scala 27:73]
  wire [2:0] _scheduleSet_T_63 = _scheduleSet_T_62 | _scheduleSet_T_42; // @[Mux.scala 27:73]
  wire [2:0] scheduleSet = _scheduleSet_T_63 | _scheduleSet_T_43; // @[Mux.scala 27:73]
  wire [21:0] _GEN_297 = {{1'd0}, mshr_selectOH[21:1]}; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_1 = mshr_selectOH | _GEN_297; // @[package.scala 253:43]
  wire [21:0] _GEN_310 = {{2'd0}, _robin_filter_T_1[21:2]}; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_3 = _robin_filter_T_1 | _GEN_310; // @[package.scala 253:43]
  wire [21:0] _GEN_324 = {{4'd0}, _robin_filter_T_3[21:4]}; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_5 = _robin_filter_T_3 | _GEN_324; // @[package.scala 253:43]
  wire [21:0] _GEN_325 = {{8'd0}, _robin_filter_T_5[21:8]}; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_7 = _robin_filter_T_5 | _GEN_325; // @[package.scala 253:43]
  wire [21:0] _GEN_381 = {{16'd0}, _robin_filter_T_7[21:16]}; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_9 = _robin_filter_T_7 | _GEN_381; // @[package.scala 253:43]
  wire [21:0] _robin_filter_T_11 = ~_robin_filter_T_9; // @[Scheduler.scala 126:47]
  wire  request_valid = directory_io_ready & (sinkA_io_req_valid | sinkC_io_req_valid); // @[Scheduler.scala 153:39]
  wire [2:0] _request_bits_T_opcode = sinkA_io_req_bits_opcode; // @[Scheduler.scala 155:22]
  wire [2:0] _request_bits_T_param = sinkA_io_req_bits_param; // @[Scheduler.scala 155:22]
  wire [2:0] _request_bits_T_size = sinkA_io_req_bits_size; // @[Scheduler.scala 155:22]
  wire [2:0] _request_bits_T_source = sinkA_io_req_bits_source; // @[Scheduler.scala 155:22]
  wire [24:0] _request_bits_T_tag = sinkA_io_req_bits_tag; // @[Scheduler.scala 155:22]
  wire [3:0] _request_bits_T_offset = sinkA_io_req_bits_offset; // @[Scheduler.scala 155:22]
  wire [5:0] _request_bits_T_put = sinkA_io_req_bits_put; // @[Scheduler.scala 155:22]
  wire [2:0] _request_bits_T_set = sinkA_io_req_bits_set; // @[Scheduler.scala 155:22]
  wire  request_bits_prio_0 = sinkC_io_req_valid ? 1'h0 : 1'h1; // @[Scheduler.scala 154:22]
  wire  request_bits_prio_2 = sinkC_io_req_valid; // @[Scheduler.scala 154:22]
  wire [2:0] request_bits_opcode = sinkC_io_req_valid ? sinkC_io_req_bits_opcode : _request_bits_T_opcode; // @[Scheduler.scala 154:22]
  wire [2:0] request_bits_param = sinkC_io_req_valid ? sinkC_io_req_bits_param : _request_bits_T_param; // @[Scheduler.scala 154:22]
  wire [2:0] request_bits_size = sinkC_io_req_valid ? sinkC_io_req_bits_size : _request_bits_T_size; // @[Scheduler.scala 154:22]
  wire [2:0] request_bits_source = sinkC_io_req_valid ? sinkC_io_req_bits_source : _request_bits_T_source; // @[Scheduler.scala 154:22]
  wire [24:0] request_bits_tag = sinkC_io_req_valid ? sinkC_io_req_bits_tag : _request_bits_T_tag; // @[Scheduler.scala 154:22]
  wire [3:0] request_bits_offset = sinkC_io_req_valid ? sinkC_io_req_bits_offset : _request_bits_T_offset; // @[Scheduler.scala 154:22]
  wire [5:0] request_bits_put = sinkC_io_req_valid ? sinkC_io_req_bits_put : _request_bits_T_put; // @[Scheduler.scala 154:22]
  wire [2:0] request_bits_set = sinkC_io_req_valid ? sinkC_io_req_bits_set : _request_bits_T_set; // @[Scheduler.scala 154:22]
  wire  _setMatches_T_43 = c_mshr_io_status_valid & c_mshr_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_41 = bc_mshr_io_status_valid & bc_mshr_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_39 = abc_mshrs_19_io_status_valid & abc_mshrs_19_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_37 = abc_mshrs_18_io_status_valid & abc_mshrs_18_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_35 = abc_mshrs_17_io_status_valid & abc_mshrs_17_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_33 = abc_mshrs_16_io_status_valid & abc_mshrs_16_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_31 = abc_mshrs_15_io_status_valid & abc_mshrs_15_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_29 = abc_mshrs_14_io_status_valid & abc_mshrs_14_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_27 = abc_mshrs_13_io_status_valid & abc_mshrs_13_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_25 = abc_mshrs_12_io_status_valid & abc_mshrs_12_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_23 = abc_mshrs_11_io_status_valid & abc_mshrs_11_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire [4:0] setMatches_hi_lo = {_setMatches_T_31,_setMatches_T_29,_setMatches_T_27,_setMatches_T_25,_setMatches_T_23}; // @[Cat.scala 33:92]
  wire  _setMatches_T_21 = abc_mshrs_10_io_status_valid & abc_mshrs_10_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_19 = abc_mshrs_9_io_status_valid & abc_mshrs_9_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_17 = abc_mshrs_8_io_status_valid & abc_mshrs_8_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_15 = abc_mshrs_7_io_status_valid & abc_mshrs_7_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_13 = abc_mshrs_6_io_status_valid & abc_mshrs_6_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_11 = abc_mshrs_5_io_status_valid & abc_mshrs_5_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_9 = abc_mshrs_4_io_status_valid & abc_mshrs_4_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_7 = abc_mshrs_3_io_status_valid & abc_mshrs_3_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_5 = abc_mshrs_2_io_status_valid & abc_mshrs_2_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_3 = abc_mshrs_1_io_status_valid & abc_mshrs_1_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire  _setMatches_T_1 = abc_mshrs_0_io_status_valid & abc_mshrs_0_io_status_bits_set == request_bits_set; // @[Scheduler.scala 161:59]
  wire [4:0] setMatches_lo_lo = {_setMatches_T_9,_setMatches_T_7,_setMatches_T_5,_setMatches_T_3,_setMatches_T_1}; // @[Cat.scala 33:92]
  wire [10:0] setMatches_lo = {_setMatches_T_21,_setMatches_T_19,_setMatches_T_17,_setMatches_T_15,_setMatches_T_13,
    _setMatches_T_11,setMatches_lo_lo}; // @[Cat.scala 33:92]
  wire [21:0] setMatches = {_setMatches_T_43,_setMatches_T_41,_setMatches_T_39,_setMatches_T_37,_setMatches_T_35,
    _setMatches_T_33,setMatches_hi_lo,setMatches_lo}; // @[Cat.scala 33:92]
  wire  alloc = ~(|setMatches); // @[Scheduler.scala 162:15]
  wire [65:0] _selected_requests_T = {mshr_selectOH,mshr_selectOH,mshr_selectOH}; // @[Cat.scala 33:92]
  wire [65:0] selected_requests = _selected_requests_T & requests_io_valid; // @[Scheduler.scala 195:76]
  wire  a_pop = |selected_requests[21:0]; // @[Scheduler.scala 196:82]
  wire  b_pop = |selected_requests[43:22]; // @[Scheduler.scala 197:82]
  wire  c_pop = |selected_requests[65:44]; // @[Scheduler.scala 198:82]
  wire  may_pop = a_pop | b_pop | c_pop; // @[Scheduler.scala 201:32]
  wire  _mshr_uses_directory_assuming_no_bypass_T = schedule_reload & may_pop; // @[Scheduler.scala 236:64]
  wire  lb_tag_mismatch = scheduleTag != requests_io_data_tag; // @[Scheduler.scala 235:37]
  wire  mshr_uses_directory_assuming_no_bypass = schedule_reload & may_pop & lb_tag_mismatch; // @[Scheduler.scala 236:75]
  wire  _request_alloc_cases_T = ~mshr_uses_directory_assuming_no_bypass; // @[Scheduler.scala 247:16]
  wire [4:0] mshr_validOH_hi_lo = {abc_mshrs_15_io_status_valid,abc_mshrs_14_io_status_valid,
    abc_mshrs_13_io_status_valid,abc_mshrs_12_io_status_valid,abc_mshrs_11_io_status_valid}; // @[Cat.scala 33:92]
  wire [4:0] mshr_validOH_lo_lo = {abc_mshrs_4_io_status_valid,abc_mshrs_3_io_status_valid,abc_mshrs_2_io_status_valid,
    abc_mshrs_1_io_status_valid,abc_mshrs_0_io_status_valid}; // @[Cat.scala 33:92]
  wire [10:0] mshr_validOH_lo = {abc_mshrs_10_io_status_valid,abc_mshrs_9_io_status_valid,abc_mshrs_8_io_status_valid,
    abc_mshrs_7_io_status_valid,abc_mshrs_6_io_status_valid,abc_mshrs_5_io_status_valid,mshr_validOH_lo_lo}; // @[Cat.scala 33:92]
  wire [21:0] mshr_validOH = {c_mshr_io_status_valid,bc_mshr_io_status_valid,abc_mshrs_19_io_status_valid,
    abc_mshrs_18_io_status_valid,abc_mshrs_17_io_status_valid,abc_mshrs_16_io_status_valid,mshr_validOH_hi_lo,
    mshr_validOH_lo}; // @[Cat.scala 33:92]
  wire [21:0] _mshr_free_T = ~mshr_validOH; // @[Scheduler.scala 242:20]
  wire  _prioFilter_T = ~request_bits_prio_0; // @[Scheduler.scala 171:46]
  wire [21:0] prioFilter = {request_bits_prio_2,_prioFilter_T,20'hfffff}; // @[Cat.scala 33:92]
  wire [21:0] _mshr_free_T_1 = _mshr_free_T & prioFilter; // @[Scheduler.scala 242:34]
  wire  mshr_free = |_mshr_free_T_1; // @[Scheduler.scala 242:51]
  wire  _request_alloc_cases_T_2 = alloc & ~mshr_uses_directory_assuming_no_bypass & mshr_free; // @[Scheduler.scala 247:56]
  wire  _request_alloc_cases_T_7 = ~c_mshr_io_status_valid; // @[Scheduler.scala 248:87]
  wire  _nestC_T_37 = setMatches[15] & abc_mshrs_15_io_status_bits_nestC; // @[Mux.scala 27:73]
  wire  _nestC_T_58 = setMatches[0] & abc_mshrs_0_io_status_bits_nestC | setMatches[1] &
    abc_mshrs_1_io_status_bits_nestC | setMatches[2] & abc_mshrs_2_io_status_bits_nestC | setMatches[3] &
    abc_mshrs_3_io_status_bits_nestC | setMatches[4] & abc_mshrs_4_io_status_bits_nestC | setMatches[5] &
    abc_mshrs_5_io_status_bits_nestC | setMatches[6] & abc_mshrs_6_io_status_bits_nestC | setMatches[7] &
    abc_mshrs_7_io_status_bits_nestC | setMatches[8] & abc_mshrs_8_io_status_bits_nestC | setMatches[9] &
    abc_mshrs_9_io_status_bits_nestC | setMatches[10] & abc_mshrs_10_io_status_bits_nestC | setMatches[11] &
    abc_mshrs_11_io_status_bits_nestC | setMatches[12] & abc_mshrs_12_io_status_bits_nestC | setMatches[13] &
    abc_mshrs_13_io_status_bits_nestC | setMatches[14] & abc_mshrs_14_io_status_bits_nestC | _nestC_T_37; // @[Mux.scala 27:73]
  wire  _nestC_T_64 = _nestC_T_58 | setMatches[16] & abc_mshrs_16_io_status_bits_nestC | setMatches[17] &
    abc_mshrs_17_io_status_bits_nestC | setMatches[18] & abc_mshrs_18_io_status_bits_nestC | setMatches[19] &
    abc_mshrs_19_io_status_bits_nestC | setMatches[20] & bc_mshr_io_status_bits_nestC | setMatches[21] &
    c_mshr_io_status_bits_nestC; // @[Mux.scala 27:73]
  wire  nestC = _nestC_T_64 & request_bits_prio_2; // @[Scheduler.scala 169:70]
  wire  _request_alloc_cases_T_13 = nestC & _request_alloc_cases_T & _request_alloc_cases_T_7; // @[Scheduler.scala 249:56]
  wire  request_alloc_cases = _request_alloc_cases_T_2 | _request_alloc_cases_T_13; // @[Scheduler.scala 248:112]
  wire [21:0] lowerMatches = setMatches & prioFilter; // @[Scheduler.scala 172:33]
  wire  _blockC_T_37 = setMatches[15] & abc_mshrs_15_io_status_bits_blockC; // @[Mux.scala 27:73]
  wire  _blockC_T_58 = setMatches[0] & abc_mshrs_0_io_status_bits_blockC | setMatches[1] &
    abc_mshrs_1_io_status_bits_blockC | setMatches[2] & abc_mshrs_2_io_status_bits_blockC | setMatches[3] &
    abc_mshrs_3_io_status_bits_blockC | setMatches[4] & abc_mshrs_4_io_status_bits_blockC | setMatches[5] &
    abc_mshrs_5_io_status_bits_blockC | setMatches[6] & abc_mshrs_6_io_status_bits_blockC | setMatches[7] &
    abc_mshrs_7_io_status_bits_blockC | setMatches[8] & abc_mshrs_8_io_status_bits_blockC | setMatches[9] &
    abc_mshrs_9_io_status_bits_blockC | setMatches[10] & abc_mshrs_10_io_status_bits_blockC | setMatches[11] &
    abc_mshrs_11_io_status_bits_blockC | setMatches[12] & abc_mshrs_12_io_status_bits_blockC | setMatches[13] &
    abc_mshrs_13_io_status_bits_blockC | setMatches[14] & abc_mshrs_14_io_status_bits_blockC | _blockC_T_37; // @[Mux.scala 27:73]
  wire  _blockC_T_64 = _blockC_T_58 | setMatches[16] & abc_mshrs_16_io_status_bits_blockC | setMatches[17] &
    abc_mshrs_17_io_status_bits_blockC | setMatches[18] & abc_mshrs_18_io_status_bits_blockC | setMatches[19] &
    abc_mshrs_19_io_status_bits_blockC | setMatches[20] & bc_mshr_io_status_bits_blockC | setMatches[21] &
    c_mshr_io_status_bits_blockC; // @[Mux.scala 27:73]
  wire  blockC = _blockC_T_64 & request_bits_prio_2; // @[Scheduler.scala 165:70]
  wire  queue = |lowerMatches & ~nestC & ~blockC; // @[Scheduler.scala 174:65]
  wire [21:0] _lowerMatches1_T_2 = lowerMatches[20] ? 22'h100000 : lowerMatches; // @[Scheduler.scala 190:8]
  wire [21:0] lowerMatches1 = lowerMatches[21] ? 22'h200000 : _lowerMatches1_T_2; // @[Scheduler.scala 189:8]
  wire [21:0] _bypassMatches_T = mshr_selectOH & lowerMatches1; // @[Scheduler.scala 199:38]
  wire  _bypassMatches_T_7 = b_pop ? ~b_pop : ~a_pop; // @[Scheduler.scala 200:69]
  wire  _bypassMatches_T_8 = c_pop | request_bits_prio_2 ? ~c_pop : _bypassMatches_T_7; // @[Scheduler.scala 200:26]
  wire  bypassMatches = |_bypassMatches_T & _bypassMatches_T_8; // @[Scheduler.scala 199:61]
  wire  bypassQueue = schedule_reload & bypassMatches; // @[Scheduler.scala 245:37]
  wire  request_ready = request_alloc_cases | queue & (bypassQueue | requests_io_push_ready); // @[Scheduler.scala 250:40]
  wire  _sinkC_io_req_ready_T = directory_io_ready & request_ready; // @[Scheduler.scala 156:44]
  wire  _sinkX_io_req_ready_T_1 = ~sinkC_io_req_valid; // @[Scheduler.scala 157:64]
  wire  _bypass_T = request_valid & queue; // @[Scheduler.scala 202:30]
  wire  bypass = request_valid & queue & bypassMatches; // @[Scheduler.scala 202:39]
  wire  will_reload = schedule_reload & (may_pop | bypass); // @[Scheduler.scala 203:37]
  wire  will_pop = _mshr_uses_directory_assuming_no_bypass_T & ~bypass; // @[Scheduler.scala 204:45]
  wire  a_pop_1 = requests_io_valid[0]; // @[Scheduler.scala 214:34]
  wire  b_pop_1 = requests_io_valid[22]; // @[Scheduler.scala 215:34]
  wire  c_pop_1 = requests_io_valid[44]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_15 = b_pop_1 ? ~b_pop_1 : ~a_pop_1; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_16 = c_pop_1 | request_bits_prio_2 ? ~c_pop_1 : _bypassMatches_T_15; // @[Scheduler.scala 218:28]
  wire  bypassMatches_1 = lowerMatches1[0] & _bypassMatches_T_16; // @[Scheduler.scala 217:42]
  wire  may_pop_1 = a_pop_1 | b_pop_1 | c_pop_1; // @[Scheduler.scala 219:34]
  wire  bypass_1 = _bypass_T & bypassMatches_1; // @[Scheduler.scala 220:41]
  wire  will_reload_1 = abc_mshrs_0_io_schedule_bits_reload & (may_pop_1 | bypass_1); // @[Scheduler.scala 221:49]
  wire  _mshrs_0_io_allocate_bits_T_prio_0 = bypass_1 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_0_io_allocate_bits_T_prio_1 = bypass_1 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_0_io_allocate_bits_T_prio_2 = bypass_1 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_0_io_allocate_bits_T_opcode = bypass_1 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_0_io_allocate_bits_T_param = bypass_1 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_0_io_allocate_bits_T_size = bypass_1 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_0_io_allocate_bits_T_source = bypass_1 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_0_io_allocate_bits_T_tag = bypass_1 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_0_io_allocate_bits_T_offset = bypass_1 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_0_io_allocate_bits_T_put = bypass_1 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_2 = requests_io_valid[1]; // @[Scheduler.scala 214:34]
  wire  b_pop_2 = requests_io_valid[23]; // @[Scheduler.scala 215:34]
  wire  c_pop_2 = requests_io_valid[45]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_23 = b_pop_2 ? ~b_pop_2 : ~a_pop_2; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_24 = c_pop_2 | request_bits_prio_2 ? ~c_pop_2 : _bypassMatches_T_23; // @[Scheduler.scala 218:28]
  wire  bypassMatches_2 = lowerMatches1[1] & _bypassMatches_T_24; // @[Scheduler.scala 217:42]
  wire  may_pop_2 = a_pop_2 | b_pop_2 | c_pop_2; // @[Scheduler.scala 219:34]
  wire  bypass_2 = _bypass_T & bypassMatches_2; // @[Scheduler.scala 220:41]
  wire  will_reload_2 = abc_mshrs_1_io_schedule_bits_reload & (may_pop_2 | bypass_2); // @[Scheduler.scala 221:49]
  wire  _mshrs_1_io_allocate_bits_T_prio_0 = bypass_2 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_1_io_allocate_bits_T_prio_1 = bypass_2 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_1_io_allocate_bits_T_prio_2 = bypass_2 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_1_io_allocate_bits_T_opcode = bypass_2 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_1_io_allocate_bits_T_param = bypass_2 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_1_io_allocate_bits_T_size = bypass_2 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_1_io_allocate_bits_T_source = bypass_2 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_1_io_allocate_bits_T_tag = bypass_2 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_1_io_allocate_bits_T_offset = bypass_2 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_1_io_allocate_bits_T_put = bypass_2 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_3 = requests_io_valid[2]; // @[Scheduler.scala 214:34]
  wire  b_pop_3 = requests_io_valid[24]; // @[Scheduler.scala 215:34]
  wire  c_pop_3 = requests_io_valid[46]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_31 = b_pop_3 ? ~b_pop_3 : ~a_pop_3; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_32 = c_pop_3 | request_bits_prio_2 ? ~c_pop_3 : _bypassMatches_T_31; // @[Scheduler.scala 218:28]
  wire  bypassMatches_3 = lowerMatches1[2] & _bypassMatches_T_32; // @[Scheduler.scala 217:42]
  wire  may_pop_3 = a_pop_3 | b_pop_3 | c_pop_3; // @[Scheduler.scala 219:34]
  wire  bypass_3 = _bypass_T & bypassMatches_3; // @[Scheduler.scala 220:41]
  wire  will_reload_3 = abc_mshrs_2_io_schedule_bits_reload & (may_pop_3 | bypass_3); // @[Scheduler.scala 221:49]
  wire  _mshrs_2_io_allocate_bits_T_prio_0 = bypass_3 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_2_io_allocate_bits_T_prio_1 = bypass_3 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_2_io_allocate_bits_T_prio_2 = bypass_3 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_2_io_allocate_bits_T_opcode = bypass_3 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_2_io_allocate_bits_T_param = bypass_3 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_2_io_allocate_bits_T_size = bypass_3 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_2_io_allocate_bits_T_source = bypass_3 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_2_io_allocate_bits_T_tag = bypass_3 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_2_io_allocate_bits_T_offset = bypass_3 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_2_io_allocate_bits_T_put = bypass_3 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_4 = requests_io_valid[3]; // @[Scheduler.scala 214:34]
  wire  b_pop_4 = requests_io_valid[25]; // @[Scheduler.scala 215:34]
  wire  c_pop_4 = requests_io_valid[47]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_39 = b_pop_4 ? ~b_pop_4 : ~a_pop_4; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_40 = c_pop_4 | request_bits_prio_2 ? ~c_pop_4 : _bypassMatches_T_39; // @[Scheduler.scala 218:28]
  wire  bypassMatches_4 = lowerMatches1[3] & _bypassMatches_T_40; // @[Scheduler.scala 217:42]
  wire  may_pop_4 = a_pop_4 | b_pop_4 | c_pop_4; // @[Scheduler.scala 219:34]
  wire  bypass_4 = _bypass_T & bypassMatches_4; // @[Scheduler.scala 220:41]
  wire  will_reload_4 = abc_mshrs_3_io_schedule_bits_reload & (may_pop_4 | bypass_4); // @[Scheduler.scala 221:49]
  wire  _mshrs_3_io_allocate_bits_T_prio_0 = bypass_4 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_3_io_allocate_bits_T_prio_1 = bypass_4 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_3_io_allocate_bits_T_prio_2 = bypass_4 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_3_io_allocate_bits_T_opcode = bypass_4 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_3_io_allocate_bits_T_param = bypass_4 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_3_io_allocate_bits_T_size = bypass_4 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_3_io_allocate_bits_T_source = bypass_4 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_3_io_allocate_bits_T_tag = bypass_4 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_3_io_allocate_bits_T_offset = bypass_4 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_3_io_allocate_bits_T_put = bypass_4 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_5 = requests_io_valid[4]; // @[Scheduler.scala 214:34]
  wire  b_pop_5 = requests_io_valid[26]; // @[Scheduler.scala 215:34]
  wire  c_pop_5 = requests_io_valid[48]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_47 = b_pop_5 ? ~b_pop_5 : ~a_pop_5; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_48 = c_pop_5 | request_bits_prio_2 ? ~c_pop_5 : _bypassMatches_T_47; // @[Scheduler.scala 218:28]
  wire  bypassMatches_5 = lowerMatches1[4] & _bypassMatches_T_48; // @[Scheduler.scala 217:42]
  wire  may_pop_5 = a_pop_5 | b_pop_5 | c_pop_5; // @[Scheduler.scala 219:34]
  wire  bypass_5 = _bypass_T & bypassMatches_5; // @[Scheduler.scala 220:41]
  wire  will_reload_5 = abc_mshrs_4_io_schedule_bits_reload & (may_pop_5 | bypass_5); // @[Scheduler.scala 221:49]
  wire  _mshrs_4_io_allocate_bits_T_prio_0 = bypass_5 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_4_io_allocate_bits_T_prio_1 = bypass_5 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_4_io_allocate_bits_T_prio_2 = bypass_5 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_4_io_allocate_bits_T_opcode = bypass_5 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_4_io_allocate_bits_T_param = bypass_5 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_4_io_allocate_bits_T_size = bypass_5 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_4_io_allocate_bits_T_source = bypass_5 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_4_io_allocate_bits_T_tag = bypass_5 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_4_io_allocate_bits_T_offset = bypass_5 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_4_io_allocate_bits_T_put = bypass_5 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_6 = requests_io_valid[5]; // @[Scheduler.scala 214:34]
  wire  b_pop_6 = requests_io_valid[27]; // @[Scheduler.scala 215:34]
  wire  c_pop_6 = requests_io_valid[49]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_55 = b_pop_6 ? ~b_pop_6 : ~a_pop_6; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_56 = c_pop_6 | request_bits_prio_2 ? ~c_pop_6 : _bypassMatches_T_55; // @[Scheduler.scala 218:28]
  wire  bypassMatches_6 = lowerMatches1[5] & _bypassMatches_T_56; // @[Scheduler.scala 217:42]
  wire  may_pop_6 = a_pop_6 | b_pop_6 | c_pop_6; // @[Scheduler.scala 219:34]
  wire  bypass_6 = _bypass_T & bypassMatches_6; // @[Scheduler.scala 220:41]
  wire  will_reload_6 = abc_mshrs_5_io_schedule_bits_reload & (may_pop_6 | bypass_6); // @[Scheduler.scala 221:49]
  wire  _mshrs_5_io_allocate_bits_T_prio_0 = bypass_6 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_5_io_allocate_bits_T_prio_1 = bypass_6 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_5_io_allocate_bits_T_prio_2 = bypass_6 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_5_io_allocate_bits_T_opcode = bypass_6 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_5_io_allocate_bits_T_param = bypass_6 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_5_io_allocate_bits_T_size = bypass_6 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_5_io_allocate_bits_T_source = bypass_6 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_5_io_allocate_bits_T_tag = bypass_6 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_5_io_allocate_bits_T_offset = bypass_6 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_5_io_allocate_bits_T_put = bypass_6 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_7 = requests_io_valid[6]; // @[Scheduler.scala 214:34]
  wire  b_pop_7 = requests_io_valid[28]; // @[Scheduler.scala 215:34]
  wire  c_pop_7 = requests_io_valid[50]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_63 = b_pop_7 ? ~b_pop_7 : ~a_pop_7; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_64 = c_pop_7 | request_bits_prio_2 ? ~c_pop_7 : _bypassMatches_T_63; // @[Scheduler.scala 218:28]
  wire  bypassMatches_7 = lowerMatches1[6] & _bypassMatches_T_64; // @[Scheduler.scala 217:42]
  wire  may_pop_7 = a_pop_7 | b_pop_7 | c_pop_7; // @[Scheduler.scala 219:34]
  wire  bypass_7 = _bypass_T & bypassMatches_7; // @[Scheduler.scala 220:41]
  wire  will_reload_7 = abc_mshrs_6_io_schedule_bits_reload & (may_pop_7 | bypass_7); // @[Scheduler.scala 221:49]
  wire  _mshrs_6_io_allocate_bits_T_prio_0 = bypass_7 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_6_io_allocate_bits_T_prio_1 = bypass_7 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_6_io_allocate_bits_T_prio_2 = bypass_7 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_6_io_allocate_bits_T_opcode = bypass_7 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_6_io_allocate_bits_T_param = bypass_7 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_6_io_allocate_bits_T_size = bypass_7 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_6_io_allocate_bits_T_source = bypass_7 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_6_io_allocate_bits_T_tag = bypass_7 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_6_io_allocate_bits_T_offset = bypass_7 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_6_io_allocate_bits_T_put = bypass_7 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_8 = requests_io_valid[7]; // @[Scheduler.scala 214:34]
  wire  b_pop_8 = requests_io_valid[29]; // @[Scheduler.scala 215:34]
  wire  c_pop_8 = requests_io_valid[51]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_71 = b_pop_8 ? ~b_pop_8 : ~a_pop_8; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_72 = c_pop_8 | request_bits_prio_2 ? ~c_pop_8 : _bypassMatches_T_71; // @[Scheduler.scala 218:28]
  wire  bypassMatches_8 = lowerMatches1[7] & _bypassMatches_T_72; // @[Scheduler.scala 217:42]
  wire  may_pop_8 = a_pop_8 | b_pop_8 | c_pop_8; // @[Scheduler.scala 219:34]
  wire  bypass_8 = _bypass_T & bypassMatches_8; // @[Scheduler.scala 220:41]
  wire  will_reload_8 = abc_mshrs_7_io_schedule_bits_reload & (may_pop_8 | bypass_8); // @[Scheduler.scala 221:49]
  wire  _mshrs_7_io_allocate_bits_T_prio_0 = bypass_8 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_7_io_allocate_bits_T_prio_1 = bypass_8 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_7_io_allocate_bits_T_prio_2 = bypass_8 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_7_io_allocate_bits_T_opcode = bypass_8 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_7_io_allocate_bits_T_param = bypass_8 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_7_io_allocate_bits_T_size = bypass_8 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_7_io_allocate_bits_T_source = bypass_8 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_7_io_allocate_bits_T_tag = bypass_8 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_7_io_allocate_bits_T_offset = bypass_8 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_7_io_allocate_bits_T_put = bypass_8 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_9 = requests_io_valid[8]; // @[Scheduler.scala 214:34]
  wire  b_pop_9 = requests_io_valid[30]; // @[Scheduler.scala 215:34]
  wire  c_pop_9 = requests_io_valid[52]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_79 = b_pop_9 ? ~b_pop_9 : ~a_pop_9; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_80 = c_pop_9 | request_bits_prio_2 ? ~c_pop_9 : _bypassMatches_T_79; // @[Scheduler.scala 218:28]
  wire  bypassMatches_9 = lowerMatches1[8] & _bypassMatches_T_80; // @[Scheduler.scala 217:42]
  wire  may_pop_9 = a_pop_9 | b_pop_9 | c_pop_9; // @[Scheduler.scala 219:34]
  wire  bypass_9 = _bypass_T & bypassMatches_9; // @[Scheduler.scala 220:41]
  wire  will_reload_9 = abc_mshrs_8_io_schedule_bits_reload & (may_pop_9 | bypass_9); // @[Scheduler.scala 221:49]
  wire  _mshrs_8_io_allocate_bits_T_prio_0 = bypass_9 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_8_io_allocate_bits_T_prio_1 = bypass_9 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_8_io_allocate_bits_T_prio_2 = bypass_9 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_8_io_allocate_bits_T_opcode = bypass_9 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_8_io_allocate_bits_T_param = bypass_9 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_8_io_allocate_bits_T_size = bypass_9 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_8_io_allocate_bits_T_source = bypass_9 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_8_io_allocate_bits_T_tag = bypass_9 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_8_io_allocate_bits_T_offset = bypass_9 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_8_io_allocate_bits_T_put = bypass_9 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_10 = requests_io_valid[9]; // @[Scheduler.scala 214:34]
  wire  b_pop_10 = requests_io_valid[31]; // @[Scheduler.scala 215:34]
  wire  c_pop_10 = requests_io_valid[53]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_87 = b_pop_10 ? ~b_pop_10 : ~a_pop_10; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_88 = c_pop_10 | request_bits_prio_2 ? ~c_pop_10 : _bypassMatches_T_87; // @[Scheduler.scala 218:28]
  wire  bypassMatches_10 = lowerMatches1[9] & _bypassMatches_T_88; // @[Scheduler.scala 217:42]
  wire  may_pop_10 = a_pop_10 | b_pop_10 | c_pop_10; // @[Scheduler.scala 219:34]
  wire  bypass_10 = _bypass_T & bypassMatches_10; // @[Scheduler.scala 220:41]
  wire  will_reload_10 = abc_mshrs_9_io_schedule_bits_reload & (may_pop_10 | bypass_10); // @[Scheduler.scala 221:49]
  wire  _mshrs_9_io_allocate_bits_T_prio_0 = bypass_10 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_9_io_allocate_bits_T_prio_1 = bypass_10 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_9_io_allocate_bits_T_prio_2 = bypass_10 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_9_io_allocate_bits_T_opcode = bypass_10 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_9_io_allocate_bits_T_param = bypass_10 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_9_io_allocate_bits_T_size = bypass_10 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_9_io_allocate_bits_T_source = bypass_10 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_9_io_allocate_bits_T_tag = bypass_10 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_9_io_allocate_bits_T_offset = bypass_10 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_9_io_allocate_bits_T_put = bypass_10 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_11 = requests_io_valid[10]; // @[Scheduler.scala 214:34]
  wire  b_pop_11 = requests_io_valid[32]; // @[Scheduler.scala 215:34]
  wire  c_pop_11 = requests_io_valid[54]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_95 = b_pop_11 ? ~b_pop_11 : ~a_pop_11; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_96 = c_pop_11 | request_bits_prio_2 ? ~c_pop_11 : _bypassMatches_T_95; // @[Scheduler.scala 218:28]
  wire  bypassMatches_11 = lowerMatches1[10] & _bypassMatches_T_96; // @[Scheduler.scala 217:42]
  wire  may_pop_11 = a_pop_11 | b_pop_11 | c_pop_11; // @[Scheduler.scala 219:34]
  wire  bypass_11 = _bypass_T & bypassMatches_11; // @[Scheduler.scala 220:41]
  wire  will_reload_11 = abc_mshrs_10_io_schedule_bits_reload & (may_pop_11 | bypass_11); // @[Scheduler.scala 221:49]
  wire  _mshrs_10_io_allocate_bits_T_prio_0 = bypass_11 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_10_io_allocate_bits_T_prio_1 = bypass_11 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_10_io_allocate_bits_T_prio_2 = bypass_11 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_10_io_allocate_bits_T_opcode = bypass_11 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_10_io_allocate_bits_T_param = bypass_11 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_10_io_allocate_bits_T_size = bypass_11 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_10_io_allocate_bits_T_source = bypass_11 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_10_io_allocate_bits_T_tag = bypass_11 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_10_io_allocate_bits_T_offset = bypass_11 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_10_io_allocate_bits_T_put = bypass_11 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_12 = requests_io_valid[11]; // @[Scheduler.scala 214:34]
  wire  b_pop_12 = requests_io_valid[33]; // @[Scheduler.scala 215:34]
  wire  c_pop_12 = requests_io_valid[55]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_103 = b_pop_12 ? ~b_pop_12 : ~a_pop_12; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_104 = c_pop_12 | request_bits_prio_2 ? ~c_pop_12 : _bypassMatches_T_103; // @[Scheduler.scala 218:28]
  wire  bypassMatches_12 = lowerMatches1[11] & _bypassMatches_T_104; // @[Scheduler.scala 217:42]
  wire  may_pop_12 = a_pop_12 | b_pop_12 | c_pop_12; // @[Scheduler.scala 219:34]
  wire  bypass_12 = _bypass_T & bypassMatches_12; // @[Scheduler.scala 220:41]
  wire  will_reload_12 = abc_mshrs_11_io_schedule_bits_reload & (may_pop_12 | bypass_12); // @[Scheduler.scala 221:49]
  wire  _mshrs_11_io_allocate_bits_T_prio_0 = bypass_12 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_11_io_allocate_bits_T_prio_1 = bypass_12 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_11_io_allocate_bits_T_prio_2 = bypass_12 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_11_io_allocate_bits_T_opcode = bypass_12 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_11_io_allocate_bits_T_param = bypass_12 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_11_io_allocate_bits_T_size = bypass_12 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_11_io_allocate_bits_T_source = bypass_12 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_11_io_allocate_bits_T_tag = bypass_12 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_11_io_allocate_bits_T_offset = bypass_12 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_11_io_allocate_bits_T_put = bypass_12 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_13 = requests_io_valid[12]; // @[Scheduler.scala 214:34]
  wire  b_pop_13 = requests_io_valid[34]; // @[Scheduler.scala 215:34]
  wire  c_pop_13 = requests_io_valid[56]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_111 = b_pop_13 ? ~b_pop_13 : ~a_pop_13; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_112 = c_pop_13 | request_bits_prio_2 ? ~c_pop_13 : _bypassMatches_T_111; // @[Scheduler.scala 218:28]
  wire  bypassMatches_13 = lowerMatches1[12] & _bypassMatches_T_112; // @[Scheduler.scala 217:42]
  wire  may_pop_13 = a_pop_13 | b_pop_13 | c_pop_13; // @[Scheduler.scala 219:34]
  wire  bypass_13 = _bypass_T & bypassMatches_13; // @[Scheduler.scala 220:41]
  wire  will_reload_13 = abc_mshrs_12_io_schedule_bits_reload & (may_pop_13 | bypass_13); // @[Scheduler.scala 221:49]
  wire  _mshrs_12_io_allocate_bits_T_prio_0 = bypass_13 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_12_io_allocate_bits_T_prio_1 = bypass_13 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_12_io_allocate_bits_T_prio_2 = bypass_13 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_12_io_allocate_bits_T_opcode = bypass_13 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_12_io_allocate_bits_T_param = bypass_13 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_12_io_allocate_bits_T_size = bypass_13 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_12_io_allocate_bits_T_source = bypass_13 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_12_io_allocate_bits_T_tag = bypass_13 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_12_io_allocate_bits_T_offset = bypass_13 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_12_io_allocate_bits_T_put = bypass_13 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_14 = requests_io_valid[13]; // @[Scheduler.scala 214:34]
  wire  b_pop_14 = requests_io_valid[35]; // @[Scheduler.scala 215:34]
  wire  c_pop_14 = requests_io_valid[57]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_119 = b_pop_14 ? ~b_pop_14 : ~a_pop_14; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_120 = c_pop_14 | request_bits_prio_2 ? ~c_pop_14 : _bypassMatches_T_119; // @[Scheduler.scala 218:28]
  wire  bypassMatches_14 = lowerMatches1[13] & _bypassMatches_T_120; // @[Scheduler.scala 217:42]
  wire  may_pop_14 = a_pop_14 | b_pop_14 | c_pop_14; // @[Scheduler.scala 219:34]
  wire  bypass_14 = _bypass_T & bypassMatches_14; // @[Scheduler.scala 220:41]
  wire  will_reload_14 = abc_mshrs_13_io_schedule_bits_reload & (may_pop_14 | bypass_14); // @[Scheduler.scala 221:49]
  wire  _mshrs_13_io_allocate_bits_T_prio_0 = bypass_14 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_13_io_allocate_bits_T_prio_1 = bypass_14 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_13_io_allocate_bits_T_prio_2 = bypass_14 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_13_io_allocate_bits_T_opcode = bypass_14 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_13_io_allocate_bits_T_param = bypass_14 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_13_io_allocate_bits_T_size = bypass_14 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_13_io_allocate_bits_T_source = bypass_14 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_13_io_allocate_bits_T_tag = bypass_14 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_13_io_allocate_bits_T_offset = bypass_14 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_13_io_allocate_bits_T_put = bypass_14 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_15 = requests_io_valid[14]; // @[Scheduler.scala 214:34]
  wire  b_pop_15 = requests_io_valid[36]; // @[Scheduler.scala 215:34]
  wire  c_pop_15 = requests_io_valid[58]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_127 = b_pop_15 ? ~b_pop_15 : ~a_pop_15; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_128 = c_pop_15 | request_bits_prio_2 ? ~c_pop_15 : _bypassMatches_T_127; // @[Scheduler.scala 218:28]
  wire  bypassMatches_15 = lowerMatches1[14] & _bypassMatches_T_128; // @[Scheduler.scala 217:42]
  wire  may_pop_15 = a_pop_15 | b_pop_15 | c_pop_15; // @[Scheduler.scala 219:34]
  wire  bypass_15 = _bypass_T & bypassMatches_15; // @[Scheduler.scala 220:41]
  wire  will_reload_15 = abc_mshrs_14_io_schedule_bits_reload & (may_pop_15 | bypass_15); // @[Scheduler.scala 221:49]
  wire  _mshrs_14_io_allocate_bits_T_prio_0 = bypass_15 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_14_io_allocate_bits_T_prio_1 = bypass_15 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_14_io_allocate_bits_T_prio_2 = bypass_15 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_14_io_allocate_bits_T_opcode = bypass_15 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_14_io_allocate_bits_T_param = bypass_15 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_14_io_allocate_bits_T_size = bypass_15 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_14_io_allocate_bits_T_source = bypass_15 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_14_io_allocate_bits_T_tag = bypass_15 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_14_io_allocate_bits_T_offset = bypass_15 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_14_io_allocate_bits_T_put = bypass_15 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_16 = requests_io_valid[15]; // @[Scheduler.scala 214:34]
  wire  b_pop_16 = requests_io_valid[37]; // @[Scheduler.scala 215:34]
  wire  c_pop_16 = requests_io_valid[59]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_135 = b_pop_16 ? ~b_pop_16 : ~a_pop_16; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_136 = c_pop_16 | request_bits_prio_2 ? ~c_pop_16 : _bypassMatches_T_135; // @[Scheduler.scala 218:28]
  wire  bypassMatches_16 = lowerMatches1[15] & _bypassMatches_T_136; // @[Scheduler.scala 217:42]
  wire  may_pop_16 = a_pop_16 | b_pop_16 | c_pop_16; // @[Scheduler.scala 219:34]
  wire  bypass_16 = _bypass_T & bypassMatches_16; // @[Scheduler.scala 220:41]
  wire  will_reload_16 = abc_mshrs_15_io_schedule_bits_reload & (may_pop_16 | bypass_16); // @[Scheduler.scala 221:49]
  wire  _mshrs_15_io_allocate_bits_T_prio_0 = bypass_16 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_15_io_allocate_bits_T_prio_1 = bypass_16 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_15_io_allocate_bits_T_prio_2 = bypass_16 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_15_io_allocate_bits_T_opcode = bypass_16 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_15_io_allocate_bits_T_param = bypass_16 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_15_io_allocate_bits_T_size = bypass_16 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_15_io_allocate_bits_T_source = bypass_16 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_15_io_allocate_bits_T_tag = bypass_16 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_15_io_allocate_bits_T_offset = bypass_16 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_15_io_allocate_bits_T_put = bypass_16 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_17 = requests_io_valid[16]; // @[Scheduler.scala 214:34]
  wire  b_pop_17 = requests_io_valid[38]; // @[Scheduler.scala 215:34]
  wire  c_pop_17 = requests_io_valid[60]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_143 = b_pop_17 ? ~b_pop_17 : ~a_pop_17; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_144 = c_pop_17 | request_bits_prio_2 ? ~c_pop_17 : _bypassMatches_T_143; // @[Scheduler.scala 218:28]
  wire  bypassMatches_17 = lowerMatches1[16] & _bypassMatches_T_144; // @[Scheduler.scala 217:42]
  wire  may_pop_17 = a_pop_17 | b_pop_17 | c_pop_17; // @[Scheduler.scala 219:34]
  wire  bypass_17 = _bypass_T & bypassMatches_17; // @[Scheduler.scala 220:41]
  wire  will_reload_17 = abc_mshrs_16_io_schedule_bits_reload & (may_pop_17 | bypass_17); // @[Scheduler.scala 221:49]
  wire  _mshrs_16_io_allocate_bits_T_prio_0 = bypass_17 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_16_io_allocate_bits_T_prio_1 = bypass_17 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_16_io_allocate_bits_T_prio_2 = bypass_17 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_16_io_allocate_bits_T_opcode = bypass_17 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_16_io_allocate_bits_T_param = bypass_17 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_16_io_allocate_bits_T_size = bypass_17 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_16_io_allocate_bits_T_source = bypass_17 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_16_io_allocate_bits_T_tag = bypass_17 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_16_io_allocate_bits_T_offset = bypass_17 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_16_io_allocate_bits_T_put = bypass_17 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_18 = requests_io_valid[17]; // @[Scheduler.scala 214:34]
  wire  b_pop_18 = requests_io_valid[39]; // @[Scheduler.scala 215:34]
  wire  c_pop_18 = requests_io_valid[61]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_151 = b_pop_18 ? ~b_pop_18 : ~a_pop_18; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_152 = c_pop_18 | request_bits_prio_2 ? ~c_pop_18 : _bypassMatches_T_151; // @[Scheduler.scala 218:28]
  wire  bypassMatches_18 = lowerMatches1[17] & _bypassMatches_T_152; // @[Scheduler.scala 217:42]
  wire  may_pop_18 = a_pop_18 | b_pop_18 | c_pop_18; // @[Scheduler.scala 219:34]
  wire  bypass_18 = _bypass_T & bypassMatches_18; // @[Scheduler.scala 220:41]
  wire  will_reload_18 = abc_mshrs_17_io_schedule_bits_reload & (may_pop_18 | bypass_18); // @[Scheduler.scala 221:49]
  wire  _mshrs_17_io_allocate_bits_T_prio_0 = bypass_18 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_17_io_allocate_bits_T_prio_1 = bypass_18 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_17_io_allocate_bits_T_prio_2 = bypass_18 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_17_io_allocate_bits_T_opcode = bypass_18 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_17_io_allocate_bits_T_param = bypass_18 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_17_io_allocate_bits_T_size = bypass_18 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_17_io_allocate_bits_T_source = bypass_18 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_17_io_allocate_bits_T_tag = bypass_18 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_17_io_allocate_bits_T_offset = bypass_18 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_17_io_allocate_bits_T_put = bypass_18 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_19 = requests_io_valid[18]; // @[Scheduler.scala 214:34]
  wire  b_pop_19 = requests_io_valid[40]; // @[Scheduler.scala 215:34]
  wire  c_pop_19 = requests_io_valid[62]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_159 = b_pop_19 ? ~b_pop_19 : ~a_pop_19; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_160 = c_pop_19 | request_bits_prio_2 ? ~c_pop_19 : _bypassMatches_T_159; // @[Scheduler.scala 218:28]
  wire  bypassMatches_19 = lowerMatches1[18] & _bypassMatches_T_160; // @[Scheduler.scala 217:42]
  wire  may_pop_19 = a_pop_19 | b_pop_19 | c_pop_19; // @[Scheduler.scala 219:34]
  wire  bypass_19 = _bypass_T & bypassMatches_19; // @[Scheduler.scala 220:41]
  wire  will_reload_19 = abc_mshrs_18_io_schedule_bits_reload & (may_pop_19 | bypass_19); // @[Scheduler.scala 221:49]
  wire  _mshrs_18_io_allocate_bits_T_prio_0 = bypass_19 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_18_io_allocate_bits_T_prio_1 = bypass_19 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_18_io_allocate_bits_T_prio_2 = bypass_19 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_18_io_allocate_bits_T_opcode = bypass_19 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_18_io_allocate_bits_T_param = bypass_19 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_18_io_allocate_bits_T_size = bypass_19 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_18_io_allocate_bits_T_source = bypass_19 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_18_io_allocate_bits_T_tag = bypass_19 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_18_io_allocate_bits_T_offset = bypass_19 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_18_io_allocate_bits_T_put = bypass_19 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_20 = requests_io_valid[19]; // @[Scheduler.scala 214:34]
  wire  b_pop_20 = requests_io_valid[41]; // @[Scheduler.scala 215:34]
  wire  c_pop_20 = requests_io_valid[63]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_167 = b_pop_20 ? ~b_pop_20 : ~a_pop_20; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_168 = c_pop_20 | request_bits_prio_2 ? ~c_pop_20 : _bypassMatches_T_167; // @[Scheduler.scala 218:28]
  wire  bypassMatches_20 = lowerMatches1[19] & _bypassMatches_T_168; // @[Scheduler.scala 217:42]
  wire  may_pop_20 = a_pop_20 | b_pop_20 | c_pop_20; // @[Scheduler.scala 219:34]
  wire  bypass_20 = _bypass_T & bypassMatches_20; // @[Scheduler.scala 220:41]
  wire  will_reload_20 = abc_mshrs_19_io_schedule_bits_reload & (may_pop_20 | bypass_20); // @[Scheduler.scala 221:49]
  wire  _mshrs_19_io_allocate_bits_T_prio_0 = bypass_20 ? request_bits_prio_0 : requests_io_data_prio_0; // @[Scheduler.scala 222:30]
  wire  _mshrs_19_io_allocate_bits_T_prio_1 = bypass_20 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_19_io_allocate_bits_T_prio_2 = bypass_20 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_19_io_allocate_bits_T_opcode = bypass_20 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_19_io_allocate_bits_T_param = bypass_20 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_19_io_allocate_bits_T_size = bypass_20 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_19_io_allocate_bits_T_source = bypass_20 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_19_io_allocate_bits_T_tag = bypass_20 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_19_io_allocate_bits_T_offset = bypass_20 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_19_io_allocate_bits_T_put = bypass_20 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_21 = requests_io_valid[20]; // @[Scheduler.scala 214:34]
  wire  b_pop_21 = requests_io_valid[42]; // @[Scheduler.scala 215:34]
  wire  c_pop_21 = requests_io_valid[64]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_175 = b_pop_21 ? ~b_pop_21 : ~a_pop_21; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_176 = c_pop_21 | request_bits_prio_2 ? ~c_pop_21 : _bypassMatches_T_175; // @[Scheduler.scala 218:28]
  wire  bypassMatches_21 = lowerMatches1[20] & _bypassMatches_T_176; // @[Scheduler.scala 217:42]
  wire  may_pop_21 = a_pop_21 | b_pop_21 | c_pop_21; // @[Scheduler.scala 219:34]
  wire  bypass_21 = _bypass_T & bypassMatches_21; // @[Scheduler.scala 220:41]
  wire  will_reload_21 = bc_mshr_io_schedule_bits_reload & (may_pop_21 | bypass_21); // @[Scheduler.scala 221:49]
  wire  _mshrs_20_io_allocate_bits_T_prio_1 = bypass_21 ? 1'h0 : requests_io_data_prio_1; // @[Scheduler.scala 222:30]
  wire  _mshrs_20_io_allocate_bits_T_prio_2 = bypass_21 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_20_io_allocate_bits_T_opcode = bypass_21 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_20_io_allocate_bits_T_param = bypass_21 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_20_io_allocate_bits_T_size = bypass_21 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_20_io_allocate_bits_T_source = bypass_21 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_20_io_allocate_bits_T_tag = bypass_21 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_20_io_allocate_bits_T_offset = bypass_21 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_20_io_allocate_bits_T_put = bypass_21 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire  a_pop_22 = requests_io_valid[21]; // @[Scheduler.scala 214:34]
  wire  b_pop_22 = requests_io_valid[43]; // @[Scheduler.scala 215:34]
  wire  c_pop_22 = requests_io_valid[65]; // @[Scheduler.scala 216:34]
  wire  _bypassMatches_T_183 = b_pop_22 ? ~b_pop_22 : ~a_pop_22; // @[Scheduler.scala 218:71]
  wire  _bypassMatches_T_184 = c_pop_22 | request_bits_prio_2 ? ~c_pop_22 : _bypassMatches_T_183; // @[Scheduler.scala 218:28]
  wire  bypassMatches_22 = lowerMatches1[21] & _bypassMatches_T_184; // @[Scheduler.scala 217:42]
  wire  may_pop_22 = a_pop_22 | b_pop_22 | c_pop_22; // @[Scheduler.scala 219:34]
  wire  bypass_22 = _bypass_T & bypassMatches_22; // @[Scheduler.scala 220:41]
  wire  will_reload_22 = c_mshr_io_schedule_bits_reload & (may_pop_22 | bypass_22); // @[Scheduler.scala 221:49]
  wire  _mshrs_21_io_allocate_bits_T_prio_2 = bypass_22 ? request_bits_prio_2 : requests_io_data_prio_2; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_21_io_allocate_bits_T_opcode = bypass_22 ? request_bits_opcode : requests_io_data_opcode; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_21_io_allocate_bits_T_param = bypass_22 ? request_bits_param : requests_io_data_param; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_21_io_allocate_bits_T_size = bypass_22 ? request_bits_size : requests_io_data_size; // @[Scheduler.scala 222:30]
  wire [2:0] _mshrs_21_io_allocate_bits_T_source = bypass_22 ? request_bits_source : requests_io_data_source; // @[Scheduler.scala 222:30]
  wire [24:0] _mshrs_21_io_allocate_bits_T_tag = bypass_22 ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 222:30]
  wire [3:0] _mshrs_21_io_allocate_bits_T_offset = bypass_22 ? request_bits_offset : requests_io_data_offset; // @[Scheduler.scala 222:30]
  wire [5:0] _mshrs_21_io_allocate_bits_T_put = bypass_22 ? request_bits_put : requests_io_data_put; // @[Scheduler.scala 222:30]
  wire [65:0] _prio_requests_T = ~requests_io_valid; // @[Scheduler.scala 229:25]
  wire [65:0] _GEN_382 = {{22'd0}, requests_io_valid[65:22]}; // @[Scheduler.scala 229:44]
  wire [65:0] _prio_requests_T_2 = _prio_requests_T | _GEN_382; // @[Scheduler.scala 229:44]
  wire [65:0] _GEN_383 = {{44'd0}, requests_io_valid[65:44]}; // @[Scheduler.scala 229:82]
  wire [65:0] _prio_requests_T_4 = _prio_requests_T_2 | _GEN_383; // @[Scheduler.scala 229:82]
  wire [65:0] prio_requests = ~_prio_requests_T_4; // @[Scheduler.scala 229:23]
  wire [65:0] _pop_index_T_1 = _selected_requests_T & prio_requests; // @[Scheduler.scala 230:77]
  wire [1:0] pop_index_hi_1 = _pop_index_T_1[65:64]; // @[OneHot.scala 30:18]
  wire [63:0] pop_index_lo = _pop_index_T_1[63:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_2 = |pop_index_hi_1; // @[OneHot.scala 32:14]
  wire [63:0] _GEN_384 = {{62'd0}, pop_index_hi_1}; // @[OneHot.scala 32:28]
  wire [63:0] _pop_index_T_3 = _GEN_384 | pop_index_lo; // @[OneHot.scala 32:28]
  wire [31:0] pop_index_hi_2 = _pop_index_T_3[63:32]; // @[OneHot.scala 30:18]
  wire [31:0] pop_index_lo_1 = _pop_index_T_3[31:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_4 = |pop_index_hi_2; // @[OneHot.scala 32:14]
  wire [31:0] _pop_index_T_5 = pop_index_hi_2 | pop_index_lo_1; // @[OneHot.scala 32:28]
  wire [15:0] pop_index_hi_3 = _pop_index_T_5[31:16]; // @[OneHot.scala 30:18]
  wire [15:0] pop_index_lo_2 = _pop_index_T_5[15:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_6 = |pop_index_hi_3; // @[OneHot.scala 32:14]
  wire [15:0] _pop_index_T_7 = pop_index_hi_3 | pop_index_lo_2; // @[OneHot.scala 32:28]
  wire [7:0] pop_index_hi_4 = _pop_index_T_7[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] pop_index_lo_3 = _pop_index_T_7[7:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_8 = |pop_index_hi_4; // @[OneHot.scala 32:14]
  wire [7:0] _pop_index_T_9 = pop_index_hi_4 | pop_index_lo_3; // @[OneHot.scala 32:28]
  wire [3:0] pop_index_hi_5 = _pop_index_T_9[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] pop_index_lo_4 = _pop_index_T_9[3:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_10 = |pop_index_hi_5; // @[OneHot.scala 32:14]
  wire [3:0] _pop_index_T_11 = pop_index_hi_5 | pop_index_lo_4; // @[OneHot.scala 32:28]
  wire [1:0] pop_index_hi_6 = _pop_index_T_11[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] pop_index_lo_5 = _pop_index_T_11[1:0]; // @[OneHot.scala 31:18]
  wire  _pop_index_T_12 = |pop_index_hi_6; // @[OneHot.scala 32:14]
  wire [1:0] _pop_index_T_13 = pop_index_hi_6 | pop_index_lo_5; // @[OneHot.scala 32:28]
  wire [5:0] _pop_index_T_19 = {_pop_index_T_4,_pop_index_T_6,_pop_index_T_8,_pop_index_T_10,_pop_index_T_12,
    _pop_index_T_13[1]}; // @[Cat.scala 33:92]
  wire  mshr_uses_directory_for_lb = will_pop & lb_tag_mismatch; // @[Scheduler.scala 237:45]
  wire [24:0] _mshr_uses_directory_T = bypass ? request_bits_tag : requests_io_data_tag; // @[Scheduler.scala 238:63]
  wire  mshr_uses_directory = will_reload & scheduleTag != _mshr_uses_directory_T; // @[Scheduler.scala 238:41]
  wire  alloc_uses_directory = request_valid & request_alloc_cases; // @[Scheduler.scala 251:44]
  wire [5:0] requests_io_push_bits_index_hi = lowerMatches1[21:16]; // @[OneHot.scala 30:18]
  wire [15:0] requests_io_push_bits_index_lo = lowerMatches1[15:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_1 = |requests_io_push_bits_index_hi; // @[OneHot.scala 32:14]
  wire [15:0] _GEN_385 = {{10'd0}, requests_io_push_bits_index_hi}; // @[OneHot.scala 32:28]
  wire [15:0] _requests_io_push_bits_index_T_2 = _GEN_385 | requests_io_push_bits_index_lo; // @[OneHot.scala 32:28]
  wire [7:0] requests_io_push_bits_index_hi_1 = _requests_io_push_bits_index_T_2[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] requests_io_push_bits_index_lo_1 = _requests_io_push_bits_index_T_2[7:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_3 = |requests_io_push_bits_index_hi_1; // @[OneHot.scala 32:14]
  wire [7:0] _requests_io_push_bits_index_T_4 = requests_io_push_bits_index_hi_1 | requests_io_push_bits_index_lo_1; // @[OneHot.scala 32:28]
  wire [3:0] requests_io_push_bits_index_hi_2 = _requests_io_push_bits_index_T_4[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] requests_io_push_bits_index_lo_2 = _requests_io_push_bits_index_T_4[3:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_5 = |requests_io_push_bits_index_hi_2; // @[OneHot.scala 32:14]
  wire [3:0] _requests_io_push_bits_index_T_6 = requests_io_push_bits_index_hi_2 | requests_io_push_bits_index_lo_2; // @[OneHot.scala 32:28]
  wire [1:0] requests_io_push_bits_index_hi_3 = _requests_io_push_bits_index_T_6[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] requests_io_push_bits_index_lo_3 = _requests_io_push_bits_index_T_6[1:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_7 = |requests_io_push_bits_index_hi_3; // @[OneHot.scala 32:14]
  wire [1:0] _requests_io_push_bits_index_T_8 = requests_io_push_bits_index_hi_3 | requests_io_push_bits_index_lo_3; // @[OneHot.scala 32:28]
  wire [4:0] _requests_io_push_bits_index_T_13 = {_requests_io_push_bits_index_T_1,_requests_io_push_bits_index_T_3,
    _requests_io_push_bits_index_T_5,_requests_io_push_bits_index_T_7,_requests_io_push_bits_index_T_8[1]}; // @[Cat.scala 33:92]
  wire [65:0] _requests_io_push_bits_index_T_31 = {lowerMatches1, 44'h0}; // @[Scheduler.scala 265:30]
  wire [1:0] requests_io_push_bits_index_hi_9 = _requests_io_push_bits_index_T_31[65:64]; // @[OneHot.scala 30:18]
  wire [63:0] requests_io_push_bits_index_lo_9 = _requests_io_push_bits_index_T_31[63:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_32 = |requests_io_push_bits_index_hi_9; // @[OneHot.scala 32:14]
  wire [63:0] _GEN_387 = {{62'd0}, requests_io_push_bits_index_hi_9}; // @[OneHot.scala 32:28]
  wire [63:0] _requests_io_push_bits_index_T_33 = _GEN_387 | requests_io_push_bits_index_lo_9; // @[OneHot.scala 32:28]
  wire [31:0] requests_io_push_bits_index_hi_10 = _requests_io_push_bits_index_T_33[63:32]; // @[OneHot.scala 30:18]
  wire [31:0] requests_io_push_bits_index_lo_10 = _requests_io_push_bits_index_T_33[31:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_34 = |requests_io_push_bits_index_hi_10; // @[OneHot.scala 32:14]
  wire [31:0] _requests_io_push_bits_index_T_35 = requests_io_push_bits_index_hi_10 | requests_io_push_bits_index_lo_10; // @[OneHot.scala 32:28]
  wire [15:0] requests_io_push_bits_index_hi_11 = _requests_io_push_bits_index_T_35[31:16]; // @[OneHot.scala 30:18]
  wire [15:0] requests_io_push_bits_index_lo_11 = _requests_io_push_bits_index_T_35[15:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_36 = |requests_io_push_bits_index_hi_11; // @[OneHot.scala 32:14]
  wire [15:0] _requests_io_push_bits_index_T_37 = requests_io_push_bits_index_hi_11 | requests_io_push_bits_index_lo_11; // @[OneHot.scala 32:28]
  wire [7:0] requests_io_push_bits_index_hi_12 = _requests_io_push_bits_index_T_37[15:8]; // @[OneHot.scala 30:18]
  wire [7:0] requests_io_push_bits_index_lo_12 = _requests_io_push_bits_index_T_37[7:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_38 = |requests_io_push_bits_index_hi_12; // @[OneHot.scala 32:14]
  wire [7:0] _requests_io_push_bits_index_T_39 = requests_io_push_bits_index_hi_12 | requests_io_push_bits_index_lo_12; // @[OneHot.scala 32:28]
  wire [3:0] requests_io_push_bits_index_hi_13 = _requests_io_push_bits_index_T_39[7:4]; // @[OneHot.scala 30:18]
  wire [3:0] requests_io_push_bits_index_lo_13 = _requests_io_push_bits_index_T_39[3:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_40 = |requests_io_push_bits_index_hi_13; // @[OneHot.scala 32:14]
  wire [3:0] _requests_io_push_bits_index_T_41 = requests_io_push_bits_index_hi_13 | requests_io_push_bits_index_lo_13; // @[OneHot.scala 32:28]
  wire [1:0] requests_io_push_bits_index_hi_14 = _requests_io_push_bits_index_T_41[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] requests_io_push_bits_index_lo_14 = _requests_io_push_bits_index_T_41[1:0]; // @[OneHot.scala 31:18]
  wire  _requests_io_push_bits_index_T_42 = |requests_io_push_bits_index_hi_14; // @[OneHot.scala 32:14]
  wire [1:0] _requests_io_push_bits_index_T_43 = requests_io_push_bits_index_hi_14 | requests_io_push_bits_index_lo_14; // @[OneHot.scala 32:28]
  wire [6:0] _requests_io_push_bits_index_T_50 = {_requests_io_push_bits_index_T_32,_requests_io_push_bits_index_T_34,
    _requests_io_push_bits_index_T_36,_requests_io_push_bits_index_T_38,_requests_io_push_bits_index_T_40,
    _requests_io_push_bits_index_T_42,_requests_io_push_bits_index_T_43[1]}; // @[Cat.scala 33:92]
  wire [4:0] _requests_io_push_bits_index_T_51 = request_bits_prio_0 ? _requests_io_push_bits_index_T_13 : 5'h0; // @[Mux.scala 27:73]
  wire [6:0] _requests_io_push_bits_index_T_53 = request_bits_prio_2 ? _requests_io_push_bits_index_T_50 : 7'h0; // @[Mux.scala 27:73]
  wire [5:0] _requests_io_push_bits_index_T_54 = {{1'd0}, _requests_io_push_bits_index_T_51}; // @[Mux.scala 27:73]
  wire [6:0] _GEN_388 = {{1'd0}, _requests_io_push_bits_index_T_54}; // @[Mux.scala 27:73]
  wire [22:0] _mshr_insertOH_T_1 = {_mshr_free_T, 1'h0}; // @[package.scala 244:48]
  wire [21:0] _mshr_insertOH_T_3 = _mshr_free_T | _mshr_insertOH_T_1[21:0]; // @[package.scala 244:43]
  wire [23:0] _mshr_insertOH_T_4 = {_mshr_insertOH_T_3, 2'h0}; // @[package.scala 244:48]
  wire [21:0] _mshr_insertOH_T_6 = _mshr_insertOH_T_3 | _mshr_insertOH_T_4[21:0]; // @[package.scala 244:43]
  wire [25:0] _mshr_insertOH_T_7 = {_mshr_insertOH_T_6, 4'h0}; // @[package.scala 244:48]
  wire [21:0] _mshr_insertOH_T_9 = _mshr_insertOH_T_6 | _mshr_insertOH_T_7[21:0]; // @[package.scala 244:43]
  wire [29:0] _mshr_insertOH_T_10 = {_mshr_insertOH_T_9, 8'h0}; // @[package.scala 244:48]
  wire [21:0] _mshr_insertOH_T_12 = _mshr_insertOH_T_9 | _mshr_insertOH_T_10[21:0]; // @[package.scala 244:43]
  wire [37:0] _mshr_insertOH_T_13 = {_mshr_insertOH_T_12, 16'h0}; // @[package.scala 244:48]
  wire [21:0] _mshr_insertOH_T_15 = _mshr_insertOH_T_12 | _mshr_insertOH_T_13[21:0]; // @[package.scala 244:43]
  wire [22:0] _mshr_insertOH_T_17 = {_mshr_insertOH_T_15, 1'h0}; // @[Scheduler.scala 267:47]
  wire [22:0] _mshr_insertOH_T_18 = ~_mshr_insertOH_T_17; // @[Scheduler.scala 267:23]
  wire [22:0] _GEN_389 = {{1'd0}, _mshr_free_T}; // @[Scheduler.scala 267:53]
  wire [22:0] _mshr_insertOH_T_20 = _mshr_insertOH_T_18 & _GEN_389; // @[Scheduler.scala 267:53]
  wire [22:0] _GEN_390 = {{1'd0}, prioFilter}; // @[Scheduler.scala 267:69]
  wire [22:0] mshr_insertOH = _mshr_insertOH_T_20 & _GEN_390; // @[Scheduler.scala 267:69]
  wire  _GEN_295 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T | mshr_selectOH[21] &
    will_reload_22; // @[Scheduler.scala 225:25 269:83 270:27]
  wire  _GEN_298 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_prio_2 :
    _mshrs_21_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [2:0] _GEN_300 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_opcode :
    _mshrs_21_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [2:0] _GEN_301 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_param :
    _mshrs_21_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [2:0] _GEN_302 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_size :
    _mshrs_21_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [2:0] _GEN_303 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_source :
    _mshrs_21_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [24:0] _GEN_304 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_tag :
    _mshrs_21_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [3:0] _GEN_305 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_offset :
    _mshrs_21_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [5:0] _GEN_306 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_put :
    _mshrs_21_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  wire [2:0] _GEN_307 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? request_bits_set :
    c_mshr_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  wire  _GEN_308 = request_valid & alloc & mshr_insertOH[21] & _request_alloc_cases_T ? 1'h0 :
    c_mshr_io_allocate_bits_tag == c_mshr_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  wire  _T_149 = ~reset; // @[Scheduler.scala 280:12]
  wire  _T_150 = ~_prioFilter_T; // @[Scheduler.scala 280:12]
  wire  _T_155 = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T; // @[Scheduler.scala 284:59]
  reg [22:0] directoryFanout; // @[Scheduler.scala 296:46]
  wire  _sinkC_io_way_T_3 = abc_mshrs_0_io_status_valid & abc_mshrs_0_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_5 = abc_mshrs_1_io_status_valid & abc_mshrs_1_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_7 = abc_mshrs_2_io_status_valid & abc_mshrs_2_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_9 = abc_mshrs_3_io_status_valid & abc_mshrs_3_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_11 = abc_mshrs_4_io_status_valid & abc_mshrs_4_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_13 = abc_mshrs_5_io_status_valid & abc_mshrs_5_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_15 = abc_mshrs_6_io_status_valid & abc_mshrs_6_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_17 = abc_mshrs_7_io_status_valid & abc_mshrs_7_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_19 = abc_mshrs_8_io_status_valid & abc_mshrs_8_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_21 = abc_mshrs_9_io_status_valid & abc_mshrs_9_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_23 = abc_mshrs_10_io_status_valid & abc_mshrs_10_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_25 = abc_mshrs_11_io_status_valid & abc_mshrs_11_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_27 = abc_mshrs_12_io_status_valid & abc_mshrs_12_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_29 = abc_mshrs_13_io_status_valid & abc_mshrs_13_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_31 = abc_mshrs_14_io_status_valid & abc_mshrs_14_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_33 = abc_mshrs_15_io_status_valid & abc_mshrs_15_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_35 = abc_mshrs_16_io_status_valid & abc_mshrs_16_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_37 = abc_mshrs_17_io_status_valid & abc_mshrs_17_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_39 = abc_mshrs_18_io_status_valid & abc_mshrs_18_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_41 = abc_mshrs_19_io_status_valid & abc_mshrs_19_io_status_bits_set == sinkC_io_set; // @[Scheduler.scala 306:50]
  wire  _sinkC_io_way_T_57 = _sinkC_io_way_T_33 & abc_mshrs_15_io_status_bits_way; // @[Mux.scala 27:73]
  wire  _sinkC_io_way_T_76 = _sinkC_io_way_T_3 & abc_mshrs_0_io_status_bits_way | _sinkC_io_way_T_5 &
    abc_mshrs_1_io_status_bits_way | _sinkC_io_way_T_7 & abc_mshrs_2_io_status_bits_way | _sinkC_io_way_T_9 &
    abc_mshrs_3_io_status_bits_way | _sinkC_io_way_T_11 & abc_mshrs_4_io_status_bits_way | _sinkC_io_way_T_13 &
    abc_mshrs_5_io_status_bits_way | _sinkC_io_way_T_15 & abc_mshrs_6_io_status_bits_way | _sinkC_io_way_T_17 &
    abc_mshrs_7_io_status_bits_way | _sinkC_io_way_T_19 & abc_mshrs_8_io_status_bits_way | _sinkC_io_way_T_21 &
    abc_mshrs_9_io_status_bits_way | _sinkC_io_way_T_23 & abc_mshrs_10_io_status_bits_way | _sinkC_io_way_T_25 &
    abc_mshrs_11_io_status_bits_way | _sinkC_io_way_T_27 & abc_mshrs_12_io_status_bits_way | _sinkC_io_way_T_29 &
    abc_mshrs_13_io_status_bits_way | _sinkC_io_way_T_31 & abc_mshrs_14_io_status_bits_way | _sinkC_io_way_T_57; // @[Mux.scala 27:73]
  wire  _sinkC_io_way_T_80 = _sinkC_io_way_T_76 | _sinkC_io_way_T_35 & abc_mshrs_16_io_status_bits_way |
    _sinkC_io_way_T_37 & abc_mshrs_17_io_status_bits_way | _sinkC_io_way_T_39 & abc_mshrs_18_io_status_bits_way |
    _sinkC_io_way_T_41 & abc_mshrs_19_io_status_bits_way; // @[Mux.scala 27:73]
  wire  _GEN_338 = 5'h1 == sinkD_io_source ? abc_mshrs_1_io_status_bits_way : abc_mshrs_0_io_status_bits_way; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_339 = 5'h2 == sinkD_io_source ? abc_mshrs_2_io_status_bits_way : _GEN_338; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_340 = 5'h3 == sinkD_io_source ? abc_mshrs_3_io_status_bits_way : _GEN_339; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_341 = 5'h4 == sinkD_io_source ? abc_mshrs_4_io_status_bits_way : _GEN_340; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_342 = 5'h5 == sinkD_io_source ? abc_mshrs_5_io_status_bits_way : _GEN_341; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_343 = 5'h6 == sinkD_io_source ? abc_mshrs_6_io_status_bits_way : _GEN_342; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_344 = 5'h7 == sinkD_io_source ? abc_mshrs_7_io_status_bits_way : _GEN_343; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_345 = 5'h8 == sinkD_io_source ? abc_mshrs_8_io_status_bits_way : _GEN_344; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_346 = 5'h9 == sinkD_io_source ? abc_mshrs_9_io_status_bits_way : _GEN_345; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_347 = 5'ha == sinkD_io_source ? abc_mshrs_10_io_status_bits_way : _GEN_346; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_348 = 5'hb == sinkD_io_source ? abc_mshrs_11_io_status_bits_way : _GEN_347; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_349 = 5'hc == sinkD_io_source ? abc_mshrs_12_io_status_bits_way : _GEN_348; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_350 = 5'hd == sinkD_io_source ? abc_mshrs_13_io_status_bits_way : _GEN_349; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_351 = 5'he == sinkD_io_source ? abc_mshrs_14_io_status_bits_way : _GEN_350; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_352 = 5'hf == sinkD_io_source ? abc_mshrs_15_io_status_bits_way : _GEN_351; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_353 = 5'h10 == sinkD_io_source ? abc_mshrs_16_io_status_bits_way : _GEN_352; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_354 = 5'h11 == sinkD_io_source ? abc_mshrs_17_io_status_bits_way : _GEN_353; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_355 = 5'h12 == sinkD_io_source ? abc_mshrs_18_io_status_bits_way : _GEN_354; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_356 = 5'h13 == sinkD_io_source ? abc_mshrs_19_io_status_bits_way : _GEN_355; // @[Scheduler.scala 308:{16,16}]
  wire  _GEN_357 = 5'h14 == sinkD_io_source ? bc_mshr_io_status_bits_way : _GEN_356; // @[Scheduler.scala 308:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_0 = abc_mshrs_0_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _sinkD_io_set_WIRE_1 = abc_mshrs_1_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_360 = 5'h1 == sinkD_io_source ? _sinkD_io_set_WIRE_1 : _sinkD_io_set_WIRE_0; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_2 = abc_mshrs_2_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_361 = 5'h2 == sinkD_io_source ? _sinkD_io_set_WIRE_2 : _GEN_360; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_3 = abc_mshrs_3_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_362 = 5'h3 == sinkD_io_source ? _sinkD_io_set_WIRE_3 : _GEN_361; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_4 = abc_mshrs_4_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_363 = 5'h4 == sinkD_io_source ? _sinkD_io_set_WIRE_4 : _GEN_362; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_5 = abc_mshrs_5_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_364 = 5'h5 == sinkD_io_source ? _sinkD_io_set_WIRE_5 : _GEN_363; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_6 = abc_mshrs_6_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_365 = 5'h6 == sinkD_io_source ? _sinkD_io_set_WIRE_6 : _GEN_364; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_7 = abc_mshrs_7_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_366 = 5'h7 == sinkD_io_source ? _sinkD_io_set_WIRE_7 : _GEN_365; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_8 = abc_mshrs_8_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_367 = 5'h8 == sinkD_io_source ? _sinkD_io_set_WIRE_8 : _GEN_366; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_9 = abc_mshrs_9_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_368 = 5'h9 == sinkD_io_source ? _sinkD_io_set_WIRE_9 : _GEN_367; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_10 = abc_mshrs_10_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_369 = 5'ha == sinkD_io_source ? _sinkD_io_set_WIRE_10 : _GEN_368; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_11 = abc_mshrs_11_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_370 = 5'hb == sinkD_io_source ? _sinkD_io_set_WIRE_11 : _GEN_369; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_12 = abc_mshrs_12_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_371 = 5'hc == sinkD_io_source ? _sinkD_io_set_WIRE_12 : _GEN_370; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_13 = abc_mshrs_13_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_372 = 5'hd == sinkD_io_source ? _sinkD_io_set_WIRE_13 : _GEN_371; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_14 = abc_mshrs_14_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_373 = 5'he == sinkD_io_source ? _sinkD_io_set_WIRE_14 : _GEN_372; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_15 = abc_mshrs_15_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_374 = 5'hf == sinkD_io_source ? _sinkD_io_set_WIRE_15 : _GEN_373; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_16 = abc_mshrs_16_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_375 = 5'h10 == sinkD_io_source ? _sinkD_io_set_WIRE_16 : _GEN_374; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_17 = abc_mshrs_17_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_376 = 5'h11 == sinkD_io_source ? _sinkD_io_set_WIRE_17 : _GEN_375; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_18 = abc_mshrs_18_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_377 = 5'h12 == sinkD_io_source ? _sinkD_io_set_WIRE_18 : _GEN_376; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_19 = abc_mshrs_19_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_378 = 5'h13 == sinkD_io_source ? _sinkD_io_set_WIRE_19 : _GEN_377; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_20 = bc_mshr_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  wire [2:0] _GEN_379 = 5'h14 == sinkD_io_source ? _sinkD_io_set_WIRE_20 : _GEN_378; // @[Scheduler.scala 309:{16,16}]
  wire [2:0] _sinkD_io_set_WIRE_21 = c_mshr_io_status_bits_set; // @[Scheduler.scala 309:{22,22}]
  SourceA sourceA ( // @[Scheduler.scala 38:23]
    .clock(sourceA_clock),
    .reset(sourceA_reset),
    .io_req_ready(sourceA_io_req_ready),
    .io_req_valid(sourceA_io_req_valid),
    .io_req_bits_tag(sourceA_io_req_bits_tag),
    .io_req_bits_set(sourceA_io_req_bits_set),
    .io_req_bits_param(sourceA_io_req_bits_param),
    .io_req_bits_source(sourceA_io_req_bits_source),
    .io_req_bits_block(sourceA_io_req_bits_block),
    .io_a_ready(sourceA_io_a_ready),
    .io_a_valid(sourceA_io_a_valid),
    .io_a_bits_opcode(sourceA_io_a_bits_opcode),
    .io_a_bits_param(sourceA_io_a_bits_param),
    .io_a_bits_size(sourceA_io_a_bits_size),
    .io_a_bits_source(sourceA_io_a_bits_source),
    .io_a_bits_address(sourceA_io_a_bits_address),
    .io_a_bits_mask(sourceA_io_a_bits_mask),
    .io_a_bits_data(sourceA_io_a_bits_data),
    .io_a_bits_corrupt(sourceA_io_a_bits_corrupt)
  );
  SourceB sourceB ( // @[Scheduler.scala 39:23]
    .clock(sourceB_clock),
    .reset(sourceB_reset),
    .io_req_ready(sourceB_io_req_ready),
    .io_req_valid(sourceB_io_req_valid),
    .io_req_bits_param(sourceB_io_req_bits_param),
    .io_req_bits_tag(sourceB_io_req_bits_tag),
    .io_req_bits_set(sourceB_io_req_bits_set),
    .io_req_bits_clients(sourceB_io_req_bits_clients),
    .io_b_ready(sourceB_io_b_ready),
    .io_b_valid(sourceB_io_b_valid),
    .io_b_bits_param(sourceB_io_b_bits_param),
    .io_b_bits_address(sourceB_io_b_bits_address)
  );
  SourceC sourceC ( // @[Scheduler.scala 40:23]
    .clock(sourceC_clock),
    .reset(sourceC_reset),
    .io_req_ready(sourceC_io_req_ready),
    .io_req_valid(sourceC_io_req_valid),
    .io_req_bits_opcode(sourceC_io_req_bits_opcode),
    .io_req_bits_param(sourceC_io_req_bits_param),
    .io_req_bits_source(sourceC_io_req_bits_source),
    .io_req_bits_tag(sourceC_io_req_bits_tag),
    .io_req_bits_set(sourceC_io_req_bits_set),
    .io_req_bits_way(sourceC_io_req_bits_way),
    .io_req_bits_dirty(sourceC_io_req_bits_dirty),
    .io_c_ready(sourceC_io_c_ready),
    .io_c_valid(sourceC_io_c_valid),
    .io_c_bits_opcode(sourceC_io_c_bits_opcode),
    .io_c_bits_param(sourceC_io_c_bits_param),
    .io_c_bits_size(sourceC_io_c_bits_size),
    .io_c_bits_source(sourceC_io_c_bits_source),
    .io_c_bits_address(sourceC_io_c_bits_address),
    .io_c_bits_data(sourceC_io_c_bits_data),
    .io_c_bits_corrupt(sourceC_io_c_bits_corrupt),
    .io_bs_adr_ready(sourceC_io_bs_adr_ready),
    .io_bs_adr_valid(sourceC_io_bs_adr_valid),
    .io_bs_adr_bits_way(sourceC_io_bs_adr_bits_way),
    .io_bs_adr_bits_set(sourceC_io_bs_adr_bits_set),
    .io_bs_adr_bits_beat(sourceC_io_bs_adr_bits_beat),
    .io_bs_dat_data(sourceC_io_bs_dat_data),
    .io_evict_req_set(sourceC_io_evict_req_set),
    .io_evict_req_way(sourceC_io_evict_req_way),
    .io_evict_safe(sourceC_io_evict_safe)
  );
  SourceD sourceD ( // @[Scheduler.scala 41:23]
    .clock(sourceD_clock),
    .reset(sourceD_reset),
    .io_req_ready(sourceD_io_req_ready),
    .io_req_valid(sourceD_io_req_valid),
    .io_req_bits_prio_0(sourceD_io_req_bits_prio_0),
    .io_req_bits_prio_2(sourceD_io_req_bits_prio_2),
    .io_req_bits_opcode(sourceD_io_req_bits_opcode),
    .io_req_bits_param(sourceD_io_req_bits_param),
    .io_req_bits_size(sourceD_io_req_bits_size),
    .io_req_bits_source(sourceD_io_req_bits_source),
    .io_req_bits_offset(sourceD_io_req_bits_offset),
    .io_req_bits_put(sourceD_io_req_bits_put),
    .io_req_bits_set(sourceD_io_req_bits_set),
    .io_req_bits_sink(sourceD_io_req_bits_sink),
    .io_req_bits_way(sourceD_io_req_bits_way),
    .io_req_bits_bad(sourceD_io_req_bits_bad),
    .io_d_ready(sourceD_io_d_ready),
    .io_d_valid(sourceD_io_d_valid),
    .io_d_bits_opcode(sourceD_io_d_bits_opcode),
    .io_d_bits_param(sourceD_io_d_bits_param),
    .io_d_bits_size(sourceD_io_d_bits_size),
    .io_d_bits_source(sourceD_io_d_bits_source),
    .io_d_bits_sink(sourceD_io_d_bits_sink),
    .io_d_bits_denied(sourceD_io_d_bits_denied),
    .io_d_bits_data(sourceD_io_d_bits_data),
    .io_d_bits_corrupt(sourceD_io_d_bits_corrupt),
    .io_pb_pop_ready(sourceD_io_pb_pop_ready),
    .io_pb_pop_valid(sourceD_io_pb_pop_valid),
    .io_pb_pop_bits_index(sourceD_io_pb_pop_bits_index),
    .io_pb_pop_bits_last(sourceD_io_pb_pop_bits_last),
    .io_pb_beat_data(sourceD_io_pb_beat_data),
    .io_pb_beat_mask(sourceD_io_pb_beat_mask),
    .io_pb_beat_corrupt(sourceD_io_pb_beat_corrupt),
    .io_rel_pop_ready(sourceD_io_rel_pop_ready),
    .io_rel_pop_valid(sourceD_io_rel_pop_valid),
    .io_rel_pop_bits_index(sourceD_io_rel_pop_bits_index),
    .io_rel_pop_bits_last(sourceD_io_rel_pop_bits_last),
    .io_rel_beat_data(sourceD_io_rel_beat_data),
    .io_rel_beat_corrupt(sourceD_io_rel_beat_corrupt),
    .io_bs_radr_ready(sourceD_io_bs_radr_ready),
    .io_bs_radr_valid(sourceD_io_bs_radr_valid),
    .io_bs_radr_bits_way(sourceD_io_bs_radr_bits_way),
    .io_bs_radr_bits_set(sourceD_io_bs_radr_bits_set),
    .io_bs_radr_bits_beat(sourceD_io_bs_radr_bits_beat),
    .io_bs_radr_bits_mask(sourceD_io_bs_radr_bits_mask),
    .io_bs_rdat_data(sourceD_io_bs_rdat_data),
    .io_bs_wadr_ready(sourceD_io_bs_wadr_ready),
    .io_bs_wadr_valid(sourceD_io_bs_wadr_valid),
    .io_bs_wadr_bits_way(sourceD_io_bs_wadr_bits_way),
    .io_bs_wadr_bits_set(sourceD_io_bs_wadr_bits_set),
    .io_bs_wadr_bits_beat(sourceD_io_bs_wadr_bits_beat),
    .io_bs_wadr_bits_mask(sourceD_io_bs_wadr_bits_mask),
    .io_bs_wdat_data(sourceD_io_bs_wdat_data),
    .io_evict_req_set(sourceD_io_evict_req_set),
    .io_evict_req_way(sourceD_io_evict_req_way),
    .io_evict_safe(sourceD_io_evict_safe),
    .io_grant_req_set(sourceD_io_grant_req_set),
    .io_grant_req_way(sourceD_io_grant_req_way),
    .io_grant_safe(sourceD_io_grant_safe)
  );
  SourceE sourceE ( // @[Scheduler.scala 42:23]
    .clock(sourceE_clock),
    .reset(sourceE_reset),
    .io_req_ready(sourceE_io_req_ready),
    .io_req_valid(sourceE_io_req_valid),
    .io_req_bits_sink(sourceE_io_req_bits_sink),
    .io_e_valid(sourceE_io_e_valid),
    .io_e_bits_sink(sourceE_io_e_bits_sink)
  );
  SinkA sinkA ( // @[Scheduler.scala 52:21]
    .clock(sinkA_clock),
    .reset(sinkA_reset),
    .io_req_ready(sinkA_io_req_ready),
    .io_req_valid(sinkA_io_req_valid),
    .io_req_bits_opcode(sinkA_io_req_bits_opcode),
    .io_req_bits_param(sinkA_io_req_bits_param),
    .io_req_bits_size(sinkA_io_req_bits_size),
    .io_req_bits_source(sinkA_io_req_bits_source),
    .io_req_bits_tag(sinkA_io_req_bits_tag),
    .io_req_bits_offset(sinkA_io_req_bits_offset),
    .io_req_bits_put(sinkA_io_req_bits_put),
    .io_req_bits_set(sinkA_io_req_bits_set),
    .io_a_ready(sinkA_io_a_ready),
    .io_a_valid(sinkA_io_a_valid),
    .io_a_bits_opcode(sinkA_io_a_bits_opcode),
    .io_a_bits_param(sinkA_io_a_bits_param),
    .io_a_bits_size(sinkA_io_a_bits_size),
    .io_a_bits_source(sinkA_io_a_bits_source),
    .io_a_bits_address(sinkA_io_a_bits_address),
    .io_a_bits_mask(sinkA_io_a_bits_mask),
    .io_a_bits_data(sinkA_io_a_bits_data),
    .io_a_bits_corrupt(sinkA_io_a_bits_corrupt),
    .io_pb_pop_ready(sinkA_io_pb_pop_ready),
    .io_pb_pop_valid(sinkA_io_pb_pop_valid),
    .io_pb_pop_bits_index(sinkA_io_pb_pop_bits_index),
    .io_pb_pop_bits_last(sinkA_io_pb_pop_bits_last),
    .io_pb_beat_data(sinkA_io_pb_beat_data),
    .io_pb_beat_mask(sinkA_io_pb_beat_mask),
    .io_pb_beat_corrupt(sinkA_io_pb_beat_corrupt)
  );
  SinkC sinkC ( // @[Scheduler.scala 53:21]
    .clock(sinkC_clock),
    .reset(sinkC_reset),
    .io_req_ready(sinkC_io_req_ready),
    .io_req_valid(sinkC_io_req_valid),
    .io_req_bits_opcode(sinkC_io_req_bits_opcode),
    .io_req_bits_param(sinkC_io_req_bits_param),
    .io_req_bits_size(sinkC_io_req_bits_size),
    .io_req_bits_source(sinkC_io_req_bits_source),
    .io_req_bits_tag(sinkC_io_req_bits_tag),
    .io_req_bits_offset(sinkC_io_req_bits_offset),
    .io_req_bits_put(sinkC_io_req_bits_put),
    .io_req_bits_set(sinkC_io_req_bits_set),
    .io_resp_valid(sinkC_io_resp_valid),
    .io_resp_bits_last(sinkC_io_resp_bits_last),
    .io_resp_bits_set(sinkC_io_resp_bits_set),
    .io_resp_bits_tag(sinkC_io_resp_bits_tag),
    .io_resp_bits_source(sinkC_io_resp_bits_source),
    .io_resp_bits_param(sinkC_io_resp_bits_param),
    .io_resp_bits_data(sinkC_io_resp_bits_data),
    .io_c_ready(sinkC_io_c_ready),
    .io_c_valid(sinkC_io_c_valid),
    .io_c_bits_opcode(sinkC_io_c_bits_opcode),
    .io_c_bits_param(sinkC_io_c_bits_param),
    .io_c_bits_size(sinkC_io_c_bits_size),
    .io_c_bits_address(sinkC_io_c_bits_address),
    .io_c_bits_data(sinkC_io_c_bits_data),
    .io_c_bits_corrupt(sinkC_io_c_bits_corrupt),
    .io_set(sinkC_io_set),
    .io_way(sinkC_io_way),
    .io_bs_adr_ready(sinkC_io_bs_adr_ready),
    .io_bs_adr_valid(sinkC_io_bs_adr_valid),
    .io_bs_adr_bits_noop(sinkC_io_bs_adr_bits_noop),
    .io_bs_adr_bits_way(sinkC_io_bs_adr_bits_way),
    .io_bs_adr_bits_set(sinkC_io_bs_adr_bits_set),
    .io_bs_adr_bits_beat(sinkC_io_bs_adr_bits_beat),
    .io_bs_adr_bits_mask(sinkC_io_bs_adr_bits_mask),
    .io_bs_dat_data(sinkC_io_bs_dat_data),
    .io_rel_pop_ready(sinkC_io_rel_pop_ready),
    .io_rel_pop_valid(sinkC_io_rel_pop_valid),
    .io_rel_pop_bits_index(sinkC_io_rel_pop_bits_index),
    .io_rel_pop_bits_last(sinkC_io_rel_pop_bits_last),
    .io_rel_beat_data(sinkC_io_rel_beat_data),
    .io_rel_beat_corrupt(sinkC_io_rel_beat_corrupt)
  );
  SinkD sinkD ( // @[Scheduler.scala 54:21]
    .clock(sinkD_clock),
    .reset(sinkD_reset),
    .io_resp_valid(sinkD_io_resp_valid),
    .io_resp_bits_last(sinkD_io_resp_bits_last),
    .io_resp_bits_opcode(sinkD_io_resp_bits_opcode),
    .io_resp_bits_param(sinkD_io_resp_bits_param),
    .io_resp_bits_source(sinkD_io_resp_bits_source),
    .io_resp_bits_sink(sinkD_io_resp_bits_sink),
    .io_resp_bits_denied(sinkD_io_resp_bits_denied),
    .io_d_ready(sinkD_io_d_ready),
    .io_d_valid(sinkD_io_d_valid),
    .io_d_bits_opcode(sinkD_io_d_bits_opcode),
    .io_d_bits_param(sinkD_io_d_bits_param),
    .io_d_bits_size(sinkD_io_d_bits_size),
    .io_d_bits_source(sinkD_io_d_bits_source),
    .io_d_bits_sink(sinkD_io_d_bits_sink),
    .io_d_bits_denied(sinkD_io_d_bits_denied),
    .io_d_bits_data(sinkD_io_d_bits_data),
    .io_d_bits_corrupt(sinkD_io_d_bits_corrupt),
    .io_source(sinkD_io_source),
    .io_way(sinkD_io_way),
    .io_set(sinkD_io_set),
    .io_bs_adr_ready(sinkD_io_bs_adr_ready),
    .io_bs_adr_valid(sinkD_io_bs_adr_valid),
    .io_bs_adr_bits_noop(sinkD_io_bs_adr_bits_noop),
    .io_bs_adr_bits_way(sinkD_io_bs_adr_bits_way),
    .io_bs_adr_bits_set(sinkD_io_bs_adr_bits_set),
    .io_bs_adr_bits_beat(sinkD_io_bs_adr_bits_beat),
    .io_bs_dat_data(sinkD_io_bs_dat_data),
    .io_grant_req_set(sinkD_io_grant_req_set),
    .io_grant_req_way(sinkD_io_grant_req_way),
    .io_grant_safe(sinkD_io_grant_safe)
  );
  SinkE sinkE ( // @[Scheduler.scala 55:21]
    .io_resp_valid(sinkE_io_resp_valid),
    .io_resp_bits_sink(sinkE_io_resp_bits_sink),
    .io_e_valid(sinkE_io_e_valid),
    .io_e_bits_sink(sinkE_io_e_bits_sink)
  );
  Directory directory ( // @[Scheduler.scala 66:25]
    .clock(directory_clock),
    .reset(directory_reset),
    .io_write_ready(directory_io_write_ready),
    .io_write_valid(directory_io_write_valid),
    .io_write_bits_set(directory_io_write_bits_set),
    .io_write_bits_way(directory_io_write_bits_way),
    .io_write_bits_data_dirty(directory_io_write_bits_data_dirty),
    .io_write_bits_data_state(directory_io_write_bits_data_state),
    .io_write_bits_data_clients(directory_io_write_bits_data_clients),
    .io_write_bits_data_tag(directory_io_write_bits_data_tag),
    .io_read_valid(directory_io_read_valid),
    .io_read_bits_set(directory_io_read_bits_set),
    .io_read_bits_tag(directory_io_read_bits_tag),
    .io_result_bits_dirty(directory_io_result_bits_dirty),
    .io_result_bits_state(directory_io_result_bits_state),
    .io_result_bits_clients(directory_io_result_bits_clients),
    .io_result_bits_tag(directory_io_result_bits_tag),
    .io_result_bits_hit(directory_io_result_bits_hit),
    .io_result_bits_way(directory_io_result_bits_way),
    .io_ready(directory_io_ready)
  );
  BankedStore bankedStore ( // @[Scheduler.scala 67:27]
    .clock(bankedStore_clock),
    .io_sinkC_adr_ready(bankedStore_io_sinkC_adr_ready),
    .io_sinkC_adr_valid(bankedStore_io_sinkC_adr_valid),
    .io_sinkC_adr_bits_noop(bankedStore_io_sinkC_adr_bits_noop),
    .io_sinkC_adr_bits_way(bankedStore_io_sinkC_adr_bits_way),
    .io_sinkC_adr_bits_set(bankedStore_io_sinkC_adr_bits_set),
    .io_sinkC_adr_bits_beat(bankedStore_io_sinkC_adr_bits_beat),
    .io_sinkC_adr_bits_mask(bankedStore_io_sinkC_adr_bits_mask),
    .io_sinkC_dat_data(bankedStore_io_sinkC_dat_data),
    .io_sinkD_adr_ready(bankedStore_io_sinkD_adr_ready),
    .io_sinkD_adr_valid(bankedStore_io_sinkD_adr_valid),
    .io_sinkD_adr_bits_noop(bankedStore_io_sinkD_adr_bits_noop),
    .io_sinkD_adr_bits_way(bankedStore_io_sinkD_adr_bits_way),
    .io_sinkD_adr_bits_set(bankedStore_io_sinkD_adr_bits_set),
    .io_sinkD_adr_bits_beat(bankedStore_io_sinkD_adr_bits_beat),
    .io_sinkD_dat_data(bankedStore_io_sinkD_dat_data),
    .io_sourceC_adr_ready(bankedStore_io_sourceC_adr_ready),
    .io_sourceC_adr_valid(bankedStore_io_sourceC_adr_valid),
    .io_sourceC_adr_bits_way(bankedStore_io_sourceC_adr_bits_way),
    .io_sourceC_adr_bits_set(bankedStore_io_sourceC_adr_bits_set),
    .io_sourceC_adr_bits_beat(bankedStore_io_sourceC_adr_bits_beat),
    .io_sourceC_dat_data(bankedStore_io_sourceC_dat_data),
    .io_sourceD_radr_ready(bankedStore_io_sourceD_radr_ready),
    .io_sourceD_radr_valid(bankedStore_io_sourceD_radr_valid),
    .io_sourceD_radr_bits_way(bankedStore_io_sourceD_radr_bits_way),
    .io_sourceD_radr_bits_set(bankedStore_io_sourceD_radr_bits_set),
    .io_sourceD_radr_bits_beat(bankedStore_io_sourceD_radr_bits_beat),
    .io_sourceD_radr_bits_mask(bankedStore_io_sourceD_radr_bits_mask),
    .io_sourceD_rdat_data(bankedStore_io_sourceD_rdat_data),
    .io_sourceD_wadr_ready(bankedStore_io_sourceD_wadr_ready),
    .io_sourceD_wadr_valid(bankedStore_io_sourceD_wadr_valid),
    .io_sourceD_wadr_bits_way(bankedStore_io_sourceD_wadr_bits_way),
    .io_sourceD_wadr_bits_set(bankedStore_io_sourceD_wadr_bits_set),
    .io_sourceD_wadr_bits_beat(bankedStore_io_sourceD_wadr_bits_beat),
    .io_sourceD_wadr_bits_mask(bankedStore_io_sourceD_wadr_bits_mask),
    .io_sourceD_wdat_data(bankedStore_io_sourceD_wdat_data)
  );
  ListBuffer_2 requests ( // @[Scheduler.scala 68:24]
    .clock(requests_clock),
    .reset(requests_reset),
    .io_push_ready(requests_io_push_ready),
    .io_push_valid(requests_io_push_valid),
    .io_push_bits_index(requests_io_push_bits_index),
    .io_push_bits_data_prio_0(requests_io_push_bits_data_prio_0),
    .io_push_bits_data_prio_2(requests_io_push_bits_data_prio_2),
    .io_push_bits_data_opcode(requests_io_push_bits_data_opcode),
    .io_push_bits_data_param(requests_io_push_bits_data_param),
    .io_push_bits_data_size(requests_io_push_bits_data_size),
    .io_push_bits_data_source(requests_io_push_bits_data_source),
    .io_push_bits_data_tag(requests_io_push_bits_data_tag),
    .io_push_bits_data_offset(requests_io_push_bits_data_offset),
    .io_push_bits_data_put(requests_io_push_bits_data_put),
    .io_valid(requests_io_valid),
    .io_pop_valid(requests_io_pop_valid),
    .io_pop_bits(requests_io_pop_bits),
    .io_data_prio_0(requests_io_data_prio_0),
    .io_data_prio_1(requests_io_data_prio_1),
    .io_data_prio_2(requests_io_data_prio_2),
    .io_data_opcode(requests_io_data_opcode),
    .io_data_param(requests_io_data_param),
    .io_data_size(requests_io_data_size),
    .io_data_source(requests_io_data_source),
    .io_data_tag(requests_io_data_tag),
    .io_data_offset(requests_io_data_offset),
    .io_data_put(requests_io_data_put)
  );
  MSHR abc_mshrs_0 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_0_clock),
    .reset(abc_mshrs_0_reset),
    .io_allocate_valid(abc_mshrs_0_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_0_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_0_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_0_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_0_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_0_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_0_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_0_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_0_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_0_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_0_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_0_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_0_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_0_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_0_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_0_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_0_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_0_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_0_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_0_io_directory_bits_way),
    .io_status_valid(abc_mshrs_0_io_status_valid),
    .io_status_bits_set(abc_mshrs_0_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_0_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_0_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_0_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_0_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_0_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_0_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_0_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_0_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_0_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_0_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_0_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_0_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_0_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_0_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_0_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_0_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_0_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_0_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_0_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_0_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_0_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_0_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_0_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_0_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_0_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_0_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_0_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_0_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_0_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_0_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_0_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_0_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_0_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_0_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_0_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_0_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_0_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_0_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_0_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_0_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_0_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_0_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_0_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_0_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_0_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_0_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_0_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_0_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_0_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_0_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_0_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_0_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_0_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_0_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_0_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_0_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_0_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_0_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_0_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_0_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_0_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_0_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_0_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_0_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_0_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_0_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_0_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_1 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_1_clock),
    .reset(abc_mshrs_1_reset),
    .io_allocate_valid(abc_mshrs_1_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_1_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_1_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_1_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_1_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_1_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_1_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_1_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_1_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_1_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_1_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_1_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_1_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_1_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_1_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_1_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_1_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_1_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_1_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_1_io_directory_bits_way),
    .io_status_valid(abc_mshrs_1_io_status_valid),
    .io_status_bits_set(abc_mshrs_1_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_1_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_1_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_1_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_1_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_1_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_1_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_1_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_1_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_1_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_1_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_1_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_1_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_1_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_1_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_1_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_1_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_1_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_1_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_1_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_1_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_1_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_1_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_1_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_1_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_1_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_1_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_1_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_1_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_1_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_1_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_1_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_1_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_1_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_1_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_1_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_1_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_1_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_1_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_1_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_1_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_1_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_1_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_1_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_1_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_1_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_1_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_1_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_1_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_1_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_1_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_1_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_1_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_1_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_1_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_1_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_1_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_1_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_1_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_1_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_1_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_1_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_1_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_1_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_1_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_1_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_1_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_1_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_2 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_2_clock),
    .reset(abc_mshrs_2_reset),
    .io_allocate_valid(abc_mshrs_2_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_2_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_2_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_2_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_2_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_2_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_2_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_2_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_2_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_2_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_2_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_2_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_2_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_2_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_2_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_2_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_2_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_2_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_2_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_2_io_directory_bits_way),
    .io_status_valid(abc_mshrs_2_io_status_valid),
    .io_status_bits_set(abc_mshrs_2_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_2_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_2_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_2_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_2_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_2_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_2_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_2_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_2_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_2_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_2_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_2_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_2_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_2_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_2_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_2_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_2_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_2_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_2_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_2_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_2_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_2_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_2_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_2_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_2_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_2_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_2_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_2_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_2_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_2_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_2_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_2_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_2_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_2_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_2_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_2_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_2_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_2_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_2_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_2_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_2_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_2_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_2_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_2_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_2_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_2_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_2_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_2_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_2_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_2_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_2_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_2_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_2_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_2_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_2_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_2_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_2_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_2_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_2_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_2_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_2_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_2_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_2_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_2_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_2_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_2_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_2_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_2_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_3 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_3_clock),
    .reset(abc_mshrs_3_reset),
    .io_allocate_valid(abc_mshrs_3_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_3_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_3_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_3_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_3_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_3_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_3_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_3_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_3_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_3_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_3_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_3_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_3_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_3_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_3_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_3_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_3_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_3_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_3_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_3_io_directory_bits_way),
    .io_status_valid(abc_mshrs_3_io_status_valid),
    .io_status_bits_set(abc_mshrs_3_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_3_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_3_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_3_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_3_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_3_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_3_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_3_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_3_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_3_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_3_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_3_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_3_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_3_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_3_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_3_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_3_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_3_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_3_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_3_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_3_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_3_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_3_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_3_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_3_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_3_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_3_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_3_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_3_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_3_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_3_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_3_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_3_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_3_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_3_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_3_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_3_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_3_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_3_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_3_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_3_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_3_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_3_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_3_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_3_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_3_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_3_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_3_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_3_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_3_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_3_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_3_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_3_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_3_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_3_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_3_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_3_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_3_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_3_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_3_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_3_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_3_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_3_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_3_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_3_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_3_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_3_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_3_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_4 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_4_clock),
    .reset(abc_mshrs_4_reset),
    .io_allocate_valid(abc_mshrs_4_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_4_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_4_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_4_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_4_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_4_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_4_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_4_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_4_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_4_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_4_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_4_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_4_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_4_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_4_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_4_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_4_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_4_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_4_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_4_io_directory_bits_way),
    .io_status_valid(abc_mshrs_4_io_status_valid),
    .io_status_bits_set(abc_mshrs_4_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_4_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_4_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_4_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_4_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_4_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_4_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_4_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_4_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_4_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_4_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_4_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_4_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_4_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_4_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_4_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_4_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_4_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_4_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_4_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_4_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_4_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_4_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_4_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_4_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_4_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_4_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_4_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_4_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_4_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_4_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_4_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_4_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_4_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_4_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_4_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_4_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_4_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_4_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_4_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_4_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_4_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_4_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_4_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_4_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_4_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_4_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_4_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_4_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_4_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_4_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_4_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_4_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_4_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_4_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_4_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_4_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_4_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_4_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_4_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_4_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_4_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_4_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_4_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_4_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_4_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_4_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_4_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_5 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_5_clock),
    .reset(abc_mshrs_5_reset),
    .io_allocate_valid(abc_mshrs_5_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_5_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_5_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_5_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_5_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_5_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_5_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_5_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_5_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_5_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_5_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_5_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_5_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_5_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_5_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_5_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_5_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_5_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_5_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_5_io_directory_bits_way),
    .io_status_valid(abc_mshrs_5_io_status_valid),
    .io_status_bits_set(abc_mshrs_5_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_5_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_5_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_5_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_5_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_5_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_5_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_5_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_5_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_5_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_5_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_5_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_5_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_5_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_5_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_5_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_5_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_5_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_5_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_5_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_5_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_5_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_5_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_5_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_5_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_5_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_5_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_5_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_5_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_5_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_5_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_5_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_5_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_5_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_5_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_5_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_5_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_5_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_5_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_5_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_5_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_5_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_5_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_5_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_5_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_5_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_5_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_5_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_5_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_5_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_5_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_5_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_5_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_5_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_5_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_5_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_5_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_5_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_5_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_5_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_5_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_5_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_5_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_5_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_5_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_5_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_5_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_5_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_6 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_6_clock),
    .reset(abc_mshrs_6_reset),
    .io_allocate_valid(abc_mshrs_6_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_6_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_6_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_6_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_6_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_6_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_6_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_6_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_6_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_6_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_6_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_6_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_6_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_6_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_6_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_6_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_6_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_6_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_6_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_6_io_directory_bits_way),
    .io_status_valid(abc_mshrs_6_io_status_valid),
    .io_status_bits_set(abc_mshrs_6_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_6_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_6_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_6_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_6_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_6_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_6_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_6_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_6_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_6_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_6_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_6_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_6_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_6_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_6_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_6_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_6_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_6_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_6_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_6_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_6_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_6_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_6_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_6_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_6_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_6_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_6_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_6_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_6_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_6_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_6_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_6_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_6_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_6_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_6_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_6_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_6_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_6_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_6_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_6_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_6_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_6_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_6_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_6_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_6_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_6_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_6_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_6_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_6_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_6_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_6_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_6_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_6_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_6_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_6_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_6_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_6_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_6_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_6_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_6_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_6_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_6_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_6_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_6_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_6_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_6_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_6_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_6_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_7 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_7_clock),
    .reset(abc_mshrs_7_reset),
    .io_allocate_valid(abc_mshrs_7_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_7_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_7_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_7_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_7_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_7_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_7_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_7_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_7_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_7_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_7_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_7_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_7_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_7_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_7_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_7_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_7_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_7_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_7_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_7_io_directory_bits_way),
    .io_status_valid(abc_mshrs_7_io_status_valid),
    .io_status_bits_set(abc_mshrs_7_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_7_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_7_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_7_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_7_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_7_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_7_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_7_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_7_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_7_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_7_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_7_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_7_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_7_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_7_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_7_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_7_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_7_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_7_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_7_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_7_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_7_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_7_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_7_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_7_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_7_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_7_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_7_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_7_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_7_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_7_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_7_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_7_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_7_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_7_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_7_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_7_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_7_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_7_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_7_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_7_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_7_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_7_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_7_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_7_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_7_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_7_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_7_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_7_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_7_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_7_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_7_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_7_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_7_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_7_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_7_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_7_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_7_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_7_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_7_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_7_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_7_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_7_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_7_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_7_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_7_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_7_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_7_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_8 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_8_clock),
    .reset(abc_mshrs_8_reset),
    .io_allocate_valid(abc_mshrs_8_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_8_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_8_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_8_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_8_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_8_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_8_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_8_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_8_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_8_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_8_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_8_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_8_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_8_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_8_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_8_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_8_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_8_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_8_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_8_io_directory_bits_way),
    .io_status_valid(abc_mshrs_8_io_status_valid),
    .io_status_bits_set(abc_mshrs_8_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_8_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_8_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_8_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_8_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_8_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_8_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_8_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_8_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_8_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_8_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_8_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_8_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_8_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_8_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_8_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_8_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_8_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_8_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_8_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_8_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_8_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_8_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_8_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_8_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_8_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_8_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_8_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_8_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_8_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_8_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_8_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_8_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_8_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_8_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_8_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_8_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_8_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_8_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_8_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_8_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_8_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_8_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_8_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_8_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_8_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_8_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_8_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_8_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_8_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_8_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_8_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_8_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_8_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_8_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_8_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_8_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_8_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_8_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_8_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_8_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_8_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_8_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_8_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_8_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_8_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_8_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_8_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_9 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_9_clock),
    .reset(abc_mshrs_9_reset),
    .io_allocate_valid(abc_mshrs_9_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_9_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_9_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_9_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_9_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_9_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_9_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_9_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_9_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_9_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_9_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_9_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_9_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_9_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_9_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_9_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_9_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_9_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_9_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_9_io_directory_bits_way),
    .io_status_valid(abc_mshrs_9_io_status_valid),
    .io_status_bits_set(abc_mshrs_9_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_9_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_9_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_9_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_9_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_9_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_9_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_9_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_9_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_9_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_9_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_9_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_9_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_9_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_9_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_9_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_9_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_9_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_9_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_9_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_9_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_9_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_9_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_9_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_9_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_9_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_9_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_9_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_9_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_9_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_9_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_9_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_9_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_9_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_9_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_9_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_9_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_9_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_9_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_9_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_9_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_9_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_9_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_9_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_9_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_9_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_9_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_9_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_9_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_9_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_9_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_9_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_9_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_9_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_9_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_9_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_9_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_9_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_9_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_9_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_9_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_9_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_9_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_9_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_9_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_9_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_9_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_9_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_10 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_10_clock),
    .reset(abc_mshrs_10_reset),
    .io_allocate_valid(abc_mshrs_10_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_10_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_10_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_10_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_10_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_10_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_10_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_10_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_10_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_10_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_10_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_10_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_10_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_10_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_10_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_10_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_10_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_10_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_10_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_10_io_directory_bits_way),
    .io_status_valid(abc_mshrs_10_io_status_valid),
    .io_status_bits_set(abc_mshrs_10_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_10_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_10_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_10_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_10_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_10_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_10_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_10_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_10_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_10_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_10_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_10_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_10_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_10_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_10_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_10_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_10_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_10_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_10_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_10_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_10_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_10_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_10_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_10_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_10_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_10_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_10_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_10_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_10_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_10_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_10_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_10_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_10_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_10_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_10_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_10_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_10_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_10_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_10_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_10_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_10_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_10_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_10_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_10_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_10_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_10_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_10_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_10_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_10_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_10_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_10_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_10_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_10_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_10_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_10_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_10_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_10_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_10_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_10_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_10_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_10_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_10_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_10_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_10_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_10_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_10_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_10_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_10_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_11 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_11_clock),
    .reset(abc_mshrs_11_reset),
    .io_allocate_valid(abc_mshrs_11_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_11_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_11_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_11_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_11_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_11_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_11_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_11_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_11_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_11_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_11_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_11_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_11_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_11_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_11_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_11_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_11_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_11_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_11_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_11_io_directory_bits_way),
    .io_status_valid(abc_mshrs_11_io_status_valid),
    .io_status_bits_set(abc_mshrs_11_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_11_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_11_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_11_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_11_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_11_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_11_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_11_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_11_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_11_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_11_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_11_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_11_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_11_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_11_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_11_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_11_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_11_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_11_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_11_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_11_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_11_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_11_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_11_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_11_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_11_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_11_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_11_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_11_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_11_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_11_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_11_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_11_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_11_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_11_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_11_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_11_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_11_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_11_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_11_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_11_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_11_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_11_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_11_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_11_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_11_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_11_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_11_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_11_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_11_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_11_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_11_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_11_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_11_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_11_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_11_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_11_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_11_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_11_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_11_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_11_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_11_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_11_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_11_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_11_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_11_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_11_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_11_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_12 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_12_clock),
    .reset(abc_mshrs_12_reset),
    .io_allocate_valid(abc_mshrs_12_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_12_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_12_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_12_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_12_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_12_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_12_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_12_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_12_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_12_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_12_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_12_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_12_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_12_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_12_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_12_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_12_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_12_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_12_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_12_io_directory_bits_way),
    .io_status_valid(abc_mshrs_12_io_status_valid),
    .io_status_bits_set(abc_mshrs_12_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_12_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_12_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_12_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_12_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_12_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_12_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_12_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_12_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_12_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_12_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_12_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_12_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_12_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_12_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_12_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_12_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_12_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_12_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_12_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_12_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_12_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_12_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_12_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_12_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_12_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_12_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_12_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_12_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_12_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_12_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_12_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_12_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_12_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_12_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_12_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_12_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_12_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_12_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_12_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_12_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_12_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_12_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_12_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_12_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_12_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_12_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_12_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_12_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_12_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_12_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_12_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_12_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_12_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_12_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_12_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_12_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_12_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_12_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_12_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_12_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_12_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_12_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_12_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_12_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_12_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_12_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_12_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_13 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_13_clock),
    .reset(abc_mshrs_13_reset),
    .io_allocate_valid(abc_mshrs_13_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_13_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_13_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_13_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_13_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_13_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_13_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_13_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_13_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_13_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_13_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_13_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_13_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_13_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_13_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_13_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_13_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_13_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_13_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_13_io_directory_bits_way),
    .io_status_valid(abc_mshrs_13_io_status_valid),
    .io_status_bits_set(abc_mshrs_13_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_13_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_13_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_13_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_13_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_13_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_13_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_13_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_13_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_13_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_13_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_13_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_13_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_13_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_13_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_13_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_13_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_13_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_13_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_13_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_13_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_13_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_13_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_13_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_13_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_13_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_13_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_13_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_13_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_13_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_13_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_13_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_13_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_13_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_13_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_13_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_13_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_13_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_13_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_13_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_13_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_13_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_13_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_13_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_13_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_13_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_13_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_13_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_13_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_13_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_13_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_13_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_13_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_13_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_13_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_13_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_13_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_13_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_13_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_13_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_13_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_13_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_13_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_13_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_13_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_13_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_13_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_13_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_14 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_14_clock),
    .reset(abc_mshrs_14_reset),
    .io_allocate_valid(abc_mshrs_14_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_14_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_14_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_14_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_14_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_14_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_14_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_14_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_14_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_14_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_14_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_14_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_14_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_14_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_14_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_14_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_14_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_14_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_14_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_14_io_directory_bits_way),
    .io_status_valid(abc_mshrs_14_io_status_valid),
    .io_status_bits_set(abc_mshrs_14_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_14_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_14_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_14_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_14_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_14_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_14_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_14_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_14_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_14_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_14_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_14_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_14_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_14_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_14_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_14_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_14_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_14_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_14_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_14_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_14_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_14_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_14_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_14_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_14_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_14_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_14_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_14_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_14_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_14_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_14_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_14_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_14_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_14_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_14_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_14_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_14_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_14_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_14_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_14_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_14_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_14_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_14_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_14_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_14_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_14_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_14_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_14_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_14_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_14_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_14_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_14_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_14_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_14_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_14_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_14_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_14_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_14_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_14_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_14_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_14_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_14_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_14_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_14_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_14_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_14_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_14_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_14_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_15 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_15_clock),
    .reset(abc_mshrs_15_reset),
    .io_allocate_valid(abc_mshrs_15_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_15_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_15_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_15_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_15_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_15_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_15_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_15_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_15_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_15_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_15_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_15_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_15_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_15_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_15_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_15_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_15_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_15_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_15_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_15_io_directory_bits_way),
    .io_status_valid(abc_mshrs_15_io_status_valid),
    .io_status_bits_set(abc_mshrs_15_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_15_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_15_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_15_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_15_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_15_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_15_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_15_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_15_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_15_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_15_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_15_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_15_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_15_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_15_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_15_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_15_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_15_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_15_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_15_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_15_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_15_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_15_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_15_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_15_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_15_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_15_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_15_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_15_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_15_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_15_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_15_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_15_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_15_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_15_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_15_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_15_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_15_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_15_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_15_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_15_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_15_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_15_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_15_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_15_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_15_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_15_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_15_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_15_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_15_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_15_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_15_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_15_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_15_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_15_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_15_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_15_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_15_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_15_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_15_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_15_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_15_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_15_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_15_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_15_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_15_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_15_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_15_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_16 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_16_clock),
    .reset(abc_mshrs_16_reset),
    .io_allocate_valid(abc_mshrs_16_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_16_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_16_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_16_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_16_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_16_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_16_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_16_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_16_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_16_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_16_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_16_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_16_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_16_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_16_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_16_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_16_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_16_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_16_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_16_io_directory_bits_way),
    .io_status_valid(abc_mshrs_16_io_status_valid),
    .io_status_bits_set(abc_mshrs_16_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_16_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_16_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_16_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_16_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_16_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_16_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_16_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_16_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_16_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_16_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_16_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_16_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_16_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_16_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_16_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_16_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_16_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_16_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_16_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_16_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_16_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_16_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_16_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_16_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_16_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_16_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_16_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_16_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_16_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_16_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_16_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_16_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_16_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_16_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_16_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_16_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_16_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_16_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_16_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_16_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_16_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_16_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_16_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_16_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_16_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_16_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_16_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_16_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_16_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_16_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_16_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_16_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_16_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_16_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_16_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_16_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_16_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_16_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_16_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_16_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_16_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_16_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_16_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_16_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_16_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_16_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_16_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_17 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_17_clock),
    .reset(abc_mshrs_17_reset),
    .io_allocate_valid(abc_mshrs_17_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_17_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_17_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_17_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_17_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_17_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_17_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_17_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_17_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_17_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_17_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_17_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_17_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_17_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_17_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_17_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_17_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_17_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_17_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_17_io_directory_bits_way),
    .io_status_valid(abc_mshrs_17_io_status_valid),
    .io_status_bits_set(abc_mshrs_17_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_17_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_17_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_17_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_17_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_17_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_17_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_17_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_17_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_17_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_17_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_17_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_17_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_17_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_17_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_17_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_17_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_17_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_17_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_17_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_17_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_17_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_17_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_17_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_17_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_17_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_17_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_17_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_17_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_17_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_17_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_17_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_17_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_17_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_17_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_17_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_17_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_17_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_17_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_17_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_17_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_17_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_17_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_17_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_17_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_17_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_17_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_17_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_17_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_17_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_17_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_17_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_17_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_17_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_17_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_17_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_17_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_17_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_17_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_17_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_17_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_17_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_17_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_17_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_17_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_17_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_17_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_17_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_18 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_18_clock),
    .reset(abc_mshrs_18_reset),
    .io_allocate_valid(abc_mshrs_18_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_18_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_18_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_18_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_18_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_18_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_18_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_18_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_18_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_18_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_18_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_18_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_18_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_18_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_18_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_18_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_18_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_18_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_18_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_18_io_directory_bits_way),
    .io_status_valid(abc_mshrs_18_io_status_valid),
    .io_status_bits_set(abc_mshrs_18_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_18_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_18_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_18_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_18_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_18_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_18_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_18_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_18_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_18_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_18_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_18_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_18_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_18_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_18_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_18_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_18_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_18_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_18_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_18_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_18_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_18_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_18_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_18_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_18_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_18_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_18_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_18_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_18_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_18_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_18_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_18_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_18_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_18_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_18_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_18_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_18_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_18_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_18_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_18_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_18_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_18_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_18_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_18_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_18_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_18_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_18_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_18_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_18_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_18_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_18_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_18_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_18_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_18_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_18_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_18_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_18_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_18_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_18_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_18_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_18_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_18_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_18_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_18_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_18_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_18_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_18_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_18_io_nestedwb_c_set_dirty)
  );
  MSHR abc_mshrs_19 ( // @[Scheduler.scala 69:46]
    .clock(abc_mshrs_19_clock),
    .reset(abc_mshrs_19_reset),
    .io_allocate_valid(abc_mshrs_19_io_allocate_valid),
    .io_allocate_bits_prio_0(abc_mshrs_19_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(abc_mshrs_19_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(abc_mshrs_19_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(abc_mshrs_19_io_allocate_bits_opcode),
    .io_allocate_bits_param(abc_mshrs_19_io_allocate_bits_param),
    .io_allocate_bits_size(abc_mshrs_19_io_allocate_bits_size),
    .io_allocate_bits_source(abc_mshrs_19_io_allocate_bits_source),
    .io_allocate_bits_tag(abc_mshrs_19_io_allocate_bits_tag),
    .io_allocate_bits_offset(abc_mshrs_19_io_allocate_bits_offset),
    .io_allocate_bits_put(abc_mshrs_19_io_allocate_bits_put),
    .io_allocate_bits_set(abc_mshrs_19_io_allocate_bits_set),
    .io_allocate_bits_repeat(abc_mshrs_19_io_allocate_bits_repeat),
    .io_directory_valid(abc_mshrs_19_io_directory_valid),
    .io_directory_bits_dirty(abc_mshrs_19_io_directory_bits_dirty),
    .io_directory_bits_state(abc_mshrs_19_io_directory_bits_state),
    .io_directory_bits_clients(abc_mshrs_19_io_directory_bits_clients),
    .io_directory_bits_tag(abc_mshrs_19_io_directory_bits_tag),
    .io_directory_bits_hit(abc_mshrs_19_io_directory_bits_hit),
    .io_directory_bits_way(abc_mshrs_19_io_directory_bits_way),
    .io_status_valid(abc_mshrs_19_io_status_valid),
    .io_status_bits_set(abc_mshrs_19_io_status_bits_set),
    .io_status_bits_tag(abc_mshrs_19_io_status_bits_tag),
    .io_status_bits_way(abc_mshrs_19_io_status_bits_way),
    .io_status_bits_blockB(abc_mshrs_19_io_status_bits_blockB),
    .io_status_bits_nestB(abc_mshrs_19_io_status_bits_nestB),
    .io_status_bits_blockC(abc_mshrs_19_io_status_bits_blockC),
    .io_status_bits_nestC(abc_mshrs_19_io_status_bits_nestC),
    .io_schedule_ready(abc_mshrs_19_io_schedule_ready),
    .io_schedule_valid(abc_mshrs_19_io_schedule_valid),
    .io_schedule_bits_a_valid(abc_mshrs_19_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(abc_mshrs_19_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(abc_mshrs_19_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(abc_mshrs_19_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(abc_mshrs_19_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(abc_mshrs_19_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(abc_mshrs_19_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(abc_mshrs_19_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(abc_mshrs_19_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(abc_mshrs_19_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(abc_mshrs_19_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(abc_mshrs_19_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(abc_mshrs_19_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(abc_mshrs_19_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(abc_mshrs_19_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(abc_mshrs_19_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(abc_mshrs_19_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(abc_mshrs_19_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(abc_mshrs_19_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(abc_mshrs_19_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(abc_mshrs_19_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(abc_mshrs_19_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(abc_mshrs_19_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(abc_mshrs_19_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(abc_mshrs_19_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(abc_mshrs_19_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(abc_mshrs_19_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(abc_mshrs_19_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(abc_mshrs_19_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(abc_mshrs_19_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(abc_mshrs_19_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(abc_mshrs_19_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(abc_mshrs_19_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(abc_mshrs_19_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(abc_mshrs_19_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(abc_mshrs_19_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(abc_mshrs_19_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(abc_mshrs_19_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(abc_mshrs_19_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(abc_mshrs_19_io_schedule_bits_reload),
    .io_sinkc_valid(abc_mshrs_19_io_sinkc_valid),
    .io_sinkc_bits_last(abc_mshrs_19_io_sinkc_bits_last),
    .io_sinkc_bits_tag(abc_mshrs_19_io_sinkc_bits_tag),
    .io_sinkc_bits_source(abc_mshrs_19_io_sinkc_bits_source),
    .io_sinkc_bits_param(abc_mshrs_19_io_sinkc_bits_param),
    .io_sinkc_bits_data(abc_mshrs_19_io_sinkc_bits_data),
    .io_sinkd_valid(abc_mshrs_19_io_sinkd_valid),
    .io_sinkd_bits_last(abc_mshrs_19_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(abc_mshrs_19_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(abc_mshrs_19_io_sinkd_bits_param),
    .io_sinkd_bits_sink(abc_mshrs_19_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(abc_mshrs_19_io_sinkd_bits_denied),
    .io_sinke_valid(abc_mshrs_19_io_sinke_valid),
    .io_nestedwb_set(abc_mshrs_19_io_nestedwb_set),
    .io_nestedwb_tag(abc_mshrs_19_io_nestedwb_tag),
    .io_nestedwb_b_toN(abc_mshrs_19_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(abc_mshrs_19_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(abc_mshrs_19_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(abc_mshrs_19_io_nestedwb_c_set_dirty)
  );
  MSHR bc_mshr ( // @[Scheduler.scala 69:46]
    .clock(bc_mshr_clock),
    .reset(bc_mshr_reset),
    .io_allocate_valid(bc_mshr_io_allocate_valid),
    .io_allocate_bits_prio_0(bc_mshr_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(bc_mshr_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(bc_mshr_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(bc_mshr_io_allocate_bits_opcode),
    .io_allocate_bits_param(bc_mshr_io_allocate_bits_param),
    .io_allocate_bits_size(bc_mshr_io_allocate_bits_size),
    .io_allocate_bits_source(bc_mshr_io_allocate_bits_source),
    .io_allocate_bits_tag(bc_mshr_io_allocate_bits_tag),
    .io_allocate_bits_offset(bc_mshr_io_allocate_bits_offset),
    .io_allocate_bits_put(bc_mshr_io_allocate_bits_put),
    .io_allocate_bits_set(bc_mshr_io_allocate_bits_set),
    .io_allocate_bits_repeat(bc_mshr_io_allocate_bits_repeat),
    .io_directory_valid(bc_mshr_io_directory_valid),
    .io_directory_bits_dirty(bc_mshr_io_directory_bits_dirty),
    .io_directory_bits_state(bc_mshr_io_directory_bits_state),
    .io_directory_bits_clients(bc_mshr_io_directory_bits_clients),
    .io_directory_bits_tag(bc_mshr_io_directory_bits_tag),
    .io_directory_bits_hit(bc_mshr_io_directory_bits_hit),
    .io_directory_bits_way(bc_mshr_io_directory_bits_way),
    .io_status_valid(bc_mshr_io_status_valid),
    .io_status_bits_set(bc_mshr_io_status_bits_set),
    .io_status_bits_tag(bc_mshr_io_status_bits_tag),
    .io_status_bits_way(bc_mshr_io_status_bits_way),
    .io_status_bits_blockB(bc_mshr_io_status_bits_blockB),
    .io_status_bits_nestB(bc_mshr_io_status_bits_nestB),
    .io_status_bits_blockC(bc_mshr_io_status_bits_blockC),
    .io_status_bits_nestC(bc_mshr_io_status_bits_nestC),
    .io_schedule_ready(bc_mshr_io_schedule_ready),
    .io_schedule_valid(bc_mshr_io_schedule_valid),
    .io_schedule_bits_a_valid(bc_mshr_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(bc_mshr_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(bc_mshr_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(bc_mshr_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(bc_mshr_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(bc_mshr_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(bc_mshr_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(bc_mshr_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(bc_mshr_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(bc_mshr_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(bc_mshr_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(bc_mshr_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(bc_mshr_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(bc_mshr_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(bc_mshr_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(bc_mshr_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(bc_mshr_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(bc_mshr_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(bc_mshr_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(bc_mshr_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(bc_mshr_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(bc_mshr_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(bc_mshr_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(bc_mshr_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(bc_mshr_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(bc_mshr_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(bc_mshr_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(bc_mshr_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(bc_mshr_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(bc_mshr_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(bc_mshr_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(bc_mshr_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(bc_mshr_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(bc_mshr_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(bc_mshr_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(bc_mshr_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(bc_mshr_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(bc_mshr_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(bc_mshr_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(bc_mshr_io_schedule_bits_reload),
    .io_sinkc_valid(bc_mshr_io_sinkc_valid),
    .io_sinkc_bits_last(bc_mshr_io_sinkc_bits_last),
    .io_sinkc_bits_tag(bc_mshr_io_sinkc_bits_tag),
    .io_sinkc_bits_source(bc_mshr_io_sinkc_bits_source),
    .io_sinkc_bits_param(bc_mshr_io_sinkc_bits_param),
    .io_sinkc_bits_data(bc_mshr_io_sinkc_bits_data),
    .io_sinkd_valid(bc_mshr_io_sinkd_valid),
    .io_sinkd_bits_last(bc_mshr_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(bc_mshr_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(bc_mshr_io_sinkd_bits_param),
    .io_sinkd_bits_sink(bc_mshr_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(bc_mshr_io_sinkd_bits_denied),
    .io_sinke_valid(bc_mshr_io_sinke_valid),
    .io_nestedwb_set(bc_mshr_io_nestedwb_set),
    .io_nestedwb_tag(bc_mshr_io_nestedwb_tag),
    .io_nestedwb_b_toN(bc_mshr_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(bc_mshr_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(bc_mshr_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(bc_mshr_io_nestedwb_c_set_dirty)
  );
  MSHR c_mshr ( // @[Scheduler.scala 69:46]
    .clock(c_mshr_clock),
    .reset(c_mshr_reset),
    .io_allocate_valid(c_mshr_io_allocate_valid),
    .io_allocate_bits_prio_0(c_mshr_io_allocate_bits_prio_0),
    .io_allocate_bits_prio_1(c_mshr_io_allocate_bits_prio_1),
    .io_allocate_bits_prio_2(c_mshr_io_allocate_bits_prio_2),
    .io_allocate_bits_opcode(c_mshr_io_allocate_bits_opcode),
    .io_allocate_bits_param(c_mshr_io_allocate_bits_param),
    .io_allocate_bits_size(c_mshr_io_allocate_bits_size),
    .io_allocate_bits_source(c_mshr_io_allocate_bits_source),
    .io_allocate_bits_tag(c_mshr_io_allocate_bits_tag),
    .io_allocate_bits_offset(c_mshr_io_allocate_bits_offset),
    .io_allocate_bits_put(c_mshr_io_allocate_bits_put),
    .io_allocate_bits_set(c_mshr_io_allocate_bits_set),
    .io_allocate_bits_repeat(c_mshr_io_allocate_bits_repeat),
    .io_directory_valid(c_mshr_io_directory_valid),
    .io_directory_bits_dirty(c_mshr_io_directory_bits_dirty),
    .io_directory_bits_state(c_mshr_io_directory_bits_state),
    .io_directory_bits_clients(c_mshr_io_directory_bits_clients),
    .io_directory_bits_tag(c_mshr_io_directory_bits_tag),
    .io_directory_bits_hit(c_mshr_io_directory_bits_hit),
    .io_directory_bits_way(c_mshr_io_directory_bits_way),
    .io_status_valid(c_mshr_io_status_valid),
    .io_status_bits_set(c_mshr_io_status_bits_set),
    .io_status_bits_tag(c_mshr_io_status_bits_tag),
    .io_status_bits_way(c_mshr_io_status_bits_way),
    .io_status_bits_blockB(c_mshr_io_status_bits_blockB),
    .io_status_bits_nestB(c_mshr_io_status_bits_nestB),
    .io_status_bits_blockC(c_mshr_io_status_bits_blockC),
    .io_status_bits_nestC(c_mshr_io_status_bits_nestC),
    .io_schedule_ready(c_mshr_io_schedule_ready),
    .io_schedule_valid(c_mshr_io_schedule_valid),
    .io_schedule_bits_a_valid(c_mshr_io_schedule_bits_a_valid),
    .io_schedule_bits_a_bits_tag(c_mshr_io_schedule_bits_a_bits_tag),
    .io_schedule_bits_a_bits_set(c_mshr_io_schedule_bits_a_bits_set),
    .io_schedule_bits_a_bits_param(c_mshr_io_schedule_bits_a_bits_param),
    .io_schedule_bits_a_bits_block(c_mshr_io_schedule_bits_a_bits_block),
    .io_schedule_bits_b_valid(c_mshr_io_schedule_bits_b_valid),
    .io_schedule_bits_b_bits_param(c_mshr_io_schedule_bits_b_bits_param),
    .io_schedule_bits_b_bits_tag(c_mshr_io_schedule_bits_b_bits_tag),
    .io_schedule_bits_b_bits_set(c_mshr_io_schedule_bits_b_bits_set),
    .io_schedule_bits_b_bits_clients(c_mshr_io_schedule_bits_b_bits_clients),
    .io_schedule_bits_c_valid(c_mshr_io_schedule_bits_c_valid),
    .io_schedule_bits_c_bits_opcode(c_mshr_io_schedule_bits_c_bits_opcode),
    .io_schedule_bits_c_bits_param(c_mshr_io_schedule_bits_c_bits_param),
    .io_schedule_bits_c_bits_tag(c_mshr_io_schedule_bits_c_bits_tag),
    .io_schedule_bits_c_bits_set(c_mshr_io_schedule_bits_c_bits_set),
    .io_schedule_bits_c_bits_way(c_mshr_io_schedule_bits_c_bits_way),
    .io_schedule_bits_c_bits_dirty(c_mshr_io_schedule_bits_c_bits_dirty),
    .io_schedule_bits_d_valid(c_mshr_io_schedule_bits_d_valid),
    .io_schedule_bits_d_bits_prio_0(c_mshr_io_schedule_bits_d_bits_prio_0),
    .io_schedule_bits_d_bits_prio_2(c_mshr_io_schedule_bits_d_bits_prio_2),
    .io_schedule_bits_d_bits_opcode(c_mshr_io_schedule_bits_d_bits_opcode),
    .io_schedule_bits_d_bits_param(c_mshr_io_schedule_bits_d_bits_param),
    .io_schedule_bits_d_bits_size(c_mshr_io_schedule_bits_d_bits_size),
    .io_schedule_bits_d_bits_source(c_mshr_io_schedule_bits_d_bits_source),
    .io_schedule_bits_d_bits_offset(c_mshr_io_schedule_bits_d_bits_offset),
    .io_schedule_bits_d_bits_put(c_mshr_io_schedule_bits_d_bits_put),
    .io_schedule_bits_d_bits_set(c_mshr_io_schedule_bits_d_bits_set),
    .io_schedule_bits_d_bits_way(c_mshr_io_schedule_bits_d_bits_way),
    .io_schedule_bits_d_bits_bad(c_mshr_io_schedule_bits_d_bits_bad),
    .io_schedule_bits_e_valid(c_mshr_io_schedule_bits_e_valid),
    .io_schedule_bits_e_bits_sink(c_mshr_io_schedule_bits_e_bits_sink),
    .io_schedule_bits_x_valid(c_mshr_io_schedule_bits_x_valid),
    .io_schedule_bits_dir_valid(c_mshr_io_schedule_bits_dir_valid),
    .io_schedule_bits_dir_bits_set(c_mshr_io_schedule_bits_dir_bits_set),
    .io_schedule_bits_dir_bits_way(c_mshr_io_schedule_bits_dir_bits_way),
    .io_schedule_bits_dir_bits_data_dirty(c_mshr_io_schedule_bits_dir_bits_data_dirty),
    .io_schedule_bits_dir_bits_data_state(c_mshr_io_schedule_bits_dir_bits_data_state),
    .io_schedule_bits_dir_bits_data_clients(c_mshr_io_schedule_bits_dir_bits_data_clients),
    .io_schedule_bits_dir_bits_data_tag(c_mshr_io_schedule_bits_dir_bits_data_tag),
    .io_schedule_bits_reload(c_mshr_io_schedule_bits_reload),
    .io_sinkc_valid(c_mshr_io_sinkc_valid),
    .io_sinkc_bits_last(c_mshr_io_sinkc_bits_last),
    .io_sinkc_bits_tag(c_mshr_io_sinkc_bits_tag),
    .io_sinkc_bits_source(c_mshr_io_sinkc_bits_source),
    .io_sinkc_bits_param(c_mshr_io_sinkc_bits_param),
    .io_sinkc_bits_data(c_mshr_io_sinkc_bits_data),
    .io_sinkd_valid(c_mshr_io_sinkd_valid),
    .io_sinkd_bits_last(c_mshr_io_sinkd_bits_last),
    .io_sinkd_bits_opcode(c_mshr_io_sinkd_bits_opcode),
    .io_sinkd_bits_param(c_mshr_io_sinkd_bits_param),
    .io_sinkd_bits_sink(c_mshr_io_sinkd_bits_sink),
    .io_sinkd_bits_denied(c_mshr_io_sinkd_bits_denied),
    .io_sinke_valid(c_mshr_io_sinke_valid),
    .io_nestedwb_set(c_mshr_io_nestedwb_set),
    .io_nestedwb_tag(c_mshr_io_nestedwb_tag),
    .io_nestedwb_b_toN(c_mshr_io_nestedwb_b_toN),
    .io_nestedwb_b_toB(c_mshr_io_nestedwb_b_toB),
    .io_nestedwb_b_clr_dirty(c_mshr_io_nestedwb_b_clr_dirty),
    .io_nestedwb_c_set_dirty(c_mshr_io_nestedwb_c_set_dirty)
  );
  assign io_in_a_ready = sinkA_io_a_ready; // @[Scheduler.scala 58:14]
  assign io_in_b_valid = sourceB_io_b_valid; // @[Scheduler.scala 48:11]
  assign io_in_b_bits_param = sourceB_io_b_bits_param; // @[Scheduler.scala 48:11]
  assign io_in_b_bits_address = sourceB_io_b_bits_address; // @[Scheduler.scala 48:11]
  assign io_in_c_ready = sinkC_io_c_ready; // @[Scheduler.scala 59:14]
  assign io_in_d_valid = sourceD_io_d_valid; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_opcode = sourceD_io_d_bits_opcode; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_param = sourceD_io_d_bits_param; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_size = sourceD_io_d_bits_size; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_source = sourceD_io_d_bits_source; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_sink = sourceD_io_d_bits_sink; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_denied = sourceD_io_d_bits_denied; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_data = sourceD_io_d_bits_data; // @[Scheduler.scala 49:11]
  assign io_in_d_bits_corrupt = sourceD_io_d_bits_corrupt; // @[Scheduler.scala 49:11]
  assign io_out_a_valid = sourceA_io_a_valid; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_opcode = sourceA_io_a_bits_opcode; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_param = sourceA_io_a_bits_param; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_size = sourceA_io_a_bits_size; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_source = sourceA_io_a_bits_source; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_address = sourceA_io_a_bits_address; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_mask = sourceA_io_a_bits_mask; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_data = sourceA_io_a_bits_data; // @[Scheduler.scala 45:12]
  assign io_out_a_bits_corrupt = sourceA_io_a_bits_corrupt; // @[Scheduler.scala 45:12]
  assign io_out_c_valid = sourceC_io_c_valid; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_opcode = sourceC_io_c_bits_opcode; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_param = sourceC_io_c_bits_param; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_size = sourceC_io_c_bits_size; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_source = sourceC_io_c_bits_source; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_address = sourceC_io_c_bits_address; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_data = sourceC_io_c_bits_data; // @[Scheduler.scala 46:12]
  assign io_out_c_bits_corrupt = sourceC_io_c_bits_corrupt; // @[Scheduler.scala 46:12]
  assign io_out_d_ready = sinkD_io_d_ready; // @[Scheduler.scala 61:14]
  assign io_out_e_valid = sourceE_io_e_valid; // @[Scheduler.scala 47:12]
  assign io_out_e_bits_sink = sourceE_io_e_bits_sink; // @[Scheduler.scala 47:12]
  assign sourceA_clock = clock;
  assign sourceA_reset = reset;
  assign sourceA_io_req_valid = _schedule_T_2036 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_a_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_a_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_a_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_a_valid | mshr_selectOH[20
    ] & bc_mshr_io_schedule_bits_a_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_a_valid; // @[Mux.scala 27:73]
  assign sourceA_io_req_bits_tag = _schedule_T_1998 | _schedule_T_1978; // @[Mux.scala 27:73]
  assign sourceA_io_req_bits_set = _schedule_T_1955 | _schedule_T_1935; // @[Mux.scala 27:73]
  assign sourceA_io_req_bits_param = _schedule_T_1912 | _schedule_T_1892; // @[Mux.scala 27:73]
  assign sourceA_io_req_bits_source = {_mshr_select_T,_mshr_select_T_11}; // @[Cat.scala 33:92]
  assign sourceA_io_req_bits_block = _schedule_T_1821 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_a_bits_block
     | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_a_bits_block | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_a_bits_block | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_a_bits_block |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_a_bits_block | mshr_selectOH[21] & c_mshr_io_schedule_bits_a_bits_block
    ; // @[Mux.scala 27:73]
  assign sourceA_io_a_ready = io_out_a_ready; // @[Scheduler.scala 45:12]
  assign sourceB_clock = clock;
  assign sourceB_reset = reset;
  assign sourceB_io_req_valid = _schedule_T_1778 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_b_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_b_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_b_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_b_valid | mshr_selectOH[20
    ] & bc_mshr_io_schedule_bits_b_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_b_valid; // @[Mux.scala 27:73]
  assign sourceB_io_req_bits_param = _schedule_T_1740 | _schedule_T_1720; // @[Mux.scala 27:73]
  assign sourceB_io_req_bits_tag = _schedule_T_1697 | _schedule_T_1677; // @[Mux.scala 27:73]
  assign sourceB_io_req_bits_set = _schedule_T_1654 | _schedule_T_1634; // @[Mux.scala 27:73]
  assign sourceB_io_req_bits_clients = _schedule_T_1606 | mshr_selectOH[16] &
    abc_mshrs_16_io_schedule_bits_b_bits_clients | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_b_bits_clients |
    mshr_selectOH[18] & abc_mshrs_18_io_schedule_bits_b_bits_clients | mshr_selectOH[19] &
    abc_mshrs_19_io_schedule_bits_b_bits_clients | mshr_selectOH[20] & bc_mshr_io_schedule_bits_b_bits_clients |
    mshr_selectOH[21] & c_mshr_io_schedule_bits_b_bits_clients; // @[Mux.scala 27:73]
  assign sourceB_io_b_ready = io_in_b_ready; // @[Scheduler.scala 48:11]
  assign sourceC_clock = clock;
  assign sourceC_reset = reset;
  assign sourceC_io_req_valid = _schedule_T_1563 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_c_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_c_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_c_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_c_valid | mshr_selectOH[20
    ] & bc_mshr_io_schedule_bits_c_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_c_valid; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_opcode = _schedule_T_1525 | _schedule_T_1505; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_param = _schedule_T_1482 | _schedule_T_1462; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_source = schedule_c_bits_opcode[1] ? mshr_select : 5'h0; // @[Scheduler.scala 130:32]
  assign sourceC_io_req_bits_tag = _schedule_T_1396 | _schedule_T_1376; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_set = _schedule_T_1353 | _schedule_T_1333; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_way = _schedule_T_1305 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_c_bits_way |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_c_bits_way | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_c_bits_way | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_c_bits_way |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_c_bits_way | mshr_selectOH[21] & c_mshr_io_schedule_bits_c_bits_way; // @[Mux.scala 27:73]
  assign sourceC_io_req_bits_dirty = _schedule_T_1262 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_c_bits_dirty
     | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_c_bits_dirty | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_c_bits_dirty | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_c_bits_dirty |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_c_bits_dirty | mshr_selectOH[21] & c_mshr_io_schedule_bits_c_bits_dirty
    ; // @[Mux.scala 27:73]
  assign sourceC_io_c_ready = io_out_c_ready; // @[Scheduler.scala 46:12]
  assign sourceC_io_bs_adr_ready = bankedStore_io_sourceC_adr_ready; // @[Scheduler.scala 322:30]
  assign sourceC_io_bs_dat_data = bankedStore_io_sourceC_dat_data; // @[Scheduler.scala 326:21]
  assign sourceC_io_evict_safe = sourceD_io_evict_safe; // @[Scheduler.scala 332:25]
  assign sourceD_clock = clock;
  assign sourceD_reset = reset;
  assign sourceD_io_req_valid = _schedule_T_1219 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_d_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_d_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_d_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_d_valid | mshr_selectOH[20
    ] & bc_mshr_io_schedule_bits_d_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_d_valid; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_prio_0 = _schedule_T_1090 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_d_bits_prio_0
     | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_d_bits_prio_0 |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_d_bits_prio_0 | mshr_selectOH[21] &
    c_mshr_io_schedule_bits_d_bits_prio_0; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_prio_2 = _schedule_T_1176 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_d_bits_prio_2
     | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_d_bits_prio_2 |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_d_bits_prio_2 | mshr_selectOH[21] &
    c_mshr_io_schedule_bits_d_bits_prio_2; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_opcode = _schedule_T_1009 | _schedule_T_989; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_param = _schedule_T_966 | _schedule_T_946; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_size = _schedule_T_923 | _schedule_T_903; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_source = _schedule_T_880 | _schedule_T_860; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_offset = _schedule_T_794 | _schedule_T_774; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_put = _schedule_T_751 | _schedule_T_731; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_set = _schedule_T_708 | _schedule_T_688; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_sink = {_mshr_select_T,_mshr_select_T_11}; // @[Cat.scala 33:92]
  assign sourceD_io_req_bits_way = _schedule_T_617 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_d_bits_way |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_d_bits_way | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_d_bits_way | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_d_bits_way |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_d_bits_way | mshr_selectOH[21] & c_mshr_io_schedule_bits_d_bits_way; // @[Mux.scala 27:73]
  assign sourceD_io_req_bits_bad = _schedule_T_574 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_d_bits_bad |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_d_bits_bad | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_d_bits_bad | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_d_bits_bad |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_d_bits_bad | mshr_selectOH[21] & c_mshr_io_schedule_bits_d_bits_bad; // @[Mux.scala 27:73]
  assign sourceD_io_d_ready = io_in_d_ready; // @[Scheduler.scala 49:11]
  assign sourceD_io_pb_pop_ready = sinkA_io_pb_pop_ready; // @[Scheduler.scala 312:19]
  assign sourceD_io_pb_beat_data = sinkA_io_pb_beat_data; // @[Scheduler.scala 313:22]
  assign sourceD_io_pb_beat_mask = sinkA_io_pb_beat_mask; // @[Scheduler.scala 313:22]
  assign sourceD_io_pb_beat_corrupt = sinkA_io_pb_beat_corrupt; // @[Scheduler.scala 313:22]
  assign sourceD_io_rel_pop_ready = sinkC_io_rel_pop_ready; // @[Scheduler.scala 314:20]
  assign sourceD_io_rel_beat_data = sinkC_io_rel_beat_data; // @[Scheduler.scala 315:23]
  assign sourceD_io_rel_beat_corrupt = sinkC_io_rel_beat_corrupt; // @[Scheduler.scala 315:23]
  assign sourceD_io_bs_radr_ready = bankedStore_io_sourceD_radr_ready; // @[Scheduler.scala 323:31]
  assign sourceD_io_bs_rdat_data = bankedStore_io_sourceD_rdat_data; // @[Scheduler.scala 327:22]
  assign sourceD_io_bs_wadr_ready = bankedStore_io_sourceD_wadr_ready; // @[Scheduler.scala 324:31]
  assign sourceD_io_evict_req_set = sourceC_io_evict_req_set; // @[Scheduler.scala 330:24]
  assign sourceD_io_evict_req_way = sourceC_io_evict_req_way; // @[Scheduler.scala 330:24]
  assign sourceD_io_grant_req_set = sinkD_io_grant_req_set; // @[Scheduler.scala 331:24]
  assign sourceD_io_grant_req_way = sinkD_io_grant_req_way; // @[Scheduler.scala 331:24]
  assign sourceE_clock = clock;
  assign sourceE_reset = reset;
  assign sourceE_io_req_valid = _schedule_T_531 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_e_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_e_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_e_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_e_valid | mshr_selectOH[20
    ] & bc_mshr_io_schedule_bits_e_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_e_valid; // @[Mux.scala 27:73]
  assign sourceE_io_req_bits_sink = _schedule_T_493 | _schedule_T_473; // @[Mux.scala 27:73]
  assign sinkA_clock = clock;
  assign sinkA_reset = reset;
  assign sinkA_io_req_ready = _sinkC_io_req_ready_T & _sinkX_io_req_ready_T_1; // @[Scheduler.scala 158:61]
  assign sinkA_io_a_valid = io_in_a_valid; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_opcode = io_in_a_bits_opcode; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_param = io_in_a_bits_param; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_size = io_in_a_bits_size; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_source = io_in_a_bits_source; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_address = io_in_a_bits_address; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_mask = io_in_a_bits_mask; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_data = io_in_a_bits_data; // @[Scheduler.scala 58:14]
  assign sinkA_io_a_bits_corrupt = io_in_a_bits_corrupt; // @[Scheduler.scala 58:14]
  assign sinkA_io_pb_pop_valid = sourceD_io_pb_pop_valid; // @[Scheduler.scala 312:19]
  assign sinkA_io_pb_pop_bits_index = sourceD_io_pb_pop_bits_index; // @[Scheduler.scala 312:19]
  assign sinkA_io_pb_pop_bits_last = sourceD_io_pb_pop_bits_last; // @[Scheduler.scala 312:19]
  assign sinkC_clock = clock;
  assign sinkC_reset = reset;
  assign sinkC_io_req_ready = directory_io_ready & request_ready; // @[Scheduler.scala 156:44]
  assign sinkC_io_c_valid = io_in_c_valid; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_opcode = io_in_c_bits_opcode; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_param = io_in_c_bits_param; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_size = io_in_c_bits_size; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_address = io_in_c_bits_address; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_data = io_in_c_bits_data; // @[Scheduler.scala 59:14]
  assign sinkC_io_c_bits_corrupt = io_in_c_bits_corrupt; // @[Scheduler.scala 59:14]
  assign sinkC_io_way = bc_mshr_io_status_valid & bc_mshr_io_status_bits_set == sinkC_io_set ?
    bc_mshr_io_status_bits_way : _sinkC_io_way_T_80; // @[Scheduler.scala 304:8]
  assign sinkC_io_bs_adr_ready = bankedStore_io_sinkC_adr_ready; // @[Scheduler.scala 318:28]
  assign sinkC_io_rel_pop_valid = sourceD_io_rel_pop_valid; // @[Scheduler.scala 314:20]
  assign sinkC_io_rel_pop_bits_index = sourceD_io_rel_pop_bits_index; // @[Scheduler.scala 314:20]
  assign sinkC_io_rel_pop_bits_last = sourceD_io_rel_pop_bits_last; // @[Scheduler.scala 314:20]
  assign sinkD_clock = clock;
  assign sinkD_reset = reset;
  assign sinkD_io_d_valid = io_out_d_valid; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_opcode = io_out_d_bits_opcode; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_param = io_out_d_bits_param; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_size = io_out_d_bits_size; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_source = io_out_d_bits_source; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_sink = io_out_d_bits_sink; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_denied = io_out_d_bits_denied; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_data = io_out_d_bits_data; // @[Scheduler.scala 61:14]
  assign sinkD_io_d_bits_corrupt = io_out_d_bits_corrupt; // @[Scheduler.scala 61:14]
  assign sinkD_io_way = 5'h15 == sinkD_io_source ? c_mshr_io_status_bits_way : _GEN_357; // @[Scheduler.scala 308:{16,16}]
  assign sinkD_io_set = 5'h15 == sinkD_io_source ? _sinkD_io_set_WIRE_21 : _GEN_379; // @[Scheduler.scala 309:{16,16}]
  assign sinkD_io_bs_adr_ready = bankedStore_io_sinkD_adr_ready; // @[Scheduler.scala 320:28]
  assign sinkD_io_grant_safe = sourceD_io_grant_safe; // @[Scheduler.scala 333:25]
  assign sinkE_io_e_valid = io_in_e_valid; // @[Scheduler.scala 60:14]
  assign sinkE_io_e_bits_sink = io_in_e_bits_sink; // @[Scheduler.scala 60:14]
  assign directory_clock = clock;
  assign directory_reset = reset;
  assign directory_io_write_valid = _schedule_T_359 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_dir_valid |
    mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_dir_valid | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_dir_valid | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_dir_valid |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid | mshr_selectOH[21] & c_mshr_io_schedule_bits_dir_valid; // @[Mux.scala 27:73]
  assign directory_io_write_bits_set = _schedule_T_321 | _schedule_T_301; // @[Mux.scala 27:73]
  assign directory_io_write_bits_way = _schedule_T_273 | mshr_selectOH[16] & abc_mshrs_16_io_schedule_bits_dir_bits_way
     | mshr_selectOH[17] & abc_mshrs_17_io_schedule_bits_dir_bits_way | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_dir_bits_way | mshr_selectOH[19] & abc_mshrs_19_io_schedule_bits_dir_bits_way |
    mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_bits_way | mshr_selectOH[21] & c_mshr_io_schedule_bits_dir_bits_way
    ; // @[Mux.scala 27:73]
  assign directory_io_write_bits_data_dirty = _schedule_T_230 | mshr_selectOH[16] &
    abc_mshrs_16_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[17] &
    abc_mshrs_17_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[19] &
    abc_mshrs_19_io_schedule_bits_dir_bits_data_dirty | mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_bits_data_dirty
     | mshr_selectOH[21] & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Mux.scala 27:73]
  assign directory_io_write_bits_data_state = _schedule_T_192 | _schedule_T_172; // @[Mux.scala 27:73]
  assign directory_io_write_bits_data_clients = _schedule_T_144 | mshr_selectOH[16] &
    abc_mshrs_16_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[17] &
    abc_mshrs_17_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[18] &
    abc_mshrs_18_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[19] &
    abc_mshrs_19_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[20] &
    bc_mshr_io_schedule_bits_dir_bits_data_clients | mshr_selectOH[21] & c_mshr_io_schedule_bits_dir_bits_data_clients; // @[Mux.scala 27:73]
  assign directory_io_write_bits_data_tag = _schedule_T_106 | _schedule_T_86; // @[Mux.scala 27:73]
  assign directory_io_read_valid = mshr_uses_directory | alloc_uses_directory; // @[Scheduler.scala 254:50]
  assign directory_io_read_bits_set = mshr_uses_directory_for_lb ? scheduleSet : request_bits_set; // @[Scheduler.scala 255:36]
  assign directory_io_read_bits_tag = mshr_uses_directory_for_lb ? requests_io_data_tag : request_bits_tag; // @[Scheduler.scala 256:36]
  assign bankedStore_clock = clock;
  assign bankedStore_io_sinkC_adr_valid = sinkC_io_bs_adr_valid; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_adr_bits_noop = sinkC_io_bs_adr_bits_noop; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_adr_bits_way = sinkC_io_bs_adr_bits_way; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_adr_bits_set = sinkC_io_bs_adr_bits_set; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_adr_bits_beat = sinkC_io_bs_adr_bits_beat; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_adr_bits_mask = sinkC_io_bs_adr_bits_mask; // @[Scheduler.scala 318:28]
  assign bankedStore_io_sinkC_dat_data = sinkC_io_bs_dat_data; // @[Scheduler.scala 319:28]
  assign bankedStore_io_sinkD_adr_valid = sinkD_io_bs_adr_valid; // @[Scheduler.scala 320:28]
  assign bankedStore_io_sinkD_adr_bits_noop = sinkD_io_bs_adr_bits_noop; // @[Scheduler.scala 320:28]
  assign bankedStore_io_sinkD_adr_bits_way = sinkD_io_bs_adr_bits_way; // @[Scheduler.scala 320:28]
  assign bankedStore_io_sinkD_adr_bits_set = sinkD_io_bs_adr_bits_set; // @[Scheduler.scala 320:28]
  assign bankedStore_io_sinkD_adr_bits_beat = sinkD_io_bs_adr_bits_beat; // @[Scheduler.scala 320:28]
  assign bankedStore_io_sinkD_dat_data = sinkD_io_bs_dat_data; // @[Scheduler.scala 321:28]
  assign bankedStore_io_sourceC_adr_valid = sourceC_io_bs_adr_valid; // @[Scheduler.scala 322:30]
  assign bankedStore_io_sourceC_adr_bits_way = sourceC_io_bs_adr_bits_way; // @[Scheduler.scala 322:30]
  assign bankedStore_io_sourceC_adr_bits_set = sourceC_io_bs_adr_bits_set; // @[Scheduler.scala 322:30]
  assign bankedStore_io_sourceC_adr_bits_beat = sourceC_io_bs_adr_bits_beat; // @[Scheduler.scala 322:30]
  assign bankedStore_io_sourceD_radr_valid = sourceD_io_bs_radr_valid; // @[Scheduler.scala 323:31]
  assign bankedStore_io_sourceD_radr_bits_way = sourceD_io_bs_radr_bits_way; // @[Scheduler.scala 323:31]
  assign bankedStore_io_sourceD_radr_bits_set = sourceD_io_bs_radr_bits_set; // @[Scheduler.scala 323:31]
  assign bankedStore_io_sourceD_radr_bits_beat = sourceD_io_bs_radr_bits_beat; // @[Scheduler.scala 323:31]
  assign bankedStore_io_sourceD_radr_bits_mask = sourceD_io_bs_radr_bits_mask; // @[Scheduler.scala 323:31]
  assign bankedStore_io_sourceD_wadr_valid = sourceD_io_bs_wadr_valid; // @[Scheduler.scala 324:31]
  assign bankedStore_io_sourceD_wadr_bits_way = sourceD_io_bs_wadr_bits_way; // @[Scheduler.scala 324:31]
  assign bankedStore_io_sourceD_wadr_bits_set = sourceD_io_bs_wadr_bits_set; // @[Scheduler.scala 324:31]
  assign bankedStore_io_sourceD_wadr_bits_beat = sourceD_io_bs_wadr_bits_beat; // @[Scheduler.scala 324:31]
  assign bankedStore_io_sourceD_wadr_bits_mask = sourceD_io_bs_wadr_bits_mask; // @[Scheduler.scala 324:31]
  assign bankedStore_io_sourceD_wdat_data = sourceD_io_bs_wdat_data; // @[Scheduler.scala 325:31]
  assign requests_clock = clock;
  assign requests_reset = reset;
  assign requests_io_push_valid = _bypass_T & ~bypassQueue; // @[Scheduler.scala 259:52]
  assign requests_io_push_bits_index = _GEN_388 | _requests_io_push_bits_index_T_53; // @[Mux.scala 27:73]
  assign requests_io_push_bits_data_prio_0 = sinkC_io_req_valid ? 1'h0 : 1'h1; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_prio_2 = sinkC_io_req_valid; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_opcode = sinkC_io_req_valid ? sinkC_io_req_bits_opcode : _request_bits_T_opcode; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_param = sinkC_io_req_valid ? sinkC_io_req_bits_param : _request_bits_T_param; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_size = sinkC_io_req_valid ? sinkC_io_req_bits_size : _request_bits_T_size; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_source = sinkC_io_req_valid ? sinkC_io_req_bits_source : _request_bits_T_source; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_tag = sinkC_io_req_valid ? sinkC_io_req_bits_tag : _request_bits_T_tag; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_offset = sinkC_io_req_valid ? sinkC_io_req_bits_offset : _request_bits_T_offset; // @[Scheduler.scala 154:22]
  assign requests_io_push_bits_data_put = sinkC_io_req_valid ? sinkC_io_req_bits_put : _request_bits_T_put; // @[Scheduler.scala 154:22]
  assign requests_io_pop_valid = _mshr_uses_directory_assuming_no_bypass_T & ~bypass; // @[Scheduler.scala 204:45]
  assign requests_io_pop_bits = {_pop_index_T_2,_pop_index_T_19}; // @[Cat.scala 33:92]
  assign abc_mshrs_0_clock = clock;
  assign abc_mshrs_0_reset = reset;
  assign abc_mshrs_0_io_allocate_valid = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T |
    mshr_selectOH[0] & will_reload_1; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_0_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_0_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ? 1'h0
     : _mshrs_0_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_0_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_0_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_0_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_0_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_0_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_0_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_0_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_0_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_0_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_0_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_0_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[0] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_0_io_allocate_bits_tag == abc_mshrs_0_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_0_io_directory_valid = directoryFanout[0]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_0_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_0_io_schedule_ready = mshr_selectOH[0]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_0_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_0_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_0_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_0_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_0_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_0_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_0_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_0_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h0; // @[Scheduler.scala 78:45]
  assign abc_mshrs_0_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_0_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_0_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_0_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_0_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_0_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h0; // @[Scheduler.scala 79:45]
  assign abc_mshrs_0_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_0_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_0_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_0_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_0_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_0_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_1_clock = clock;
  assign abc_mshrs_1_reset = reset;
  assign abc_mshrs_1_io_allocate_valid = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T |
    mshr_selectOH[1] & will_reload_2; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_1_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_1_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ? 1'h0
     : _mshrs_1_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_1_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_1_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_1_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_1_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_1_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_1_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_1_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_1_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_1_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_1_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_1_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[1] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_1_io_allocate_bits_tag == abc_mshrs_1_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_1_io_directory_valid = directoryFanout[1]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_1_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_1_io_schedule_ready = mshr_selectOH[1]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_1_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_1_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_1_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_1_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_1_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_1_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_1_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_1_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h1; // @[Scheduler.scala 78:45]
  assign abc_mshrs_1_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_1_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_1_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_1_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_1_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_1_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h1; // @[Scheduler.scala 79:45]
  assign abc_mshrs_1_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_1_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_1_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_1_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_1_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_1_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_2_clock = clock;
  assign abc_mshrs_2_reset = reset;
  assign abc_mshrs_2_io_allocate_valid = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T |
    mshr_selectOH[2] & will_reload_3; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_2_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_2_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ? 1'h0
     : _mshrs_2_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_2_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_2_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_2_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_2_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_2_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_2_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_2_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_2_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_2_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_2_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_2_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[2] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_2_io_allocate_bits_tag == abc_mshrs_2_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_2_io_directory_valid = directoryFanout[2]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_2_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_2_io_schedule_ready = mshr_selectOH[2]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_2_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_2_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_2_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_2_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_2_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_2_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_2_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_2_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h2; // @[Scheduler.scala 78:45]
  assign abc_mshrs_2_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_2_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_2_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_2_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_2_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_2_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h2; // @[Scheduler.scala 79:45]
  assign abc_mshrs_2_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_2_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_2_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_2_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_2_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_2_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_3_clock = clock;
  assign abc_mshrs_3_reset = reset;
  assign abc_mshrs_3_io_allocate_valid = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T |
    mshr_selectOH[3] & will_reload_4; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_3_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_3_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ? 1'h0
     : _mshrs_3_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_3_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_3_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_3_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_3_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_3_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_3_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_3_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_3_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_3_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_3_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_3_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[3] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_3_io_allocate_bits_tag == abc_mshrs_3_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_3_io_directory_valid = directoryFanout[3]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_3_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_3_io_schedule_ready = mshr_selectOH[3]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_3_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_3_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_3_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_3_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_3_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_3_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_3_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_3_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h3; // @[Scheduler.scala 78:45]
  assign abc_mshrs_3_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_3_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_3_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_3_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_3_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_3_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h3; // @[Scheduler.scala 79:45]
  assign abc_mshrs_3_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_3_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_3_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_3_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_3_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_3_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_4_clock = clock;
  assign abc_mshrs_4_reset = reset;
  assign abc_mshrs_4_io_allocate_valid = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T |
    mshr_selectOH[4] & will_reload_5; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_4_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_4_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ? 1'h0
     : _mshrs_4_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_4_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_4_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_4_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_4_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_4_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_4_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_4_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_4_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_4_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_4_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_4_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[4] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_4_io_allocate_bits_tag == abc_mshrs_4_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_4_io_directory_valid = directoryFanout[4]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_4_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_4_io_schedule_ready = mshr_selectOH[4]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_4_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_4_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_4_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_4_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_4_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_4_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_4_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_4_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h4; // @[Scheduler.scala 78:45]
  assign abc_mshrs_4_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_4_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_4_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_4_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_4_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_4_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h4; // @[Scheduler.scala 79:45]
  assign abc_mshrs_4_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_4_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_4_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_4_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_4_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_4_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_5_clock = clock;
  assign abc_mshrs_5_reset = reset;
  assign abc_mshrs_5_io_allocate_valid = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T |
    mshr_selectOH[5] & will_reload_6; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_5_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_5_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ? 1'h0
     : _mshrs_5_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_5_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_5_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_5_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_5_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_5_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_5_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_5_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_5_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_5_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_5_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_5_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[5] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_5_io_allocate_bits_tag == abc_mshrs_5_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_5_io_directory_valid = directoryFanout[5]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_5_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_5_io_schedule_ready = mshr_selectOH[5]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_5_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_5_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_5_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_5_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_5_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_5_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_5_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_5_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h5; // @[Scheduler.scala 78:45]
  assign abc_mshrs_5_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_5_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_5_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_5_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_5_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_5_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h5; // @[Scheduler.scala 79:45]
  assign abc_mshrs_5_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_5_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_5_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_5_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_5_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_5_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_6_clock = clock;
  assign abc_mshrs_6_reset = reset;
  assign abc_mshrs_6_io_allocate_valid = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T |
    mshr_selectOH[6] & will_reload_7; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_6_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_6_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ? 1'h0
     : _mshrs_6_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_6_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_6_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_6_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_6_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_6_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_6_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_6_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_6_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_6_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_6_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_6_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[6] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_6_io_allocate_bits_tag == abc_mshrs_6_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_6_io_directory_valid = directoryFanout[6]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_6_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_6_io_schedule_ready = mshr_selectOH[6]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_6_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_6_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_6_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_6_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_6_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_6_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_6_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_6_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h6; // @[Scheduler.scala 78:45]
  assign abc_mshrs_6_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_6_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_6_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_6_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_6_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_6_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h6; // @[Scheduler.scala 79:45]
  assign abc_mshrs_6_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_6_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_6_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_6_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_6_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_6_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_7_clock = clock;
  assign abc_mshrs_7_reset = reset;
  assign abc_mshrs_7_io_allocate_valid = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T |
    mshr_selectOH[7] & will_reload_8; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_7_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_7_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ? 1'h0
     : _mshrs_7_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_7_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_7_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_7_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_7_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_7_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_7_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_7_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_7_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_7_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_7_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_7_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[7] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_7_io_allocate_bits_tag == abc_mshrs_7_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_7_io_directory_valid = directoryFanout[7]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_7_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_7_io_schedule_ready = mshr_selectOH[7]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_7_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_7_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_7_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_7_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_7_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_7_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_7_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_7_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h7; // @[Scheduler.scala 78:45]
  assign abc_mshrs_7_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_7_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_7_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_7_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_7_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_7_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h7; // @[Scheduler.scala 79:45]
  assign abc_mshrs_7_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_7_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_7_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_7_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_7_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_7_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_8_clock = clock;
  assign abc_mshrs_8_reset = reset;
  assign abc_mshrs_8_io_allocate_valid = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T |
    mshr_selectOH[8] & will_reload_9; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_8_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_8_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ? 1'h0
     : _mshrs_8_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_8_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_8_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_8_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_8_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_8_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_8_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_8_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_8_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_8_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_8_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_8_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[8] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_8_io_allocate_bits_tag == abc_mshrs_8_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_8_io_directory_valid = directoryFanout[8]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_8_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_8_io_schedule_ready = mshr_selectOH[8]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_8_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_8_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_8_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_8_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_8_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_8_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_8_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_8_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h8; // @[Scheduler.scala 78:45]
  assign abc_mshrs_8_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_8_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_8_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_8_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_8_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_8_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h8; // @[Scheduler.scala 79:45]
  assign abc_mshrs_8_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_8_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_8_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_8_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_8_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_8_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_9_clock = clock;
  assign abc_mshrs_9_reset = reset;
  assign abc_mshrs_9_io_allocate_valid = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T |
    mshr_selectOH[9] & will_reload_10; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_9_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_9_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ? 1'h0
     : _mshrs_9_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_9_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_9_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_9_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_9_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_9_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_9_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_9_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_9_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_9_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_9_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_9_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[9] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_9_io_allocate_bits_tag == abc_mshrs_9_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_9_io_directory_valid = directoryFanout[9]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_9_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_9_io_schedule_ready = mshr_selectOH[9]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_9_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_9_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_9_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_9_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_9_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_9_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_9_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_9_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h9; // @[Scheduler.scala 78:45]
  assign abc_mshrs_9_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_9_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_9_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_9_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_9_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_9_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h9; // @[Scheduler.scala 79:45]
  assign abc_mshrs_9_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_9_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_9_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_9_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_9_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_9_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_10_clock = clock;
  assign abc_mshrs_10_reset = reset;
  assign abc_mshrs_10_io_allocate_valid = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T |
    mshr_selectOH[10] & will_reload_11; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_10_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_10_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ? 1'h0
     : _mshrs_10_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_10_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_10_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_10_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_10_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_10_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_10_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_10_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_10_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_10_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_10_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_10_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[10] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_10_io_allocate_bits_tag == abc_mshrs_10_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_10_io_directory_valid = directoryFanout[10]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_10_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_10_io_schedule_ready = mshr_selectOH[10]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_10_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_10_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_10_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_10_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_10_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_10_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_10_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_10_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'ha; // @[Scheduler.scala 78:45]
  assign abc_mshrs_10_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_10_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_10_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_10_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_10_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_10_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'ha; // @[Scheduler.scala 79:45]
  assign abc_mshrs_10_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_10_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_10_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_10_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_10_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_10_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_11_clock = clock;
  assign abc_mshrs_11_reset = reset;
  assign abc_mshrs_11_io_allocate_valid = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T |
    mshr_selectOH[11] & will_reload_12; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_11_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_11_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ? 1'h0
     : _mshrs_11_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_11_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_11_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_11_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_11_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_11_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_11_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_11_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_11_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_11_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_11_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_11_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[11] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_11_io_allocate_bits_tag == abc_mshrs_11_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_11_io_directory_valid = directoryFanout[11]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_11_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_11_io_schedule_ready = mshr_selectOH[11]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_11_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_11_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_11_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_11_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_11_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_11_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_11_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_11_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'hb; // @[Scheduler.scala 78:45]
  assign abc_mshrs_11_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_11_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_11_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_11_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_11_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_11_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'hb; // @[Scheduler.scala 79:45]
  assign abc_mshrs_11_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_11_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_11_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_11_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_11_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_11_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_12_clock = clock;
  assign abc_mshrs_12_reset = reset;
  assign abc_mshrs_12_io_allocate_valid = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T |
    mshr_selectOH[12] & will_reload_13; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_12_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_12_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ? 1'h0
     : _mshrs_12_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_12_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_12_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_12_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_12_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_12_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_12_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_12_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_12_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_12_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_12_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_12_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[12] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_12_io_allocate_bits_tag == abc_mshrs_12_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_12_io_directory_valid = directoryFanout[12]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_12_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_12_io_schedule_ready = mshr_selectOH[12]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_12_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_12_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_12_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_12_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_12_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_12_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_12_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_12_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'hc; // @[Scheduler.scala 78:45]
  assign abc_mshrs_12_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_12_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_12_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_12_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_12_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_12_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'hc; // @[Scheduler.scala 79:45]
  assign abc_mshrs_12_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_12_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_12_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_12_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_12_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_12_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_13_clock = clock;
  assign abc_mshrs_13_reset = reset;
  assign abc_mshrs_13_io_allocate_valid = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T |
    mshr_selectOH[13] & will_reload_14; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_13_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_13_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ? 1'h0
     : _mshrs_13_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_13_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_13_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_13_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_13_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_13_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_13_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_13_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_13_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_13_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_13_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_13_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[13] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_13_io_allocate_bits_tag == abc_mshrs_13_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_13_io_directory_valid = directoryFanout[13]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_13_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_13_io_schedule_ready = mshr_selectOH[13]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_13_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_13_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_13_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_13_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_13_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_13_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_13_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_13_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'hd; // @[Scheduler.scala 78:45]
  assign abc_mshrs_13_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_13_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_13_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_13_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_13_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_13_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'hd; // @[Scheduler.scala 79:45]
  assign abc_mshrs_13_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_13_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_13_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_13_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_13_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_13_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_14_clock = clock;
  assign abc_mshrs_14_reset = reset;
  assign abc_mshrs_14_io_allocate_valid = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T |
    mshr_selectOH[14] & will_reload_15; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_14_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_14_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ? 1'h0
     : _mshrs_14_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_14_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_14_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_14_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_14_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_14_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_14_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_14_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_14_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_14_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_14_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_14_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[14] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_14_io_allocate_bits_tag == abc_mshrs_14_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_14_io_directory_valid = directoryFanout[14]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_14_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_14_io_schedule_ready = mshr_selectOH[14]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_14_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_14_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_14_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_14_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_14_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_14_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_14_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_14_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'he; // @[Scheduler.scala 78:45]
  assign abc_mshrs_14_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_14_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_14_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_14_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_14_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_14_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'he; // @[Scheduler.scala 79:45]
  assign abc_mshrs_14_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_14_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_14_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_14_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_14_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_14_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_15_clock = clock;
  assign abc_mshrs_15_reset = reset;
  assign abc_mshrs_15_io_allocate_valid = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T |
    mshr_selectOH[15] & will_reload_16; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_15_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_15_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ? 1'h0
     : _mshrs_15_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_15_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_15_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_15_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_15_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_15_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_15_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_15_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_15_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_15_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_15_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_15_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[15] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_15_io_allocate_bits_tag == abc_mshrs_15_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_15_io_directory_valid = directoryFanout[15]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_15_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_15_io_schedule_ready = mshr_selectOH[15]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_15_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_15_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_15_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_15_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_15_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_15_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_15_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_15_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'hf; // @[Scheduler.scala 78:45]
  assign abc_mshrs_15_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_15_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_15_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_15_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_15_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_15_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'hf; // @[Scheduler.scala 79:45]
  assign abc_mshrs_15_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_15_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_15_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_15_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_15_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_15_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_16_clock = clock;
  assign abc_mshrs_16_reset = reset;
  assign abc_mshrs_16_io_allocate_valid = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T |
    mshr_selectOH[16] & will_reload_17; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_16_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_16_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ? 1'h0
     : _mshrs_16_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_16_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_16_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_16_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_16_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_16_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_16_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_16_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_16_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_16_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_16_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_16_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[16] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_16_io_allocate_bits_tag == abc_mshrs_16_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_16_io_directory_valid = directoryFanout[16]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_16_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_16_io_schedule_ready = mshr_selectOH[16]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_16_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_16_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_16_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_16_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_16_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_16_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_16_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_16_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h10; // @[Scheduler.scala 78:45]
  assign abc_mshrs_16_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_16_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_16_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_16_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_16_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_16_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h10; // @[Scheduler.scala 79:45]
  assign abc_mshrs_16_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_16_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_16_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_16_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_16_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_16_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_17_clock = clock;
  assign abc_mshrs_17_reset = reset;
  assign abc_mshrs_17_io_allocate_valid = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T |
    mshr_selectOH[17] & will_reload_18; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_17_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_17_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ? 1'h0
     : _mshrs_17_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_17_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_17_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_17_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_17_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_17_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_17_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_17_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_17_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_17_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_17_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_17_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[17] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_17_io_allocate_bits_tag == abc_mshrs_17_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_17_io_directory_valid = directoryFanout[17]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_17_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_17_io_schedule_ready = mshr_selectOH[17]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_17_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_17_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_17_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_17_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_17_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_17_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_17_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_17_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h11; // @[Scheduler.scala 78:45]
  assign abc_mshrs_17_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_17_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_17_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_17_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_17_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_17_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h11; // @[Scheduler.scala 79:45]
  assign abc_mshrs_17_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_17_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_17_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_17_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_17_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_17_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_18_clock = clock;
  assign abc_mshrs_18_reset = reset;
  assign abc_mshrs_18_io_allocate_valid = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T |
    mshr_selectOH[18] & will_reload_19; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_18_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_18_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ? 1'h0
     : _mshrs_18_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_18_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_18_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_18_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_18_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_18_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_18_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_18_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_18_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_18_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_18_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_18_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[18] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_18_io_allocate_bits_tag == abc_mshrs_18_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_18_io_directory_valid = directoryFanout[18]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_18_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_18_io_schedule_ready = mshr_selectOH[18]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_18_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_18_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_18_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_18_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_18_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_18_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_18_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_18_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h12; // @[Scheduler.scala 78:45]
  assign abc_mshrs_18_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_18_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_18_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_18_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_18_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_18_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h12; // @[Scheduler.scala 79:45]
  assign abc_mshrs_18_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_18_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_18_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_18_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_18_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_18_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign abc_mshrs_19_clock = clock;
  assign abc_mshrs_19_reset = reset;
  assign abc_mshrs_19_io_allocate_valid = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T |
    mshr_selectOH[19] & will_reload_20; // @[Scheduler.scala 225:25 269:83 270:27]
  assign abc_mshrs_19_io_allocate_bits_prio_0 = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_prio_0 : _mshrs_19_io_allocate_bits_T_prio_0; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ? 1'h0
     : _mshrs_19_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_19_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_19_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_19_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_19_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_19_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_19_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_19_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_19_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign abc_mshrs_19_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ?
    request_bits_set : abc_mshrs_19_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign abc_mshrs_19_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[19] & _request_alloc_cases_T ? 1'h0
     : abc_mshrs_19_io_allocate_bits_tag == abc_mshrs_19_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign abc_mshrs_19_io_directory_valid = directoryFanout[19]; // @[Scheduler.scala 298:44]
  assign abc_mshrs_19_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign abc_mshrs_19_io_schedule_ready = mshr_selectOH[19]; // @[Scheduler.scala 212:28]
  assign abc_mshrs_19_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == abc_mshrs_19_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign abc_mshrs_19_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign abc_mshrs_19_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign abc_mshrs_19_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign abc_mshrs_19_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign abc_mshrs_19_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign abc_mshrs_19_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h13; // @[Scheduler.scala 78:45]
  assign abc_mshrs_19_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign abc_mshrs_19_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign abc_mshrs_19_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign abc_mshrs_19_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign abc_mshrs_19_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign abc_mshrs_19_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h13; // @[Scheduler.scala 79:45]
  assign abc_mshrs_19_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign abc_mshrs_19_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign abc_mshrs_19_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign abc_mshrs_19_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign abc_mshrs_19_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign abc_mshrs_19_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign bc_mshr_clock = clock;
  assign bc_mshr_reset = reset;
  assign bc_mshr_io_allocate_valid = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T | mshr_selectOH[
    20] & will_reload_21; // @[Scheduler.scala 225:25 269:83 270:27]
  assign bc_mshr_io_allocate_bits_prio_0 = 1'h0; // @[Scheduler.scala 282:36]
  assign bc_mshr_io_allocate_bits_prio_1 = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ? 1'h0 :
    _mshrs_20_io_allocate_bits_T_prio_1; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_prio_2 = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_prio_2 : _mshrs_20_io_allocate_bits_T_prio_2; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_opcode = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_opcode : _mshrs_20_io_allocate_bits_T_opcode; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_param = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_param : _mshrs_20_io_allocate_bits_T_param; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_size = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_size : _mshrs_20_io_allocate_bits_T_size; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_source = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_source : _mshrs_20_io_allocate_bits_T_source; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_tag = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_tag : _mshrs_20_io_allocate_bits_T_tag; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_offset = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_offset : _mshrs_20_io_allocate_bits_T_offset; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_put = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_put : _mshrs_20_io_allocate_bits_T_put; // @[Scheduler.scala 222:24 269:83 271:26]
  assign bc_mshr_io_allocate_bits_set = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ?
    request_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 269:83 271:26 223:28]
  assign bc_mshr_io_allocate_bits_repeat = request_valid & alloc & mshr_insertOH[20] & _request_alloc_cases_T ? 1'h0 :
    bc_mshr_io_allocate_bits_tag == bc_mshr_io_status_bits_tag; // @[Scheduler.scala 224:31 269:83 272:33]
  assign bc_mshr_io_directory_valid = directoryFanout[20]; // @[Scheduler.scala 298:44]
  assign bc_mshr_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign bc_mshr_io_schedule_ready = mshr_selectOH[20]; // @[Scheduler.scala 212:28]
  assign bc_mshr_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == bc_mshr_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign bc_mshr_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign bc_mshr_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign bc_mshr_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign bc_mshr_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign bc_mshr_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign bc_mshr_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h14; // @[Scheduler.scala 78:45]
  assign bc_mshr_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign bc_mshr_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign bc_mshr_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign bc_mshr_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign bc_mshr_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign bc_mshr_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h14; // @[Scheduler.scala 79:45]
  assign bc_mshr_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign bc_mshr_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign bc_mshr_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign bc_mshr_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign bc_mshr_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign bc_mshr_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  assign c_mshr_clock = clock;
  assign c_mshr_reset = reset;
  assign c_mshr_io_allocate_valid = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T | _GEN_295
    ; // @[Scheduler.scala 284:103 285:30]
  assign c_mshr_io_allocate_bits_prio_0 = 1'h0; // @[Scheduler.scala 291:35]
  assign c_mshr_io_allocate_bits_prio_1 = 1'h0; // @[Scheduler.scala 292:35]
  assign c_mshr_io_allocate_bits_prio_2 = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_prio_2 : _GEN_298; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_opcode = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_opcode : _GEN_300; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_param = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_param : _GEN_301; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_size = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_size : _GEN_302; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_source = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_source : _GEN_303; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_tag = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_tag : _GEN_304; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_offset = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_offset : _GEN_305; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_put = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_put : _GEN_306; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_set = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ?
    request_bits_set : _GEN_307; // @[Scheduler.scala 284:103 286:29]
  assign c_mshr_io_allocate_bits_repeat = request_valid & nestC & _request_alloc_cases_T_7 & _request_alloc_cases_T ? 1'h0
     : _GEN_308; // @[Scheduler.scala 284:103 287:36]
  assign c_mshr_io_directory_valid = directoryFanout[21]; // @[Scheduler.scala 298:44]
  assign c_mshr_io_directory_bits_dirty = directory_io_result_bits_dirty; // @[Scheduler.scala 299:25]
  assign c_mshr_io_directory_bits_state = directory_io_result_bits_state; // @[Scheduler.scala 299:25]
  assign c_mshr_io_directory_bits_clients = directory_io_result_bits_clients; // @[Scheduler.scala 299:25]
  assign c_mshr_io_directory_bits_tag = directory_io_result_bits_tag; // @[Scheduler.scala 299:25]
  assign c_mshr_io_directory_bits_hit = directory_io_result_bits_hit; // @[Scheduler.scala 299:25]
  assign c_mshr_io_directory_bits_way = directory_io_result_bits_way; // @[Scheduler.scala 299:25]
  assign c_mshr_io_schedule_ready = mshr_selectOH[21]; // @[Scheduler.scala 212:28]
  assign c_mshr_io_sinkc_valid = sinkC_io_resp_valid & sinkC_io_resp_bits_set == c_mshr_io_status_bits_set; // @[Scheduler.scala 77:45]
  assign c_mshr_io_sinkc_bits_last = sinkC_io_resp_bits_last; // @[Scheduler.scala 80:21]
  assign c_mshr_io_sinkc_bits_tag = sinkC_io_resp_bits_tag; // @[Scheduler.scala 80:21]
  assign c_mshr_io_sinkc_bits_source = sinkC_io_resp_bits_source; // @[Scheduler.scala 80:21]
  assign c_mshr_io_sinkc_bits_param = sinkC_io_resp_bits_param; // @[Scheduler.scala 80:21]
  assign c_mshr_io_sinkc_bits_data = sinkC_io_resp_bits_data; // @[Scheduler.scala 80:21]
  assign c_mshr_io_sinkd_valid = sinkD_io_resp_valid & sinkD_io_resp_bits_source == 5'h15; // @[Scheduler.scala 78:45]
  assign c_mshr_io_sinkd_bits_last = sinkD_io_resp_bits_last; // @[Scheduler.scala 81:21]
  assign c_mshr_io_sinkd_bits_opcode = sinkD_io_resp_bits_opcode; // @[Scheduler.scala 81:21]
  assign c_mshr_io_sinkd_bits_param = sinkD_io_resp_bits_param; // @[Scheduler.scala 81:21]
  assign c_mshr_io_sinkd_bits_sink = sinkD_io_resp_bits_sink; // @[Scheduler.scala 81:21]
  assign c_mshr_io_sinkd_bits_denied = sinkD_io_resp_bits_denied; // @[Scheduler.scala 81:21]
  assign c_mshr_io_sinke_valid = sinkE_io_resp_valid & sinkE_io_resp_bits_sink == 5'h15; // @[Scheduler.scala 79:45]
  assign c_mshr_io_nestedwb_set = mshr_selectOH[21] ? c_mshr_io_status_bits_set : bc_mshr_io_status_bits_set; // @[Scheduler.scala 144:24]
  assign c_mshr_io_nestedwb_tag = mshr_selectOH[21] ? c_mshr_io_status_bits_tag : bc_mshr_io_status_bits_tag; // @[Scheduler.scala 145:24]
  assign c_mshr_io_nestedwb_b_toN = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h0; // @[Scheduler.scala 146:75]
  assign c_mshr_io_nestedwb_b_toB = _schedule_T_343 & bc_mshr_io_schedule_bits_dir_bits_data_state == 2'h1; // @[Scheduler.scala 147:75]
  assign c_mshr_io_nestedwb_b_clr_dirty = mshr_selectOH[20] & bc_mshr_io_schedule_bits_dir_valid; // @[Scheduler.scala 148:37]
  assign c_mshr_io_nestedwb_c_set_dirty = _schedule_T_344 & c_mshr_io_schedule_bits_dir_bits_data_dirty; // @[Scheduler.scala 149:75]
  always @(posedge clock) begin
    if (reset) begin // @[Scheduler.scala 116:29]
      robin_filter <= 22'h0; // @[Scheduler.scala 116:29]
    end else if (|mshr_request) begin // @[Scheduler.scala 126:29]
      robin_filter <= _robin_filter_T_11; // @[Scheduler.scala 126:44]
    end
    if (mshr_uses_directory) begin // @[Scheduler.scala 296:50]
      directoryFanout <= {{1'd0}, mshr_selectOH};
    end else if (alloc_uses_directory) begin // @[Scheduler.scala 296:90]
      if (alloc) begin // @[Scheduler.scala 295:22]
        directoryFanout <= mshr_insertOH;
      end else begin
        directoryFanout <= 23'h200000;
      end
    end else begin
      directoryFanout <= 23'h0;
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_prioFilter_T & 1'h0) begin
          $fatal; // @[Scheduler.scala 280:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_155 & _T_149 & _T_150) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Scheduler.scala:288 assert (!request.bits.prio(0))\n"); // @[Scheduler.scala 288:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_prioFilter_T & (_T_155 & _T_149)) begin
          $fatal; // @[Scheduler.scala 288:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_155 & _T_149)) begin
          $fatal; // @[Scheduler.scala 289:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  robin_filter = _RAND_0[21:0];
  _RAND_1 = {1{`RANDOM}};
  directoryFanout = _RAND_1[22:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module InclusiveCache(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input  [2:0]  auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_b_ready,
  output        auto_in_b_valid,
  output [1:0]  auto_in_b_bits_param,
  output [31:0] auto_in_b_bits_address,
  output        auto_in_c_ready,
  input         auto_in_c_valid,
  input  [2:0]  auto_in_c_bits_opcode,
  input  [2:0]  auto_in_c_bits_param,
  input  [2:0]  auto_in_c_bits_size,
  input  [31:0] auto_in_c_bits_address,
  input  [63:0] auto_in_c_bits_data,
  input         auto_in_c_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [1:0]  auto_in_d_bits_param,
  output [2:0]  auto_in_d_bits_size,
  output [2:0]  auto_in_d_bits_source,
  output [4:0]  auto_in_d_bits_sink,
  output        auto_in_d_bits_denied,
  output [63:0] auto_in_d_bits_data,
  output        auto_in_d_bits_corrupt,
  input         auto_in_e_valid,
  input  [4:0]  auto_in_e_bits_sink,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output [4:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  input         auto_out_c_ready,
  output        auto_out_c_valid,
  output [2:0]  auto_out_c_bits_opcode,
  output [2:0]  auto_out_c_bits_param,
  output [2:0]  auto_out_c_bits_size,
  output [4:0]  auto_out_c_bits_source,
  output [31:0] auto_out_c_bits_address,
  output [63:0] auto_out_c_bits_data,
  output        auto_out_c_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_param,
  input  [2:0]  auto_out_d_bits_size,
  input  [4:0]  auto_out_d_bits_source,
  input  [2:0]  auto_out_d_bits_sink,
  input         auto_out_d_bits_denied,
  input  [63:0] auto_out_d_bits_data,
  input         auto_out_d_bits_corrupt,
  output        auto_out_e_valid,
  output [2:0]  auto_out_e_bits_sink
);
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
  wire  mods_0_clock; // @[InclusiveCache.scala 199:29]
  wire  mods_0_reset; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_a_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_a_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_a_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_a_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_a_bits_size; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_a_bits_source; // @[InclusiveCache.scala 199:29]
  wire [31:0] mods_0_io_in_a_bits_address; // @[InclusiveCache.scala 199:29]
  wire [7:0] mods_0_io_in_a_bits_mask; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_in_a_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_a_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_b_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_b_valid; // @[InclusiveCache.scala 199:29]
  wire [1:0] mods_0_io_in_b_bits_param; // @[InclusiveCache.scala 199:29]
  wire [31:0] mods_0_io_in_b_bits_address; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_c_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_c_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_c_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_c_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_c_bits_size; // @[InclusiveCache.scala 199:29]
  wire [31:0] mods_0_io_in_c_bits_address; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_in_c_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_c_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_d_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_d_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_d_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [1:0] mods_0_io_in_d_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_d_bits_size; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_in_d_bits_source; // @[InclusiveCache.scala 199:29]
  wire [4:0] mods_0_io_in_d_bits_sink; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_d_bits_denied; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_in_d_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_d_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_in_e_valid; // @[InclusiveCache.scala 199:29]
  wire [4:0] mods_0_io_in_e_bits_sink; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_a_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_a_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_a_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_a_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_a_bits_size; // @[InclusiveCache.scala 199:29]
  wire [4:0] mods_0_io_out_a_bits_source; // @[InclusiveCache.scala 199:29]
  wire [31:0] mods_0_io_out_a_bits_address; // @[InclusiveCache.scala 199:29]
  wire [7:0] mods_0_io_out_a_bits_mask; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_out_a_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_a_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_c_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_c_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_c_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_c_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_c_bits_size; // @[InclusiveCache.scala 199:29]
  wire [4:0] mods_0_io_out_c_bits_source; // @[InclusiveCache.scala 199:29]
  wire [31:0] mods_0_io_out_c_bits_address; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_out_c_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_c_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_d_ready; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_d_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_d_bits_opcode; // @[InclusiveCache.scala 199:29]
  wire [1:0] mods_0_io_out_d_bits_param; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_d_bits_size; // @[InclusiveCache.scala 199:29]
  wire [4:0] mods_0_io_out_d_bits_source; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_d_bits_sink; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_d_bits_denied; // @[InclusiveCache.scala 199:29]
  wire [63:0] mods_0_io_out_d_bits_data; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_d_bits_corrupt; // @[InclusiveCache.scala 199:29]
  wire  mods_0_io_out_e_valid; // @[InclusiveCache.scala 199:29]
  wire [2:0] mods_0_io_out_e_bits_sink; // @[InclusiveCache.scala 199:29]
  TLMonitor monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_b_ready(monitor_io_in_b_ready),
    .io_in_b_valid(monitor_io_in_b_valid),
    .io_in_b_bits_param(monitor_io_in_b_bits_param),
    .io_in_b_bits_address(monitor_io_in_b_bits_address),
    .io_in_c_ready(monitor_io_in_c_ready),
    .io_in_c_valid(monitor_io_in_c_valid),
    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
    .io_in_c_bits_param(monitor_io_in_c_bits_param),
    .io_in_c_bits_size(monitor_io_in_c_bits_size),
    .io_in_c_bits_address(monitor_io_in_c_bits_address),
    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
    .io_in_e_valid(monitor_io_in_e_valid),
    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
  );
  Scheduler mods_0 ( // @[InclusiveCache.scala 199:29]
    .clock(mods_0_clock),
    .reset(mods_0_reset),
    .io_in_a_ready(mods_0_io_in_a_ready),
    .io_in_a_valid(mods_0_io_in_a_valid),
    .io_in_a_bits_opcode(mods_0_io_in_a_bits_opcode),
    .io_in_a_bits_param(mods_0_io_in_a_bits_param),
    .io_in_a_bits_size(mods_0_io_in_a_bits_size),
    .io_in_a_bits_source(mods_0_io_in_a_bits_source),
    .io_in_a_bits_address(mods_0_io_in_a_bits_address),
    .io_in_a_bits_mask(mods_0_io_in_a_bits_mask),
    .io_in_a_bits_data(mods_0_io_in_a_bits_data),
    .io_in_a_bits_corrupt(mods_0_io_in_a_bits_corrupt),
    .io_in_b_ready(mods_0_io_in_b_ready),
    .io_in_b_valid(mods_0_io_in_b_valid),
    .io_in_b_bits_param(mods_0_io_in_b_bits_param),
    .io_in_b_bits_address(mods_0_io_in_b_bits_address),
    .io_in_c_ready(mods_0_io_in_c_ready),
    .io_in_c_valid(mods_0_io_in_c_valid),
    .io_in_c_bits_opcode(mods_0_io_in_c_bits_opcode),
    .io_in_c_bits_param(mods_0_io_in_c_bits_param),
    .io_in_c_bits_size(mods_0_io_in_c_bits_size),
    .io_in_c_bits_address(mods_0_io_in_c_bits_address),
    .io_in_c_bits_data(mods_0_io_in_c_bits_data),
    .io_in_c_bits_corrupt(mods_0_io_in_c_bits_corrupt),
    .io_in_d_ready(mods_0_io_in_d_ready),
    .io_in_d_valid(mods_0_io_in_d_valid),
    .io_in_d_bits_opcode(mods_0_io_in_d_bits_opcode),
    .io_in_d_bits_param(mods_0_io_in_d_bits_param),
    .io_in_d_bits_size(mods_0_io_in_d_bits_size),
    .io_in_d_bits_source(mods_0_io_in_d_bits_source),
    .io_in_d_bits_sink(mods_0_io_in_d_bits_sink),
    .io_in_d_bits_denied(mods_0_io_in_d_bits_denied),
    .io_in_d_bits_data(mods_0_io_in_d_bits_data),
    .io_in_d_bits_corrupt(mods_0_io_in_d_bits_corrupt),
    .io_in_e_valid(mods_0_io_in_e_valid),
    .io_in_e_bits_sink(mods_0_io_in_e_bits_sink),
    .io_out_a_ready(mods_0_io_out_a_ready),
    .io_out_a_valid(mods_0_io_out_a_valid),
    .io_out_a_bits_opcode(mods_0_io_out_a_bits_opcode),
    .io_out_a_bits_param(mods_0_io_out_a_bits_param),
    .io_out_a_bits_size(mods_0_io_out_a_bits_size),
    .io_out_a_bits_source(mods_0_io_out_a_bits_source),
    .io_out_a_bits_address(mods_0_io_out_a_bits_address),
    .io_out_a_bits_mask(mods_0_io_out_a_bits_mask),
    .io_out_a_bits_data(mods_0_io_out_a_bits_data),
    .io_out_a_bits_corrupt(mods_0_io_out_a_bits_corrupt),
    .io_out_c_ready(mods_0_io_out_c_ready),
    .io_out_c_valid(mods_0_io_out_c_valid),
    .io_out_c_bits_opcode(mods_0_io_out_c_bits_opcode),
    .io_out_c_bits_param(mods_0_io_out_c_bits_param),
    .io_out_c_bits_size(mods_0_io_out_c_bits_size),
    .io_out_c_bits_source(mods_0_io_out_c_bits_source),
    .io_out_c_bits_address(mods_0_io_out_c_bits_address),
    .io_out_c_bits_data(mods_0_io_out_c_bits_data),
    .io_out_c_bits_corrupt(mods_0_io_out_c_bits_corrupt),
    .io_out_d_ready(mods_0_io_out_d_ready),
    .io_out_d_valid(mods_0_io_out_d_valid),
    .io_out_d_bits_opcode(mods_0_io_out_d_bits_opcode),
    .io_out_d_bits_param(mods_0_io_out_d_bits_param),
    .io_out_d_bits_size(mods_0_io_out_d_bits_size),
    .io_out_d_bits_source(mods_0_io_out_d_bits_source),
    .io_out_d_bits_sink(mods_0_io_out_d_bits_sink),
    .io_out_d_bits_denied(mods_0_io_out_d_bits_denied),
    .io_out_d_bits_data(mods_0_io_out_d_bits_data),
    .io_out_d_bits_corrupt(mods_0_io_out_d_bits_corrupt),
    .io_out_e_valid(mods_0_io_out_e_valid),
    .io_out_e_bits_sink(mods_0_io_out_e_bits_sink)
  );
  assign auto_in_a_ready = mods_0_io_in_a_ready; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_b_valid = mods_0_io_in_b_valid; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_b_bits_param = mods_0_io_in_b_bits_param; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_b_bits_address = mods_0_io_in_b_bits_address; // @[Parameters.scala 244:14]
  assign auto_in_c_ready = mods_0_io_in_c_ready; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_valid = mods_0_io_in_d_valid; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_opcode = mods_0_io_in_d_bits_opcode; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_param = mods_0_io_in_d_bits_param; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_size = mods_0_io_in_d_bits_size; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_source = mods_0_io_in_d_bits_source; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_sink = mods_0_io_in_d_bits_sink; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_denied = mods_0_io_in_d_bits_denied; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_data = mods_0_io_in_d_bits_data; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_in_d_bits_corrupt = mods_0_io_in_d_bits_corrupt; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign auto_out_a_valid = mods_0_io_out_a_valid; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_opcode = mods_0_io_out_a_bits_opcode; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_param = mods_0_io_out_a_bits_param; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_size = mods_0_io_out_a_bits_size; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_source = mods_0_io_out_a_bits_source; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_address = mods_0_io_out_a_bits_address; // @[Parameters.scala 244:14]
  assign auto_out_a_bits_mask = mods_0_io_out_a_bits_mask; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_data = mods_0_io_out_a_bits_data; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_a_bits_corrupt = mods_0_io_out_a_bits_corrupt; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_valid = mods_0_io_out_c_valid; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_opcode = mods_0_io_out_c_bits_opcode; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_param = mods_0_io_out_c_bits_param; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_size = mods_0_io_out_c_bits_size; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_source = mods_0_io_out_c_bits_source; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_address = mods_0_io_out_c_bits_address; // @[Parameters.scala 244:14]
  assign auto_out_c_bits_data = mods_0_io_out_c_bits_data; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_c_bits_corrupt = mods_0_io_out_c_bits_corrupt; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_d_ready = mods_0_io_out_d_ready; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_e_valid = mods_0_io_out_e_valid; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign auto_out_e_bits_sink = mods_0_io_out_e_bits_sink; // @[Nodes.scala 1207:84 InclusiveCache.scala 202:11]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = mods_0_io_in_a_ready; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_b_valid = mods_0_io_in_b_valid; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_b_bits_param = mods_0_io_in_b_bits_param; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_b_bits_address = mods_0_io_in_b_bits_address; // @[Parameters.scala 244:14]
  assign monitor_io_in_c_ready = mods_0_io_in_c_ready; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = mods_0_io_in_d_valid; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_opcode = mods_0_io_in_d_bits_opcode; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_param = mods_0_io_in_d_bits_param; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_size = mods_0_io_in_d_bits_size; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_source = mods_0_io_in_d_bits_source; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_sink = mods_0_io_in_d_bits_sink; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_denied = mods_0_io_in_d_bits_denied; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_d_bits_corrupt = mods_0_io_in_d_bits_corrupt; // @[Nodes.scala 1210:84 InclusiveCache.scala 201:23]
  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_clock = clock;
  assign mods_0_reset = reset;
  assign mods_0_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign mods_0_io_out_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign mods_0_io_out_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[InclusiveCache.scala 209:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_1(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [1:0]  io_in_a_bits_size,
  input  [9:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_size,
  input  [9:0]  io_in_d_bits_source
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [543:0] _RAND_10;
  reg [2079:0] _RAND_11;
  reg [2079:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [543:0] _RAND_16;
  reg [2079:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire [8:0] source_ok_uncommonBits = io_in_a_bits_source[8:0]; // @[Parameters.scala 52:64]
  wire  _source_ok_T_1 = ~io_in_a_bits_source[9]; // @[Parameters.scala 54:32]
  wire  _source_ok_T_4 = source_ok_uncommonBits <= 9'h13f; // @[Parameters.scala 57:20]
  wire  _source_ok_T_5 = _source_ok_T_1 & _source_ok_T_4; // @[Parameters.scala 56:50]
  wire  _source_ok_T_6 = io_in_a_bits_source == 10'h201; // @[Parameters.scala 46:9]
  wire  _source_ok_T_7 = io_in_a_bits_source == 10'h200; // @[Parameters.scala 46:9]
  wire  source_ok = _source_ok_T_5 | _source_ok_T_6 | _source_ok_T_7; // @[Parameters.scala 1125:46]
  wire [5:0] _is_aligned_mask_T_1 = 6'h7 << io_in_a_bits_size; // @[package.scala 234:77]
  wire [2:0] is_aligned_mask = ~_is_aligned_mask_T_1[2:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{29'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [2:0] _mask_sizeOH_T = {{1'd0}, io_in_a_bits_size}; // @[Misc.scala 201:34]
  wire [1:0] mask_sizeOH_shiftAmount = _mask_sizeOH_T[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 2'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_38 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_54 = _source_ok_T_6 | _source_ok_T_7; // @[Parameters.scala 1161:43]
  wire  _T_57 = _source_ok_T_5 | _T_54; // @[Parameters.scala 1162:30]
  wire [32:0] _T_62 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_63 = $signed(_T_62) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_95 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_99 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_100 = _T_99 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_104 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_108 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_169 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_182 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_205 = 2'h3 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_212 = _T_205 & _T_63; // @[Parameters.scala 670:56]
  wire  _T_223 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_227 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_235 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_264 = _T_57 & _T_212; // @[Monitor.scala 115:71]
  wire  _T_282 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_325 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_326 = io_in_a_bits_mask & _T_325; // @[Monitor.scala 127:31]
  wire  _T_327 = _T_326 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_331 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_369 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_377 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_415 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_423 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_461 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_473 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire [8:0] source_ok_uncommonBits_1 = io_in_d_bits_source[8:0]; // @[Parameters.scala 52:64]
  wire  _source_ok_T_10 = ~io_in_d_bits_source[9]; // @[Parameters.scala 54:32]
  wire  _source_ok_T_13 = source_ok_uncommonBits_1 <= 9'h13f; // @[Parameters.scala 57:20]
  wire  _source_ok_T_14 = _source_ok_T_10 & _source_ok_T_13; // @[Parameters.scala 56:50]
  wire  _source_ok_T_15 = io_in_d_bits_source == 10'h201; // @[Parameters.scala 46:9]
  wire  _source_ok_T_16 = io_in_d_bits_source == 10'h200; // @[Parameters.scala 46:9]
  wire  source_ok_1 = _source_ok_T_14 | _source_ok_T_15 | _source_ok_T_16; // @[Parameters.scala 1125:46]
  wire  _T_477 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_481 = io_in_d_bits_size >= 2'h3; // @[Monitor.scala 312:27]
  wire  _T_497 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_525 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_554 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_571 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_589 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [1:0] size; // @[Monitor.scala 386:22]
  reg [9:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_619 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_620 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_624 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_628 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_632 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_636 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] size_1; // @[Monitor.scala 537:22]
  reg [9:0] source_1; // @[Monitor.scala 538:22]
  wire  _T_643 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_644 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_652 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_656 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  reg [513:0] inflight; // @[Monitor.scala 611:27]
  reg [2055:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [2055:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [11:0] _GEN_21 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [12:0] _a_opcode_lookup_T = {{1'd0}, _GEN_21}; // @[Monitor.scala 634:69]
  wire [2055:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [2055:0] _GEN_60 = {{2040'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [2055:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_60; // @[Monitor.scala 634:97]
  wire [2055:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[2055:1]}; // @[Monitor.scala 634:152]
  wire [2055:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [2055:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 638:91]
  wire [2055:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[2055:1]}; // @[Monitor.scala 638:144]
  wire  _T_673 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [1023:0] _a_set_T = 1024'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
  wire [11:0] _GEN_71 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [12:0] _a_opcodes_set_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [8194:0] _GEN_305 = {{8191'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [8194:0] _a_opcodes_set_T_1 = _GEN_305 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [2:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
  wire [8193:0] _GEN_306 = {{8191'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [8193:0] _a_sizes_set_T_1 = _GEN_306 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [513:0] _T_675 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_677 = ~_T_675[0]; // @[Monitor.scala 658:17]
  wire [1023:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 1024'h0; // @[Monitor.scala 652:72 653:28]
  wire [8194:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 8195'h0; // @[Monitor.scala 652:72 656:28]
  wire [8193:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 8194'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_688 = ~_T_477; // @[Monitor.scala 675:75]
  wire [1023:0] _d_clr_T = 1024'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [8206:0] _GEN_307 = {{8191'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [8206:0] _d_opcodes_clr_T_5 = _GEN_307 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [1023:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_477 ? _d_clr_T : 1024'h0; // @[Monitor.scala 675:91 676:21]
  wire [8206:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_477 ? _d_opcodes_clr_T_5 : 8207'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_690 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_693 = io_in_d_valid & d_first_1 & _T_688; // @[Monitor.scala 680:71]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [513:0] _T_694 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_696 = _T_694[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_701 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_702 = io_in_d_bits_opcode == _GEN_32 | _T_701; // @[Monitor.scala 685:77]
  wire  _T_706 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_713 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_714 = io_in_d_bits_opcode == _GEN_48 | _T_713; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_718 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_728 = _T_690 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_688; // @[Monitor.scala 694:116]
  wire  _T_729 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_730 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [513:0] a_set = _GEN_16[513:0];
  wire [513:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [513:0] d_clr = _GEN_22[513:0];
  wire [513:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [513:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [2055:0] a_opcodes_set = _GEN_19[2055:0];
  wire [2055:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [2055:0] d_opcodes_clr = _GEN_23[2055:0];
  wire [2055:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [2055:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [2055:0] a_sizes_set = _GEN_20[2055:0];
  wire [2055:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [2055:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_739 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [513:0] inflight_1; // @[Monitor.scala 723:35]
  reg [2055:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [2055:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [2055:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 747:93]
  wire [2055:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[2055:1]}; // @[Monitor.scala 747:146]
  wire  _T_759 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire [1023:0] _GEN_67 = _d_first_T & d_first_2 & _T_477 ? _d_clr_T : 1024'h0; // @[Monitor.scala 783:90 784:21]
  wire [8206:0] _GEN_69 = _d_first_T & d_first_2 & _T_477 ? _d_opcodes_clr_T_5 : 8207'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_772 = io_in_d_valid & d_first_2 & _T_477; // @[Monitor.scala 789:71]
  wire [513:0] _T_773 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_779 = io_in_d_bits_size == 2'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_783 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [513:0] d_clr_1 = _GEN_67[513:0];
  wire [513:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [513:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [2055:0] d_sizes_clr_1 = _GEN_69[2055:0];
  wire [2055:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [2055:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_803 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 514'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 2056'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 2056'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= 1'h0;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= 1'h0;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 514'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 2056'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= 1'h0;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~_T_95) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_95 & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~_T_100) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_100 & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_38 & ~reset & ~_T_104) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_104 & (io_in_a_valid & _T_38 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~_T_95) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_95 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~_T_100) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_100 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_108 & ~reset & ~_T_104) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_104 & (io_in_a_valid & _T_108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~_T_57) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_57 & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~_T_212) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_212 & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~_T_223) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_223 & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~_T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_227 & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_182 & ~reset & ~_T_104) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_104 & (io_in_a_valid & _T_182 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_235 & ~reset & ~_T_264) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_264 & (io_in_a_valid & _T_235 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_235 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_235 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_235 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_235 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_235 & ~reset & ~_T_223) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_223 & (io_in_a_valid & _T_235 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_235 & ~reset & ~_T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_227 & (io_in_a_valid & _T_235 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_282 & ~reset & ~_T_264) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_264 & (io_in_a_valid & _T_282 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_282 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_282 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_282 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_282 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_282 & ~reset & ~_T_223) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_223 & (io_in_a_valid & _T_282 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_282 & ~reset & ~_T_327) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_327 & (io_in_a_valid & _T_282 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_331 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_331 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_331 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_331 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_331 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_331 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_331 & ~reset & ~_T_369) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_369 & (io_in_a_valid & _T_331 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_331 & ~reset & ~_T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_227 & (io_in_a_valid & _T_331 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_377 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_377 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_377 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_377 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_377 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_377 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_377 & ~reset & ~_T_415) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_415 & (io_in_a_valid & _T_377 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_377 & ~reset & ~_T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_227 & (io_in_a_valid & _T_377 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset & ~source_ok) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset & ~_T_461) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_461 & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset & ~_T_227) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_227 & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_423 & ~reset & ~_T_104) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_104 & (io_in_a_valid & _T_423 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_473) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_473 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_477 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_477 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_477 & _T_2 & ~_T_481) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_481 & (io_in_d_valid & _T_477 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_477 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_477 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_477 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_497 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_497 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_497 & _T_2 & ~_T_481) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_481 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_497 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_525 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_525 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_525 & _T_2 & ~_T_481) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_481 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_525 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_554 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_554 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_554 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_554 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_554 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_571 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_571 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_571 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_571 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_571 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_589 & _T_2 & ~source_ok_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~source_ok_1 & (io_in_d_valid & _T_589 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_589 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_589 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_589 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~reset & ~_T_620) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_619 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~reset & ~_T_624) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_624 & (_T_619 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~reset & ~_T_628) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_628 & (_T_619 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~reset & ~_T_632) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_632 & (_T_619 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~reset & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & (_T_619 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_643 & _T_2 & ~_T_644) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_644 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_643 & _T_2 & ~_T_652) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_652 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_643 & _T_2 & ~_T_656) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_656 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_643 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_673 & ~reset & ~_T_677) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_677 & (_T_673 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693 & _T_2 & ~_T_696) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_696 & (_T_693 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693 & same_cycle_resp & _T_2 & ~_T_702) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_702 & (_T_693 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693 & same_cycle_resp & _T_2 & ~_T_706) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_706 & (_T_693 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693 & ~same_cycle_resp & _T_2 & ~_T_714) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_714 & (_T_693 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693 & ~same_cycle_resp & _T_2 & ~_T_718) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_718 & (_T_693 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_728 & _T_2 & ~_T_730) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_730 & (_T_728 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_739) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_739 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_759 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_772 & _T_2 & ~_T_773[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_773[0] & (_T_772 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_779 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_772 & _T_2 & ~_T_783) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_783 & (_T_772 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_729 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_803) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:67:36)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_803 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[9:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  source_1 = _RAND_9[9:0];
  _RAND_10 = {17{`RANDOM}};
  inflight = _RAND_10[513:0];
  _RAND_11 = {65{`RANDOM}};
  inflight_opcodes = _RAND_11[2055:0];
  _RAND_12 = {65{`RANDOM}};
  inflight_sizes = _RAND_12[2055:0];
  _RAND_13 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  watchdog = _RAND_15[31:0];
  _RAND_16 = {17{`RANDOM}};
  inflight_1 = _RAND_16[513:0];
  _RAND_17 = {65{`RANDOM}};
  inflight_sizes_1 = _RAND_17[2055:0];
  _RAND_18 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  watchdog_1 = _RAND_19[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLSlave(
  input         clock,
  input         reset,
  input         io_req_ready,
  output        io_req_valid,
  output [31:0] io_req_bits_paddr,
  output [63:0] io_req_bits_wdata,
  output [7:0]  io_req_bits_wmask,
  output        io_rsp_ready,
  input         io_rsp_valid,
  input  [63:0] io_rsp_bits_rdata,
  output        io_a_ready,
  input         io_a_valid,
  input  [2:0]  io_a_bits_opcode,
  input  [1:0]  io_a_bits_size,
  input  [9:0]  io_a_bits_source,
  input  [31:0] io_a_bits_address,
  input  [7:0]  io_a_bits_mask,
  input  [63:0] io_a_bits_data,
  input         io_d_ready,
  output        io_d_valid,
  output [2:0]  io_d_bits_opcode,
  output [1:0]  io_d_bits_size,
  output [9:0]  io_d_bits_source,
  output [63:0] io_d_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [63:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [63:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [31:0] reqInfo_paddr; // @[Chiplink.scala 71:22]
  reg [63:0] reqInfo_wdata; // @[Chiplink.scala 71:22]
  reg [7:0] reqInfo_wmask; // @[Chiplink.scala 71:22]
  reg [63:0] rspInfo_rdata; // @[Chiplink.scala 72:22]
  reg [1:0] tlaInfo_size; // @[Chiplink.scala 73:22]
  reg [9:0] tlaInfo_source; // @[Chiplink.scala 73:22]
  reg  reqValid; // @[Chiplink.scala 75:27]
  reg  rspReady; // @[Chiplink.scala 76:27]
  reg  tlAReady; // @[Chiplink.scala 77:28]
  reg  tlDValid; // @[Chiplink.scala 78:27]
  reg  isRead; // @[Chiplink.scala 80:22]
  wire  _T = io_a_ready & io_a_valid; // @[Decoupled.scala 52:35]
  wire  _T_3 = io_a_bits_opcode == 3'h0 | io_a_bits_opcode == 3'h1; // @[Chiplink.scala 92:40]
  wire  _T_4 = io_a_bits_opcode == 3'h4; // @[Chiplink.scala 96:37]
  wire  _GEN_2 = io_a_bits_opcode == 3'h4 | isRead; // @[Chiplink.scala 96:47 99:16 80:22]
  wire  _T_9 = io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  wire  _T_10 = io_rsp_ready & io_rsp_valid; // @[Decoupled.scala 52:35]
  wire  _T_11 = io_d_ready & io_d_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_18 = _T_11 | tlAReady; // @[Chiplink.scala 114:30 115:16 77:28]
  wire  _GEN_19 = _T_11 ? 1'h0 : tlDValid; // @[Chiplink.scala 114:30 116:16 78:27]
  wire  _GEN_20 = _T_10 ? 1'h0 : rspReady; // @[Chiplink.scala 111:32 112:16 76:27]
  wire  _GEN_21 = _T_10 | _GEN_19; // @[Chiplink.scala 111:32 113:16]
  wire  _GEN_22 = _T_10 ? tlAReady : _GEN_18; // @[Chiplink.scala 111:32 77:28]
  wire  _GEN_23 = _T_9 ? 1'h0 : reqValid; // @[Chiplink.scala 108:32 109:16 75:27]
  wire  _GEN_24 = _T_9 | _GEN_20; // @[Chiplink.scala 108:32 110:16]
  wire  _GEN_26 = _T_9 ? tlAReady : _GEN_22; // @[Chiplink.scala 108:32 77:28]
  wire  _GEN_27 = _T | _GEN_23; // @[Chiplink.scala 105:22 106:16]
  wire  _GEN_28 = _T ? 1'h0 : _GEN_26; // @[Chiplink.scala 105:22 107:18]
  assign io_req_valid = reqValid; // @[Chiplink.scala 82:18]
  assign io_req_bits_paddr = reqInfo_paddr; // @[Chiplink.scala 83:18]
  assign io_req_bits_wdata = reqInfo_wdata; // @[Chiplink.scala 83:18]
  assign io_req_bits_wmask = reqInfo_wmask; // @[Chiplink.scala 83:18]
  assign io_rsp_ready = rspReady; // @[Chiplink.scala 84:18]
  assign io_a_ready = tlAReady; // @[Chiplink.scala 85:16]
  assign io_d_valid = tlDValid; // @[Chiplink.scala 86:16]
  assign io_d_bits_opcode = isRead ? 3'h1 : 3'h0; // @[Chiplink.scala 124:18 125:17 127:17]
  assign io_d_bits_size = tlaInfo_size; // @[Chiplink.scala 124:18 125:17 127:17]
  assign io_d_bits_source = tlaInfo_source; // @[Chiplink.scala 124:18 125:17 127:17]
  assign io_d_bits_data = isRead ? rspInfo_rdata : 64'h0; // @[Chiplink.scala 124:18 125:17 127:17]
  always @(posedge clock) begin
    if (_T) begin // @[Chiplink.scala 89:23]
      reqInfo_paddr <= io_a_bits_address; // @[Chiplink.scala 91:21]
    end
    if (_T) begin // @[Chiplink.scala 89:23]
      if (io_a_bits_opcode == 3'h0 | io_a_bits_opcode == 3'h1) begin // @[Chiplink.scala 92:72]
        reqInfo_wdata <= io_a_bits_data; // @[Chiplink.scala 93:23]
      end else if (io_a_bits_opcode == 3'h4) begin // @[Chiplink.scala 96:47]
        reqInfo_wdata <= 64'h0; // @[Chiplink.scala 97:23]
      end
    end
    if (_T) begin // @[Chiplink.scala 89:23]
      if (io_a_bits_opcode == 3'h0 | io_a_bits_opcode == 3'h1) begin // @[Chiplink.scala 92:72]
        reqInfo_wmask <= io_a_bits_mask; // @[Chiplink.scala 94:23]
      end else if (io_a_bits_opcode == 3'h4) begin // @[Chiplink.scala 96:47]
        reqInfo_wmask <= 8'h0; // @[Chiplink.scala 98:23]
      end
    end
    if (_T_10) begin // @[Chiplink.scala 120:25]
      rspInfo_rdata <= io_rsp_bits_rdata; // @[Chiplink.scala 121:15]
    end
    if (_T) begin // @[Chiplink.scala 89:23]
      tlaInfo_size <= io_a_bits_size; // @[Chiplink.scala 90:15]
    end
    if (_T) begin // @[Chiplink.scala 89:23]
      tlaInfo_source <= io_a_bits_source; // @[Chiplink.scala 90:15]
    end
    if (reset) begin // @[Chiplink.scala 75:27]
      reqValid <= 1'h0; // @[Chiplink.scala 75:27]
    end else begin
      reqValid <= _GEN_27;
    end
    if (reset) begin // @[Chiplink.scala 76:27]
      rspReady <= 1'h0; // @[Chiplink.scala 76:27]
    end else if (!(_T)) begin // @[Chiplink.scala 105:22]
      rspReady <= _GEN_24;
    end
    tlAReady <= reset | _GEN_28; // @[Chiplink.scala 77:{28,28}]
    if (reset) begin // @[Chiplink.scala 78:27]
      tlDValid <= 1'h0; // @[Chiplink.scala 78:27]
    end else if (!(_T)) begin // @[Chiplink.scala 105:22]
      if (!(_T_9)) begin // @[Chiplink.scala 108:32]
        tlDValid <= _GEN_21;
      end
    end
    if (_T) begin // @[Chiplink.scala 89:23]
      if (io_a_bits_opcode == 3'h0 | io_a_bits_opcode == 3'h1) begin // @[Chiplink.scala 92:72]
        isRead <= 1'h0; // @[Chiplink.scala 95:16]
      end else begin
        isRead <= _GEN_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T & ~_T_3 & ~_T_4 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: Assert Failed! Unsupport Operation!\n    at Chiplink.scala:101 assert( false.B, \"Assert Failed! Unsupport Operation!\" )\n"
            ); // @[Chiplink.scala 101:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (_T & ~_T_3 & ~_T_4 & ~reset)) begin
          $fatal; // @[Chiplink.scala 101:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  reqInfo_paddr = _RAND_0[31:0];
  _RAND_1 = {2{`RANDOM}};
  reqInfo_wdata = _RAND_1[63:0];
  _RAND_2 = {1{`RANDOM}};
  reqInfo_wmask = _RAND_2[7:0];
  _RAND_3 = {2{`RANDOM}};
  rspInfo_rdata = _RAND_3[63:0];
  _RAND_4 = {1{`RANDOM}};
  tlaInfo_size = _RAND_4[1:0];
  _RAND_5 = {1{`RANDOM}};
  tlaInfo_source = _RAND_5[9:0];
  _RAND_6 = {1{`RANDOM}};
  reqValid = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  rspReady = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  tlAReady = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  tlDValid = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  isRead = _RAND_10[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module HexSpiMaster(
  input         clock,
  input         reset,
  output        io_hspi_clk,
  input         io_hspi_rx_enable,
  input  [15:0] io_hspi_rx_data,
  output        io_hspi_tx_enable,
  output [15:0] io_hspi_tx_data,
  output        io_hspi_oen,
  output        io_req_ready,
  input         io_req_valid,
  input  [31:0] io_req_bits_paddr,
  input  [63:0] io_req_bits_wdata,
  input  [7:0]  io_req_bits_wmask,
  input         io_rsp_ready,
  output        io_rsp_valid,
  output [63:0] io_rsp_bits_rdata
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [127:0] _RAND_3;
  reg [63:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_REG_INIT
  reg [3:0] txCounter; // @[Chiplink.scala 147:30]
  reg [2:0] rxCounter; // @[Chiplink.scala 148:30]
  reg  isTxRxn; // @[Chiplink.scala 149:28]
  reg [111:0] reqInfo; // @[Chiplink.scala 151:24]
  reg [63:0] rspInfo; // @[Chiplink.scala 152:24]
  reg  reqReady; // @[Chiplink.scala 154:29]
  reg  rspValid; // @[Chiplink.scala 155:29]
  wire  _io_hspi_oen_T = ~isTxRxn; // @[Chiplink.scala 157:22]
  wire  _T = io_req_ready & io_req_valid; // @[Decoupled.scala 52:35]
  wire  _T_2 = ~reset; // @[Chiplink.scala 166:15]
  wire [111:0] updateInfo = {io_req_bits_paddr,io_req_bits_wdata,io_req_bits_wmask,8'h0}; // @[Cat.scala 33:92]
  wire  _T_4 = txCounter < 4'h7; // @[Chiplink.scala 174:30]
  wire [3:0] _txCounter_T_1 = txCounter + 4'h1; // @[Chiplink.scala 176:32]
  wire [95:0] updateInfo_1 = reqInfo[111:16]; // @[Chiplink.scala 177:34]
  wire  _T_8 = txCounter == 4'h7; // @[Chiplink.scala 183:30]
  wire  _GEN_0 = txCounter == 4'h7 ? 1'h0 : isTxRxn; // @[Chiplink.scala 183:41 185:19 149:28]
  wire [15:0] _GEN_5 = txCounter < 4'h7 ? updateInfo_1[15:0] : 16'h0; // @[Chiplink.scala 174:38 180:27]
  wire  _GEN_7 = txCounter < 4'h7 ? isTxRxn : _GEN_0; // @[Chiplink.scala 149:28 174:38]
  wire  _GEN_8 = _T ? 1'h0 : reqReady; // @[Chiplink.scala 165:27 168:18 154:29]
  wire  _GEN_13 = _T ? isTxRxn : _GEN_7; // @[Chiplink.scala 165:27 149:28]
  wire  _T_15 = ~_io_hspi_oen_T; // @[Chiplink.scala 198:15]
  wire [2:0] _rxCounter_T_1 = rxCounter + 3'h1; // @[Chiplink.scala 200:32]
  wire [79:0] _rspInfo_T = {io_hspi_rx_data,rspInfo}; // @[Cat.scala 33:92]
  wire  _T_20 = rxCounter == 3'h4; // @[Chiplink.scala 202:30]
  wire  _T_25 = io_rsp_ready & io_rsp_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_14 = _T_25 ? 1'h0 : rspValid; // @[Chiplink.scala 207:34 208:18 155:29]
  wire  _GEN_15 = _T_25 | _GEN_8; // @[Chiplink.scala 207:34 209:18]
  wire  _GEN_16 = rxCounter == 3'h4 | _GEN_13; // @[Chiplink.scala 202:40 204:17]
  wire  _GEN_17 = rxCounter == 3'h4 | _GEN_14; // @[Chiplink.scala 202:40 205:18]
  wire  _GEN_19 = rxCounter == 3'h4 ? _GEN_8 : _GEN_15; // @[Chiplink.scala 202:40]
  wire  _GEN_22 = io_hspi_rx_enable ? _GEN_13 : _GEN_16; // @[Chiplink.scala 197:33]
  wire  _GEN_24 = io_hspi_rx_enable ? _GEN_8 : _GEN_19; // @[Chiplink.scala 197:33]
  wire  _GEN_26 = ~_T; // @[Chiplink.scala 175:15]
  wire  _GEN_40 = io_hspi_rx_enable & _T_2; // @[Chiplink.scala 198:15]
  assign io_hspi_clk = clock; // @[Chiplink.scala 145:34]
  assign io_hspi_tx_enable = _T | _T_4; // @[Chiplink.scala 165:27 173:27]
  assign io_hspi_tx_data = _T ? updateInfo[15:0] : _GEN_5; // @[Chiplink.scala 165:27 172:25]
  assign io_hspi_oen = ~isTxRxn; // @[Chiplink.scala 157:22]
  assign io_req_ready = reqReady; // @[Chiplink.scala 159:20]
  assign io_rsp_valid = rspValid; // @[Chiplink.scala 160:20]
  assign io_rsp_bits_rdata = rspInfo; // @[Chiplink.scala 161:26]
  always @(posedge clock) begin
    if (reset) begin // @[Chiplink.scala 147:30]
      txCounter <= 4'hf; // @[Chiplink.scala 147:30]
    end else if (_T) begin // @[Chiplink.scala 165:27]
      txCounter <= 4'h1; // @[Chiplink.scala 170:19]
    end else if (txCounter < 4'h7) begin // @[Chiplink.scala 174:38]
      txCounter <= _txCounter_T_1; // @[Chiplink.scala 176:19]
    end else if (txCounter == 4'h7) begin // @[Chiplink.scala 183:41]
      txCounter <= 4'hf; // @[Chiplink.scala 187:21]
    end
    if (reset) begin // @[Chiplink.scala 148:30]
      rxCounter <= 3'h0; // @[Chiplink.scala 148:30]
    end else if (io_hspi_rx_enable) begin // @[Chiplink.scala 197:33]
      rxCounter <= _rxCounter_T_1; // @[Chiplink.scala 200:19]
    end else if (rxCounter == 3'h4) begin // @[Chiplink.scala 202:40]
      rxCounter <= 3'h0; // @[Chiplink.scala 206:19]
    end
    isTxRxn <= reset | _GEN_22; // @[Chiplink.scala 149:{28,28}]
    if (_T) begin // @[Chiplink.scala 165:27]
      reqInfo <= updateInfo; // @[Chiplink.scala 169:17]
    end else if (txCounter < 4'h7) begin // @[Chiplink.scala 174:38]
      reqInfo <= {{16'd0}, updateInfo_1}; // @[Chiplink.scala 178:17]
    end
    if (io_hspi_rx_enable) begin // @[Chiplink.scala 197:33]
      rspInfo <= _rspInfo_T[79:16]; // @[Chiplink.scala 201:17]
    end
    reqReady <= reset | _GEN_24; // @[Chiplink.scala 154:{29,29}]
    if (reset) begin // @[Chiplink.scala 155:29]
      rspValid <= 1'h0; // @[Chiplink.scala 155:29]
    end else if (!(io_hspi_rx_enable)) begin // @[Chiplink.scala 197:33]
      rspValid <= _GEN_17;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T & ~reset & _io_hspi_oen_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:166 assert( isTxRxn )\n"); // @[Chiplink.scala 166:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~isTxRxn & (_T & ~reset)) begin
          $fatal; // @[Chiplink.scala 166:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~_T & _T_4 & _T_2 & _io_hspi_oen_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:175 assert( isTxRxn )\n"); // @[Chiplink.scala 175:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~isTxRxn & (~_T & _T_4 & _T_2)) begin
          $fatal; // @[Chiplink.scala 175:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_26 & ~_T_4 & _T_8 & _T_2 & _io_hspi_oen_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:184 assert( isTxRxn )\n"); // @[Chiplink.scala 184:17]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~isTxRxn & (_GEN_26 & ~_T_4 & _T_8 & _T_2)) begin
          $fatal; // @[Chiplink.scala 184:17]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_hspi_rx_enable & _T_2 & ~_io_hspi_oen_T) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:198 assert( ~isTxRxn )\n"); // @[Chiplink.scala 198:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_io_hspi_oen_T & (io_hspi_rx_enable & _T_2)) begin
          $fatal; // @[Chiplink.scala 198:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & ~(rxCounter < 3'h4)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:199 assert( rxCounter < 4.U )\n"); // @[Chiplink.scala 199:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(rxCounter < 3'h4) & (io_hspi_rx_enable & _T_2)) begin
          $fatal; // @[Chiplink.scala 199:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~io_hspi_rx_enable & _T_20 & _T_2 & _T_15) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Chiplink.scala:203 assert( ~isTxRxn )\n"); // @[Chiplink.scala 203:15]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_io_hspi_oen_T & (~io_hspi_rx_enable & _T_20 & _T_2)) begin
          $fatal; // @[Chiplink.scala 203:15]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  txCounter = _RAND_0[3:0];
  _RAND_1 = {1{`RANDOM}};
  rxCounter = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  isTxRxn = _RAND_2[0:0];
  _RAND_3 = {4{`RANDOM}};
  reqInfo = _RAND_3[111:0];
  _RAND_4 = {2{`RANDOM}};
  rspInfo = _RAND_4[63:0];
  _RAND_5 = {1{`RANDOM}};
  reqReady = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  rspValid = _RAND_6[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module ChipLinkMaster(
  input         clock,
  input         reset,
  output        auto_chip_link_master_in_a_ready,
  input         auto_chip_link_master_in_a_valid,
  input  [2:0]  auto_chip_link_master_in_a_bits_opcode,
  input  [2:0]  auto_chip_link_master_in_a_bits_param,
  input  [1:0]  auto_chip_link_master_in_a_bits_size,
  input  [9:0]  auto_chip_link_master_in_a_bits_source,
  input  [31:0] auto_chip_link_master_in_a_bits_address,
  input  [7:0]  auto_chip_link_master_in_a_bits_mask,
  input  [63:0] auto_chip_link_master_in_a_bits_data,
  input         auto_chip_link_master_in_a_bits_corrupt,
  input         auto_chip_link_master_in_d_ready,
  output        auto_chip_link_master_in_d_valid,
  output [2:0]  auto_chip_link_master_in_d_bits_opcode,
  output [1:0]  auto_chip_link_master_in_d_bits_size,
  output [9:0]  auto_chip_link_master_in_d_bits_source,
  output [63:0] auto_chip_link_master_in_d_bits_data,
  output        io_hspi_clk,
  input         io_hspi_rx_enable,
  input  [15:0] io_hspi_rx_data,
  output        io_hspi_tx_enable,
  output [15:0] io_hspi_tx_data,
  output        io_hspi_oen
);
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [9:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [9:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire  tlSlave_clock; // @[Chiplink.scala 231:25]
  wire  tlSlave_reset; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_req_ready; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_req_valid; // @[Chiplink.scala 231:25]
  wire [31:0] tlSlave_io_req_bits_paddr; // @[Chiplink.scala 231:25]
  wire [63:0] tlSlave_io_req_bits_wdata; // @[Chiplink.scala 231:25]
  wire [7:0] tlSlave_io_req_bits_wmask; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_rsp_ready; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_rsp_valid; // @[Chiplink.scala 231:25]
  wire [63:0] tlSlave_io_rsp_bits_rdata; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_a_ready; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_a_valid; // @[Chiplink.scala 231:25]
  wire [2:0] tlSlave_io_a_bits_opcode; // @[Chiplink.scala 231:25]
  wire [1:0] tlSlave_io_a_bits_size; // @[Chiplink.scala 231:25]
  wire [9:0] tlSlave_io_a_bits_source; // @[Chiplink.scala 231:25]
  wire [31:0] tlSlave_io_a_bits_address; // @[Chiplink.scala 231:25]
  wire [7:0] tlSlave_io_a_bits_mask; // @[Chiplink.scala 231:25]
  wire [63:0] tlSlave_io_a_bits_data; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_d_ready; // @[Chiplink.scala 231:25]
  wire  tlSlave_io_d_valid; // @[Chiplink.scala 231:25]
  wire [2:0] tlSlave_io_d_bits_opcode; // @[Chiplink.scala 231:25]
  wire [1:0] tlSlave_io_d_bits_size; // @[Chiplink.scala 231:25]
  wire [9:0] tlSlave_io_d_bits_source; // @[Chiplink.scala 231:25]
  wire [63:0] tlSlave_io_d_bits_data; // @[Chiplink.scala 231:25]
  wire  hspiMst_clock; // @[Chiplink.scala 232:25]
  wire  hspiMst_reset; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_hspi_clk; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_hspi_rx_enable; // @[Chiplink.scala 232:25]
  wire [15:0] hspiMst_io_hspi_rx_data; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_hspi_tx_enable; // @[Chiplink.scala 232:25]
  wire [15:0] hspiMst_io_hspi_tx_data; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_hspi_oen; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_req_ready; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_req_valid; // @[Chiplink.scala 232:25]
  wire [31:0] hspiMst_io_req_bits_paddr; // @[Chiplink.scala 232:25]
  wire [63:0] hspiMst_io_req_bits_wdata; // @[Chiplink.scala 232:25]
  wire [7:0] hspiMst_io_req_bits_wmask; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_rsp_ready; // @[Chiplink.scala 232:25]
  wire  hspiMst_io_rsp_valid; // @[Chiplink.scala 232:25]
  wire [63:0] hspiMst_io_rsp_bits_rdata; // @[Chiplink.scala 232:25]
  TLMonitor_1 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source)
  );
  TLSlave tlSlave ( // @[Chiplink.scala 231:25]
    .clock(tlSlave_clock),
    .reset(tlSlave_reset),
    .io_req_ready(tlSlave_io_req_ready),
    .io_req_valid(tlSlave_io_req_valid),
    .io_req_bits_paddr(tlSlave_io_req_bits_paddr),
    .io_req_bits_wdata(tlSlave_io_req_bits_wdata),
    .io_req_bits_wmask(tlSlave_io_req_bits_wmask),
    .io_rsp_ready(tlSlave_io_rsp_ready),
    .io_rsp_valid(tlSlave_io_rsp_valid),
    .io_rsp_bits_rdata(tlSlave_io_rsp_bits_rdata),
    .io_a_ready(tlSlave_io_a_ready),
    .io_a_valid(tlSlave_io_a_valid),
    .io_a_bits_opcode(tlSlave_io_a_bits_opcode),
    .io_a_bits_size(tlSlave_io_a_bits_size),
    .io_a_bits_source(tlSlave_io_a_bits_source),
    .io_a_bits_address(tlSlave_io_a_bits_address),
    .io_a_bits_mask(tlSlave_io_a_bits_mask),
    .io_a_bits_data(tlSlave_io_a_bits_data),
    .io_d_ready(tlSlave_io_d_ready),
    .io_d_valid(tlSlave_io_d_valid),
    .io_d_bits_opcode(tlSlave_io_d_bits_opcode),
    .io_d_bits_size(tlSlave_io_d_bits_size),
    .io_d_bits_source(tlSlave_io_d_bits_source),
    .io_d_bits_data(tlSlave_io_d_bits_data)
  );
  HexSpiMaster hspiMst ( // @[Chiplink.scala 232:25]
    .clock(hspiMst_clock),
    .reset(hspiMst_reset),
    .io_hspi_clk(hspiMst_io_hspi_clk),
    .io_hspi_rx_enable(hspiMst_io_hspi_rx_enable),
    .io_hspi_rx_data(hspiMst_io_hspi_rx_data),
    .io_hspi_tx_enable(hspiMst_io_hspi_tx_enable),
    .io_hspi_tx_data(hspiMst_io_hspi_tx_data),
    .io_hspi_oen(hspiMst_io_hspi_oen),
    .io_req_ready(hspiMst_io_req_ready),
    .io_req_valid(hspiMst_io_req_valid),
    .io_req_bits_paddr(hspiMst_io_req_bits_paddr),
    .io_req_bits_wdata(hspiMst_io_req_bits_wdata),
    .io_req_bits_wmask(hspiMst_io_req_bits_wmask),
    .io_rsp_ready(hspiMst_io_rsp_ready),
    .io_rsp_valid(hspiMst_io_rsp_valid),
    .io_rsp_bits_rdata(hspiMst_io_rsp_bits_rdata)
  );
  assign auto_chip_link_master_in_a_ready = tlSlave_io_a_ready; // @[Nodes.scala 1210:84 Chiplink.scala 236:22]
  assign auto_chip_link_master_in_d_valid = tlSlave_io_d_valid; // @[Nodes.scala 1210:84 Chiplink.scala 238:22]
  assign auto_chip_link_master_in_d_bits_opcode = tlSlave_io_d_bits_opcode; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign auto_chip_link_master_in_d_bits_size = tlSlave_io_d_bits_size; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign auto_chip_link_master_in_d_bits_source = tlSlave_io_d_bits_source; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign auto_chip_link_master_in_d_bits_data = tlSlave_io_d_bits_data; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign io_hspi_clk = hspiMst_io_hspi_clk; // @[Chiplink.scala 242:17]
  assign io_hspi_tx_enable = hspiMst_io_hspi_tx_enable; // @[Chiplink.scala 245:18]
  assign io_hspi_tx_data = hspiMst_io_hspi_tx_data; // @[Chiplink.scala 245:18]
  assign io_hspi_oen = hspiMst_io_hspi_oen; // @[Chiplink.scala 246:18]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = tlSlave_io_a_ready; // @[Nodes.scala 1210:84 Chiplink.scala 236:22]
  assign monitor_io_in_a_valid = auto_chip_link_master_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_chip_link_master_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_chip_link_master_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_chip_link_master_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_chip_link_master_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_chip_link_master_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_chip_link_master_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_chip_link_master_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_chip_link_master_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = tlSlave_io_d_valid; // @[Nodes.scala 1210:84 Chiplink.scala 238:22]
  assign monitor_io_in_d_bits_opcode = tlSlave_io_d_bits_opcode; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign monitor_io_in_d_bits_size = tlSlave_io_d_bits_size; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign monitor_io_in_d_bits_source = tlSlave_io_d_bits_source; // @[Nodes.scala 1210:84 Chiplink.scala 239:21]
  assign tlSlave_clock = clock;
  assign tlSlave_reset = reset;
  assign tlSlave_io_req_ready = hspiMst_io_req_ready; // @[Chiplink.scala 249:20]
  assign tlSlave_io_rsp_valid = hspiMst_io_rsp_valid; // @[Chiplink.scala 248:20]
  assign tlSlave_io_rsp_bits_rdata = hspiMst_io_rsp_bits_rdata; // @[Chiplink.scala 248:20]
  assign tlSlave_io_a_valid = auto_chip_link_master_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_opcode = auto_chip_link_master_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_size = auto_chip_link_master_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_source = auto_chip_link_master_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_address = auto_chip_link_master_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_mask = auto_chip_link_master_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_a_bits_data = auto_chip_link_master_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign tlSlave_io_d_ready = auto_chip_link_master_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign hspiMst_clock = clock;
  assign hspiMst_reset = reset;
  assign hspiMst_io_hspi_rx_enable = io_hspi_rx_enable; // @[Chiplink.scala 244:24]
  assign hspiMst_io_hspi_rx_data = io_hspi_rx_data; // @[Chiplink.scala 244:24]
  assign hspiMst_io_req_valid = tlSlave_io_req_valid; // @[Chiplink.scala 249:20]
  assign hspiMst_io_req_bits_paddr = tlSlave_io_req_bits_paddr; // @[Chiplink.scala 249:20]
  assign hspiMst_io_req_bits_wdata = tlSlave_io_req_bits_wdata; // @[Chiplink.scala 249:20]
  assign hspiMst_io_req_bits_wmask = tlSlave_io_req_bits_wmask; // @[Chiplink.scala 249:20]
  assign hspiMst_io_rsp_ready = tlSlave_io_rsp_ready; // @[Chiplink.scala 248:20]
endmodule
module TLMonitor_2(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_62 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_62; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_22 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_27 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_28 = $signed(_T_27) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_29 = _T_22 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_31 = _source_ok_T & _T_29; // @[Monitor.scala 82:72]
  wire  _T_60 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_64 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_65 = _T_64 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_69 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_73 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_146 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_154 = _T_146 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_165 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_169 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_177 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_195 = _source_ok_T & _T_154; // @[Monitor.scala 115:71]
  wire  _T_213 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_245 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_246 = io_in_a_bits_mask & _T_245; // @[Monitor.scala 127:31]
  wire  _T_247 = _T_246 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_259 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_267 = _T_259 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_269 = _source_ok_T & _T_267; // @[Monitor.scala 131:74]
  wire  _T_279 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_287 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_315 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_323 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_351 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_363 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_367 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_371 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_375 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_379 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_383 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_387 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_398 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_402 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_415 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_435 = _T_383 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_444 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_461 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_479 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_509 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_510 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_514 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_518 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_522 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_526 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_533 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_534 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_538 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_542 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_550 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_554 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_64 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_64 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [15:0] _GEN_71 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_560 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_563 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_73 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_73}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_335 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_335 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_336 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_336 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_567 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_571 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_573 = ~_T_367; // @[Monitor.scala 671:74]
  wire  _T_574 = io_in_d_valid & d_first_1 & ~_T_367; // @[Monitor.scala 671:71]
  wire [1:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_367 ? 2'h1 : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & _T_573 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_573 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  same_cycle_resp = _T_560 & _source_ok_T; // @[Monitor.scala 681:88]
  wire  _T_586 = inflight | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_591 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_592 = io_in_d_bits_opcode == _GEN_32 | _T_591; // @[Monitor.scala 685:77]
  wire  _T_596 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_603 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_604 = io_in_d_bits_opcode == _GEN_48 | _T_603; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_608 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_618 = _T_571 & a_first_1 & io_in_a_valid & _source_ok_T & _T_573; // @[Monitor.scala 694:116]
  wire  _T_619 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_620 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set_wo_ready = _GEN_15[0];
  wire  d_clr_wo_ready = _GEN_21[0];
  wire  _T_627 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire  a_set = _GEN_16[0];
  wire  d_clr = _GEN_22[0];
  wire [3:0] a_opcodes_set = _GEN_19[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_20[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_636 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [15:0] _GEN_76 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_662 = io_in_d_valid & d_first_2 & _T_367; // @[Monitor.scala 779:71]
  wire [1:0] _GEN_66 = io_in_d_valid & d_first_2 & _T_367 ? 2'h1 : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_367 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_676 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_680 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  d_clr_wo_ready_1 = _GEN_66[0];
  wire [3:0] d_sizes_clr_1 = _GEN_69[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_122) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_122 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_154) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_154 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_247) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_247 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_279) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_279 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_315) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_315 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_351) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_351 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_363) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_363 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_510) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_510 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_514) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_514 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_518) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_518 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_522) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_522 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_526) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_526 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_534) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_534 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_538 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_542) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_542 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_554) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_554 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_563 & ~reset & ~_T_567) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_567 & (_T_563 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & _T_2 & ~_T_586) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_586 & (_T_574 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_592) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_592 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_596) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_596 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_604) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_604 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_608) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_608 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_618 & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_618 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_627) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_627 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_676 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2 & ~_T_680) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_680 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_619 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~d_clr_wo_ready_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  sink = _RAND_10[4:0];
  _RAND_11 = {1{`RANDOM}};
  denied = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  inflight = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  inflight_opcodes = _RAND_13[3:0];
  _RAND_14 = {1{`RANDOM}};
  inflight_sizes = _RAND_14[3:0];
  _RAND_15 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  watchdog = _RAND_17[31:0];
  _RAND_18 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_18[3:0];
  _RAND_19 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_19[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_3(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_b_ready,
  input         io_in_b_valid,
  input  [1:0]  io_in_b_bits_param,
  input  [31:0] io_in_b_bits_address,
  input         io_in_c_ready,
  input         io_in_c_valid,
  input  [2:0]  io_in_c_bits_opcode,
  input  [2:0]  io_in_c_bits_param,
  input  [2:0]  io_in_c_bits_size,
  input         io_in_c_bits_source,
  input  [31:0] io_in_c_bits_address,
  input         io_in_c_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt,
  input         io_in_e_valid,
  input  [4:0]  io_in_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_74 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_74; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_22 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_27 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_28 = $signed(_T_27) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_29 = _T_22 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_31 = _source_ok_T & _T_29; // @[Monitor.scala 82:72]
  wire  _T_61 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_65 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_66 = _T_65 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_70 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_74 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_124 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_137 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_148 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_156 = _T_148 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_167 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_171 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_179 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_197 = _source_ok_T & _T_156; // @[Monitor.scala 115:71]
  wire  _T_215 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_247 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_248 = io_in_a_bits_mask & _T_247; // @[Monitor.scala 127:31]
  wire  _T_249 = _T_248 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_253 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_261 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_269 = _T_261 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_271 = _source_ok_T & _T_269; // @[Monitor.scala 131:74]
  wire  _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_317 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_325 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_353 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_365 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_369 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_373 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_377 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_381 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_385 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_389 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_400 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_404 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_417 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_437 = _T_385 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_446 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_463 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_481 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire [32:0] _T_505 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_3 = $signed(_T_505) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 33'sh0; // @[Parameters.scala 137:67]
  wire [31:0] _is_aligned_T_1 = io_in_b_bits_address & 32'hf; // @[Edges.scala 20:16]
  wire  is_aligned_1 = _is_aligned_T_1 == 32'h0; // @[Edges.scala 20:24]
  wire  _T_539 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_576 = io_in_b_bits_param == 2'h0; // @[Monitor.scala 182:31]
  wire  _source_ok_T_2 = ~io_in_c_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_7 = 11'hf << io_in_c_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_76 = {{28'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_76; // @[Edges.scala 20:16]
  wire  is_aligned_2 = _is_aligned_T_2 == 32'h0; // @[Edges.scala 20:24]
  wire [32:0] _address_ok_T_6 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_8 = $signed(_address_ok_T_6) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_760 = ~_source_ok_T_2; // @[Monitor.scala 63:7]
  wire  _T_770 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
  wire  _T_777 = io_in_c_bits_size >= 3'h3; // @[Monitor.scala 245:30]
  wire  _T_784 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
  wire  _T_788 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
  wire  _T_792 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
  wire  _T_810 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
  wire  _T_817 = 3'h4 == io_in_c_bits_size; // @[Parameters.scala 91:48]
  wire  _T_824 = _T_817 & _address_ok_T_9; // @[Parameters.scala 670:56]
  wire  _T_826 = _source_ok_T_2 & _T_824; // @[Monitor.scala 260:78]
  wire  _T_864 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
  wire  _T_914 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
  wire  _T_924 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
  wire  _T_932 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
  wire  _T_946 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_968 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_969 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_973 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_977 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_981 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_985 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_992 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_993 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_997 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_1001 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_1009 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_1013 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  wire  _b_first_T = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 52:35]
  reg  b_first_counter; // @[Edges.scala 228:27]
  wire  b_first_counter1 = b_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  b_first = ~b_first_counter; // @[Edges.scala 230:25]
  reg [1:0] param_2; // @[Monitor.scala 408:22]
  reg [31:0] address_1; // @[Monitor.scala 411:22]
  wire  _T_1020 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
  wire  _T_1025 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
  wire  _T_1037 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 52:35]
  wire  c_first_beats1_decode = is_aligned_mask_2[3]; // @[Edges.scala 219:59]
  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  c_first_beats1 = c_first_beats1_opdata & c_first_beats1_decode; // @[Edges.scala 220:14]
  reg  c_first_counter; // @[Edges.scala 228:27]
  wire  c_first_counter1 = c_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  c_first = ~c_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
  reg [2:0] param_3; // @[Monitor.scala 513:22]
  reg [2:0] size_3; // @[Monitor.scala 514:22]
  reg  source_3; // @[Monitor.scala 515:22]
  reg [31:0] address_2; // @[Monitor.scala 516:22]
  wire  _T_1044 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
  wire  _T_1045 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
  wire  _T_1049 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
  wire  _T_1053 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
  wire  _T_1057 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
  wire  _T_1061 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_80 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_80 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [15:0] _GEN_87 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_1067 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_1070 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_89 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_89}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_492 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_492 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_493 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_493 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_1074 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_1078 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_1080 = ~_T_369; // @[Monitor.scala 671:74]
  wire  _T_1081 = io_in_d_valid & d_first_1 & ~_T_369; // @[Monitor.scala 671:71]
  wire [1:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_369 ? 2'h1 : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_34 = _d_first_T & d_first_1 & _T_1080 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_35 = _d_first_T & d_first_1 & _T_1080 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  same_cycle_resp = _T_1067 & _source_ok_T; // @[Monitor.scala 681:88]
  wire  _T_1093 = inflight | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
  wire  _T_1098 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
  wire  _T_1099 = io_in_d_bits_opcode == _GEN_44 | _T_1098; // @[Monitor.scala 685:77]
  wire  _T_1103 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
  wire  _T_1110 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
  wire  _T_1111 = io_in_d_bits_opcode == _GEN_60 | _T_1110; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_91 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_1115 = _GEN_91 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_1125 = _T_1078 & a_first_1 & io_in_a_valid & _source_ok_T & _T_1080; // @[Monitor.scala 694:116]
  wire  _T_1126 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_1127 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set_wo_ready = _GEN_27[0];
  wire  d_clr_wo_ready = _GEN_33[0];
  wire  _T_1134 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire  a_set = _GEN_28[0];
  wire  d_clr = _GEN_34[0];
  wire [3:0] a_opcodes_set = _GEN_31[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_35[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_32[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_1143 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg  inflight_1; // @[Monitor.scala 723:35]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  c_first_counter_1; // @[Edges.scala 228:27]
  wire  c_first_counter1_1 = c_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  c_first_1 = ~c_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [15:0] _GEN_92 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_92 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_1153 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
  wire  _T_1154 = io_in_c_valid & c_first_1 & _T_1153; // @[Monitor.scala 756:37]
  wire [1:0] _c_set_wo_ready_T = 2'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_1153 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 756:71 757:22]
  wire  _T_1160 = _c_first_T & c_first_1 & _T_1153; // @[Monitor.scala 760:38]
  wire [3:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
  wire [3:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 4'h1; // @[Monitor.scala 763:59]
  wire [2:0] _GEN_94 = {io_in_c_bits_source, 2'h0}; // @[Monitor.scala 765:77]
  wire [3:0] _c_sizes_set_T = {{1'd0}, _GEN_94}; // @[Monitor.scala 765:77]
  wire [3:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_1153 ? _c_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 760:72 763:28]
  wire [18:0] _GEN_494 = {{15'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
  wire [18:0] _c_sizes_set_T_1 = _GEN_494 << _c_sizes_set_T; // @[Monitor.scala 765:52]
  wire  _T_1163 = ~(inflight_1 >> io_in_c_bits_source); // @[Monitor.scala 766:17]
  wire [1:0] _GEN_73 = _c_first_T & c_first_1 & _T_1153 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 760:72 761:28]
  wire [18:0] _GEN_77 = _c_first_T & c_first_1 & _T_1153 ? _c_sizes_set_T_1 : 19'h0; // @[Monitor.scala 760:72 765:28]
  wire  _T_1167 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
  wire  _T_1169 = io_in_d_valid & d_first_2 & _T_369; // @[Monitor.scala 779:71]
  wire [1:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_369 ? 2'h1 : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [1:0] _GEN_79 = _d_first_T & d_first_2 & _T_369 ? 2'h1 : 2'h0; // @[Monitor.scala 783:90 784:21]
  wire [30:0] _GEN_81 = _d_first_T & d_first_2 & _T_369 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  same_cycle_resp_1 = _T_1154 & _source_ok_T_2; // @[Monitor.scala 790:88]
  wire  _T_1179 = inflight_1 | same_cycle_resp_1; // @[Monitor.scala 791:49]
  wire  _T_1183 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_1187 = _GEN_91 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_1196 = _T_1167 & c_first_1 & io_in_c_valid & _source_ok_T_2 & _T_369; // @[Monitor.scala 799:116]
  wire  _T_1198 = _T_1126 | io_in_c_ready; // @[Monitor.scala 800:32]
  wire  c_set_wo_ready = _GEN_72[0];
  wire  _T_1202 = |c_set_wo_ready; // @[Monitor.scala 804:28]
  wire  d_clr_wo_ready_1 = _GEN_78[0];
  wire  _T_1203 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
  wire  c_set = _GEN_73[0];
  wire  d_clr_1 = _GEN_79[0];
  wire [3:0] c_sizes_set = _GEN_77[3:0];
  wire [3:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
  wire [3:0] d_sizes_clr_1 = _GEN_81[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_1212 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  reg [31:0] inflight_2; // @[Monitor.scala 823:27]
  reg  d_first_counter_3; // @[Edges.scala 228:27]
  wire  d_first_counter1_3 = d_first_counter_3 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_3 = ~d_first_counter_3; // @[Edges.scala 230:25]
  wire  _T_1224 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
  wire  _T_1225 = _d_first_T & d_first_3 & _T_1224; // @[Monitor.scala 829:38]
  wire [31:0] _d_set_T = 32'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
  wire [31:0] _T_1226 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
  wire  _T_1228 = ~_T_1226[0]; // @[Monitor.scala 831:14]
  wire [31:0] d_set = _d_first_T & d_first_3 & _T_1224 ? _d_set_T : 32'h0; // @[Monitor.scala 829:72 830:13]
  wire [31:0] _e_clr_T = 32'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
  wire [31:0] _T_1235 = d_set | inflight_2; // @[Monitor.scala 837:24]
  wire [31:0] _T_1236 = _T_1235 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
  wire [31:0] e_clr = io_in_e_valid ? _e_clr_T : 32'h0; // @[Monitor.scala 835:73 836:13]
  wire [31:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
  wire [31:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
  wire [31:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      b_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_b_first_T) begin // @[Edges.scala 234:17]
      if (b_first) begin // @[Edges.scala 235:21]
        b_first_counter <= 1'h0;
      end else begin
        b_first_counter <= b_first_counter1;
      end
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first) begin // @[Edges.scala 235:21]
        c_first_counter <= c_first_beats1;
      end else begin
        c_first_counter <= c_first_counter1;
      end
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 1'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= (inflight_1 | c_set) & ~d_clr_1; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first_1) begin // @[Edges.scala 235:21]
        c_first_counter_1 <= c_first_beats1;
      end else begin
        c_first_counter_1 <= c_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    if (reset) begin // @[Monitor.scala 823:27]
      inflight_2 <= 32'h0; // @[Monitor.scala 823:27]
    end else begin
      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_3 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_3) begin // @[Edges.scala 235:21]
        d_first_counter_3 <= d_first_beats1;
      end else begin
        d_first_counter_3 <= d_first_counter1_3;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_29 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_61) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_61 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_66) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_66 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_29 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_61) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_61 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_124) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_124 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_66) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_66 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_156) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_156 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_249) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_249 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_271) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_271 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_281) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_281 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_271) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_271 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_317) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_317 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_353) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_353 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_365) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_365 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_400) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_400 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_404) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_404 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_400) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_400 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_404) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_404 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_437) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_437 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_437) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_437 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~is_aligned_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_2 & ~_T_539) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_539 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_826) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_826 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_824) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_824 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid report param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_826) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_826 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_824) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_824 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid param (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck is corrupt (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_969) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_969 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_973) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_973 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_977) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_977 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_981) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_981 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_985) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_985 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_993) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_993 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_997) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_997 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1001) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1001 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1013) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1013 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1025) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel param changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1025 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1037) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1037 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1045) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1045 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1049) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel param changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1049 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1053) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel size changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1053 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1057) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel source changed within multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1057 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1061) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel address changed with multibeat operation (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1061 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1070 & ~reset & ~_T_1074) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1074 & (_T_1070 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_2 & ~_T_1093) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1093 & (_T_1081 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & same_cycle_resp & _T_2 & ~_T_1099) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1099 & (_T_1081 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & same_cycle_resp & _T_2 & ~_T_1103) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1103 & (_T_1081 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & ~same_cycle_resp & _T_2 & ~_T_1111) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1111 & (_T_1081 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & ~same_cycle_resp & _T_2 & ~_T_1115) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1115 & (_T_1081 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125 & _T_2 & ~_T_1127) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1127 & (_T_1125 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_1134) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1134 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1143) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1143 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1160 & ~reset & ~_T_1163) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel re-used a source ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1163 & (_T_1160 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & _T_2 & ~_T_1179) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1179 & (_T_1169 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & same_cycle_resp_1 & _T_2 & ~_T_1183) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1183 & (_T_1169 & same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & ~same_cycle_resp_1 & _T_2 & ~_T_1187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1187 & (_T_1169 & ~same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1196 & _T_2 & ~_T_1198) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1198 & (_T_1196 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1202 & _T_2 & ~_T_1203) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1203 & (_T_1202 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1212) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1212 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1225 & _T_2 & ~_T_1228) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel re-used a sink ID (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1228 & (_T_1225 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_e_valid & ~reset & ~_T_1236[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1236[0] & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  sink = _RAND_10[4:0];
  _RAND_11 = {1{`RANDOM}};
  denied = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  b_first_counter = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  param_2 = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  address_1 = _RAND_14[31:0];
  _RAND_15 = {1{`RANDOM}};
  c_first_counter = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  opcode_3 = _RAND_16[2:0];
  _RAND_17 = {1{`RANDOM}};
  param_3 = _RAND_17[2:0];
  _RAND_18 = {1{`RANDOM}};
  size_3 = _RAND_18[2:0];
  _RAND_19 = {1{`RANDOM}};
  source_3 = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  address_2 = _RAND_20[31:0];
  _RAND_21 = {1{`RANDOM}};
  inflight = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  inflight_opcodes = _RAND_22[3:0];
  _RAND_23 = {1{`RANDOM}};
  inflight_sizes = _RAND_23[3:0];
  _RAND_24 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  watchdog = _RAND_26[31:0];
  _RAND_27 = {1{`RANDOM}};
  inflight_1 = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_28[3:0];
  _RAND_29 = {1{`RANDOM}};
  c_first_counter_1 = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  watchdog_1 = _RAND_31[31:0];
  _RAND_32 = {1{`RANDOM}};
  inflight_2 = _RAND_32[31:0];
  _RAND_33 = {1{`RANDOM}};
  d_first_counter_3 = _RAND_33[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_4(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input         io_in_d_bits_source,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_62 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_62; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_32 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_37 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_38 = $signed(_T_37) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_39 = _T_32 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_70 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_74 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_75 = _T_74 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_79 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_83 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_137 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_150 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_166 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_174 = _T_166 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_185 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_189 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_197 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_238 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_275 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_276 = io_in_a_bits_mask & _T_275; // @[Monitor.scala 127:31]
  wire  _T_277 = _T_276 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_281 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_294 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_302 = _T_294 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_314 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_322 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_396 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_408 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_412 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_416 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_420 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_424 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_428 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_432 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_443 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_447 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_460 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_480 = _T_428 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_489 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_506 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_524 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_554 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_555 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_559 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_563 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_567 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_571 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg  source_1; // @[Monitor.scala 538:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_578 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_579 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_583 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_587 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_591 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_595 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_599 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  reg [1:0] inflight; // @[Monitor.scala 611:27]
  reg [7:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [7:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [2:0] _GEN_64 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_64}; // @[Monitor.scala 634:69]
  wire [7:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_68 = {{8'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_68 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [7:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [15:0] _GEN_73 = {{8'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_605 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_608 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_75 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_75}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_325 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_325 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_326 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_326 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [1:0] _T_610 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_612 = ~_T_610[0]; // @[Monitor.scala 658:17]
  wire [1:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_616 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_618 = ~_T_412; // @[Monitor.scala 671:74]
  wire  _T_619 = io_in_d_valid & d_first_1 & ~_T_412; // @[Monitor.scala 671:71]
  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _GEN_327 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [30:0] _d_opcodes_clr_T_5 = _GEN_327 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [1:0] d_clr = _d_first_T & d_first_1 & _T_618 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_618 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = _T_605 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [1:0] _T_629 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_631 = _T_629[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_636 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_637 = io_in_d_bits_opcode == _GEN_32 | _T_636; // @[Monitor.scala 685:77]
  wire  _T_641 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_648 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_649 = io_in_d_bits_opcode == _GEN_48 | _T_648; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_79 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_653 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_663 = _T_616 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_618; // @[Monitor.scala 694:116]
  wire  _T_664 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_665 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  _T_672 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire [1:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [1:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [1:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [7:0] a_opcodes_set = _GEN_19[7:0];
  wire [7:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [7:0] d_opcodes_clr = _GEN_23[7:0];
  wire [7:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [7:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [7:0] a_sizes_set = _GEN_20[7:0];
  wire [7:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [7:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_681 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [1:0] inflight_1; // @[Monitor.scala 723:35]
  reg [7:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [7:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [15:0] _GEN_81 = {{8'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_81 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_701 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire  _T_707 = io_in_d_valid & d_first_2 & _T_412; // @[Monitor.scala 779:71]
  wire [1:0] d_clr_wo_ready_1 = io_in_d_valid & d_first_2 & _T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [1:0] d_clr_1 = _d_first_T & d_first_2 & _T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 783:90 784:21]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_412 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire [1:0] _T_715 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_721 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_725 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_741 = 2'h0 != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
  wire [1:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [1:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [7:0] d_sizes_clr_1 = _GEN_69[7:0];
  wire [7:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [7:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 2'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 8'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 8'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 2'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 8'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_39) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_39 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_75) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_75 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_39) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_39 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_137) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_137 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_75) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_75 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_277) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_277 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_302) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_302 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_314) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_314 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_302) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_302 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_355) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_355 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_396) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_396 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_408) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_408 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_443) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_443 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_447) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_447 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_443) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_443 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_447) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_447 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_480) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_480 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_480) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_480 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_555) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_555 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_559) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_559 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_563) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_563 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_567) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_567 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_571) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_571 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_579) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_579 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_583) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_583 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_587) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_587 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_591) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_591 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_595) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_595 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_599) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_599 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_608 & ~reset & ~_T_612) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_612 & (_T_608 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & _T_2 & ~_T_631) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_631 & (_T_619 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & same_cycle_resp & _T_2 & ~_T_637) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_637 & (_T_619 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & same_cycle_resp & _T_2 & ~_T_641) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_641 & (_T_619 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~same_cycle_resp & _T_2 & ~_T_649) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_649 & (_T_619 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~same_cycle_resp & _T_2 & ~_T_653) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_653 & (_T_619 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_2 & ~_T_665) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_665 & (_T_663 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_672) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_672 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_681) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_681 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_701 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707 & _T_2 & ~_T_715[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_715[0] & (_T_707 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_721 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707 & _T_2 & ~_T_725) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_725 & (_T_707 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_664 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_741 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_750) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:78:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_750 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[4:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  inflight = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  inflight_opcodes = _RAND_14[7:0];
  _RAND_15 = {1{`RANDOM}};
  inflight_sizes = _RAND_15[7:0];
  _RAND_16 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  watchdog = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  inflight_1 = _RAND_19[1:0];
  _RAND_20 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_20[7:0];
  _RAND_21 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  watchdog_1 = _RAND_22[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_5(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_62 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_62; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_22 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_27 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_28 = $signed(_T_27) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_29 = _T_22 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_31 = _source_ok_T & _T_29; // @[Monitor.scala 82:72]
  wire  _T_60 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_64 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_65 = _T_64 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_69 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_73 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_146 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_154 = _T_146 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_165 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_169 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_177 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_195 = _source_ok_T & _T_154; // @[Monitor.scala 115:71]
  wire  _T_213 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_245 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_246 = io_in_a_bits_mask & _T_245; // @[Monitor.scala 127:31]
  wire  _T_247 = _T_246 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_259 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_267 = _T_259 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_269 = _source_ok_T & _T_267; // @[Monitor.scala 131:74]
  wire  _T_279 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_287 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_315 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_323 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_351 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_363 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_367 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_371 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_375 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_379 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_383 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_387 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_398 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_402 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_415 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_435 = _T_383 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_444 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_461 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_479 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_509 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_510 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_514 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_518 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_522 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_526 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_533 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_534 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_538 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_542 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_550 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_554 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_64 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_64 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [15:0] _GEN_71 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_560 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_563 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_73 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_73}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_335 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_335 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_336 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_336 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_567 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_571 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_573 = ~_T_367; // @[Monitor.scala 671:74]
  wire  _T_574 = io_in_d_valid & d_first_1 & ~_T_367; // @[Monitor.scala 671:71]
  wire [1:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_367 ? 2'h1 : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & _T_573 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_573 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  same_cycle_resp = _T_560 & _source_ok_T; // @[Monitor.scala 681:88]
  wire  _T_586 = inflight | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_591 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_592 = io_in_d_bits_opcode == _GEN_32 | _T_591; // @[Monitor.scala 685:77]
  wire  _T_596 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_603 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_604 = io_in_d_bits_opcode == _GEN_48 | _T_603; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_608 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_618 = _T_571 & a_first_1 & io_in_a_valid & _source_ok_T & _T_573; // @[Monitor.scala 694:116]
  wire  _T_619 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_620 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set_wo_ready = _GEN_15[0];
  wire  d_clr_wo_ready = _GEN_21[0];
  wire  _T_627 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire  a_set = _GEN_16[0];
  wire  d_clr = _GEN_22[0];
  wire [3:0] a_opcodes_set = _GEN_19[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_20[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_636 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [15:0] _GEN_76 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_662 = io_in_d_valid & d_first_2 & _T_367; // @[Monitor.scala 779:71]
  wire [1:0] _GEN_66 = io_in_d_valid & d_first_2 & _T_367 ? 2'h1 : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_367 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_676 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_680 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  d_clr_wo_ready_1 = _GEN_66[0];
  wire [3:0] d_sizes_clr_1 = _GEN_69[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_122) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_122 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_154) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_154 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_247) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_247 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_279) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_279 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_315) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_315 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_351) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_351 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_363) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_363 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_510) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_510 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_514) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_514 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_518) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_518 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_522) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_522 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_526) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_526 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_534) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_534 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_538 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_542) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_542 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_554) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_554 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_563 & ~reset & ~_T_567) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_567 & (_T_563 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & _T_2 & ~_T_586) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_586 & (_T_574 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_592) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_592 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_596) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_596 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_604) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_604 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_608) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_608 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_618 & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_618 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_627) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_627 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_676 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2 & ~_T_680) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:79:18)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_680 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_619 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~d_clr_wo_ready_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  sink = _RAND_10[4:0];
  _RAND_11 = {1{`RANDOM}};
  denied = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  inflight = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  inflight_opcodes = _RAND_13[3:0];
  _RAND_14 = {1{`RANDOM}};
  inflight_sizes = _RAND_14[3:0];
  _RAND_15 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  watchdog = _RAND_17[31:0];
  _RAND_18 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_18[3:0];
  _RAND_19 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_19[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLXbar(
  input         clock,
  input         reset,
  input         auto_in_3_a_valid,
  input  [2:0]  auto_in_3_a_bits_opcode,
  input  [2:0]  auto_in_3_a_bits_param,
  input  [2:0]  auto_in_3_a_bits_size,
  input         auto_in_3_a_bits_source,
  input  [31:0] auto_in_3_a_bits_address,
  input  [7:0]  auto_in_3_a_bits_mask,
  input  [63:0] auto_in_3_a_bits_data,
  input         auto_in_3_a_bits_corrupt,
  input         auto_in_3_d_ready,
  output        auto_in_2_a_ready,
  input         auto_in_2_a_valid,
  input  [2:0]  auto_in_2_a_bits_opcode,
  input  [2:0]  auto_in_2_a_bits_param,
  input  [2:0]  auto_in_2_a_bits_size,
  input         auto_in_2_a_bits_source,
  input  [31:0] auto_in_2_a_bits_address,
  input  [7:0]  auto_in_2_a_bits_mask,
  input  [63:0] auto_in_2_a_bits_data,
  input         auto_in_2_a_bits_corrupt,
  input         auto_in_2_d_ready,
  output        auto_in_2_d_valid,
  output [2:0]  auto_in_2_d_bits_opcode,
  output [1:0]  auto_in_2_d_bits_param,
  output [2:0]  auto_in_2_d_bits_size,
  output        auto_in_2_d_bits_source,
  output [4:0]  auto_in_2_d_bits_sink,
  output        auto_in_2_d_bits_denied,
  output [63:0] auto_in_2_d_bits_data,
  output        auto_in_2_d_bits_corrupt,
  output        auto_in_1_a_ready,
  input         auto_in_1_a_valid,
  input  [2:0]  auto_in_1_a_bits_opcode,
  input  [2:0]  auto_in_1_a_bits_param,
  input  [2:0]  auto_in_1_a_bits_size,
  input         auto_in_1_a_bits_source,
  input  [31:0] auto_in_1_a_bits_address,
  input  [7:0]  auto_in_1_a_bits_mask,
  input  [63:0] auto_in_1_a_bits_data,
  input         auto_in_1_a_bits_corrupt,
  input         auto_in_1_b_ready,
  output        auto_in_1_b_valid,
  output [1:0]  auto_in_1_b_bits_param,
  output [31:0] auto_in_1_b_bits_address,
  output        auto_in_1_c_ready,
  input         auto_in_1_c_valid,
  input  [2:0]  auto_in_1_c_bits_opcode,
  input  [2:0]  auto_in_1_c_bits_param,
  input  [2:0]  auto_in_1_c_bits_size,
  input         auto_in_1_c_bits_source,
  input  [31:0] auto_in_1_c_bits_address,
  input  [63:0] auto_in_1_c_bits_data,
  input         auto_in_1_c_bits_corrupt,
  input         auto_in_1_d_ready,
  output        auto_in_1_d_valid,
  output [2:0]  auto_in_1_d_bits_opcode,
  output [1:0]  auto_in_1_d_bits_param,
  output [2:0]  auto_in_1_d_bits_size,
  output [4:0]  auto_in_1_d_bits_sink,
  output        auto_in_1_d_bits_denied,
  output [63:0] auto_in_1_d_bits_data,
  output        auto_in_1_d_bits_corrupt,
  input         auto_in_1_e_valid,
  input  [4:0]  auto_in_1_e_bits_sink,
  output        auto_in_0_a_ready,
  input         auto_in_0_a_valid,
  input  [2:0]  auto_in_0_a_bits_opcode,
  input  [2:0]  auto_in_0_a_bits_param,
  input  [2:0]  auto_in_0_a_bits_size,
  input         auto_in_0_a_bits_source,
  input  [31:0] auto_in_0_a_bits_address,
  input  [7:0]  auto_in_0_a_bits_mask,
  input  [63:0] auto_in_0_a_bits_data,
  input         auto_in_0_a_bits_corrupt,
  input         auto_in_0_d_ready,
  output        auto_in_0_d_valid,
  output [2:0]  auto_in_0_d_bits_opcode,
  output [1:0]  auto_in_0_d_bits_param,
  output [2:0]  auto_in_0_d_bits_size,
  output [4:0]  auto_in_0_d_bits_sink,
  output        auto_in_0_d_bits_denied,
  output [63:0] auto_in_0_d_bits_data,
  output        auto_in_0_d_bits_corrupt,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output [2:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_b_ready,
  input         auto_out_b_valid,
  input  [1:0]  auto_out_b_bits_param,
  input  [31:0] auto_out_b_bits_address,
  input         auto_out_c_ready,
  output        auto_out_c_valid,
  output [2:0]  auto_out_c_bits_opcode,
  output [2:0]  auto_out_c_bits_param,
  output [2:0]  auto_out_c_bits_size,
  output [31:0] auto_out_c_bits_address,
  output [63:0] auto_out_c_bits_data,
  output        auto_out_c_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_param,
  input  [2:0]  auto_out_d_bits_size,
  input  [2:0]  auto_out_d_bits_source,
  input  [4:0]  auto_out_d_bits_sink,
  input         auto_out_d_bits_denied,
  input  [63:0] auto_out_d_bits_data,
  input         auto_out_d_bits_corrupt,
  output        auto_out_e_valid,
  output [4:0]  auto_out_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
`endif // RANDOMIZE_REG_INIT
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_1_clock; // @[Nodes.scala 24:25]
  wire  monitor_1_reset; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_1_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_b_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_b_valid; // @[Nodes.scala 24:25]
  wire [1:0] monitor_1_io_in_b_bits_param; // @[Nodes.scala 24:25]
  wire [31:0] monitor_1_io_in_b_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_c_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_c_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_c_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_c_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_c_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_1_io_in_c_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_1_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_1_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_e_valid; // @[Nodes.scala 24:25]
  wire [4:0] monitor_1_io_in_e_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_2_clock; // @[Nodes.scala 24:25]
  wire  monitor_2_reset; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_2_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_2_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_2_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [4:0] monitor_2_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_3_clock; // @[Nodes.scala 24:25]
  wire  monitor_3_reset; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_3_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_3_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_3_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_3_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_3_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_3_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_3_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_3_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_3_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_3_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire [2:0] _GEN_1 = {{2'd0}, auto_in_0_a_bits_source}; // @[Xbar.scala 237:55]
  wire [2:0] in_0_a_bits_source = _GEN_1 | 3'h4; // @[Xbar.scala 237:55]
  wire [1:0] _GEN_2 = {{1'd0}, auto_in_3_a_bits_source}; // @[Xbar.scala 237:55]
  wire [1:0] _in_3_a_bits_source_T = _GEN_2 | 2'h2; // @[Xbar.scala 237:55]
  wire  requestDOI_0_0 = auto_out_d_bits_source == 3'h4; // @[Parameters.scala 46:9]
  wire  requestDOI_0_1 = auto_out_d_bits_source == 3'h3; // @[Parameters.scala 46:9]
  wire  requestDOI_0_2 = auto_out_d_bits_source[2:1] == 2'h0; // @[Parameters.scala 54:32]
  wire  requestDOI_0_3 = auto_out_d_bits_source == 3'h2; // @[Parameters.scala 46:9]
  wire [10:0] _beatsAI_decode_T_1 = 11'hf << auto_in_0_a_bits_size; // @[package.scala 234:77]
  wire [3:0] _beatsAI_decode_T_3 = ~_beatsAI_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  beatsAI_decode = _beatsAI_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  beatsAI_opdata = ~auto_in_0_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  beatsAI_0 = beatsAI_opdata & beatsAI_decode; // @[Edges.scala 220:14]
  wire [10:0] _beatsAI_decode_T_5 = 11'hf << auto_in_1_a_bits_size; // @[package.scala 234:77]
  wire [3:0] _beatsAI_decode_T_7 = ~_beatsAI_decode_T_5[3:0]; // @[package.scala 234:46]
  wire  beatsAI_decode_1 = _beatsAI_decode_T_7[3]; // @[Edges.scala 219:59]
  wire  beatsAI_opdata_1 = ~auto_in_1_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  beatsAI_1 = beatsAI_opdata_1 & beatsAI_decode_1; // @[Edges.scala 220:14]
  wire [10:0] _beatsAI_decode_T_9 = 11'hf << auto_in_2_a_bits_size; // @[package.scala 234:77]
  wire [3:0] _beatsAI_decode_T_11 = ~_beatsAI_decode_T_9[3:0]; // @[package.scala 234:46]
  wire  beatsAI_decode_2 = _beatsAI_decode_T_11[3]; // @[Edges.scala 219:59]
  wire  beatsAI_opdata_2 = ~auto_in_2_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  beatsAI_2 = beatsAI_opdata_2 & beatsAI_decode_2; // @[Edges.scala 220:14]
  wire [10:0] _beatsAI_decode_T_13 = 11'hf << auto_in_3_a_bits_size; // @[package.scala 234:77]
  wire [3:0] _beatsAI_decode_T_15 = ~_beatsAI_decode_T_13[3:0]; // @[package.scala 234:46]
  wire  beatsAI_decode_3 = _beatsAI_decode_T_15[3]; // @[Edges.scala 219:59]
  wire  beatsAI_opdata_3 = ~auto_in_3_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  beatsAI_3 = beatsAI_opdata_3 & beatsAI_decode_3; // @[Edges.scala 220:14]
  reg  beatsLeft; // @[Arbiter.scala 87:30]
  wire  idle = ~beatsLeft; // @[Arbiter.scala 88:28]
  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
  wire [3:0] readys_valid = {auto_in_3_a_valid,auto_in_2_a_valid,auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 33:92]
  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
  reg [3:0] readys_mask; // @[Arbiter.scala 23:23]
  wire [3:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
  wire [3:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
  wire [7:0] readys_filter = {_readys_filter_T_1,auto_in_3_a_valid,auto_in_2_a_valid,auto_in_1_a_valid,auto_in_0_a_valid
    }; // @[Cat.scala 33:92]
  wire [7:0] _GEN_3 = {{1'd0}, readys_filter[7:1]}; // @[package.scala 253:43]
  wire [7:0] _readys_unready_T_1 = readys_filter | _GEN_3; // @[package.scala 253:43]
  wire [7:0] _GEN_4 = {{2'd0}, _readys_unready_T_1[7:2]}; // @[package.scala 253:43]
  wire [7:0] _readys_unready_T_3 = _readys_unready_T_1 | _GEN_4; // @[package.scala 253:43]
  wire [7:0] _readys_unready_T_6 = {readys_mask, 4'h0}; // @[Arbiter.scala 25:66]
  wire [7:0] _GEN_5 = {{1'd0}, _readys_unready_T_3[7:1]}; // @[Arbiter.scala 25:58]
  wire [7:0] readys_unready = _GEN_5 | _readys_unready_T_6; // @[Arbiter.scala 25:58]
  wire [3:0] _readys_readys_T_2 = readys_unready[7:4] & readys_unready[3:0]; // @[Arbiter.scala 26:39]
  wire [3:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
  wire [3:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
  wire [4:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
  wire [3:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[3:0]; // @[package.scala 244:43]
  wire [5:0] _readys_mask_T_4 = {_readys_mask_T_3, 2'h0}; // @[package.scala 244:48]
  wire [3:0] _readys_mask_T_6 = _readys_mask_T_3 | _readys_mask_T_4[3:0]; // @[package.scala 244:43]
  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
  wire  readys_2 = readys_readys[2]; // @[Arbiter.scala 95:86]
  wire  readys_3 = readys_readys[3]; // @[Arbiter.scala 95:86]
  wire  earlyWinner_0 = readys_0 & auto_in_0_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner_1 = readys_1 & auto_in_1_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner_2 = readys_2 & auto_in_2_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner_3 = readys_3 & auto_in_3_a_valid; // @[Arbiter.scala 97:79]
  wire  prefixOR_2 = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
  wire  prefixOR_3 = prefixOR_2 | earlyWinner_2; // @[Arbiter.scala 104:53]
  wire  _T_21 = auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid | auto_in_3_a_valid; // @[Arbiter.scala 107:36]
  wire  _T_22 = ~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid | auto_in_3_a_valid); // @[Arbiter.scala 107:15]
  wire  maskedBeats_0 = earlyWinner_0 & beatsAI_0; // @[Arbiter.scala 111:73]
  wire  maskedBeats_1 = earlyWinner_1 & beatsAI_1; // @[Arbiter.scala 111:73]
  wire  maskedBeats_2 = earlyWinner_2 & beatsAI_2; // @[Arbiter.scala 111:73]
  wire  maskedBeats_3 = earlyWinner_3 & beatsAI_3; // @[Arbiter.scala 111:73]
  wire  initBeats = maskedBeats_0 | maskedBeats_1 | maskedBeats_2 | maskedBeats_3; // @[Arbiter.scala 112:44]
  reg  state_0; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
  reg  state_1; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
  reg  state_2; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_2 = idle ? earlyWinner_2 : state_2; // @[Arbiter.scala 117:30]
  reg  state_3; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_3 = idle ? earlyWinner_3 : state_3; // @[Arbiter.scala 117:30]
  wire  _out_0_a_earlyValid_T_9 = state_0 & auto_in_0_a_valid | state_1 & auto_in_1_a_valid | state_2 &
    auto_in_2_a_valid | state_3 & auto_in_3_a_valid; // @[Mux.scala 27:73]
  wire  out_4_0_a_earlyValid = idle ? _T_21 : _out_0_a_earlyValid_T_9; // @[Arbiter.scala 125:29]
  wire  _beatsLeft_T_2 = auto_out_a_ready & out_4_0_a_earlyValid; // @[ReadyValidCancel.scala 49:33]
  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
  wire  allowed_2 = idle ? readys_2 : state_2; // @[Arbiter.scala 121:24]
  wire  allowed_3 = idle ? readys_3 : state_3; // @[Arbiter.scala 121:24]
  wire [63:0] _T_48 = muxStateEarly_0 ? auto_in_0_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_49 = muxStateEarly_1 ? auto_in_1_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_50 = muxStateEarly_2 ? auto_in_2_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_51 = muxStateEarly_3 ? auto_in_3_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_52 = _T_48 | _T_49; // @[Mux.scala 27:73]
  wire [63:0] _T_53 = _T_52 | _T_50; // @[Mux.scala 27:73]
  wire [7:0] _T_55 = muxStateEarly_0 ? auto_in_0_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_56 = muxStateEarly_1 ? auto_in_1_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_57 = muxStateEarly_2 ? auto_in_2_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_58 = muxStateEarly_3 ? auto_in_3_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_59 = _T_55 | _T_56; // @[Mux.scala 27:73]
  wire [7:0] _T_60 = _T_59 | _T_57; // @[Mux.scala 27:73]
  wire [31:0] _T_62 = muxStateEarly_0 ? auto_in_0_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_63 = muxStateEarly_1 ? auto_in_1_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_64 = muxStateEarly_2 ? auto_in_2_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_65 = muxStateEarly_3 ? auto_in_3_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_66 = _T_62 | _T_63; // @[Mux.scala 27:73]
  wire [31:0] _T_67 = _T_66 | _T_64; // @[Mux.scala 27:73]
  wire [2:0] _T_69 = muxStateEarly_0 ? in_0_a_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_70 = muxStateEarly_1 ? 3'h3 : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] in_2_a_bits_source = {{2'd0}, auto_in_2_a_bits_source}; // @[Xbar.scala 231:18 237:29]
  wire [2:0] _T_71 = muxStateEarly_2 ? in_2_a_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] in_3_a_bits_source = {{1'd0}, _in_3_a_bits_source_T}; // @[Xbar.scala 231:18 237:29]
  wire [2:0] _T_72 = muxStateEarly_3 ? in_3_a_bits_source : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_73 = _T_69 | _T_70; // @[Mux.scala 27:73]
  wire [2:0] _T_74 = _T_73 | _T_71; // @[Mux.scala 27:73]
  wire [2:0] _T_76 = muxStateEarly_0 ? auto_in_0_a_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_77 = muxStateEarly_1 ? auto_in_1_a_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_78 = muxStateEarly_2 ? auto_in_2_a_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_79 = muxStateEarly_3 ? auto_in_3_a_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_80 = _T_76 | _T_77; // @[Mux.scala 27:73]
  wire [2:0] _T_81 = _T_80 | _T_78; // @[Mux.scala 27:73]
  wire [2:0] _T_83 = muxStateEarly_0 ? auto_in_0_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_84 = muxStateEarly_1 ? auto_in_1_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_85 = muxStateEarly_2 ? auto_in_2_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_86 = muxStateEarly_3 ? auto_in_3_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_87 = _T_83 | _T_84; // @[Mux.scala 27:73]
  wire [2:0] _T_88 = _T_87 | _T_85; // @[Mux.scala 27:73]
  wire [2:0] _T_90 = muxStateEarly_0 ? auto_in_0_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_91 = muxStateEarly_1 ? auto_in_1_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_92 = muxStateEarly_2 ? auto_in_2_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_93 = muxStateEarly_3 ? auto_in_3_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_94 = _T_90 | _T_91; // @[Mux.scala 27:73]
  wire [2:0] _T_95 = _T_94 | _T_92; // @[Mux.scala 27:73]
  TLMonitor_2 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
  );
  TLMonitor_3 monitor_1 ( // @[Nodes.scala 24:25]
    .clock(monitor_1_clock),
    .reset(monitor_1_reset),
    .io_in_a_ready(monitor_1_io_in_a_ready),
    .io_in_a_valid(monitor_1_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_1_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_1_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_1_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_1_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_1_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_1_io_in_a_bits_corrupt),
    .io_in_b_ready(monitor_1_io_in_b_ready),
    .io_in_b_valid(monitor_1_io_in_b_valid),
    .io_in_b_bits_param(monitor_1_io_in_b_bits_param),
    .io_in_b_bits_address(monitor_1_io_in_b_bits_address),
    .io_in_c_ready(monitor_1_io_in_c_ready),
    .io_in_c_valid(monitor_1_io_in_c_valid),
    .io_in_c_bits_opcode(monitor_1_io_in_c_bits_opcode),
    .io_in_c_bits_param(monitor_1_io_in_c_bits_param),
    .io_in_c_bits_size(monitor_1_io_in_c_bits_size),
    .io_in_c_bits_source(monitor_1_io_in_c_bits_source),
    .io_in_c_bits_address(monitor_1_io_in_c_bits_address),
    .io_in_c_bits_corrupt(monitor_1_io_in_c_bits_corrupt),
    .io_in_d_ready(monitor_1_io_in_d_ready),
    .io_in_d_valid(monitor_1_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_1_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_1_io_in_d_bits_size),
    .io_in_d_bits_sink(monitor_1_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_1_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_1_io_in_d_bits_corrupt),
    .io_in_e_valid(monitor_1_io_in_e_valid),
    .io_in_e_bits_sink(monitor_1_io_in_e_bits_sink)
  );
  TLMonitor_4 monitor_2 ( // @[Nodes.scala 24:25]
    .clock(monitor_2_clock),
    .reset(monitor_2_reset),
    .io_in_a_ready(monitor_2_io_in_a_ready),
    .io_in_a_valid(monitor_2_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_2_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_2_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_2_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_2_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_2_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_2_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_2_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_2_io_in_d_ready),
    .io_in_d_valid(monitor_2_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_2_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_2_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_2_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_2_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_2_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_2_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_2_io_in_d_bits_corrupt)
  );
  TLMonitor_5 monitor_3 ( // @[Nodes.scala 24:25]
    .clock(monitor_3_clock),
    .reset(monitor_3_reset),
    .io_in_a_ready(monitor_3_io_in_a_ready),
    .io_in_a_valid(monitor_3_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_3_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_3_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_3_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_3_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_3_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_3_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_3_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_3_io_in_d_ready),
    .io_in_d_valid(monitor_3_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_3_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_3_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_3_io_in_d_bits_size),
    .io_in_d_bits_sink(monitor_3_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_3_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_3_io_in_d_bits_corrupt)
  );
  assign auto_in_2_a_ready = auto_out_a_ready & allowed_2; // @[Arbiter.scala 123:31]
  assign auto_in_2_d_valid = auto_out_d_valid & requestDOI_0_2; // @[Xbar.scala 179:40]
  assign auto_in_2_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_source = auto_out_d_bits_source[0]; // @[Xbar.scala 228:69]
  assign auto_in_2_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign auto_in_2_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
  assign auto_in_1_b_valid = auto_out_b_valid; // @[Xbar.scala 179:40]
  assign auto_in_1_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign auto_in_1_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
  assign auto_in_0_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign auto_in_0_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_out_a_valid = idle ? _T_21 : _out_0_a_earlyValid_T_9; // @[Arbiter.scala 125:29]
  assign auto_out_a_bits_opcode = _T_95 | _T_93; // @[Mux.scala 27:73]
  assign auto_out_a_bits_param = _T_88 | _T_86; // @[Mux.scala 27:73]
  assign auto_out_a_bits_size = _T_81 | _T_79; // @[Mux.scala 27:73]
  assign auto_out_a_bits_source = _T_74 | _T_72; // @[Mux.scala 27:73]
  assign auto_out_a_bits_address = _T_67 | _T_65; // @[Mux.scala 27:73]
  assign auto_out_a_bits_mask = _T_60 | _T_58; // @[Mux.scala 27:73]
  assign auto_out_a_bits_data = _T_53 | _T_51; // @[Mux.scala 27:73]
  assign auto_out_a_bits_corrupt = muxStateEarly_0 & auto_in_0_a_bits_corrupt | muxStateEarly_1 &
    auto_in_1_a_bits_corrupt | muxStateEarly_2 & auto_in_2_a_bits_corrupt | muxStateEarly_3 & auto_in_3_a_bits_corrupt; // @[Mux.scala 27:73]
  assign auto_out_b_ready = auto_in_1_b_ready; // @[Mux.scala 27:73]
  assign auto_out_c_valid = auto_in_1_c_valid; // @[ReadyValidCancel.scala 21:38]
  assign auto_out_c_bits_opcode = auto_in_1_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_c_bits_param = auto_in_1_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_c_bits_size = auto_in_1_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_c_bits_address = auto_in_1_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_c_bits_data = auto_in_1_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_c_bits_corrupt = auto_in_1_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_d_ready = requestDOI_0_0 & auto_in_0_d_ready | requestDOI_0_1 & auto_in_1_d_ready | requestDOI_0_2 &
    auto_in_2_d_ready | requestDOI_0_3 & auto_in_3_d_ready; // @[Mux.scala 27:73]
  assign auto_out_e_valid = auto_in_1_e_valid; // @[ReadyValidCancel.scala 21:38]
  assign auto_out_e_bits_sink = auto_in_1_e_bits_sink; // @[Xbar.scala 228:69]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
  assign monitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_0_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_0_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign monitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_clock = clock;
  assign monitor_1_reset = reset;
  assign monitor_1_io_in_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
  assign monitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_opcode = auto_in_1_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_param = auto_in_1_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_size = auto_in_1_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_source = auto_in_1_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_mask = auto_in_1_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_corrupt = auto_in_1_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_b_ready = auto_in_1_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_b_valid = auto_out_b_valid; // @[Xbar.scala 179:40]
  assign monitor_1_io_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_c_valid = auto_in_1_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_opcode = auto_in_1_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_param = auto_in_1_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_size = auto_in_1_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_source = auto_in_1_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_address = auto_in_1_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_c_bits_corrupt = auto_in_1_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
  assign monitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign monitor_1_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_e_valid = auto_in_1_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_e_bits_sink = auto_in_1_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_clock = clock;
  assign monitor_2_reset = reset;
  assign monitor_2_io_in_a_ready = auto_out_a_ready & allowed_2; // @[Arbiter.scala 123:31]
  assign monitor_2_io_in_a_valid = auto_in_2_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_opcode = auto_in_2_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_param = auto_in_2_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_size = auto_in_2_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_source = auto_in_2_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_address = auto_in_2_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_mask = auto_in_2_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_corrupt = auto_in_2_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_d_ready = auto_in_2_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_d_valid = auto_out_d_valid & requestDOI_0_2; // @[Xbar.scala 179:40]
  assign monitor_2_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_io_in_d_bits_source = auto_out_d_bits_source[0]; // @[Xbar.scala 228:69]
  assign monitor_2_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign monitor_2_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_3_clock = clock;
  assign monitor_3_reset = reset;
  assign monitor_3_io_in_a_ready = auto_out_a_ready & allowed_3; // @[Arbiter.scala 123:31]
  assign monitor_3_io_in_a_valid = auto_in_3_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_opcode = auto_in_3_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_param = auto_in_3_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_size = auto_in_3_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_source = auto_in_3_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_address = auto_in_3_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_mask = auto_in_3_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_a_bits_corrupt = auto_in_3_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_d_ready = auto_in_3_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_3_io_in_d_valid = auto_out_d_valid & requestDOI_0_3; // @[Xbar.scala 179:40]
  assign monitor_3_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_3_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_3_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_3_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
  assign monitor_3_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_3_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  always @(posedge clock) begin
    if (reset) begin // @[Arbiter.scala 87:30]
      beatsLeft <= 1'h0; // @[Arbiter.scala 87:30]
    end else if (latch) begin // @[Arbiter.scala 113:23]
      beatsLeft <= initBeats;
    end else begin
      beatsLeft <= beatsLeft - _beatsLeft_T_2;
    end
    if (reset) begin // @[Arbiter.scala 23:23]
      readys_mask <= 4'hf; // @[Arbiter.scala 23:23]
    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
      readys_mask <= _readys_mask_T_6; // @[Arbiter.scala 28:12]
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_0 <= earlyWinner_0;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_1 <= earlyWinner_1;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_2 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_2 <= earlyWinner_2;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_3 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_3 <= earlyWinner_3;
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Arbiter.scala 22:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2) & (~prefixOR_3 | ~
          earlyWinner_3))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
            ); // @[Arbiter.scala 105:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2) & (~prefixOR_3 | ~earlyWinner_3)) &
          _readys_T_3) begin
          $fatal; // @[Arbiter.scala 105:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~(~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid | auto_in_3_a_valid) | (
          prefixOR_3 | earlyWinner_3))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
            ); // @[Arbiter.scala 107:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid | auto_in_3_a_valid) | (prefixOR_3 |
          earlyWinner_3)) & _readys_T_3) begin
          $fatal; // @[Arbiter.scala 107:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~(_T_22 | _T_21)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
            ); // @[Arbiter.scala 108:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_22 | _T_21) & _readys_T_3) begin
          $fatal; // @[Arbiter.scala 108:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  beatsLeft = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  readys_mask = _RAND_1[3:0];
  _RAND_2 = {1{`RANDOM}};
  state_0 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  state_1 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  state_2 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  state_3 = _RAND_5[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_6(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [1:0]  io_in_a_bits_size,
  input  [8:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_size,
  input  [8:0]  io_in_d_bits_source
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [319:0] _RAND_10;
  reg [1279:0] _RAND_11;
  reg [1279:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [319:0] _RAND_16;
  reg [1279:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T_4 = io_in_a_bits_source <= 9'h13f; // @[Parameters.scala 57:20]
  wire [5:0] _is_aligned_mask_T_1 = 6'h7 << io_in_a_bits_size; // @[package.scala 234:77]
  wire [2:0] is_aligned_mask = ~_is_aligned_mask_T_1[2:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{29'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [2:0] _mask_sizeOH_T = {{1'd0}, io_in_a_bits_size}; // @[Misc.scala 201:34]
  wire [1:0] mask_sizeOH_shiftAmount = _mask_sizeOH_T[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 2'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire [32:0] _T_36 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_37 = $signed(_T_36) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_74 = _T_73 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_163 = 2'h3 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_170 = _T_163 & _T_37; // @[Parameters.scala 670:56]
  wire  _T_181 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_185 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_193 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_214 = _source_ok_T_4 & _T_170; // @[Monitor.scala 115:71]
  wire  _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_267 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_268 = io_in_a_bits_mask & _T_267; // @[Monitor.scala 127:31]
  wire  _T_269 = _T_268 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_273 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_303 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_311 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_341 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_349 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_379 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_391 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_10 = io_in_d_bits_source <= 9'h13f; // @[Parameters.scala 57:20]
  wire  _T_395 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_399 = io_in_d_bits_size >= 2'h3; // @[Monitor.scala 312:27]
  wire  _T_415 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_443 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_472 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_489 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_507 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [1:0] size; // @[Monitor.scala 386:22]
  reg [8:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_537 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_538 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_542 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_546 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_550 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_554 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] size_1; // @[Monitor.scala 537:22]
  reg [8:0] source_1; // @[Monitor.scala 538:22]
  wire  _T_561 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_562 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_570 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_574 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  reg [319:0] inflight; // @[Monitor.scala 611:27]
  reg [1279:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [1279:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [10:0] _GEN_21 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [11:0] _a_opcode_lookup_T = {{1'd0}, _GEN_21}; // @[Monitor.scala 634:69]
  wire [1279:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [1279:0] _GEN_60 = {{1264'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [1279:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_60; // @[Monitor.scala 634:97]
  wire [1279:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[1279:1]}; // @[Monitor.scala 634:152]
  wire [1279:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [1279:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 638:91]
  wire [1279:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[1279:1]}; // @[Monitor.scala 638:144]
  wire  _T_591 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [511:0] _a_set_T = 512'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
  wire [10:0] _GEN_71 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [11:0] _a_opcodes_set_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [4098:0] _GEN_305 = {{4095'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [4098:0] _a_opcodes_set_T_1 = _GEN_305 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [2:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
  wire [4097:0] _GEN_306 = {{4095'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [4097:0] _a_sizes_set_T_1 = _GEN_306 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [319:0] _T_593 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_595 = ~_T_593[0]; // @[Monitor.scala 658:17]
  wire [511:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 512'h0; // @[Monitor.scala 652:72 653:28]
  wire [4098:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 4099'h0; // @[Monitor.scala 652:72 656:28]
  wire [4097:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 4098'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_606 = ~_T_395; // @[Monitor.scala 675:75]
  wire [511:0] _d_clr_T = 512'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [4110:0] _GEN_307 = {{4095'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [4110:0] _d_opcodes_clr_T_5 = _GEN_307 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [511:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_395 ? _d_clr_T : 512'h0; // @[Monitor.scala 675:91 676:21]
  wire [4110:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_395 ? _d_opcodes_clr_T_5 : 4111'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_608 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_611 = io_in_d_valid & d_first_1 & _T_606; // @[Monitor.scala 680:71]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [319:0] _T_612 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_614 = _T_612[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_619 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_620 = io_in_d_bits_opcode == _GEN_32 | _T_619; // @[Monitor.scala 685:77]
  wire  _T_624 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_631 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_632 = io_in_d_bits_opcode == _GEN_48 | _T_631; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_636 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_646 = _T_608 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_606; // @[Monitor.scala 694:116]
  wire  _T_647 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_648 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [319:0] a_set = _GEN_16[319:0];
  wire [319:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [319:0] d_clr = _GEN_22[319:0];
  wire [319:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [319:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [1279:0] a_opcodes_set = _GEN_19[1279:0];
  wire [1279:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [1279:0] d_opcodes_clr = _GEN_23[1279:0];
  wire [1279:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [1279:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [1279:0] a_sizes_set = _GEN_20[1279:0];
  wire [1279:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [1279:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_657 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [319:0] inflight_1; // @[Monitor.scala 723:35]
  reg [1279:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [1279:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [1279:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 747:93]
  wire [1279:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[1279:1]}; // @[Monitor.scala 747:146]
  wire  _T_677 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire [511:0] _GEN_67 = _d_first_T & d_first_2 & _T_395 ? _d_clr_T : 512'h0; // @[Monitor.scala 783:90 784:21]
  wire [4110:0] _GEN_69 = _d_first_T & d_first_2 & _T_395 ? _d_opcodes_clr_T_5 : 4111'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_690 = io_in_d_valid & d_first_2 & _T_395; // @[Monitor.scala 789:71]
  wire [319:0] _T_691 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_697 = io_in_d_bits_size == 2'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_701 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [319:0] d_clr_1 = _GEN_67[319:0];
  wire [319:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [319:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [1279:0] d_sizes_clr_1 = _GEN_69[1279:0];
  wire [1279:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [1279:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_721 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 320'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 1280'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 1280'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= 1'h0;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= 1'h0;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 320'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 1280'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= 1'h0;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_170) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_170 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_214) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_214 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_214) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_214 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~_T_303) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_303 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~_T_341) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_341 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_391) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_391 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_395 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_395 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_472 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_507 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_538 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_542) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_542 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_546 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_554) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_554 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_562) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_562 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_570) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_570 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_574) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_574 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_591 & ~reset & ~_T_595) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_595 & (_T_591 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & _T_2 & ~_T_614) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_614 & (_T_611 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & same_cycle_resp & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_611 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & same_cycle_resp & _T_2 & ~_T_624) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_624 & (_T_611 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & ~same_cycle_resp & _T_2 & ~_T_632) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_632 & (_T_611 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & ~same_cycle_resp & _T_2 & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & (_T_611 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_646 & _T_2 & ~_T_648) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_648 & (_T_646 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_657) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_657 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_677 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_690 & _T_2 & ~_T_691[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_691[0] & (_T_690 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_697 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_690 & _T_2 & ~_T_701) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_701 & (_T_690 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_647 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_721) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:70:17)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_721 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[8:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  source_1 = _RAND_9[8:0];
  _RAND_10 = {10{`RANDOM}};
  inflight = _RAND_10[319:0];
  _RAND_11 = {40{`RANDOM}};
  inflight_opcodes = _RAND_11[1279:0];
  _RAND_12 = {40{`RANDOM}};
  inflight_sizes = _RAND_12[1279:0];
  _RAND_13 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  watchdog = _RAND_15[31:0];
  _RAND_16 = {10{`RANDOM}};
  inflight_1 = _RAND_16[319:0];
  _RAND_17 = {40{`RANDOM}};
  inflight_sizes_1 = _RAND_17[1279:0];
  _RAND_18 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  watchdog_1 = _RAND_19[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_7(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [1:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_size
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [5:0] _is_aligned_mask_T_1 = 6'h7 << io_in_a_bits_size; // @[package.scala 234:77]
  wire [2:0] is_aligned_mask = ~_is_aligned_mask_T_1[2:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{29'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [2:0] _mask_sizeOH_T = {{1'd0}, io_in_a_bits_size}; // @[Misc.scala 201:34]
  wire [1:0] mask_sizeOH_shiftAmount = _mask_sizeOH_T[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 2'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire [32:0] _T_26 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_27 = $signed(_T_26) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_59 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_63 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_64 = _T_63 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_68 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_72 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_120 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_133 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_143 = 2'h3 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_150 = _T_143 & _T_27; // @[Parameters.scala 670:56]
  wire  _T_161 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_165 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_173 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_189 = _source_ok_T & _T_150; // @[Monitor.scala 115:71]
  wire  _T_207 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_237 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_238 = io_in_a_bits_mask & _T_237; // @[Monitor.scala 127:31]
  wire  _T_239 = _T_238 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_243 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_268 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_276 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_334 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_346 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_350 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_354 = io_in_d_bits_size >= 2'h3; // @[Monitor.scala 312:27]
  wire  _T_370 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_398 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_427 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_444 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_462 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [1:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_492 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_493 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_497 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_501 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_505 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_509 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] size_1; // @[Monitor.scala 537:22]
  wire  _T_516 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_517 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_525 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_21 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_21 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [15:0] _GEN_62 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_62 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_546 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [1:0] _a_set_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_66 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_66}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_285 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_285 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [2:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
  wire [17:0] _GEN_286 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [17:0] _a_sizes_set_T_1 = _GEN_286 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_550 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [17:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_561 = ~_T_350; // @[Monitor.scala 675:75]
  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_350 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_350 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_563 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_566 = io_in_d_valid & d_first_1 & _T_561; // @[Monitor.scala 680:71]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & _source_ok_T; // @[Monitor.scala 681:88]
  wire  _T_569 = inflight | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_574 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_575 = io_in_d_bits_opcode == _GEN_32 | _T_574; // @[Monitor.scala 685:77]
  wire  _T_579 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_586 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_587 = io_in_d_bits_opcode == _GEN_48 | _T_586; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_71 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_591 = _GEN_71 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_601 = _T_563 & a_first_1 & io_in_a_valid & _source_ok_T & _T_561; // @[Monitor.scala 694:116]
  wire  _T_602 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_603 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set = _GEN_16[0];
  wire  d_clr = _GEN_22[0];
  wire [3:0] a_opcodes_set = _GEN_19[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_20[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_612 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [15:0] _GEN_72 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_72 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_350 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_645 = io_in_d_valid & d_first_2 & _T_350; // @[Monitor.scala 789:71]
  wire  _T_652 = io_in_d_bits_size == 2'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_656 = _GEN_71 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [3:0] d_sizes_clr_1 = _GEN_69[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= 1'h0;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= 1'h0;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= 1'h0;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_64) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_64 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_120) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_120 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_64) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_64 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_150) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_150 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_239) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_239 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_301) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_301 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_334) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_334 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_346) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_346 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_350 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_370 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_370 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_398 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_398 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_493) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_493 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_497) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_497 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_501) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_501 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_505) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_505 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_509) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_509 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_2 & ~_T_517) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_517 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_2 & ~_T_525) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_525 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_546 & ~reset & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_546 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & _T_2 & ~_T_569) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_569 & (_T_566 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & same_cycle_resp & _T_2 & ~_T_575) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_575 & (_T_566 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & same_cycle_resp & _T_2 & ~_T_579) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_579 & (_T_566 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & ~same_cycle_resp & _T_2 & ~_T_587) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_587 & (_T_566 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & ~same_cycle_resp & _T_2 & ~_T_591) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_591 & (_T_566 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_601 & _T_2 & ~_T_603) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_603 & (_T_601 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_612) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_612 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (_T_645 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_652 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_2 & ~_T_656) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:85:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_656 & (_T_645 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_602 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  inflight = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  inflight_opcodes = _RAND_10[3:0];
  _RAND_11 = {1{`RANDOM}};
  inflight_sizes = _RAND_11[3:0];
  _RAND_12 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  watchdog = _RAND_14[31:0];
  _RAND_15 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_15[3:0];
  _RAND_16 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_16[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_8(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [1:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_size
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [5:0] _is_aligned_mask_T_1 = 6'h7 << io_in_a_bits_size; // @[package.scala 234:77]
  wire [2:0] is_aligned_mask = ~_is_aligned_mask_T_1[2:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{29'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [2:0] _mask_sizeOH_T = {{1'd0}, io_in_a_bits_size}; // @[Misc.scala 201:34]
  wire [1:0] mask_sizeOH_shiftAmount = _mask_sizeOH_T[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 2'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire [32:0] _T_26 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_27 = $signed(_T_26) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_59 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_63 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_64 = _T_63 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_68 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_72 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_120 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_133 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_143 = 2'h3 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_150 = _T_143 & _T_27; // @[Parameters.scala 670:56]
  wire  _T_161 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_165 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_173 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_189 = _source_ok_T & _T_150; // @[Monitor.scala 115:71]
  wire  _T_207 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_237 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_238 = io_in_a_bits_mask & _T_237; // @[Monitor.scala 127:31]
  wire  _T_239 = _T_238 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_243 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_268 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_276 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_334 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_346 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_350 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_354 = io_in_d_bits_size >= 2'h3; // @[Monitor.scala 312:27]
  wire  _T_370 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_398 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_427 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_444 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_462 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [1:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_492 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_493 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_497 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_501 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_505 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_509 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] size_1; // @[Monitor.scala 537:22]
  wire  _T_516 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_517 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_525 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_21 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_21 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [15:0] _GEN_62 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_62 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_546 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [1:0] _a_set_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_66 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_66}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_285 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_285 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [2:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
  wire [17:0] _GEN_286 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [17:0] _a_sizes_set_T_1 = _GEN_286 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_550 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [17:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_561 = ~_T_350; // @[Monitor.scala 675:75]
  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_350 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_350 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_563 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_566 = io_in_d_valid & d_first_1 & _T_561; // @[Monitor.scala 680:71]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & _source_ok_T; // @[Monitor.scala 681:88]
  wire  _T_569 = inflight | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_574 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_575 = io_in_d_bits_opcode == _GEN_32 | _T_574; // @[Monitor.scala 685:77]
  wire  _T_579 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_586 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_587 = io_in_d_bits_opcode == _GEN_48 | _T_586; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_71 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_591 = _GEN_71 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_601 = _T_563 & a_first_1 & io_in_a_valid & _source_ok_T & _T_561; // @[Monitor.scala 694:116]
  wire  _T_602 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_603 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set = _GEN_16[0];
  wire  d_clr = _GEN_22[0];
  wire [3:0] a_opcodes_set = _GEN_19[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_20[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_612 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [15:0] _GEN_72 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_72 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_350 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_645 = io_in_d_valid & d_first_2 & _T_350; // @[Monitor.scala 789:71]
  wire  _T_652 = io_in_d_bits_size == 2'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_656 = _GEN_71 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [3:0] d_sizes_clr_1 = _GEN_69[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= 1'h0;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= 1'h0;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= 1'h0;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_64) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_64 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_120) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_120 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_64) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_64 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_72 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_72 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_150) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_150 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_133 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_133 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_173 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_173 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_161) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_161 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_207 & ~reset & ~_T_239) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_239 & (io_in_a_valid & _T_207 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~_T_268) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_268 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_243 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_243 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_301) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_301 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_276 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_276 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_334) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_334 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_309 & ~reset & ~_T_68) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_68 & (io_in_a_valid & _T_309 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_346) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_346 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_350 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_350 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_370 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_370 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_370 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_398 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_398 & _T_2 & ~_T_354) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_354 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_398 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_427 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_462 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_493) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_493 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_497) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_497 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_501) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_501 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_505) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_505 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_492 & ~reset & ~_T_509) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_509 & (_T_492 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_2 & ~_T_517) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_517 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_2 & ~_T_525) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_525 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_516 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_546 & ~reset & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_546 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & _T_2 & ~_T_569) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_569 & (_T_566 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & same_cycle_resp & _T_2 & ~_T_575) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_575 & (_T_566 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & same_cycle_resp & _T_2 & ~_T_579) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_579 & (_T_566 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & ~same_cycle_resp & _T_2 & ~_T_587) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_587 & (_T_566 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_566 & ~same_cycle_resp & _T_2 & ~_T_591) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_591 & (_T_566 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_601 & _T_2 & ~_T_603) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_603 & (_T_601 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_612) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_612 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (_T_645 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_652 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_645 & _T_2 & ~_T_656) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:86:15)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_656 & (_T_645 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_602 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  inflight = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  inflight_opcodes = _RAND_10[3:0];
  _RAND_11 = {1{`RANDOM}};
  inflight_sizes = _RAND_11[3:0];
  _RAND_12 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  watchdog = _RAND_14[31:0];
  _RAND_15 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_15[3:0];
  _RAND_16 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_16[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLXbar_1(
  input         clock,
  input         reset,
  output        auto_in_2_a_ready,
  input         auto_in_2_a_valid,
  input  [2:0]  auto_in_2_a_bits_opcode,
  input  [2:0]  auto_in_2_a_bits_param,
  input  [1:0]  auto_in_2_a_bits_size,
  input         auto_in_2_a_bits_source,
  input  [31:0] auto_in_2_a_bits_address,
  input  [7:0]  auto_in_2_a_bits_mask,
  input  [63:0] auto_in_2_a_bits_data,
  input         auto_in_2_a_bits_corrupt,
  input         auto_in_2_d_ready,
  output        auto_in_2_d_valid,
  output [2:0]  auto_in_2_d_bits_opcode,
  output [63:0] auto_in_2_d_bits_data,
  output        auto_in_1_a_ready,
  input         auto_in_1_a_valid,
  input  [2:0]  auto_in_1_a_bits_opcode,
  input  [2:0]  auto_in_1_a_bits_param,
  input  [1:0]  auto_in_1_a_bits_size,
  input         auto_in_1_a_bits_source,
  input  [31:0] auto_in_1_a_bits_address,
  input  [7:0]  auto_in_1_a_bits_mask,
  input  [63:0] auto_in_1_a_bits_data,
  input         auto_in_1_a_bits_corrupt,
  input         auto_in_1_d_ready,
  output        auto_in_1_d_valid,
  output [2:0]  auto_in_1_d_bits_opcode,
  output [63:0] auto_in_1_d_bits_data,
  output        auto_in_0_a_ready,
  input         auto_in_0_a_valid,
  input  [2:0]  auto_in_0_a_bits_opcode,
  input  [2:0]  auto_in_0_a_bits_param,
  input  [1:0]  auto_in_0_a_bits_size,
  input  [8:0]  auto_in_0_a_bits_source,
  input  [31:0] auto_in_0_a_bits_address,
  input  [7:0]  auto_in_0_a_bits_mask,
  input  [63:0] auto_in_0_a_bits_data,
  input         auto_in_0_a_bits_corrupt,
  input         auto_in_0_d_ready,
  output        auto_in_0_d_valid,
  output [2:0]  auto_in_0_d_bits_opcode,
  output [1:0]  auto_in_0_d_bits_size,
  output [8:0]  auto_in_0_d_bits_source,
  output [63:0] auto_in_0_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [1:0]  auto_out_a_bits_size,
  output [9:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_size,
  input  [9:0]  auto_out_d_bits_source,
  input  [63:0] auto_out_d_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
`endif // RANDOMIZE_REG_INIT
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [8:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [8:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire  monitor_1_clock; // @[Nodes.scala 24:25]
  wire  monitor_1_reset; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [1:0] monitor_1_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_1_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_2_clock; // @[Nodes.scala 24:25]
  wire  monitor_2_reset; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [1:0] monitor_2_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_2_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_2_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_2_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_2_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_2_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [9:0] _GEN_1 = {{9'd0}, auto_in_1_a_bits_source}; // @[Xbar.scala 237:55]
  wire [9:0] in_1_a_bits_source = _GEN_1 | 10'h201; // @[Xbar.scala 237:55]
  wire [9:0] _GEN_2 = {{9'd0}, auto_in_2_a_bits_source}; // @[Xbar.scala 237:55]
  wire [9:0] in_2_a_bits_source = _GEN_2 | 10'h200; // @[Xbar.scala 237:55]
  wire  requestDOI_0_0 = ~auto_out_d_bits_source[9]; // @[Parameters.scala 54:32]
  wire  requestDOI_0_1 = auto_out_d_bits_source == 10'h201; // @[Parameters.scala 46:9]
  wire  requestDOI_0_2 = auto_out_d_bits_source == 10'h200; // @[Parameters.scala 46:9]
  reg  beatsLeft; // @[Arbiter.scala 87:30]
  wire  idle = ~beatsLeft; // @[Arbiter.scala 88:28]
  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
  wire [2:0] readys_valid = {auto_in_2_a_valid,auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 33:92]
  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
  reg [2:0] readys_mask; // @[Arbiter.scala 23:23]
  wire [2:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
  wire [2:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
  wire [5:0] readys_filter = {_readys_filter_T_1,auto_in_2_a_valid,auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 33:92]
  wire [5:0] _GEN_3 = {{1'd0}, readys_filter[5:1]}; // @[package.scala 253:43]
  wire [5:0] _readys_unready_T_1 = readys_filter | _GEN_3; // @[package.scala 253:43]
  wire [5:0] _GEN_4 = {{2'd0}, _readys_unready_T_1[5:2]}; // @[package.scala 253:43]
  wire [5:0] _readys_unready_T_3 = _readys_unready_T_1 | _GEN_4; // @[package.scala 253:43]
  wire [5:0] _readys_unready_T_6 = {readys_mask, 3'h0}; // @[Arbiter.scala 25:66]
  wire [5:0] _GEN_5 = {{1'd0}, _readys_unready_T_3[5:1]}; // @[Arbiter.scala 25:58]
  wire [5:0] readys_unready = _GEN_5 | _readys_unready_T_6; // @[Arbiter.scala 25:58]
  wire [2:0] _readys_readys_T_2 = readys_unready[5:3] & readys_unready[2:0]; // @[Arbiter.scala 26:39]
  wire [2:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
  wire [2:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
  wire [3:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
  wire [2:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[2:0]; // @[package.scala 244:43]
  wire [4:0] _readys_mask_T_4 = {_readys_mask_T_3, 2'h0}; // @[package.scala 244:48]
  wire [2:0] _readys_mask_T_6 = _readys_mask_T_3 | _readys_mask_T_4[2:0]; // @[package.scala 244:43]
  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
  wire  readys_2 = readys_readys[2]; // @[Arbiter.scala 95:86]
  wire  earlyWinner_0 = readys_0 & auto_in_0_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner_1 = readys_1 & auto_in_1_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner_2 = readys_2 & auto_in_2_a_valid; // @[Arbiter.scala 97:79]
  wire  prefixOR_2 = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
  wire  _T_15 = auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid; // @[Arbiter.scala 107:36]
  wire  _T_16 = ~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid); // @[Arbiter.scala 107:15]
  reg  state_0; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
  reg  state_1; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
  reg  state_2; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_2 = idle ? earlyWinner_2 : state_2; // @[Arbiter.scala 117:30]
  wire  _out_0_a_earlyValid_T_6 = state_0 & auto_in_0_a_valid | state_1 & auto_in_1_a_valid | state_2 &
    auto_in_2_a_valid; // @[Mux.scala 27:73]
  wire  out_3_0_a_earlyValid = idle ? _T_15 : _out_0_a_earlyValid_T_6; // @[Arbiter.scala 125:29]
  wire  _beatsLeft_T_2 = auto_out_a_ready & out_3_0_a_earlyValid; // @[ReadyValidCancel.scala 49:33]
  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
  wire  allowed_2 = idle ? readys_2 : state_2; // @[Arbiter.scala 121:24]
  wire [63:0] _T_37 = muxStateEarly_0 ? auto_in_0_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_38 = muxStateEarly_1 ? auto_in_1_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_39 = muxStateEarly_2 ? auto_in_2_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_40 = _T_37 | _T_38; // @[Mux.scala 27:73]
  wire [7:0] _T_42 = muxStateEarly_0 ? auto_in_0_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_43 = muxStateEarly_1 ? auto_in_1_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_44 = muxStateEarly_2 ? auto_in_2_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_45 = _T_42 | _T_43; // @[Mux.scala 27:73]
  wire [31:0] _T_47 = muxStateEarly_0 ? auto_in_0_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_48 = muxStateEarly_1 ? auto_in_1_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_49 = muxStateEarly_2 ? auto_in_2_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_50 = _T_47 | _T_48; // @[Mux.scala 27:73]
  wire [9:0] in_0_a_bits_source = {{1'd0}, auto_in_0_a_bits_source}; // @[Xbar.scala 231:18 237:29]
  wire [9:0] _T_52 = muxStateEarly_0 ? in_0_a_bits_source : 10'h0; // @[Mux.scala 27:73]
  wire [9:0] _T_53 = muxStateEarly_1 ? in_1_a_bits_source : 10'h0; // @[Mux.scala 27:73]
  wire [9:0] _T_54 = muxStateEarly_2 ? in_2_a_bits_source : 10'h0; // @[Mux.scala 27:73]
  wire [9:0] _T_55 = _T_52 | _T_53; // @[Mux.scala 27:73]
  wire [1:0] _T_57 = muxStateEarly_0 ? auto_in_0_a_bits_size : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _T_58 = muxStateEarly_1 ? auto_in_1_a_bits_size : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _T_59 = muxStateEarly_2 ? auto_in_2_a_bits_size : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] _T_60 = _T_57 | _T_58; // @[Mux.scala 27:73]
  wire [2:0] _T_62 = muxStateEarly_0 ? auto_in_0_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_63 = muxStateEarly_1 ? auto_in_1_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_64 = muxStateEarly_2 ? auto_in_2_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_65 = _T_62 | _T_63; // @[Mux.scala 27:73]
  wire [2:0] _T_67 = muxStateEarly_0 ? auto_in_0_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_68 = muxStateEarly_1 ? auto_in_1_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_69 = muxStateEarly_2 ? auto_in_2_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_70 = _T_67 | _T_68; // @[Mux.scala 27:73]
  TLMonitor_6 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source)
  );
  TLMonitor_7 monitor_1 ( // @[Nodes.scala 24:25]
    .clock(monitor_1_clock),
    .reset(monitor_1_reset),
    .io_in_a_ready(monitor_1_io_in_a_ready),
    .io_in_a_valid(monitor_1_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_1_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_1_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_1_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_1_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_1_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_1_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_1_io_in_d_ready),
    .io_in_d_valid(monitor_1_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_1_io_in_d_bits_size)
  );
  TLMonitor_8 monitor_2 ( // @[Nodes.scala 24:25]
    .clock(monitor_2_clock),
    .reset(monitor_2_reset),
    .io_in_a_ready(monitor_2_io_in_a_ready),
    .io_in_a_valid(monitor_2_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_2_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_2_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_2_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_2_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_2_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_2_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_2_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_2_io_in_d_ready),
    .io_in_d_valid(monitor_2_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_2_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_2_io_in_d_bits_size)
  );
  assign auto_in_2_a_ready = auto_out_a_ready & allowed_2; // @[Arbiter.scala 123:31]
  assign auto_in_2_d_valid = auto_out_d_valid & requestDOI_0_2; // @[Xbar.scala 179:40]
  assign auto_in_2_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_2_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
  assign auto_in_0_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_0_d_bits_source = auto_out_d_bits_source[8:0]; // @[Xbar.scala 228:69]
  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_out_a_valid = idle ? _T_15 : _out_0_a_earlyValid_T_6; // @[Arbiter.scala 125:29]
  assign auto_out_a_bits_opcode = _T_70 | _T_69; // @[Mux.scala 27:73]
  assign auto_out_a_bits_param = _T_65 | _T_64; // @[Mux.scala 27:73]
  assign auto_out_a_bits_size = _T_60 | _T_59; // @[Mux.scala 27:73]
  assign auto_out_a_bits_source = _T_55 | _T_54; // @[Mux.scala 27:73]
  assign auto_out_a_bits_address = _T_50 | _T_49; // @[Mux.scala 27:73]
  assign auto_out_a_bits_mask = _T_45 | _T_44; // @[Mux.scala 27:73]
  assign auto_out_a_bits_data = _T_40 | _T_39; // @[Mux.scala 27:73]
  assign auto_out_a_bits_corrupt = muxStateEarly_0 & auto_in_0_a_bits_corrupt | muxStateEarly_1 &
    auto_in_1_a_bits_corrupt | muxStateEarly_2 & auto_in_2_a_bits_corrupt; // @[Mux.scala 27:73]
  assign auto_out_d_ready = requestDOI_0_0 & auto_in_0_d_ready | requestDOI_0_1 & auto_in_1_d_ready | requestDOI_0_2 &
    auto_in_2_d_ready; // @[Mux.scala 27:73]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
  assign monitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_0_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_0_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[8:0]; // @[Xbar.scala 228:69]
  assign monitor_1_clock = clock;
  assign monitor_1_reset = reset;
  assign monitor_1_io_in_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
  assign monitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_opcode = auto_in_1_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_param = auto_in_1_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_size = auto_in_1_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_source = auto_in_1_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_mask = auto_in_1_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_a_bits_corrupt = auto_in_1_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
  assign monitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_clock = clock;
  assign monitor_2_reset = reset;
  assign monitor_2_io_in_a_ready = auto_out_a_ready & allowed_2; // @[Arbiter.scala 123:31]
  assign monitor_2_io_in_a_valid = auto_in_2_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_opcode = auto_in_2_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_param = auto_in_2_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_size = auto_in_2_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_source = auto_in_2_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_address = auto_in_2_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_mask = auto_in_2_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_a_bits_corrupt = auto_in_2_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_d_ready = auto_in_2_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_2_io_in_d_valid = auto_out_d_valid & requestDOI_0_2; // @[Xbar.scala 179:40]
  assign monitor_2_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_2_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  always @(posedge clock) begin
    if (reset) begin // @[Arbiter.scala 87:30]
      beatsLeft <= 1'h0; // @[Arbiter.scala 87:30]
    end else if (latch) begin // @[Arbiter.scala 113:23]
      beatsLeft <= 1'h0;
    end else begin
      beatsLeft <= beatsLeft - _beatsLeft_T_2;
    end
    if (reset) begin // @[Arbiter.scala 23:23]
      readys_mask <= 3'h7; // @[Arbiter.scala 23:23]
    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
      readys_mask <= _readys_mask_T_6; // @[Arbiter.scala 28:12]
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_0 <= earlyWinner_0;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_1 <= earlyWinner_1;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_2 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state_2 <= earlyWinner_2;
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Arbiter.scala 22:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
            ); // @[Arbiter.scala 105:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2)) & _readys_T_3) begin
          $fatal; // @[Arbiter.scala 105:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~(~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid) | (prefixOR_2 | earlyWinner_2))
          ) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
            ); // @[Arbiter.scala 107:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(auto_in_0_a_valid | auto_in_1_a_valid | auto_in_2_a_valid) | (prefixOR_2 | earlyWinner_2)) & _readys_T_3
          ) begin
          $fatal; // @[Arbiter.scala 107:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_readys_T_3 & ~(_T_16 | _T_15)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
            ); // @[Arbiter.scala 108:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_16 | _T_15) & _readys_T_3) begin
          $fatal; // @[Arbiter.scala 108:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  beatsLeft = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  readys_mask = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  state_0 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  state_1 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  state_2 = _RAND_4[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_9(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [1:0]  io_in_a_bits_size,
  input  [8:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_size,
  input  [8:0]  io_in_d_bits_source
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [319:0] _RAND_10;
  reg [1279:0] _RAND_11;
  reg [1279:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [319:0] _RAND_16;
  reg [1279:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T_4 = io_in_a_bits_source <= 9'h13f; // @[Parameters.scala 57:20]
  wire [5:0] _is_aligned_mask_T_1 = 6'h7 << io_in_a_bits_size; // @[package.scala 234:77]
  wire [2:0] is_aligned_mask = ~_is_aligned_mask_T_1[2:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{29'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [2:0] _mask_sizeOH_T = {{1'd0}, io_in_a_bits_size}; // @[Misc.scala 201:34]
  wire [1:0] mask_sizeOH_shiftAmount = _mask_sizeOH_T[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 2'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire [32:0] _T_36 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_37 = $signed(_T_36) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_74 = _T_73 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_163 = 2'h3 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_170 = _T_163 & _T_37; // @[Parameters.scala 670:56]
  wire  _T_181 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_185 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_193 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_214 = _source_ok_T_4 & _T_170; // @[Monitor.scala 115:71]
  wire  _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_267 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_268 = io_in_a_bits_mask & _T_267; // @[Monitor.scala 127:31]
  wire  _T_269 = _T_268 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_273 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_303 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_311 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_341 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_349 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_379 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_391 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_10 = io_in_d_bits_source <= 9'h13f; // @[Parameters.scala 57:20]
  wire  _T_395 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_399 = io_in_d_bits_size >= 2'h3; // @[Monitor.scala 312:27]
  wire  _T_415 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_443 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_472 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_489 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_507 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [1:0] size; // @[Monitor.scala 386:22]
  reg [8:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_537 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_538 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_542 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_546 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_550 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_554 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] size_1; // @[Monitor.scala 537:22]
  reg [8:0] source_1; // @[Monitor.scala 538:22]
  wire  _T_561 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_562 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_570 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_574 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  reg [319:0] inflight; // @[Monitor.scala 611:27]
  reg [1279:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [1279:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [10:0] _GEN_21 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [11:0] _a_opcode_lookup_T = {{1'd0}, _GEN_21}; // @[Monitor.scala 634:69]
  wire [1279:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [1279:0] _GEN_60 = {{1264'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [1279:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_60; // @[Monitor.scala 634:97]
  wire [1279:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[1279:1]}; // @[Monitor.scala 634:152]
  wire [1279:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [1279:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 638:91]
  wire [1279:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[1279:1]}; // @[Monitor.scala 638:144]
  wire  _T_591 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [511:0] _a_set_T = 512'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
  wire [10:0] _GEN_71 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [11:0] _a_opcodes_set_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [4098:0] _GEN_305 = {{4095'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [4098:0] _a_opcodes_set_T_1 = _GEN_305 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [2:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
  wire [4097:0] _GEN_306 = {{4095'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [4097:0] _a_sizes_set_T_1 = _GEN_306 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [319:0] _T_593 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_595 = ~_T_593[0]; // @[Monitor.scala 658:17]
  wire [511:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 512'h0; // @[Monitor.scala 652:72 653:28]
  wire [4098:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 4099'h0; // @[Monitor.scala 652:72 656:28]
  wire [4097:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 4098'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_606 = ~_T_395; // @[Monitor.scala 675:75]
  wire [511:0] _d_clr_T = 512'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [4110:0] _GEN_307 = {{4095'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [4110:0] _d_opcodes_clr_T_5 = _GEN_307 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [511:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_395 ? _d_clr_T : 512'h0; // @[Monitor.scala 675:91 676:21]
  wire [4110:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_395 ? _d_opcodes_clr_T_5 : 4111'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_608 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_611 = io_in_d_valid & d_first_1 & _T_606; // @[Monitor.scala 680:71]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [319:0] _T_612 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_614 = _T_612[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_619 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_620 = io_in_d_bits_opcode == _GEN_32 | _T_619; // @[Monitor.scala 685:77]
  wire  _T_624 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_631 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_632 = io_in_d_bits_opcode == _GEN_48 | _T_631; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_636 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_646 = _T_608 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_606; // @[Monitor.scala 694:116]
  wire  _T_647 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_648 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [319:0] a_set = _GEN_16[319:0];
  wire [319:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [319:0] d_clr = _GEN_22[319:0];
  wire [319:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [319:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [1279:0] a_opcodes_set = _GEN_19[1279:0];
  wire [1279:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [1279:0] d_opcodes_clr = _GEN_23[1279:0];
  wire [1279:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [1279:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [1279:0] a_sizes_set = _GEN_20[1279:0];
  wire [1279:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [1279:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_657 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [319:0] inflight_1; // @[Monitor.scala 723:35]
  reg [1279:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [1279:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [1279:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 747:93]
  wire [1279:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[1279:1]}; // @[Monitor.scala 747:146]
  wire  _T_677 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire [511:0] _GEN_67 = _d_first_T & d_first_2 & _T_395 ? _d_clr_T : 512'h0; // @[Monitor.scala 783:90 784:21]
  wire [4110:0] _GEN_69 = _d_first_T & d_first_2 & _T_395 ? _d_opcodes_clr_T_5 : 4111'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_690 = io_in_d_valid & d_first_2 & _T_395; // @[Monitor.scala 789:71]
  wire [319:0] _T_691 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_697 = io_in_d_bits_size == 2'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_701 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [319:0] d_clr_1 = _GEN_67[319:0];
  wire [319:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [319:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [1279:0] d_sizes_clr_1 = _GEN_69[1279:0];
  wire [1279:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [1279:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_721 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 320'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 1280'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 1280'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= 1'h0;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= 1'h0;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 320'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 1280'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= 1'h0;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_170) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_170 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_214) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_214 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_193 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_193 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_214) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_214 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_181) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_181 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_232 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~_T_303) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_303 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_273 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_273 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~_T_341) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_341 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_311 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_311 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_349 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_349 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_391) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_391 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_395 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_395 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_395 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_443 & _T_2 & ~_T_399) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_399 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_443 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_472 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_472 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_507 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_507 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_538 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_542) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_542 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_546 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & ~reset & ~_T_554) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_554 & (_T_537 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_562) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_562 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_570) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_570 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_561 & _T_2 & ~_T_574) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_574 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_561 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_591 & ~reset & ~_T_595) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_595 & (_T_591 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & _T_2 & ~_T_614) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_614 & (_T_611 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & same_cycle_resp & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_611 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & same_cycle_resp & _T_2 & ~_T_624) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_624 & (_T_611 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & ~same_cycle_resp & _T_2 & ~_T_632) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_632 & (_T_611 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_611 & ~same_cycle_resp & _T_2 & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & (_T_611 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_646 & _T_2 & ~_T_648) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_648 & (_T_646 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_657) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_657 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_677 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_690 & _T_2 & ~_T_691[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_691[0] & (_T_690 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_697 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_690 & _T_2 & ~_T_701) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_701 & (_T_690 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_647 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_721) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:70:35)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_721 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[8:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  source_1 = _RAND_9[8:0];
  _RAND_10 = {10{`RANDOM}};
  inflight = _RAND_10[319:0];
  _RAND_11 = {40{`RANDOM}};
  inflight_opcodes = _RAND_11[1279:0];
  _RAND_12 = {40{`RANDOM}};
  inflight_sizes = _RAND_12[1279:0];
  _RAND_13 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  watchdog = _RAND_15[31:0];
  _RAND_16 = {10{`RANDOM}};
  inflight_1 = _RAND_16[319:0];
  _RAND_17 = {40{`RANDOM}};
  inflight_sizes_1 = _RAND_17[1279:0];
  _RAND_18 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  watchdog_1 = _RAND_19[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLFIFOFixer(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [1:0]  auto_in_a_bits_size,
  input  [8:0]  auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [1:0]  auto_in_d_bits_size,
  output [8:0]  auto_in_d_bits_source,
  output [63:0] auto_in_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [1:0]  auto_out_a_bits_size,
  output [8:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_size,
  input  [8:0]  auto_out_d_bits_source,
  input  [63:0] auto_out_d_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
  reg [31:0] _RAND_38;
  reg [31:0] _RAND_39;
  reg [31:0] _RAND_40;
  reg [31:0] _RAND_41;
  reg [31:0] _RAND_42;
  reg [31:0] _RAND_43;
  reg [31:0] _RAND_44;
  reg [31:0] _RAND_45;
  reg [31:0] _RAND_46;
  reg [31:0] _RAND_47;
  reg [31:0] _RAND_48;
  reg [31:0] _RAND_49;
  reg [31:0] _RAND_50;
  reg [31:0] _RAND_51;
  reg [31:0] _RAND_52;
  reg [31:0] _RAND_53;
  reg [31:0] _RAND_54;
  reg [31:0] _RAND_55;
  reg [31:0] _RAND_56;
  reg [31:0] _RAND_57;
  reg [31:0] _RAND_58;
  reg [31:0] _RAND_59;
  reg [31:0] _RAND_60;
  reg [31:0] _RAND_61;
  reg [31:0] _RAND_62;
  reg [31:0] _RAND_63;
  reg [31:0] _RAND_64;
  reg [31:0] _RAND_65;
  reg [31:0] _RAND_66;
  reg [31:0] _RAND_67;
  reg [31:0] _RAND_68;
  reg [31:0] _RAND_69;
  reg [31:0] _RAND_70;
  reg [31:0] _RAND_71;
  reg [31:0] _RAND_72;
  reg [31:0] _RAND_73;
  reg [31:0] _RAND_74;
  reg [31:0] _RAND_75;
  reg [31:0] _RAND_76;
  reg [31:0] _RAND_77;
  reg [31:0] _RAND_78;
  reg [31:0] _RAND_79;
  reg [31:0] _RAND_80;
  reg [31:0] _RAND_81;
  reg [31:0] _RAND_82;
  reg [31:0] _RAND_83;
  reg [31:0] _RAND_84;
  reg [31:0] _RAND_85;
  reg [31:0] _RAND_86;
  reg [31:0] _RAND_87;
  reg [31:0] _RAND_88;
  reg [31:0] _RAND_89;
  reg [31:0] _RAND_90;
  reg [31:0] _RAND_91;
  reg [31:0] _RAND_92;
  reg [31:0] _RAND_93;
  reg [31:0] _RAND_94;
  reg [31:0] _RAND_95;
  reg [31:0] _RAND_96;
  reg [31:0] _RAND_97;
  reg [31:0] _RAND_98;
  reg [31:0] _RAND_99;
  reg [31:0] _RAND_100;
  reg [31:0] _RAND_101;
  reg [31:0] _RAND_102;
  reg [31:0] _RAND_103;
  reg [31:0] _RAND_104;
  reg [31:0] _RAND_105;
  reg [31:0] _RAND_106;
  reg [31:0] _RAND_107;
  reg [31:0] _RAND_108;
  reg [31:0] _RAND_109;
  reg [31:0] _RAND_110;
  reg [31:0] _RAND_111;
  reg [31:0] _RAND_112;
  reg [31:0] _RAND_113;
  reg [31:0] _RAND_114;
  reg [31:0] _RAND_115;
  reg [31:0] _RAND_116;
  reg [31:0] _RAND_117;
  reg [31:0] _RAND_118;
  reg [31:0] _RAND_119;
  reg [31:0] _RAND_120;
  reg [31:0] _RAND_121;
  reg [31:0] _RAND_122;
  reg [31:0] _RAND_123;
  reg [31:0] _RAND_124;
  reg [31:0] _RAND_125;
  reg [31:0] _RAND_126;
  reg [31:0] _RAND_127;
  reg [31:0] _RAND_128;
  reg [31:0] _RAND_129;
  reg [31:0] _RAND_130;
  reg [31:0] _RAND_131;
  reg [31:0] _RAND_132;
  reg [31:0] _RAND_133;
  reg [31:0] _RAND_134;
  reg [31:0] _RAND_135;
  reg [31:0] _RAND_136;
  reg [31:0] _RAND_137;
  reg [31:0] _RAND_138;
  reg [31:0] _RAND_139;
  reg [31:0] _RAND_140;
  reg [31:0] _RAND_141;
  reg [31:0] _RAND_142;
  reg [31:0] _RAND_143;
  reg [31:0] _RAND_144;
  reg [31:0] _RAND_145;
  reg [31:0] _RAND_146;
  reg [31:0] _RAND_147;
  reg [31:0] _RAND_148;
  reg [31:0] _RAND_149;
  reg [31:0] _RAND_150;
  reg [31:0] _RAND_151;
  reg [31:0] _RAND_152;
  reg [31:0] _RAND_153;
  reg [31:0] _RAND_154;
  reg [31:0] _RAND_155;
  reg [31:0] _RAND_156;
  reg [31:0] _RAND_157;
  reg [31:0] _RAND_158;
  reg [31:0] _RAND_159;
  reg [31:0] _RAND_160;
  reg [31:0] _RAND_161;
  reg [31:0] _RAND_162;
  reg [31:0] _RAND_163;
  reg [31:0] _RAND_164;
  reg [31:0] _RAND_165;
  reg [31:0] _RAND_166;
  reg [31:0] _RAND_167;
  reg [31:0] _RAND_168;
  reg [31:0] _RAND_169;
  reg [31:0] _RAND_170;
  reg [31:0] _RAND_171;
  reg [31:0] _RAND_172;
  reg [31:0] _RAND_173;
  reg [31:0] _RAND_174;
  reg [31:0] _RAND_175;
  reg [31:0] _RAND_176;
  reg [31:0] _RAND_177;
  reg [31:0] _RAND_178;
  reg [31:0] _RAND_179;
  reg [31:0] _RAND_180;
  reg [31:0] _RAND_181;
  reg [31:0] _RAND_182;
  reg [31:0] _RAND_183;
  reg [31:0] _RAND_184;
  reg [31:0] _RAND_185;
  reg [31:0] _RAND_186;
  reg [31:0] _RAND_187;
  reg [31:0] _RAND_188;
  reg [31:0] _RAND_189;
  reg [31:0] _RAND_190;
  reg [31:0] _RAND_191;
  reg [31:0] _RAND_192;
  reg [31:0] _RAND_193;
  reg [31:0] _RAND_194;
  reg [31:0] _RAND_195;
  reg [31:0] _RAND_196;
  reg [31:0] _RAND_197;
  reg [31:0] _RAND_198;
  reg [31:0] _RAND_199;
  reg [31:0] _RAND_200;
  reg [31:0] _RAND_201;
  reg [31:0] _RAND_202;
  reg [31:0] _RAND_203;
  reg [31:0] _RAND_204;
  reg [31:0] _RAND_205;
  reg [31:0] _RAND_206;
  reg [31:0] _RAND_207;
  reg [31:0] _RAND_208;
  reg [31:0] _RAND_209;
  reg [31:0] _RAND_210;
  reg [31:0] _RAND_211;
  reg [31:0] _RAND_212;
  reg [31:0] _RAND_213;
  reg [31:0] _RAND_214;
  reg [31:0] _RAND_215;
  reg [31:0] _RAND_216;
  reg [31:0] _RAND_217;
  reg [31:0] _RAND_218;
  reg [31:0] _RAND_219;
  reg [31:0] _RAND_220;
  reg [31:0] _RAND_221;
  reg [31:0] _RAND_222;
  reg [31:0] _RAND_223;
  reg [31:0] _RAND_224;
  reg [31:0] _RAND_225;
  reg [31:0] _RAND_226;
  reg [31:0] _RAND_227;
  reg [31:0] _RAND_228;
  reg [31:0] _RAND_229;
  reg [31:0] _RAND_230;
  reg [31:0] _RAND_231;
  reg [31:0] _RAND_232;
  reg [31:0] _RAND_233;
  reg [31:0] _RAND_234;
  reg [31:0] _RAND_235;
  reg [31:0] _RAND_236;
  reg [31:0] _RAND_237;
  reg [31:0] _RAND_238;
  reg [31:0] _RAND_239;
  reg [31:0] _RAND_240;
  reg [31:0] _RAND_241;
  reg [31:0] _RAND_242;
  reg [31:0] _RAND_243;
  reg [31:0] _RAND_244;
  reg [31:0] _RAND_245;
  reg [31:0] _RAND_246;
  reg [31:0] _RAND_247;
  reg [31:0] _RAND_248;
  reg [31:0] _RAND_249;
  reg [31:0] _RAND_250;
  reg [31:0] _RAND_251;
  reg [31:0] _RAND_252;
  reg [31:0] _RAND_253;
  reg [31:0] _RAND_254;
  reg [31:0] _RAND_255;
  reg [31:0] _RAND_256;
  reg [31:0] _RAND_257;
  reg [31:0] _RAND_258;
  reg [31:0] _RAND_259;
  reg [31:0] _RAND_260;
  reg [31:0] _RAND_261;
  reg [31:0] _RAND_262;
  reg [31:0] _RAND_263;
  reg [31:0] _RAND_264;
  reg [31:0] _RAND_265;
  reg [31:0] _RAND_266;
  reg [31:0] _RAND_267;
  reg [31:0] _RAND_268;
  reg [31:0] _RAND_269;
  reg [31:0] _RAND_270;
  reg [31:0] _RAND_271;
  reg [31:0] _RAND_272;
  reg [31:0] _RAND_273;
  reg [31:0] _RAND_274;
  reg [31:0] _RAND_275;
  reg [31:0] _RAND_276;
  reg [31:0] _RAND_277;
  reg [31:0] _RAND_278;
  reg [31:0] _RAND_279;
  reg [31:0] _RAND_280;
  reg [31:0] _RAND_281;
  reg [31:0] _RAND_282;
  reg [31:0] _RAND_283;
  reg [31:0] _RAND_284;
  reg [31:0] _RAND_285;
  reg [31:0] _RAND_286;
  reg [31:0] _RAND_287;
  reg [31:0] _RAND_288;
  reg [31:0] _RAND_289;
  reg [31:0] _RAND_290;
  reg [31:0] _RAND_291;
  reg [31:0] _RAND_292;
  reg [31:0] _RAND_293;
  reg [31:0] _RAND_294;
  reg [31:0] _RAND_295;
  reg [31:0] _RAND_296;
  reg [31:0] _RAND_297;
  reg [31:0] _RAND_298;
  reg [31:0] _RAND_299;
  reg [31:0] _RAND_300;
  reg [31:0] _RAND_301;
  reg [31:0] _RAND_302;
  reg [31:0] _RAND_303;
  reg [31:0] _RAND_304;
  reg [31:0] _RAND_305;
  reg [31:0] _RAND_306;
  reg [31:0] _RAND_307;
  reg [31:0] _RAND_308;
  reg [31:0] _RAND_309;
  reg [31:0] _RAND_310;
  reg [31:0] _RAND_311;
  reg [31:0] _RAND_312;
  reg [31:0] _RAND_313;
  reg [31:0] _RAND_314;
  reg [31:0] _RAND_315;
  reg [31:0] _RAND_316;
  reg [31:0] _RAND_317;
  reg [31:0] _RAND_318;
  reg [31:0] _RAND_319;
  reg [31:0] _RAND_320;
  reg [31:0] _RAND_321;
`endif // RANDOMIZE_REG_INIT
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [8:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [8:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire  stalls_a_sel = auto_in_a_bits_source <= 9'h13f; // @[Parameters.scala 57:20]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg  flight_0; // @[FIFOFixer.scala 71:27]
  reg  flight_1; // @[FIFOFixer.scala 71:27]
  reg  flight_2; // @[FIFOFixer.scala 71:27]
  reg  flight_3; // @[FIFOFixer.scala 71:27]
  reg  flight_4; // @[FIFOFixer.scala 71:27]
  reg  flight_5; // @[FIFOFixer.scala 71:27]
  reg  flight_6; // @[FIFOFixer.scala 71:27]
  reg  flight_7; // @[FIFOFixer.scala 71:27]
  reg  flight_8; // @[FIFOFixer.scala 71:27]
  reg  flight_9; // @[FIFOFixer.scala 71:27]
  reg  flight_10; // @[FIFOFixer.scala 71:27]
  reg  flight_11; // @[FIFOFixer.scala 71:27]
  reg  flight_12; // @[FIFOFixer.scala 71:27]
  reg  flight_13; // @[FIFOFixer.scala 71:27]
  reg  flight_14; // @[FIFOFixer.scala 71:27]
  reg  flight_15; // @[FIFOFixer.scala 71:27]
  reg  flight_16; // @[FIFOFixer.scala 71:27]
  reg  flight_17; // @[FIFOFixer.scala 71:27]
  reg  flight_18; // @[FIFOFixer.scala 71:27]
  reg  flight_19; // @[FIFOFixer.scala 71:27]
  reg  flight_20; // @[FIFOFixer.scala 71:27]
  reg  flight_21; // @[FIFOFixer.scala 71:27]
  reg  flight_22; // @[FIFOFixer.scala 71:27]
  reg  flight_23; // @[FIFOFixer.scala 71:27]
  reg  flight_24; // @[FIFOFixer.scala 71:27]
  reg  flight_25; // @[FIFOFixer.scala 71:27]
  reg  flight_26; // @[FIFOFixer.scala 71:27]
  reg  flight_27; // @[FIFOFixer.scala 71:27]
  reg  flight_28; // @[FIFOFixer.scala 71:27]
  reg  flight_29; // @[FIFOFixer.scala 71:27]
  reg  flight_30; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_30 = flight_0 | flight_1 | flight_2 | flight_3 | flight_4 | flight_5 | flight_6 | flight_7 | flight_8
     | flight_9 | flight_10 | flight_11 | flight_12 | flight_13 | flight_14 | flight_15 | flight_16 | flight_17 |
    flight_18 | flight_19 | flight_20 | flight_21 | flight_22 | flight_23 | flight_24 | flight_25 | flight_26 |
    flight_27 | flight_28 | flight_29 | flight_30; // @[FIFOFixer.scala 80:44]
  reg  flight_31; // @[FIFOFixer.scala 71:27]
  reg  flight_32; // @[FIFOFixer.scala 71:27]
  reg  flight_33; // @[FIFOFixer.scala 71:27]
  reg  flight_34; // @[FIFOFixer.scala 71:27]
  reg  flight_35; // @[FIFOFixer.scala 71:27]
  reg  flight_36; // @[FIFOFixer.scala 71:27]
  reg  flight_37; // @[FIFOFixer.scala 71:27]
  reg  flight_38; // @[FIFOFixer.scala 71:27]
  reg  flight_39; // @[FIFOFixer.scala 71:27]
  reg  flight_40; // @[FIFOFixer.scala 71:27]
  reg  flight_41; // @[FIFOFixer.scala 71:27]
  reg  flight_42; // @[FIFOFixer.scala 71:27]
  reg  flight_43; // @[FIFOFixer.scala 71:27]
  reg  flight_44; // @[FIFOFixer.scala 71:27]
  reg  flight_45; // @[FIFOFixer.scala 71:27]
  reg  flight_46; // @[FIFOFixer.scala 71:27]
  reg  flight_47; // @[FIFOFixer.scala 71:27]
  reg  flight_48; // @[FIFOFixer.scala 71:27]
  reg  flight_49; // @[FIFOFixer.scala 71:27]
  reg  flight_50; // @[FIFOFixer.scala 71:27]
  reg  flight_51; // @[FIFOFixer.scala 71:27]
  reg  flight_52; // @[FIFOFixer.scala 71:27]
  reg  flight_53; // @[FIFOFixer.scala 71:27]
  reg  flight_54; // @[FIFOFixer.scala 71:27]
  reg  flight_55; // @[FIFOFixer.scala 71:27]
  reg  flight_56; // @[FIFOFixer.scala 71:27]
  reg  flight_57; // @[FIFOFixer.scala 71:27]
  reg  flight_58; // @[FIFOFixer.scala 71:27]
  reg  flight_59; // @[FIFOFixer.scala 71:27]
  reg  flight_60; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_60 = _stalls_T_30 | flight_31 | flight_32 | flight_33 | flight_34 | flight_35 | flight_36 | flight_37
     | flight_38 | flight_39 | flight_40 | flight_41 | flight_42 | flight_43 | flight_44 | flight_45 | flight_46 |
    flight_47 | flight_48 | flight_49 | flight_50 | flight_51 | flight_52 | flight_53 | flight_54 | flight_55 |
    flight_56 | flight_57 | flight_58 | flight_59 | flight_60; // @[FIFOFixer.scala 80:44]
  reg  flight_61; // @[FIFOFixer.scala 71:27]
  reg  flight_62; // @[FIFOFixer.scala 71:27]
  reg  flight_63; // @[FIFOFixer.scala 71:27]
  reg  flight_64; // @[FIFOFixer.scala 71:27]
  reg  flight_65; // @[FIFOFixer.scala 71:27]
  reg  flight_66; // @[FIFOFixer.scala 71:27]
  reg  flight_67; // @[FIFOFixer.scala 71:27]
  reg  flight_68; // @[FIFOFixer.scala 71:27]
  reg  flight_69; // @[FIFOFixer.scala 71:27]
  reg  flight_70; // @[FIFOFixer.scala 71:27]
  reg  flight_71; // @[FIFOFixer.scala 71:27]
  reg  flight_72; // @[FIFOFixer.scala 71:27]
  reg  flight_73; // @[FIFOFixer.scala 71:27]
  reg  flight_74; // @[FIFOFixer.scala 71:27]
  reg  flight_75; // @[FIFOFixer.scala 71:27]
  reg  flight_76; // @[FIFOFixer.scala 71:27]
  reg  flight_77; // @[FIFOFixer.scala 71:27]
  reg  flight_78; // @[FIFOFixer.scala 71:27]
  reg  flight_79; // @[FIFOFixer.scala 71:27]
  reg  flight_80; // @[FIFOFixer.scala 71:27]
  reg  flight_81; // @[FIFOFixer.scala 71:27]
  reg  flight_82; // @[FIFOFixer.scala 71:27]
  reg  flight_83; // @[FIFOFixer.scala 71:27]
  reg  flight_84; // @[FIFOFixer.scala 71:27]
  reg  flight_85; // @[FIFOFixer.scala 71:27]
  reg  flight_86; // @[FIFOFixer.scala 71:27]
  reg  flight_87; // @[FIFOFixer.scala 71:27]
  reg  flight_88; // @[FIFOFixer.scala 71:27]
  reg  flight_89; // @[FIFOFixer.scala 71:27]
  reg  flight_90; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_90 = _stalls_T_60 | flight_61 | flight_62 | flight_63 | flight_64 | flight_65 | flight_66 | flight_67
     | flight_68 | flight_69 | flight_70 | flight_71 | flight_72 | flight_73 | flight_74 | flight_75 | flight_76 |
    flight_77 | flight_78 | flight_79 | flight_80 | flight_81 | flight_82 | flight_83 | flight_84 | flight_85 |
    flight_86 | flight_87 | flight_88 | flight_89 | flight_90; // @[FIFOFixer.scala 80:44]
  reg  flight_91; // @[FIFOFixer.scala 71:27]
  reg  flight_92; // @[FIFOFixer.scala 71:27]
  reg  flight_93; // @[FIFOFixer.scala 71:27]
  reg  flight_94; // @[FIFOFixer.scala 71:27]
  reg  flight_95; // @[FIFOFixer.scala 71:27]
  reg  flight_96; // @[FIFOFixer.scala 71:27]
  reg  flight_97; // @[FIFOFixer.scala 71:27]
  reg  flight_98; // @[FIFOFixer.scala 71:27]
  reg  flight_99; // @[FIFOFixer.scala 71:27]
  reg  flight_100; // @[FIFOFixer.scala 71:27]
  reg  flight_101; // @[FIFOFixer.scala 71:27]
  reg  flight_102; // @[FIFOFixer.scala 71:27]
  reg  flight_103; // @[FIFOFixer.scala 71:27]
  reg  flight_104; // @[FIFOFixer.scala 71:27]
  reg  flight_105; // @[FIFOFixer.scala 71:27]
  reg  flight_106; // @[FIFOFixer.scala 71:27]
  reg  flight_107; // @[FIFOFixer.scala 71:27]
  reg  flight_108; // @[FIFOFixer.scala 71:27]
  reg  flight_109; // @[FIFOFixer.scala 71:27]
  reg  flight_110; // @[FIFOFixer.scala 71:27]
  reg  flight_111; // @[FIFOFixer.scala 71:27]
  reg  flight_112; // @[FIFOFixer.scala 71:27]
  reg  flight_113; // @[FIFOFixer.scala 71:27]
  reg  flight_114; // @[FIFOFixer.scala 71:27]
  reg  flight_115; // @[FIFOFixer.scala 71:27]
  reg  flight_116; // @[FIFOFixer.scala 71:27]
  reg  flight_117; // @[FIFOFixer.scala 71:27]
  reg  flight_118; // @[FIFOFixer.scala 71:27]
  reg  flight_119; // @[FIFOFixer.scala 71:27]
  reg  flight_120; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_120 = _stalls_T_90 | flight_91 | flight_92 | flight_93 | flight_94 | flight_95 | flight_96 | flight_97
     | flight_98 | flight_99 | flight_100 | flight_101 | flight_102 | flight_103 | flight_104 | flight_105 | flight_106
     | flight_107 | flight_108 | flight_109 | flight_110 | flight_111 | flight_112 | flight_113 | flight_114 |
    flight_115 | flight_116 | flight_117 | flight_118 | flight_119 | flight_120; // @[FIFOFixer.scala 80:44]
  reg  flight_121; // @[FIFOFixer.scala 71:27]
  reg  flight_122; // @[FIFOFixer.scala 71:27]
  reg  flight_123; // @[FIFOFixer.scala 71:27]
  reg  flight_124; // @[FIFOFixer.scala 71:27]
  reg  flight_125; // @[FIFOFixer.scala 71:27]
  reg  flight_126; // @[FIFOFixer.scala 71:27]
  reg  flight_127; // @[FIFOFixer.scala 71:27]
  reg  flight_128; // @[FIFOFixer.scala 71:27]
  reg  flight_129; // @[FIFOFixer.scala 71:27]
  reg  flight_130; // @[FIFOFixer.scala 71:27]
  reg  flight_131; // @[FIFOFixer.scala 71:27]
  reg  flight_132; // @[FIFOFixer.scala 71:27]
  reg  flight_133; // @[FIFOFixer.scala 71:27]
  reg  flight_134; // @[FIFOFixer.scala 71:27]
  reg  flight_135; // @[FIFOFixer.scala 71:27]
  reg  flight_136; // @[FIFOFixer.scala 71:27]
  reg  flight_137; // @[FIFOFixer.scala 71:27]
  reg  flight_138; // @[FIFOFixer.scala 71:27]
  reg  flight_139; // @[FIFOFixer.scala 71:27]
  reg  flight_140; // @[FIFOFixer.scala 71:27]
  reg  flight_141; // @[FIFOFixer.scala 71:27]
  reg  flight_142; // @[FIFOFixer.scala 71:27]
  reg  flight_143; // @[FIFOFixer.scala 71:27]
  reg  flight_144; // @[FIFOFixer.scala 71:27]
  reg  flight_145; // @[FIFOFixer.scala 71:27]
  reg  flight_146; // @[FIFOFixer.scala 71:27]
  reg  flight_147; // @[FIFOFixer.scala 71:27]
  reg  flight_148; // @[FIFOFixer.scala 71:27]
  reg  flight_149; // @[FIFOFixer.scala 71:27]
  reg  flight_150; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_150 = _stalls_T_120 | flight_121 | flight_122 | flight_123 | flight_124 | flight_125 | flight_126 |
    flight_127 | flight_128 | flight_129 | flight_130 | flight_131 | flight_132 | flight_133 | flight_134 | flight_135
     | flight_136 | flight_137 | flight_138 | flight_139 | flight_140 | flight_141 | flight_142 | flight_143 |
    flight_144 | flight_145 | flight_146 | flight_147 | flight_148 | flight_149 | flight_150; // @[FIFOFixer.scala 80:44]
  reg  flight_151; // @[FIFOFixer.scala 71:27]
  reg  flight_152; // @[FIFOFixer.scala 71:27]
  reg  flight_153; // @[FIFOFixer.scala 71:27]
  reg  flight_154; // @[FIFOFixer.scala 71:27]
  reg  flight_155; // @[FIFOFixer.scala 71:27]
  reg  flight_156; // @[FIFOFixer.scala 71:27]
  reg  flight_157; // @[FIFOFixer.scala 71:27]
  reg  flight_158; // @[FIFOFixer.scala 71:27]
  reg  flight_159; // @[FIFOFixer.scala 71:27]
  reg  flight_160; // @[FIFOFixer.scala 71:27]
  reg  flight_161; // @[FIFOFixer.scala 71:27]
  reg  flight_162; // @[FIFOFixer.scala 71:27]
  reg  flight_163; // @[FIFOFixer.scala 71:27]
  reg  flight_164; // @[FIFOFixer.scala 71:27]
  reg  flight_165; // @[FIFOFixer.scala 71:27]
  reg  flight_166; // @[FIFOFixer.scala 71:27]
  reg  flight_167; // @[FIFOFixer.scala 71:27]
  reg  flight_168; // @[FIFOFixer.scala 71:27]
  reg  flight_169; // @[FIFOFixer.scala 71:27]
  reg  flight_170; // @[FIFOFixer.scala 71:27]
  reg  flight_171; // @[FIFOFixer.scala 71:27]
  reg  flight_172; // @[FIFOFixer.scala 71:27]
  reg  flight_173; // @[FIFOFixer.scala 71:27]
  reg  flight_174; // @[FIFOFixer.scala 71:27]
  reg  flight_175; // @[FIFOFixer.scala 71:27]
  reg  flight_176; // @[FIFOFixer.scala 71:27]
  reg  flight_177; // @[FIFOFixer.scala 71:27]
  reg  flight_178; // @[FIFOFixer.scala 71:27]
  reg  flight_179; // @[FIFOFixer.scala 71:27]
  reg  flight_180; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_180 = _stalls_T_150 | flight_151 | flight_152 | flight_153 | flight_154 | flight_155 | flight_156 |
    flight_157 | flight_158 | flight_159 | flight_160 | flight_161 | flight_162 | flight_163 | flight_164 | flight_165
     | flight_166 | flight_167 | flight_168 | flight_169 | flight_170 | flight_171 | flight_172 | flight_173 |
    flight_174 | flight_175 | flight_176 | flight_177 | flight_178 | flight_179 | flight_180; // @[FIFOFixer.scala 80:44]
  reg  flight_181; // @[FIFOFixer.scala 71:27]
  reg  flight_182; // @[FIFOFixer.scala 71:27]
  reg  flight_183; // @[FIFOFixer.scala 71:27]
  reg  flight_184; // @[FIFOFixer.scala 71:27]
  reg  flight_185; // @[FIFOFixer.scala 71:27]
  reg  flight_186; // @[FIFOFixer.scala 71:27]
  reg  flight_187; // @[FIFOFixer.scala 71:27]
  reg  flight_188; // @[FIFOFixer.scala 71:27]
  reg  flight_189; // @[FIFOFixer.scala 71:27]
  reg  flight_190; // @[FIFOFixer.scala 71:27]
  reg  flight_191; // @[FIFOFixer.scala 71:27]
  reg  flight_192; // @[FIFOFixer.scala 71:27]
  reg  flight_193; // @[FIFOFixer.scala 71:27]
  reg  flight_194; // @[FIFOFixer.scala 71:27]
  reg  flight_195; // @[FIFOFixer.scala 71:27]
  reg  flight_196; // @[FIFOFixer.scala 71:27]
  reg  flight_197; // @[FIFOFixer.scala 71:27]
  reg  flight_198; // @[FIFOFixer.scala 71:27]
  reg  flight_199; // @[FIFOFixer.scala 71:27]
  reg  flight_200; // @[FIFOFixer.scala 71:27]
  reg  flight_201; // @[FIFOFixer.scala 71:27]
  reg  flight_202; // @[FIFOFixer.scala 71:27]
  reg  flight_203; // @[FIFOFixer.scala 71:27]
  reg  flight_204; // @[FIFOFixer.scala 71:27]
  reg  flight_205; // @[FIFOFixer.scala 71:27]
  reg  flight_206; // @[FIFOFixer.scala 71:27]
  reg  flight_207; // @[FIFOFixer.scala 71:27]
  reg  flight_208; // @[FIFOFixer.scala 71:27]
  reg  flight_209; // @[FIFOFixer.scala 71:27]
  reg  flight_210; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_210 = _stalls_T_180 | flight_181 | flight_182 | flight_183 | flight_184 | flight_185 | flight_186 |
    flight_187 | flight_188 | flight_189 | flight_190 | flight_191 | flight_192 | flight_193 | flight_194 | flight_195
     | flight_196 | flight_197 | flight_198 | flight_199 | flight_200 | flight_201 | flight_202 | flight_203 |
    flight_204 | flight_205 | flight_206 | flight_207 | flight_208 | flight_209 | flight_210; // @[FIFOFixer.scala 80:44]
  reg  flight_211; // @[FIFOFixer.scala 71:27]
  reg  flight_212; // @[FIFOFixer.scala 71:27]
  reg  flight_213; // @[FIFOFixer.scala 71:27]
  reg  flight_214; // @[FIFOFixer.scala 71:27]
  reg  flight_215; // @[FIFOFixer.scala 71:27]
  reg  flight_216; // @[FIFOFixer.scala 71:27]
  reg  flight_217; // @[FIFOFixer.scala 71:27]
  reg  flight_218; // @[FIFOFixer.scala 71:27]
  reg  flight_219; // @[FIFOFixer.scala 71:27]
  reg  flight_220; // @[FIFOFixer.scala 71:27]
  reg  flight_221; // @[FIFOFixer.scala 71:27]
  reg  flight_222; // @[FIFOFixer.scala 71:27]
  reg  flight_223; // @[FIFOFixer.scala 71:27]
  reg  flight_224; // @[FIFOFixer.scala 71:27]
  reg  flight_225; // @[FIFOFixer.scala 71:27]
  reg  flight_226; // @[FIFOFixer.scala 71:27]
  reg  flight_227; // @[FIFOFixer.scala 71:27]
  reg  flight_228; // @[FIFOFixer.scala 71:27]
  reg  flight_229; // @[FIFOFixer.scala 71:27]
  reg  flight_230; // @[FIFOFixer.scala 71:27]
  reg  flight_231; // @[FIFOFixer.scala 71:27]
  reg  flight_232; // @[FIFOFixer.scala 71:27]
  reg  flight_233; // @[FIFOFixer.scala 71:27]
  reg  flight_234; // @[FIFOFixer.scala 71:27]
  reg  flight_235; // @[FIFOFixer.scala 71:27]
  reg  flight_236; // @[FIFOFixer.scala 71:27]
  reg  flight_237; // @[FIFOFixer.scala 71:27]
  reg  flight_238; // @[FIFOFixer.scala 71:27]
  reg  flight_239; // @[FIFOFixer.scala 71:27]
  reg  flight_240; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_240 = _stalls_T_210 | flight_211 | flight_212 | flight_213 | flight_214 | flight_215 | flight_216 |
    flight_217 | flight_218 | flight_219 | flight_220 | flight_221 | flight_222 | flight_223 | flight_224 | flight_225
     | flight_226 | flight_227 | flight_228 | flight_229 | flight_230 | flight_231 | flight_232 | flight_233 |
    flight_234 | flight_235 | flight_236 | flight_237 | flight_238 | flight_239 | flight_240; // @[FIFOFixer.scala 80:44]
  reg  flight_241; // @[FIFOFixer.scala 71:27]
  reg  flight_242; // @[FIFOFixer.scala 71:27]
  reg  flight_243; // @[FIFOFixer.scala 71:27]
  reg  flight_244; // @[FIFOFixer.scala 71:27]
  reg  flight_245; // @[FIFOFixer.scala 71:27]
  reg  flight_246; // @[FIFOFixer.scala 71:27]
  reg  flight_247; // @[FIFOFixer.scala 71:27]
  reg  flight_248; // @[FIFOFixer.scala 71:27]
  reg  flight_249; // @[FIFOFixer.scala 71:27]
  reg  flight_250; // @[FIFOFixer.scala 71:27]
  reg  flight_251; // @[FIFOFixer.scala 71:27]
  reg  flight_252; // @[FIFOFixer.scala 71:27]
  reg  flight_253; // @[FIFOFixer.scala 71:27]
  reg  flight_254; // @[FIFOFixer.scala 71:27]
  reg  flight_255; // @[FIFOFixer.scala 71:27]
  reg  flight_256; // @[FIFOFixer.scala 71:27]
  reg  flight_257; // @[FIFOFixer.scala 71:27]
  reg  flight_258; // @[FIFOFixer.scala 71:27]
  reg  flight_259; // @[FIFOFixer.scala 71:27]
  reg  flight_260; // @[FIFOFixer.scala 71:27]
  reg  flight_261; // @[FIFOFixer.scala 71:27]
  reg  flight_262; // @[FIFOFixer.scala 71:27]
  reg  flight_263; // @[FIFOFixer.scala 71:27]
  reg  flight_264; // @[FIFOFixer.scala 71:27]
  reg  flight_265; // @[FIFOFixer.scala 71:27]
  reg  flight_266; // @[FIFOFixer.scala 71:27]
  reg  flight_267; // @[FIFOFixer.scala 71:27]
  reg  flight_268; // @[FIFOFixer.scala 71:27]
  reg  flight_269; // @[FIFOFixer.scala 71:27]
  reg  flight_270; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_270 = _stalls_T_240 | flight_241 | flight_242 | flight_243 | flight_244 | flight_245 | flight_246 |
    flight_247 | flight_248 | flight_249 | flight_250 | flight_251 | flight_252 | flight_253 | flight_254 | flight_255
     | flight_256 | flight_257 | flight_258 | flight_259 | flight_260 | flight_261 | flight_262 | flight_263 |
    flight_264 | flight_265 | flight_266 | flight_267 | flight_268 | flight_269 | flight_270; // @[FIFOFixer.scala 80:44]
  reg  flight_271; // @[FIFOFixer.scala 71:27]
  reg  flight_272; // @[FIFOFixer.scala 71:27]
  reg  flight_273; // @[FIFOFixer.scala 71:27]
  reg  flight_274; // @[FIFOFixer.scala 71:27]
  reg  flight_275; // @[FIFOFixer.scala 71:27]
  reg  flight_276; // @[FIFOFixer.scala 71:27]
  reg  flight_277; // @[FIFOFixer.scala 71:27]
  reg  flight_278; // @[FIFOFixer.scala 71:27]
  reg  flight_279; // @[FIFOFixer.scala 71:27]
  reg  flight_280; // @[FIFOFixer.scala 71:27]
  reg  flight_281; // @[FIFOFixer.scala 71:27]
  reg  flight_282; // @[FIFOFixer.scala 71:27]
  reg  flight_283; // @[FIFOFixer.scala 71:27]
  reg  flight_284; // @[FIFOFixer.scala 71:27]
  reg  flight_285; // @[FIFOFixer.scala 71:27]
  reg  flight_286; // @[FIFOFixer.scala 71:27]
  reg  flight_287; // @[FIFOFixer.scala 71:27]
  reg  flight_288; // @[FIFOFixer.scala 71:27]
  reg  flight_289; // @[FIFOFixer.scala 71:27]
  reg  flight_290; // @[FIFOFixer.scala 71:27]
  reg  flight_291; // @[FIFOFixer.scala 71:27]
  reg  flight_292; // @[FIFOFixer.scala 71:27]
  reg  flight_293; // @[FIFOFixer.scala 71:27]
  reg  flight_294; // @[FIFOFixer.scala 71:27]
  reg  flight_295; // @[FIFOFixer.scala 71:27]
  reg  flight_296; // @[FIFOFixer.scala 71:27]
  reg  flight_297; // @[FIFOFixer.scala 71:27]
  reg  flight_298; // @[FIFOFixer.scala 71:27]
  reg  flight_299; // @[FIFOFixer.scala 71:27]
  reg  flight_300; // @[FIFOFixer.scala 71:27]
  wire  _stalls_T_300 = _stalls_T_270 | flight_271 | flight_272 | flight_273 | flight_274 | flight_275 | flight_276 |
    flight_277 | flight_278 | flight_279 | flight_280 | flight_281 | flight_282 | flight_283 | flight_284 | flight_285
     | flight_286 | flight_287 | flight_288 | flight_289 | flight_290 | flight_291 | flight_292 | flight_293 |
    flight_294 | flight_295 | flight_296 | flight_297 | flight_298 | flight_299 | flight_300; // @[FIFOFixer.scala 80:44]
  reg  flight_301; // @[FIFOFixer.scala 71:27]
  reg  flight_302; // @[FIFOFixer.scala 71:27]
  reg  flight_303; // @[FIFOFixer.scala 71:27]
  reg  flight_304; // @[FIFOFixer.scala 71:27]
  reg  flight_305; // @[FIFOFixer.scala 71:27]
  reg  flight_306; // @[FIFOFixer.scala 71:27]
  reg  flight_307; // @[FIFOFixer.scala 71:27]
  reg  flight_308; // @[FIFOFixer.scala 71:27]
  reg  flight_309; // @[FIFOFixer.scala 71:27]
  reg  flight_310; // @[FIFOFixer.scala 71:27]
  reg  flight_311; // @[FIFOFixer.scala 71:27]
  reg  flight_312; // @[FIFOFixer.scala 71:27]
  reg  flight_313; // @[FIFOFixer.scala 71:27]
  reg  flight_314; // @[FIFOFixer.scala 71:27]
  reg  flight_315; // @[FIFOFixer.scala 71:27]
  reg  flight_316; // @[FIFOFixer.scala 71:27]
  reg  flight_317; // @[FIFOFixer.scala 71:27]
  reg  flight_318; // @[FIFOFixer.scala 71:27]
  reg  flight_319; // @[FIFOFixer.scala 71:27]
  wire  stalls_0 = stalls_a_sel & a_first & (_stalls_T_300 | flight_301 | flight_302 | flight_303 | flight_304 |
    flight_305 | flight_306 | flight_307 | flight_308 | flight_309 | flight_310 | flight_311 | flight_312 | flight_313
     | flight_314 | flight_315 | flight_316 | flight_317 | flight_318 | flight_319); // @[FIFOFixer.scala 80:26]
  wire  _bundleIn_0_a_ready_T = ~stalls_0; // @[FIFOFixer.scala 88:50]
  wire  bundleIn_0_a_ready = auto_out_a_ready & ~stalls_0; // @[FIFOFixer.scala 88:33]
  wire  _a_first_T = bundleIn_0_a_ready & auto_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  _d_first_T = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 52:35]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_first = ~d_first_counter; // @[Edges.scala 230:25]
  wire  d_first = d_first_first & auto_out_d_bits_opcode != 3'h6; // @[FIFOFixer.scala 67:42]
  wire  _GEN_322 = a_first & _a_first_T ? 9'h0 == auto_in_a_bits_source | flight_0 : flight_0; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_323 = a_first & _a_first_T ? 9'h1 == auto_in_a_bits_source | flight_1 : flight_1; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_324 = a_first & _a_first_T ? 9'h2 == auto_in_a_bits_source | flight_2 : flight_2; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_325 = a_first & _a_first_T ? 9'h3 == auto_in_a_bits_source | flight_3 : flight_3; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_326 = a_first & _a_first_T ? 9'h4 == auto_in_a_bits_source | flight_4 : flight_4; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_327 = a_first & _a_first_T ? 9'h5 == auto_in_a_bits_source | flight_5 : flight_5; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_328 = a_first & _a_first_T ? 9'h6 == auto_in_a_bits_source | flight_6 : flight_6; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_329 = a_first & _a_first_T ? 9'h7 == auto_in_a_bits_source | flight_7 : flight_7; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_330 = a_first & _a_first_T ? 9'h8 == auto_in_a_bits_source | flight_8 : flight_8; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_331 = a_first & _a_first_T ? 9'h9 == auto_in_a_bits_source | flight_9 : flight_9; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_332 = a_first & _a_first_T ? 9'ha == auto_in_a_bits_source | flight_10 : flight_10; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_333 = a_first & _a_first_T ? 9'hb == auto_in_a_bits_source | flight_11 : flight_11; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_334 = a_first & _a_first_T ? 9'hc == auto_in_a_bits_source | flight_12 : flight_12; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_335 = a_first & _a_first_T ? 9'hd == auto_in_a_bits_source | flight_13 : flight_13; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_336 = a_first & _a_first_T ? 9'he == auto_in_a_bits_source | flight_14 : flight_14; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_337 = a_first & _a_first_T ? 9'hf == auto_in_a_bits_source | flight_15 : flight_15; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_338 = a_first & _a_first_T ? 9'h10 == auto_in_a_bits_source | flight_16 : flight_16; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_339 = a_first & _a_first_T ? 9'h11 == auto_in_a_bits_source | flight_17 : flight_17; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_340 = a_first & _a_first_T ? 9'h12 == auto_in_a_bits_source | flight_18 : flight_18; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_341 = a_first & _a_first_T ? 9'h13 == auto_in_a_bits_source | flight_19 : flight_19; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_342 = a_first & _a_first_T ? 9'h14 == auto_in_a_bits_source | flight_20 : flight_20; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_343 = a_first & _a_first_T ? 9'h15 == auto_in_a_bits_source | flight_21 : flight_21; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_344 = a_first & _a_first_T ? 9'h16 == auto_in_a_bits_source | flight_22 : flight_22; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_345 = a_first & _a_first_T ? 9'h17 == auto_in_a_bits_source | flight_23 : flight_23; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_346 = a_first & _a_first_T ? 9'h18 == auto_in_a_bits_source | flight_24 : flight_24; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_347 = a_first & _a_first_T ? 9'h19 == auto_in_a_bits_source | flight_25 : flight_25; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_348 = a_first & _a_first_T ? 9'h1a == auto_in_a_bits_source | flight_26 : flight_26; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_349 = a_first & _a_first_T ? 9'h1b == auto_in_a_bits_source | flight_27 : flight_27; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_350 = a_first & _a_first_T ? 9'h1c == auto_in_a_bits_source | flight_28 : flight_28; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_351 = a_first & _a_first_T ? 9'h1d == auto_in_a_bits_source | flight_29 : flight_29; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_352 = a_first & _a_first_T ? 9'h1e == auto_in_a_bits_source | flight_30 : flight_30; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_353 = a_first & _a_first_T ? 9'h1f == auto_in_a_bits_source | flight_31 : flight_31; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_354 = a_first & _a_first_T ? 9'h20 == auto_in_a_bits_source | flight_32 : flight_32; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_355 = a_first & _a_first_T ? 9'h21 == auto_in_a_bits_source | flight_33 : flight_33; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_356 = a_first & _a_first_T ? 9'h22 == auto_in_a_bits_source | flight_34 : flight_34; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_357 = a_first & _a_first_T ? 9'h23 == auto_in_a_bits_source | flight_35 : flight_35; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_358 = a_first & _a_first_T ? 9'h24 == auto_in_a_bits_source | flight_36 : flight_36; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_359 = a_first & _a_first_T ? 9'h25 == auto_in_a_bits_source | flight_37 : flight_37; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_360 = a_first & _a_first_T ? 9'h26 == auto_in_a_bits_source | flight_38 : flight_38; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_361 = a_first & _a_first_T ? 9'h27 == auto_in_a_bits_source | flight_39 : flight_39; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_362 = a_first & _a_first_T ? 9'h28 == auto_in_a_bits_source | flight_40 : flight_40; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_363 = a_first & _a_first_T ? 9'h29 == auto_in_a_bits_source | flight_41 : flight_41; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_364 = a_first & _a_first_T ? 9'h2a == auto_in_a_bits_source | flight_42 : flight_42; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_365 = a_first & _a_first_T ? 9'h2b == auto_in_a_bits_source | flight_43 : flight_43; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_366 = a_first & _a_first_T ? 9'h2c == auto_in_a_bits_source | flight_44 : flight_44; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_367 = a_first & _a_first_T ? 9'h2d == auto_in_a_bits_source | flight_45 : flight_45; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_368 = a_first & _a_first_T ? 9'h2e == auto_in_a_bits_source | flight_46 : flight_46; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_369 = a_first & _a_first_T ? 9'h2f == auto_in_a_bits_source | flight_47 : flight_47; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_370 = a_first & _a_first_T ? 9'h30 == auto_in_a_bits_source | flight_48 : flight_48; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_371 = a_first & _a_first_T ? 9'h31 == auto_in_a_bits_source | flight_49 : flight_49; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_372 = a_first & _a_first_T ? 9'h32 == auto_in_a_bits_source | flight_50 : flight_50; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_373 = a_first & _a_first_T ? 9'h33 == auto_in_a_bits_source | flight_51 : flight_51; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_374 = a_first & _a_first_T ? 9'h34 == auto_in_a_bits_source | flight_52 : flight_52; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_375 = a_first & _a_first_T ? 9'h35 == auto_in_a_bits_source | flight_53 : flight_53; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_376 = a_first & _a_first_T ? 9'h36 == auto_in_a_bits_source | flight_54 : flight_54; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_377 = a_first & _a_first_T ? 9'h37 == auto_in_a_bits_source | flight_55 : flight_55; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_378 = a_first & _a_first_T ? 9'h38 == auto_in_a_bits_source | flight_56 : flight_56; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_379 = a_first & _a_first_T ? 9'h39 == auto_in_a_bits_source | flight_57 : flight_57; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_380 = a_first & _a_first_T ? 9'h3a == auto_in_a_bits_source | flight_58 : flight_58; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_381 = a_first & _a_first_T ? 9'h3b == auto_in_a_bits_source | flight_59 : flight_59; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_382 = a_first & _a_first_T ? 9'h3c == auto_in_a_bits_source | flight_60 : flight_60; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_383 = a_first & _a_first_T ? 9'h3d == auto_in_a_bits_source | flight_61 : flight_61; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_384 = a_first & _a_first_T ? 9'h3e == auto_in_a_bits_source | flight_62 : flight_62; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_385 = a_first & _a_first_T ? 9'h3f == auto_in_a_bits_source | flight_63 : flight_63; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_386 = a_first & _a_first_T ? 9'h40 == auto_in_a_bits_source | flight_64 : flight_64; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_387 = a_first & _a_first_T ? 9'h41 == auto_in_a_bits_source | flight_65 : flight_65; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_388 = a_first & _a_first_T ? 9'h42 == auto_in_a_bits_source | flight_66 : flight_66; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_389 = a_first & _a_first_T ? 9'h43 == auto_in_a_bits_source | flight_67 : flight_67; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_390 = a_first & _a_first_T ? 9'h44 == auto_in_a_bits_source | flight_68 : flight_68; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_391 = a_first & _a_first_T ? 9'h45 == auto_in_a_bits_source | flight_69 : flight_69; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_392 = a_first & _a_first_T ? 9'h46 == auto_in_a_bits_source | flight_70 : flight_70; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_393 = a_first & _a_first_T ? 9'h47 == auto_in_a_bits_source | flight_71 : flight_71; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_394 = a_first & _a_first_T ? 9'h48 == auto_in_a_bits_source | flight_72 : flight_72; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_395 = a_first & _a_first_T ? 9'h49 == auto_in_a_bits_source | flight_73 : flight_73; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_396 = a_first & _a_first_T ? 9'h4a == auto_in_a_bits_source | flight_74 : flight_74; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_397 = a_first & _a_first_T ? 9'h4b == auto_in_a_bits_source | flight_75 : flight_75; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_398 = a_first & _a_first_T ? 9'h4c == auto_in_a_bits_source | flight_76 : flight_76; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_399 = a_first & _a_first_T ? 9'h4d == auto_in_a_bits_source | flight_77 : flight_77; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_400 = a_first & _a_first_T ? 9'h4e == auto_in_a_bits_source | flight_78 : flight_78; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_401 = a_first & _a_first_T ? 9'h4f == auto_in_a_bits_source | flight_79 : flight_79; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_402 = a_first & _a_first_T ? 9'h50 == auto_in_a_bits_source | flight_80 : flight_80; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_403 = a_first & _a_first_T ? 9'h51 == auto_in_a_bits_source | flight_81 : flight_81; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_404 = a_first & _a_first_T ? 9'h52 == auto_in_a_bits_source | flight_82 : flight_82; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_405 = a_first & _a_first_T ? 9'h53 == auto_in_a_bits_source | flight_83 : flight_83; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_406 = a_first & _a_first_T ? 9'h54 == auto_in_a_bits_source | flight_84 : flight_84; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_407 = a_first & _a_first_T ? 9'h55 == auto_in_a_bits_source | flight_85 : flight_85; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_408 = a_first & _a_first_T ? 9'h56 == auto_in_a_bits_source | flight_86 : flight_86; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_409 = a_first & _a_first_T ? 9'h57 == auto_in_a_bits_source | flight_87 : flight_87; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_410 = a_first & _a_first_T ? 9'h58 == auto_in_a_bits_source | flight_88 : flight_88; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_411 = a_first & _a_first_T ? 9'h59 == auto_in_a_bits_source | flight_89 : flight_89; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_412 = a_first & _a_first_T ? 9'h5a == auto_in_a_bits_source | flight_90 : flight_90; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_413 = a_first & _a_first_T ? 9'h5b == auto_in_a_bits_source | flight_91 : flight_91; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_414 = a_first & _a_first_T ? 9'h5c == auto_in_a_bits_source | flight_92 : flight_92; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_415 = a_first & _a_first_T ? 9'h5d == auto_in_a_bits_source | flight_93 : flight_93; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_416 = a_first & _a_first_T ? 9'h5e == auto_in_a_bits_source | flight_94 : flight_94; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_417 = a_first & _a_first_T ? 9'h5f == auto_in_a_bits_source | flight_95 : flight_95; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_418 = a_first & _a_first_T ? 9'h60 == auto_in_a_bits_source | flight_96 : flight_96; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_419 = a_first & _a_first_T ? 9'h61 == auto_in_a_bits_source | flight_97 : flight_97; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_420 = a_first & _a_first_T ? 9'h62 == auto_in_a_bits_source | flight_98 : flight_98; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_421 = a_first & _a_first_T ? 9'h63 == auto_in_a_bits_source | flight_99 : flight_99; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_422 = a_first & _a_first_T ? 9'h64 == auto_in_a_bits_source | flight_100 : flight_100; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_423 = a_first & _a_first_T ? 9'h65 == auto_in_a_bits_source | flight_101 : flight_101; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_424 = a_first & _a_first_T ? 9'h66 == auto_in_a_bits_source | flight_102 : flight_102; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_425 = a_first & _a_first_T ? 9'h67 == auto_in_a_bits_source | flight_103 : flight_103; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_426 = a_first & _a_first_T ? 9'h68 == auto_in_a_bits_source | flight_104 : flight_104; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_427 = a_first & _a_first_T ? 9'h69 == auto_in_a_bits_source | flight_105 : flight_105; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_428 = a_first & _a_first_T ? 9'h6a == auto_in_a_bits_source | flight_106 : flight_106; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_429 = a_first & _a_first_T ? 9'h6b == auto_in_a_bits_source | flight_107 : flight_107; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_430 = a_first & _a_first_T ? 9'h6c == auto_in_a_bits_source | flight_108 : flight_108; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_431 = a_first & _a_first_T ? 9'h6d == auto_in_a_bits_source | flight_109 : flight_109; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_432 = a_first & _a_first_T ? 9'h6e == auto_in_a_bits_source | flight_110 : flight_110; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_433 = a_first & _a_first_T ? 9'h6f == auto_in_a_bits_source | flight_111 : flight_111; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_434 = a_first & _a_first_T ? 9'h70 == auto_in_a_bits_source | flight_112 : flight_112; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_435 = a_first & _a_first_T ? 9'h71 == auto_in_a_bits_source | flight_113 : flight_113; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_436 = a_first & _a_first_T ? 9'h72 == auto_in_a_bits_source | flight_114 : flight_114; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_437 = a_first & _a_first_T ? 9'h73 == auto_in_a_bits_source | flight_115 : flight_115; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_438 = a_first & _a_first_T ? 9'h74 == auto_in_a_bits_source | flight_116 : flight_116; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_439 = a_first & _a_first_T ? 9'h75 == auto_in_a_bits_source | flight_117 : flight_117; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_440 = a_first & _a_first_T ? 9'h76 == auto_in_a_bits_source | flight_118 : flight_118; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_441 = a_first & _a_first_T ? 9'h77 == auto_in_a_bits_source | flight_119 : flight_119; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_442 = a_first & _a_first_T ? 9'h78 == auto_in_a_bits_source | flight_120 : flight_120; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_443 = a_first & _a_first_T ? 9'h79 == auto_in_a_bits_source | flight_121 : flight_121; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_444 = a_first & _a_first_T ? 9'h7a == auto_in_a_bits_source | flight_122 : flight_122; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_445 = a_first & _a_first_T ? 9'h7b == auto_in_a_bits_source | flight_123 : flight_123; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_446 = a_first & _a_first_T ? 9'h7c == auto_in_a_bits_source | flight_124 : flight_124; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_447 = a_first & _a_first_T ? 9'h7d == auto_in_a_bits_source | flight_125 : flight_125; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_448 = a_first & _a_first_T ? 9'h7e == auto_in_a_bits_source | flight_126 : flight_126; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_449 = a_first & _a_first_T ? 9'h7f == auto_in_a_bits_source | flight_127 : flight_127; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_450 = a_first & _a_first_T ? 9'h80 == auto_in_a_bits_source | flight_128 : flight_128; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_451 = a_first & _a_first_T ? 9'h81 == auto_in_a_bits_source | flight_129 : flight_129; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_452 = a_first & _a_first_T ? 9'h82 == auto_in_a_bits_source | flight_130 : flight_130; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_453 = a_first & _a_first_T ? 9'h83 == auto_in_a_bits_source | flight_131 : flight_131; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_454 = a_first & _a_first_T ? 9'h84 == auto_in_a_bits_source | flight_132 : flight_132; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_455 = a_first & _a_first_T ? 9'h85 == auto_in_a_bits_source | flight_133 : flight_133; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_456 = a_first & _a_first_T ? 9'h86 == auto_in_a_bits_source | flight_134 : flight_134; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_457 = a_first & _a_first_T ? 9'h87 == auto_in_a_bits_source | flight_135 : flight_135; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_458 = a_first & _a_first_T ? 9'h88 == auto_in_a_bits_source | flight_136 : flight_136; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_459 = a_first & _a_first_T ? 9'h89 == auto_in_a_bits_source | flight_137 : flight_137; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_460 = a_first & _a_first_T ? 9'h8a == auto_in_a_bits_source | flight_138 : flight_138; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_461 = a_first & _a_first_T ? 9'h8b == auto_in_a_bits_source | flight_139 : flight_139; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_462 = a_first & _a_first_T ? 9'h8c == auto_in_a_bits_source | flight_140 : flight_140; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_463 = a_first & _a_first_T ? 9'h8d == auto_in_a_bits_source | flight_141 : flight_141; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_464 = a_first & _a_first_T ? 9'h8e == auto_in_a_bits_source | flight_142 : flight_142; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_465 = a_first & _a_first_T ? 9'h8f == auto_in_a_bits_source | flight_143 : flight_143; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_466 = a_first & _a_first_T ? 9'h90 == auto_in_a_bits_source | flight_144 : flight_144; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_467 = a_first & _a_first_T ? 9'h91 == auto_in_a_bits_source | flight_145 : flight_145; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_468 = a_first & _a_first_T ? 9'h92 == auto_in_a_bits_source | flight_146 : flight_146; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_469 = a_first & _a_first_T ? 9'h93 == auto_in_a_bits_source | flight_147 : flight_147; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_470 = a_first & _a_first_T ? 9'h94 == auto_in_a_bits_source | flight_148 : flight_148; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_471 = a_first & _a_first_T ? 9'h95 == auto_in_a_bits_source | flight_149 : flight_149; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_472 = a_first & _a_first_T ? 9'h96 == auto_in_a_bits_source | flight_150 : flight_150; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_473 = a_first & _a_first_T ? 9'h97 == auto_in_a_bits_source | flight_151 : flight_151; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_474 = a_first & _a_first_T ? 9'h98 == auto_in_a_bits_source | flight_152 : flight_152; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_475 = a_first & _a_first_T ? 9'h99 == auto_in_a_bits_source | flight_153 : flight_153; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_476 = a_first & _a_first_T ? 9'h9a == auto_in_a_bits_source | flight_154 : flight_154; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_477 = a_first & _a_first_T ? 9'h9b == auto_in_a_bits_source | flight_155 : flight_155; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_478 = a_first & _a_first_T ? 9'h9c == auto_in_a_bits_source | flight_156 : flight_156; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_479 = a_first & _a_first_T ? 9'h9d == auto_in_a_bits_source | flight_157 : flight_157; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_480 = a_first & _a_first_T ? 9'h9e == auto_in_a_bits_source | flight_158 : flight_158; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_481 = a_first & _a_first_T ? 9'h9f == auto_in_a_bits_source | flight_159 : flight_159; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_482 = a_first & _a_first_T ? 9'ha0 == auto_in_a_bits_source | flight_160 : flight_160; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_483 = a_first & _a_first_T ? 9'ha1 == auto_in_a_bits_source | flight_161 : flight_161; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_484 = a_first & _a_first_T ? 9'ha2 == auto_in_a_bits_source | flight_162 : flight_162; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_485 = a_first & _a_first_T ? 9'ha3 == auto_in_a_bits_source | flight_163 : flight_163; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_486 = a_first & _a_first_T ? 9'ha4 == auto_in_a_bits_source | flight_164 : flight_164; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_487 = a_first & _a_first_T ? 9'ha5 == auto_in_a_bits_source | flight_165 : flight_165; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_488 = a_first & _a_first_T ? 9'ha6 == auto_in_a_bits_source | flight_166 : flight_166; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_489 = a_first & _a_first_T ? 9'ha7 == auto_in_a_bits_source | flight_167 : flight_167; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_490 = a_first & _a_first_T ? 9'ha8 == auto_in_a_bits_source | flight_168 : flight_168; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_491 = a_first & _a_first_T ? 9'ha9 == auto_in_a_bits_source | flight_169 : flight_169; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_492 = a_first & _a_first_T ? 9'haa == auto_in_a_bits_source | flight_170 : flight_170; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_493 = a_first & _a_first_T ? 9'hab == auto_in_a_bits_source | flight_171 : flight_171; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_494 = a_first & _a_first_T ? 9'hac == auto_in_a_bits_source | flight_172 : flight_172; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_495 = a_first & _a_first_T ? 9'had == auto_in_a_bits_source | flight_173 : flight_173; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_496 = a_first & _a_first_T ? 9'hae == auto_in_a_bits_source | flight_174 : flight_174; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_497 = a_first & _a_first_T ? 9'haf == auto_in_a_bits_source | flight_175 : flight_175; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_498 = a_first & _a_first_T ? 9'hb0 == auto_in_a_bits_source | flight_176 : flight_176; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_499 = a_first & _a_first_T ? 9'hb1 == auto_in_a_bits_source | flight_177 : flight_177; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_500 = a_first & _a_first_T ? 9'hb2 == auto_in_a_bits_source | flight_178 : flight_178; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_501 = a_first & _a_first_T ? 9'hb3 == auto_in_a_bits_source | flight_179 : flight_179; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_502 = a_first & _a_first_T ? 9'hb4 == auto_in_a_bits_source | flight_180 : flight_180; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_503 = a_first & _a_first_T ? 9'hb5 == auto_in_a_bits_source | flight_181 : flight_181; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_504 = a_first & _a_first_T ? 9'hb6 == auto_in_a_bits_source | flight_182 : flight_182; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_505 = a_first & _a_first_T ? 9'hb7 == auto_in_a_bits_source | flight_183 : flight_183; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_506 = a_first & _a_first_T ? 9'hb8 == auto_in_a_bits_source | flight_184 : flight_184; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_507 = a_first & _a_first_T ? 9'hb9 == auto_in_a_bits_source | flight_185 : flight_185; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_508 = a_first & _a_first_T ? 9'hba == auto_in_a_bits_source | flight_186 : flight_186; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_509 = a_first & _a_first_T ? 9'hbb == auto_in_a_bits_source | flight_187 : flight_187; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_510 = a_first & _a_first_T ? 9'hbc == auto_in_a_bits_source | flight_188 : flight_188; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_511 = a_first & _a_first_T ? 9'hbd == auto_in_a_bits_source | flight_189 : flight_189; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_512 = a_first & _a_first_T ? 9'hbe == auto_in_a_bits_source | flight_190 : flight_190; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_513 = a_first & _a_first_T ? 9'hbf == auto_in_a_bits_source | flight_191 : flight_191; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_514 = a_first & _a_first_T ? 9'hc0 == auto_in_a_bits_source | flight_192 : flight_192; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_515 = a_first & _a_first_T ? 9'hc1 == auto_in_a_bits_source | flight_193 : flight_193; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_516 = a_first & _a_first_T ? 9'hc2 == auto_in_a_bits_source | flight_194 : flight_194; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_517 = a_first & _a_first_T ? 9'hc3 == auto_in_a_bits_source | flight_195 : flight_195; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_518 = a_first & _a_first_T ? 9'hc4 == auto_in_a_bits_source | flight_196 : flight_196; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_519 = a_first & _a_first_T ? 9'hc5 == auto_in_a_bits_source | flight_197 : flight_197; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_520 = a_first & _a_first_T ? 9'hc6 == auto_in_a_bits_source | flight_198 : flight_198; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_521 = a_first & _a_first_T ? 9'hc7 == auto_in_a_bits_source | flight_199 : flight_199; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_522 = a_first & _a_first_T ? 9'hc8 == auto_in_a_bits_source | flight_200 : flight_200; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_523 = a_first & _a_first_T ? 9'hc9 == auto_in_a_bits_source | flight_201 : flight_201; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_524 = a_first & _a_first_T ? 9'hca == auto_in_a_bits_source | flight_202 : flight_202; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_525 = a_first & _a_first_T ? 9'hcb == auto_in_a_bits_source | flight_203 : flight_203; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_526 = a_first & _a_first_T ? 9'hcc == auto_in_a_bits_source | flight_204 : flight_204; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_527 = a_first & _a_first_T ? 9'hcd == auto_in_a_bits_source | flight_205 : flight_205; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_528 = a_first & _a_first_T ? 9'hce == auto_in_a_bits_source | flight_206 : flight_206; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_529 = a_first & _a_first_T ? 9'hcf == auto_in_a_bits_source | flight_207 : flight_207; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_530 = a_first & _a_first_T ? 9'hd0 == auto_in_a_bits_source | flight_208 : flight_208; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_531 = a_first & _a_first_T ? 9'hd1 == auto_in_a_bits_source | flight_209 : flight_209; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_532 = a_first & _a_first_T ? 9'hd2 == auto_in_a_bits_source | flight_210 : flight_210; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_533 = a_first & _a_first_T ? 9'hd3 == auto_in_a_bits_source | flight_211 : flight_211; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_534 = a_first & _a_first_T ? 9'hd4 == auto_in_a_bits_source | flight_212 : flight_212; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_535 = a_first & _a_first_T ? 9'hd5 == auto_in_a_bits_source | flight_213 : flight_213; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_536 = a_first & _a_first_T ? 9'hd6 == auto_in_a_bits_source | flight_214 : flight_214; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_537 = a_first & _a_first_T ? 9'hd7 == auto_in_a_bits_source | flight_215 : flight_215; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_538 = a_first & _a_first_T ? 9'hd8 == auto_in_a_bits_source | flight_216 : flight_216; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_539 = a_first & _a_first_T ? 9'hd9 == auto_in_a_bits_source | flight_217 : flight_217; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_540 = a_first & _a_first_T ? 9'hda == auto_in_a_bits_source | flight_218 : flight_218; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_541 = a_first & _a_first_T ? 9'hdb == auto_in_a_bits_source | flight_219 : flight_219; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_542 = a_first & _a_first_T ? 9'hdc == auto_in_a_bits_source | flight_220 : flight_220; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_543 = a_first & _a_first_T ? 9'hdd == auto_in_a_bits_source | flight_221 : flight_221; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_544 = a_first & _a_first_T ? 9'hde == auto_in_a_bits_source | flight_222 : flight_222; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_545 = a_first & _a_first_T ? 9'hdf == auto_in_a_bits_source | flight_223 : flight_223; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_546 = a_first & _a_first_T ? 9'he0 == auto_in_a_bits_source | flight_224 : flight_224; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_547 = a_first & _a_first_T ? 9'he1 == auto_in_a_bits_source | flight_225 : flight_225; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_548 = a_first & _a_first_T ? 9'he2 == auto_in_a_bits_source | flight_226 : flight_226; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_549 = a_first & _a_first_T ? 9'he3 == auto_in_a_bits_source | flight_227 : flight_227; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_550 = a_first & _a_first_T ? 9'he4 == auto_in_a_bits_source | flight_228 : flight_228; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_551 = a_first & _a_first_T ? 9'he5 == auto_in_a_bits_source | flight_229 : flight_229; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_552 = a_first & _a_first_T ? 9'he6 == auto_in_a_bits_source | flight_230 : flight_230; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_553 = a_first & _a_first_T ? 9'he7 == auto_in_a_bits_source | flight_231 : flight_231; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_554 = a_first & _a_first_T ? 9'he8 == auto_in_a_bits_source | flight_232 : flight_232; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_555 = a_first & _a_first_T ? 9'he9 == auto_in_a_bits_source | flight_233 : flight_233; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_556 = a_first & _a_first_T ? 9'hea == auto_in_a_bits_source | flight_234 : flight_234; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_557 = a_first & _a_first_T ? 9'heb == auto_in_a_bits_source | flight_235 : flight_235; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_558 = a_first & _a_first_T ? 9'hec == auto_in_a_bits_source | flight_236 : flight_236; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_559 = a_first & _a_first_T ? 9'hed == auto_in_a_bits_source | flight_237 : flight_237; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_560 = a_first & _a_first_T ? 9'hee == auto_in_a_bits_source | flight_238 : flight_238; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_561 = a_first & _a_first_T ? 9'hef == auto_in_a_bits_source | flight_239 : flight_239; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_562 = a_first & _a_first_T ? 9'hf0 == auto_in_a_bits_source | flight_240 : flight_240; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_563 = a_first & _a_first_T ? 9'hf1 == auto_in_a_bits_source | flight_241 : flight_241; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_564 = a_first & _a_first_T ? 9'hf2 == auto_in_a_bits_source | flight_242 : flight_242; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_565 = a_first & _a_first_T ? 9'hf3 == auto_in_a_bits_source | flight_243 : flight_243; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_566 = a_first & _a_first_T ? 9'hf4 == auto_in_a_bits_source | flight_244 : flight_244; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_567 = a_first & _a_first_T ? 9'hf5 == auto_in_a_bits_source | flight_245 : flight_245; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_568 = a_first & _a_first_T ? 9'hf6 == auto_in_a_bits_source | flight_246 : flight_246; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_569 = a_first & _a_first_T ? 9'hf7 == auto_in_a_bits_source | flight_247 : flight_247; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_570 = a_first & _a_first_T ? 9'hf8 == auto_in_a_bits_source | flight_248 : flight_248; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_571 = a_first & _a_first_T ? 9'hf9 == auto_in_a_bits_source | flight_249 : flight_249; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_572 = a_first & _a_first_T ? 9'hfa == auto_in_a_bits_source | flight_250 : flight_250; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_573 = a_first & _a_first_T ? 9'hfb == auto_in_a_bits_source | flight_251 : flight_251; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_574 = a_first & _a_first_T ? 9'hfc == auto_in_a_bits_source | flight_252 : flight_252; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_575 = a_first & _a_first_T ? 9'hfd == auto_in_a_bits_source | flight_253 : flight_253; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_576 = a_first & _a_first_T ? 9'hfe == auto_in_a_bits_source | flight_254 : flight_254; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_577 = a_first & _a_first_T ? 9'hff == auto_in_a_bits_source | flight_255 : flight_255; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_578 = a_first & _a_first_T ? 9'h100 == auto_in_a_bits_source | flight_256 : flight_256; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_579 = a_first & _a_first_T ? 9'h101 == auto_in_a_bits_source | flight_257 : flight_257; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_580 = a_first & _a_first_T ? 9'h102 == auto_in_a_bits_source | flight_258 : flight_258; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_581 = a_first & _a_first_T ? 9'h103 == auto_in_a_bits_source | flight_259 : flight_259; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_582 = a_first & _a_first_T ? 9'h104 == auto_in_a_bits_source | flight_260 : flight_260; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_583 = a_first & _a_first_T ? 9'h105 == auto_in_a_bits_source | flight_261 : flight_261; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_584 = a_first & _a_first_T ? 9'h106 == auto_in_a_bits_source | flight_262 : flight_262; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_585 = a_first & _a_first_T ? 9'h107 == auto_in_a_bits_source | flight_263 : flight_263; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_586 = a_first & _a_first_T ? 9'h108 == auto_in_a_bits_source | flight_264 : flight_264; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_587 = a_first & _a_first_T ? 9'h109 == auto_in_a_bits_source | flight_265 : flight_265; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_588 = a_first & _a_first_T ? 9'h10a == auto_in_a_bits_source | flight_266 : flight_266; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_589 = a_first & _a_first_T ? 9'h10b == auto_in_a_bits_source | flight_267 : flight_267; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_590 = a_first & _a_first_T ? 9'h10c == auto_in_a_bits_source | flight_268 : flight_268; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_591 = a_first & _a_first_T ? 9'h10d == auto_in_a_bits_source | flight_269 : flight_269; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_592 = a_first & _a_first_T ? 9'h10e == auto_in_a_bits_source | flight_270 : flight_270; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_593 = a_first & _a_first_T ? 9'h10f == auto_in_a_bits_source | flight_271 : flight_271; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_594 = a_first & _a_first_T ? 9'h110 == auto_in_a_bits_source | flight_272 : flight_272; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_595 = a_first & _a_first_T ? 9'h111 == auto_in_a_bits_source | flight_273 : flight_273; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_596 = a_first & _a_first_T ? 9'h112 == auto_in_a_bits_source | flight_274 : flight_274; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_597 = a_first & _a_first_T ? 9'h113 == auto_in_a_bits_source | flight_275 : flight_275; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_598 = a_first & _a_first_T ? 9'h114 == auto_in_a_bits_source | flight_276 : flight_276; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_599 = a_first & _a_first_T ? 9'h115 == auto_in_a_bits_source | flight_277 : flight_277; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_600 = a_first & _a_first_T ? 9'h116 == auto_in_a_bits_source | flight_278 : flight_278; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_601 = a_first & _a_first_T ? 9'h117 == auto_in_a_bits_source | flight_279 : flight_279; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_602 = a_first & _a_first_T ? 9'h118 == auto_in_a_bits_source | flight_280 : flight_280; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_603 = a_first & _a_first_T ? 9'h119 == auto_in_a_bits_source | flight_281 : flight_281; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_604 = a_first & _a_first_T ? 9'h11a == auto_in_a_bits_source | flight_282 : flight_282; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_605 = a_first & _a_first_T ? 9'h11b == auto_in_a_bits_source | flight_283 : flight_283; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_606 = a_first & _a_first_T ? 9'h11c == auto_in_a_bits_source | flight_284 : flight_284; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_607 = a_first & _a_first_T ? 9'h11d == auto_in_a_bits_source | flight_285 : flight_285; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_608 = a_first & _a_first_T ? 9'h11e == auto_in_a_bits_source | flight_286 : flight_286; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_609 = a_first & _a_first_T ? 9'h11f == auto_in_a_bits_source | flight_287 : flight_287; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_610 = a_first & _a_first_T ? 9'h120 == auto_in_a_bits_source | flight_288 : flight_288; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_611 = a_first & _a_first_T ? 9'h121 == auto_in_a_bits_source | flight_289 : flight_289; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_612 = a_first & _a_first_T ? 9'h122 == auto_in_a_bits_source | flight_290 : flight_290; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_613 = a_first & _a_first_T ? 9'h123 == auto_in_a_bits_source | flight_291 : flight_291; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_614 = a_first & _a_first_T ? 9'h124 == auto_in_a_bits_source | flight_292 : flight_292; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_615 = a_first & _a_first_T ? 9'h125 == auto_in_a_bits_source | flight_293 : flight_293; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_616 = a_first & _a_first_T ? 9'h126 == auto_in_a_bits_source | flight_294 : flight_294; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_617 = a_first & _a_first_T ? 9'h127 == auto_in_a_bits_source | flight_295 : flight_295; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_618 = a_first & _a_first_T ? 9'h128 == auto_in_a_bits_source | flight_296 : flight_296; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_619 = a_first & _a_first_T ? 9'h129 == auto_in_a_bits_source | flight_297 : flight_297; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_620 = a_first & _a_first_T ? 9'h12a == auto_in_a_bits_source | flight_298 : flight_298; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_621 = a_first & _a_first_T ? 9'h12b == auto_in_a_bits_source | flight_299 : flight_299; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_622 = a_first & _a_first_T ? 9'h12c == auto_in_a_bits_source | flight_300 : flight_300; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_623 = a_first & _a_first_T ? 9'h12d == auto_in_a_bits_source | flight_301 : flight_301; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_624 = a_first & _a_first_T ? 9'h12e == auto_in_a_bits_source | flight_302 : flight_302; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_625 = a_first & _a_first_T ? 9'h12f == auto_in_a_bits_source | flight_303 : flight_303; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_626 = a_first & _a_first_T ? 9'h130 == auto_in_a_bits_source | flight_304 : flight_304; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_627 = a_first & _a_first_T ? 9'h131 == auto_in_a_bits_source | flight_305 : flight_305; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_628 = a_first & _a_first_T ? 9'h132 == auto_in_a_bits_source | flight_306 : flight_306; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_629 = a_first & _a_first_T ? 9'h133 == auto_in_a_bits_source | flight_307 : flight_307; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_630 = a_first & _a_first_T ? 9'h134 == auto_in_a_bits_source | flight_308 : flight_308; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_631 = a_first & _a_first_T ? 9'h135 == auto_in_a_bits_source | flight_309 : flight_309; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_632 = a_first & _a_first_T ? 9'h136 == auto_in_a_bits_source | flight_310 : flight_310; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_633 = a_first & _a_first_T ? 9'h137 == auto_in_a_bits_source | flight_311 : flight_311; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_634 = a_first & _a_first_T ? 9'h138 == auto_in_a_bits_source | flight_312 : flight_312; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_635 = a_first & _a_first_T ? 9'h139 == auto_in_a_bits_source | flight_313 : flight_313; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_636 = a_first & _a_first_T ? 9'h13a == auto_in_a_bits_source | flight_314 : flight_314; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_637 = a_first & _a_first_T ? 9'h13b == auto_in_a_bits_source | flight_315 : flight_315; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_638 = a_first & _a_first_T ? 9'h13c == auto_in_a_bits_source | flight_316 : flight_316; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_639 = a_first & _a_first_T ? 9'h13d == auto_in_a_bits_source | flight_317 : flight_317; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_640 = a_first & _a_first_T ? 9'h13e == auto_in_a_bits_source | flight_318 : flight_318; // @[FIFOFixer.scala 71:27 72:37]
  wire  _GEN_641 = a_first & _a_first_T ? 9'h13f == auto_in_a_bits_source | flight_319 : flight_319; // @[FIFOFixer.scala 71:27 72:37]
  TLMonitor_9 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready & ~stalls_0; // @[FIFOFixer.scala 88:33]
  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_out_a_valid = auto_in_a_valid & _bundleIn_0_a_ready_T; // @[FIFOFixer.scala 87:33]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = auto_out_a_ready & ~stalls_0; // @[FIFOFixer.scala 88:33]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= 1'h0;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_0 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_0 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_0 <= _GEN_322;
      end
    end else begin
      flight_0 <= _GEN_322;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_1 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_1 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_1 <= _GEN_323;
      end
    end else begin
      flight_1 <= _GEN_323;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_2 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_2 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_2 <= _GEN_324;
      end
    end else begin
      flight_2 <= _GEN_324;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_3 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_3 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_3 <= _GEN_325;
      end
    end else begin
      flight_3 <= _GEN_325;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_4 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_4 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_4 <= _GEN_326;
      end
    end else begin
      flight_4 <= _GEN_326;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_5 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_5 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_5 <= _GEN_327;
      end
    end else begin
      flight_5 <= _GEN_327;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_6 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_6 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_6 <= _GEN_328;
      end
    end else begin
      flight_6 <= _GEN_328;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_7 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_7 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_7 <= _GEN_329;
      end
    end else begin
      flight_7 <= _GEN_329;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_8 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_8 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_8 <= _GEN_330;
      end
    end else begin
      flight_8 <= _GEN_330;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_9 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_9 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_9 <= _GEN_331;
      end
    end else begin
      flight_9 <= _GEN_331;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_10 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_10 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_10 <= _GEN_332;
      end
    end else begin
      flight_10 <= _GEN_332;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_11 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_11 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_11 <= _GEN_333;
      end
    end else begin
      flight_11 <= _GEN_333;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_12 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_12 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_12 <= _GEN_334;
      end
    end else begin
      flight_12 <= _GEN_334;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_13 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_13 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_13 <= _GEN_335;
      end
    end else begin
      flight_13 <= _GEN_335;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_14 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_14 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_14 <= _GEN_336;
      end
    end else begin
      flight_14 <= _GEN_336;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_15 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_15 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_15 <= _GEN_337;
      end
    end else begin
      flight_15 <= _GEN_337;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_16 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_16 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_16 <= _GEN_338;
      end
    end else begin
      flight_16 <= _GEN_338;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_17 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_17 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_17 <= _GEN_339;
      end
    end else begin
      flight_17 <= _GEN_339;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_18 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_18 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_18 <= _GEN_340;
      end
    end else begin
      flight_18 <= _GEN_340;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_19 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_19 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_19 <= _GEN_341;
      end
    end else begin
      flight_19 <= _GEN_341;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_20 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h14 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_20 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_20 <= _GEN_342;
      end
    end else begin
      flight_20 <= _GEN_342;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_21 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h15 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_21 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_21 <= _GEN_343;
      end
    end else begin
      flight_21 <= _GEN_343;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_22 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h16 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_22 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_22 <= _GEN_344;
      end
    end else begin
      flight_22 <= _GEN_344;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_23 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h17 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_23 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_23 <= _GEN_345;
      end
    end else begin
      flight_23 <= _GEN_345;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_24 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h18 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_24 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_24 <= _GEN_346;
      end
    end else begin
      flight_24 <= _GEN_346;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_25 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h19 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_25 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_25 <= _GEN_347;
      end
    end else begin
      flight_25 <= _GEN_347;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_26 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_26 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_26 <= _GEN_348;
      end
    end else begin
      flight_26 <= _GEN_348;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_27 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_27 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_27 <= _GEN_349;
      end
    end else begin
      flight_27 <= _GEN_349;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_28 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_28 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_28 <= _GEN_350;
      end
    end else begin
      flight_28 <= _GEN_350;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_29 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_29 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_29 <= _GEN_351;
      end
    end else begin
      flight_29 <= _GEN_351;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_30 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_30 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_30 <= _GEN_352;
      end
    end else begin
      flight_30 <= _GEN_352;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_31 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h1f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_31 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_31 <= _GEN_353;
      end
    end else begin
      flight_31 <= _GEN_353;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_32 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h20 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_32 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_32 <= _GEN_354;
      end
    end else begin
      flight_32 <= _GEN_354;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_33 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h21 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_33 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_33 <= _GEN_355;
      end
    end else begin
      flight_33 <= _GEN_355;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_34 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h22 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_34 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_34 <= _GEN_356;
      end
    end else begin
      flight_34 <= _GEN_356;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_35 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h23 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_35 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_35 <= _GEN_357;
      end
    end else begin
      flight_35 <= _GEN_357;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_36 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h24 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_36 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_36 <= _GEN_358;
      end
    end else begin
      flight_36 <= _GEN_358;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_37 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h25 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_37 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_37 <= _GEN_359;
      end
    end else begin
      flight_37 <= _GEN_359;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_38 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h26 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_38 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_38 <= _GEN_360;
      end
    end else begin
      flight_38 <= _GEN_360;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_39 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h27 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_39 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_39 <= _GEN_361;
      end
    end else begin
      flight_39 <= _GEN_361;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_40 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h28 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_40 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_40 <= _GEN_362;
      end
    end else begin
      flight_40 <= _GEN_362;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_41 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h29 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_41 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_41 <= _GEN_363;
      end
    end else begin
      flight_41 <= _GEN_363;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_42 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_42 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_42 <= _GEN_364;
      end
    end else begin
      flight_42 <= _GEN_364;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_43 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_43 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_43 <= _GEN_365;
      end
    end else begin
      flight_43 <= _GEN_365;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_44 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_44 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_44 <= _GEN_366;
      end
    end else begin
      flight_44 <= _GEN_366;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_45 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_45 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_45 <= _GEN_367;
      end
    end else begin
      flight_45 <= _GEN_367;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_46 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_46 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_46 <= _GEN_368;
      end
    end else begin
      flight_46 <= _GEN_368;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_47 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h2f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_47 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_47 <= _GEN_369;
      end
    end else begin
      flight_47 <= _GEN_369;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_48 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h30 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_48 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_48 <= _GEN_370;
      end
    end else begin
      flight_48 <= _GEN_370;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_49 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h31 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_49 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_49 <= _GEN_371;
      end
    end else begin
      flight_49 <= _GEN_371;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_50 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h32 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_50 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_50 <= _GEN_372;
      end
    end else begin
      flight_50 <= _GEN_372;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_51 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h33 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_51 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_51 <= _GEN_373;
      end
    end else begin
      flight_51 <= _GEN_373;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_52 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h34 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_52 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_52 <= _GEN_374;
      end
    end else begin
      flight_52 <= _GEN_374;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_53 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h35 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_53 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_53 <= _GEN_375;
      end
    end else begin
      flight_53 <= _GEN_375;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_54 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h36 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_54 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_54 <= _GEN_376;
      end
    end else begin
      flight_54 <= _GEN_376;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_55 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h37 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_55 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_55 <= _GEN_377;
      end
    end else begin
      flight_55 <= _GEN_377;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_56 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h38 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_56 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_56 <= _GEN_378;
      end
    end else begin
      flight_56 <= _GEN_378;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_57 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h39 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_57 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_57 <= _GEN_379;
      end
    end else begin
      flight_57 <= _GEN_379;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_58 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_58 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_58 <= _GEN_380;
      end
    end else begin
      flight_58 <= _GEN_380;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_59 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_59 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_59 <= _GEN_381;
      end
    end else begin
      flight_59 <= _GEN_381;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_60 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_60 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_60 <= _GEN_382;
      end
    end else begin
      flight_60 <= _GEN_382;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_61 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_61 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_61 <= _GEN_383;
      end
    end else begin
      flight_61 <= _GEN_383;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_62 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_62 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_62 <= _GEN_384;
      end
    end else begin
      flight_62 <= _GEN_384;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_63 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h3f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_63 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_63 <= _GEN_385;
      end
    end else begin
      flight_63 <= _GEN_385;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_64 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h40 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_64 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_64 <= _GEN_386;
      end
    end else begin
      flight_64 <= _GEN_386;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_65 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h41 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_65 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_65 <= _GEN_387;
      end
    end else begin
      flight_65 <= _GEN_387;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_66 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h42 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_66 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_66 <= _GEN_388;
      end
    end else begin
      flight_66 <= _GEN_388;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_67 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h43 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_67 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_67 <= _GEN_389;
      end
    end else begin
      flight_67 <= _GEN_389;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_68 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h44 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_68 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_68 <= _GEN_390;
      end
    end else begin
      flight_68 <= _GEN_390;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_69 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h45 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_69 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_69 <= _GEN_391;
      end
    end else begin
      flight_69 <= _GEN_391;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_70 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h46 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_70 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_70 <= _GEN_392;
      end
    end else begin
      flight_70 <= _GEN_392;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_71 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h47 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_71 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_71 <= _GEN_393;
      end
    end else begin
      flight_71 <= _GEN_393;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_72 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h48 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_72 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_72 <= _GEN_394;
      end
    end else begin
      flight_72 <= _GEN_394;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_73 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h49 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_73 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_73 <= _GEN_395;
      end
    end else begin
      flight_73 <= _GEN_395;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_74 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_74 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_74 <= _GEN_396;
      end
    end else begin
      flight_74 <= _GEN_396;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_75 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_75 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_75 <= _GEN_397;
      end
    end else begin
      flight_75 <= _GEN_397;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_76 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_76 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_76 <= _GEN_398;
      end
    end else begin
      flight_76 <= _GEN_398;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_77 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_77 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_77 <= _GEN_399;
      end
    end else begin
      flight_77 <= _GEN_399;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_78 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_78 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_78 <= _GEN_400;
      end
    end else begin
      flight_78 <= _GEN_400;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_79 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h4f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_79 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_79 <= _GEN_401;
      end
    end else begin
      flight_79 <= _GEN_401;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_80 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h50 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_80 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_80 <= _GEN_402;
      end
    end else begin
      flight_80 <= _GEN_402;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_81 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h51 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_81 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_81 <= _GEN_403;
      end
    end else begin
      flight_81 <= _GEN_403;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_82 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h52 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_82 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_82 <= _GEN_404;
      end
    end else begin
      flight_82 <= _GEN_404;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_83 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h53 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_83 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_83 <= _GEN_405;
      end
    end else begin
      flight_83 <= _GEN_405;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_84 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h54 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_84 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_84 <= _GEN_406;
      end
    end else begin
      flight_84 <= _GEN_406;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_85 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h55 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_85 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_85 <= _GEN_407;
      end
    end else begin
      flight_85 <= _GEN_407;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_86 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h56 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_86 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_86 <= _GEN_408;
      end
    end else begin
      flight_86 <= _GEN_408;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_87 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h57 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_87 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_87 <= _GEN_409;
      end
    end else begin
      flight_87 <= _GEN_409;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_88 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h58 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_88 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_88 <= _GEN_410;
      end
    end else begin
      flight_88 <= _GEN_410;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_89 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h59 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_89 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_89 <= _GEN_411;
      end
    end else begin
      flight_89 <= _GEN_411;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_90 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_90 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_90 <= _GEN_412;
      end
    end else begin
      flight_90 <= _GEN_412;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_91 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_91 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_91 <= _GEN_413;
      end
    end else begin
      flight_91 <= _GEN_413;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_92 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_92 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_92 <= _GEN_414;
      end
    end else begin
      flight_92 <= _GEN_414;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_93 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_93 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_93 <= _GEN_415;
      end
    end else begin
      flight_93 <= _GEN_415;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_94 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_94 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_94 <= _GEN_416;
      end
    end else begin
      flight_94 <= _GEN_416;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_95 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h5f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_95 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_95 <= _GEN_417;
      end
    end else begin
      flight_95 <= _GEN_417;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_96 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h60 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_96 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_96 <= _GEN_418;
      end
    end else begin
      flight_96 <= _GEN_418;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_97 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h61 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_97 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_97 <= _GEN_419;
      end
    end else begin
      flight_97 <= _GEN_419;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_98 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h62 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_98 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_98 <= _GEN_420;
      end
    end else begin
      flight_98 <= _GEN_420;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_99 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h63 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_99 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_99 <= _GEN_421;
      end
    end else begin
      flight_99 <= _GEN_421;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_100 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h64 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_100 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_100 <= _GEN_422;
      end
    end else begin
      flight_100 <= _GEN_422;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_101 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h65 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_101 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_101 <= _GEN_423;
      end
    end else begin
      flight_101 <= _GEN_423;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_102 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h66 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_102 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_102 <= _GEN_424;
      end
    end else begin
      flight_102 <= _GEN_424;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_103 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h67 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_103 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_103 <= _GEN_425;
      end
    end else begin
      flight_103 <= _GEN_425;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_104 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h68 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_104 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_104 <= _GEN_426;
      end
    end else begin
      flight_104 <= _GEN_426;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_105 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h69 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_105 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_105 <= _GEN_427;
      end
    end else begin
      flight_105 <= _GEN_427;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_106 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_106 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_106 <= _GEN_428;
      end
    end else begin
      flight_106 <= _GEN_428;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_107 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_107 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_107 <= _GEN_429;
      end
    end else begin
      flight_107 <= _GEN_429;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_108 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_108 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_108 <= _GEN_430;
      end
    end else begin
      flight_108 <= _GEN_430;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_109 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_109 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_109 <= _GEN_431;
      end
    end else begin
      flight_109 <= _GEN_431;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_110 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_110 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_110 <= _GEN_432;
      end
    end else begin
      flight_110 <= _GEN_432;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_111 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h6f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_111 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_111 <= _GEN_433;
      end
    end else begin
      flight_111 <= _GEN_433;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_112 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h70 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_112 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_112 <= _GEN_434;
      end
    end else begin
      flight_112 <= _GEN_434;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_113 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h71 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_113 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_113 <= _GEN_435;
      end
    end else begin
      flight_113 <= _GEN_435;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_114 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h72 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_114 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_114 <= _GEN_436;
      end
    end else begin
      flight_114 <= _GEN_436;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_115 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h73 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_115 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_115 <= _GEN_437;
      end
    end else begin
      flight_115 <= _GEN_437;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_116 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h74 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_116 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_116 <= _GEN_438;
      end
    end else begin
      flight_116 <= _GEN_438;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_117 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h75 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_117 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_117 <= _GEN_439;
      end
    end else begin
      flight_117 <= _GEN_439;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_118 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h76 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_118 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_118 <= _GEN_440;
      end
    end else begin
      flight_118 <= _GEN_440;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_119 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h77 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_119 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_119 <= _GEN_441;
      end
    end else begin
      flight_119 <= _GEN_441;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_120 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h78 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_120 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_120 <= _GEN_442;
      end
    end else begin
      flight_120 <= _GEN_442;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_121 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h79 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_121 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_121 <= _GEN_443;
      end
    end else begin
      flight_121 <= _GEN_443;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_122 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_122 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_122 <= _GEN_444;
      end
    end else begin
      flight_122 <= _GEN_444;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_123 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_123 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_123 <= _GEN_445;
      end
    end else begin
      flight_123 <= _GEN_445;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_124 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_124 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_124 <= _GEN_446;
      end
    end else begin
      flight_124 <= _GEN_446;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_125 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_125 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_125 <= _GEN_447;
      end
    end else begin
      flight_125 <= _GEN_447;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_126 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_126 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_126 <= _GEN_448;
      end
    end else begin
      flight_126 <= _GEN_448;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_127 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h7f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_127 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_127 <= _GEN_449;
      end
    end else begin
      flight_127 <= _GEN_449;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_128 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h80 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_128 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_128 <= _GEN_450;
      end
    end else begin
      flight_128 <= _GEN_450;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_129 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h81 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_129 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_129 <= _GEN_451;
      end
    end else begin
      flight_129 <= _GEN_451;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_130 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h82 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_130 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_130 <= _GEN_452;
      end
    end else begin
      flight_130 <= _GEN_452;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_131 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h83 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_131 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_131 <= _GEN_453;
      end
    end else begin
      flight_131 <= _GEN_453;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_132 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h84 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_132 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_132 <= _GEN_454;
      end
    end else begin
      flight_132 <= _GEN_454;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_133 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h85 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_133 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_133 <= _GEN_455;
      end
    end else begin
      flight_133 <= _GEN_455;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_134 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h86 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_134 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_134 <= _GEN_456;
      end
    end else begin
      flight_134 <= _GEN_456;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_135 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h87 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_135 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_135 <= _GEN_457;
      end
    end else begin
      flight_135 <= _GEN_457;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_136 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h88 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_136 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_136 <= _GEN_458;
      end
    end else begin
      flight_136 <= _GEN_458;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_137 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h89 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_137 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_137 <= _GEN_459;
      end
    end else begin
      flight_137 <= _GEN_459;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_138 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_138 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_138 <= _GEN_460;
      end
    end else begin
      flight_138 <= _GEN_460;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_139 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_139 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_139 <= _GEN_461;
      end
    end else begin
      flight_139 <= _GEN_461;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_140 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_140 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_140 <= _GEN_462;
      end
    end else begin
      flight_140 <= _GEN_462;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_141 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_141 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_141 <= _GEN_463;
      end
    end else begin
      flight_141 <= _GEN_463;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_142 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_142 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_142 <= _GEN_464;
      end
    end else begin
      flight_142 <= _GEN_464;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_143 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h8f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_143 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_143 <= _GEN_465;
      end
    end else begin
      flight_143 <= _GEN_465;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_144 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h90 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_144 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_144 <= _GEN_466;
      end
    end else begin
      flight_144 <= _GEN_466;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_145 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h91 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_145 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_145 <= _GEN_467;
      end
    end else begin
      flight_145 <= _GEN_467;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_146 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h92 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_146 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_146 <= _GEN_468;
      end
    end else begin
      flight_146 <= _GEN_468;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_147 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h93 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_147 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_147 <= _GEN_469;
      end
    end else begin
      flight_147 <= _GEN_469;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_148 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h94 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_148 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_148 <= _GEN_470;
      end
    end else begin
      flight_148 <= _GEN_470;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_149 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h95 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_149 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_149 <= _GEN_471;
      end
    end else begin
      flight_149 <= _GEN_471;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_150 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h96 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_150 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_150 <= _GEN_472;
      end
    end else begin
      flight_150 <= _GEN_472;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_151 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h97 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_151 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_151 <= _GEN_473;
      end
    end else begin
      flight_151 <= _GEN_473;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_152 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h98 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_152 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_152 <= _GEN_474;
      end
    end else begin
      flight_152 <= _GEN_474;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_153 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h99 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_153 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_153 <= _GEN_475;
      end
    end else begin
      flight_153 <= _GEN_475;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_154 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_154 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_154 <= _GEN_476;
      end
    end else begin
      flight_154 <= _GEN_476;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_155 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_155 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_155 <= _GEN_477;
      end
    end else begin
      flight_155 <= _GEN_477;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_156 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_156 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_156 <= _GEN_478;
      end
    end else begin
      flight_156 <= _GEN_478;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_157 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_157 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_157 <= _GEN_479;
      end
    end else begin
      flight_157 <= _GEN_479;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_158 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_158 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_158 <= _GEN_480;
      end
    end else begin
      flight_158 <= _GEN_480;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_159 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h9f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_159 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_159 <= _GEN_481;
      end
    end else begin
      flight_159 <= _GEN_481;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_160 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_160 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_160 <= _GEN_482;
      end
    end else begin
      flight_160 <= _GEN_482;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_161 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_161 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_161 <= _GEN_483;
      end
    end else begin
      flight_161 <= _GEN_483;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_162 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_162 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_162 <= _GEN_484;
      end
    end else begin
      flight_162 <= _GEN_484;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_163 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_163 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_163 <= _GEN_485;
      end
    end else begin
      flight_163 <= _GEN_485;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_164 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_164 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_164 <= _GEN_486;
      end
    end else begin
      flight_164 <= _GEN_486;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_165 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_165 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_165 <= _GEN_487;
      end
    end else begin
      flight_165 <= _GEN_487;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_166 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_166 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_166 <= _GEN_488;
      end
    end else begin
      flight_166 <= _GEN_488;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_167 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_167 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_167 <= _GEN_489;
      end
    end else begin
      flight_167 <= _GEN_489;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_168 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_168 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_168 <= _GEN_490;
      end
    end else begin
      flight_168 <= _GEN_490;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_169 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'ha9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_169 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_169 <= _GEN_491;
      end
    end else begin
      flight_169 <= _GEN_491;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_170 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'haa == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_170 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_170 <= _GEN_492;
      end
    end else begin
      flight_170 <= _GEN_492;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_171 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hab == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_171 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_171 <= _GEN_493;
      end
    end else begin
      flight_171 <= _GEN_493;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_172 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hac == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_172 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_172 <= _GEN_494;
      end
    end else begin
      flight_172 <= _GEN_494;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_173 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'had == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_173 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_173 <= _GEN_495;
      end
    end else begin
      flight_173 <= _GEN_495;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_174 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hae == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_174 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_174 <= _GEN_496;
      end
    end else begin
      flight_174 <= _GEN_496;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_175 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'haf == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_175 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_175 <= _GEN_497;
      end
    end else begin
      flight_175 <= _GEN_497;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_176 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_176 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_176 <= _GEN_498;
      end
    end else begin
      flight_176 <= _GEN_498;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_177 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_177 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_177 <= _GEN_499;
      end
    end else begin
      flight_177 <= _GEN_499;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_178 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_178 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_178 <= _GEN_500;
      end
    end else begin
      flight_178 <= _GEN_500;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_179 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_179 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_179 <= _GEN_501;
      end
    end else begin
      flight_179 <= _GEN_501;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_180 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_180 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_180 <= _GEN_502;
      end
    end else begin
      flight_180 <= _GEN_502;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_181 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_181 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_181 <= _GEN_503;
      end
    end else begin
      flight_181 <= _GEN_503;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_182 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_182 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_182 <= _GEN_504;
      end
    end else begin
      flight_182 <= _GEN_504;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_183 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_183 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_183 <= _GEN_505;
      end
    end else begin
      flight_183 <= _GEN_505;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_184 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_184 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_184 <= _GEN_506;
      end
    end else begin
      flight_184 <= _GEN_506;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_185 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hb9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_185 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_185 <= _GEN_507;
      end
    end else begin
      flight_185 <= _GEN_507;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_186 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hba == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_186 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_186 <= _GEN_508;
      end
    end else begin
      flight_186 <= _GEN_508;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_187 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hbb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_187 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_187 <= _GEN_509;
      end
    end else begin
      flight_187 <= _GEN_509;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_188 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hbc == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_188 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_188 <= _GEN_510;
      end
    end else begin
      flight_188 <= _GEN_510;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_189 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hbd == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_189 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_189 <= _GEN_511;
      end
    end else begin
      flight_189 <= _GEN_511;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_190 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hbe == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_190 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_190 <= _GEN_512;
      end
    end else begin
      flight_190 <= _GEN_512;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_191 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hbf == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_191 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_191 <= _GEN_513;
      end
    end else begin
      flight_191 <= _GEN_513;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_192 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_192 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_192 <= _GEN_514;
      end
    end else begin
      flight_192 <= _GEN_514;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_193 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_193 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_193 <= _GEN_515;
      end
    end else begin
      flight_193 <= _GEN_515;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_194 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_194 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_194 <= _GEN_516;
      end
    end else begin
      flight_194 <= _GEN_516;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_195 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_195 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_195 <= _GEN_517;
      end
    end else begin
      flight_195 <= _GEN_517;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_196 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_196 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_196 <= _GEN_518;
      end
    end else begin
      flight_196 <= _GEN_518;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_197 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_197 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_197 <= _GEN_519;
      end
    end else begin
      flight_197 <= _GEN_519;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_198 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_198 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_198 <= _GEN_520;
      end
    end else begin
      flight_198 <= _GEN_520;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_199 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_199 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_199 <= _GEN_521;
      end
    end else begin
      flight_199 <= _GEN_521;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_200 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_200 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_200 <= _GEN_522;
      end
    end else begin
      flight_200 <= _GEN_522;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_201 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hc9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_201 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_201 <= _GEN_523;
      end
    end else begin
      flight_201 <= _GEN_523;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_202 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hca == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_202 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_202 <= _GEN_524;
      end
    end else begin
      flight_202 <= _GEN_524;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_203 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hcb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_203 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_203 <= _GEN_525;
      end
    end else begin
      flight_203 <= _GEN_525;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_204 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hcc == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_204 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_204 <= _GEN_526;
      end
    end else begin
      flight_204 <= _GEN_526;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_205 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hcd == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_205 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_205 <= _GEN_527;
      end
    end else begin
      flight_205 <= _GEN_527;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_206 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hce == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_206 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_206 <= _GEN_528;
      end
    end else begin
      flight_206 <= _GEN_528;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_207 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hcf == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_207 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_207 <= _GEN_529;
      end
    end else begin
      flight_207 <= _GEN_529;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_208 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_208 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_208 <= _GEN_530;
      end
    end else begin
      flight_208 <= _GEN_530;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_209 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_209 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_209 <= _GEN_531;
      end
    end else begin
      flight_209 <= _GEN_531;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_210 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_210 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_210 <= _GEN_532;
      end
    end else begin
      flight_210 <= _GEN_532;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_211 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_211 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_211 <= _GEN_533;
      end
    end else begin
      flight_211 <= _GEN_533;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_212 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_212 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_212 <= _GEN_534;
      end
    end else begin
      flight_212 <= _GEN_534;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_213 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_213 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_213 <= _GEN_535;
      end
    end else begin
      flight_213 <= _GEN_535;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_214 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_214 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_214 <= _GEN_536;
      end
    end else begin
      flight_214 <= _GEN_536;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_215 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_215 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_215 <= _GEN_537;
      end
    end else begin
      flight_215 <= _GEN_537;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_216 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_216 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_216 <= _GEN_538;
      end
    end else begin
      flight_216 <= _GEN_538;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_217 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hd9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_217 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_217 <= _GEN_539;
      end
    end else begin
      flight_217 <= _GEN_539;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_218 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hda == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_218 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_218 <= _GEN_540;
      end
    end else begin
      flight_218 <= _GEN_540;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_219 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hdb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_219 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_219 <= _GEN_541;
      end
    end else begin
      flight_219 <= _GEN_541;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_220 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hdc == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_220 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_220 <= _GEN_542;
      end
    end else begin
      flight_220 <= _GEN_542;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_221 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hdd == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_221 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_221 <= _GEN_543;
      end
    end else begin
      flight_221 <= _GEN_543;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_222 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hde == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_222 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_222 <= _GEN_544;
      end
    end else begin
      flight_222 <= _GEN_544;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_223 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hdf == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_223 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_223 <= _GEN_545;
      end
    end else begin
      flight_223 <= _GEN_545;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_224 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_224 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_224 <= _GEN_546;
      end
    end else begin
      flight_224 <= _GEN_546;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_225 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_225 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_225 <= _GEN_547;
      end
    end else begin
      flight_225 <= _GEN_547;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_226 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_226 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_226 <= _GEN_548;
      end
    end else begin
      flight_226 <= _GEN_548;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_227 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_227 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_227 <= _GEN_549;
      end
    end else begin
      flight_227 <= _GEN_549;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_228 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_228 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_228 <= _GEN_550;
      end
    end else begin
      flight_228 <= _GEN_550;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_229 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_229 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_229 <= _GEN_551;
      end
    end else begin
      flight_229 <= _GEN_551;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_230 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_230 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_230 <= _GEN_552;
      end
    end else begin
      flight_230 <= _GEN_552;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_231 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_231 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_231 <= _GEN_553;
      end
    end else begin
      flight_231 <= _GEN_553;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_232 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_232 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_232 <= _GEN_554;
      end
    end else begin
      flight_232 <= _GEN_554;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_233 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'he9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_233 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_233 <= _GEN_555;
      end
    end else begin
      flight_233 <= _GEN_555;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_234 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hea == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_234 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_234 <= _GEN_556;
      end
    end else begin
      flight_234 <= _GEN_556;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_235 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'heb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_235 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_235 <= _GEN_557;
      end
    end else begin
      flight_235 <= _GEN_557;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_236 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hec == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_236 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_236 <= _GEN_558;
      end
    end else begin
      flight_236 <= _GEN_558;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_237 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hed == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_237 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_237 <= _GEN_559;
      end
    end else begin
      flight_237 <= _GEN_559;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_238 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hee == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_238 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_238 <= _GEN_560;
      end
    end else begin
      flight_238 <= _GEN_560;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_239 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hef == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_239 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_239 <= _GEN_561;
      end
    end else begin
      flight_239 <= _GEN_561;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_240 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf0 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_240 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_240 <= _GEN_562;
      end
    end else begin
      flight_240 <= _GEN_562;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_241 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf1 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_241 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_241 <= _GEN_563;
      end
    end else begin
      flight_241 <= _GEN_563;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_242 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf2 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_242 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_242 <= _GEN_564;
      end
    end else begin
      flight_242 <= _GEN_564;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_243 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf3 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_243 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_243 <= _GEN_565;
      end
    end else begin
      flight_243 <= _GEN_565;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_244 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf4 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_244 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_244 <= _GEN_566;
      end
    end else begin
      flight_244 <= _GEN_566;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_245 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf5 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_245 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_245 <= _GEN_567;
      end
    end else begin
      flight_245 <= _GEN_567;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_246 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf6 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_246 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_246 <= _GEN_568;
      end
    end else begin
      flight_246 <= _GEN_568;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_247 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf7 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_247 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_247 <= _GEN_569;
      end
    end else begin
      flight_247 <= _GEN_569;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_248 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf8 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_248 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_248 <= _GEN_570;
      end
    end else begin
      flight_248 <= _GEN_570;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_249 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hf9 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_249 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_249 <= _GEN_571;
      end
    end else begin
      flight_249 <= _GEN_571;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_250 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hfa == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_250 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_250 <= _GEN_572;
      end
    end else begin
      flight_250 <= _GEN_572;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_251 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hfb == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_251 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_251 <= _GEN_573;
      end
    end else begin
      flight_251 <= _GEN_573;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_252 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hfc == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_252 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_252 <= _GEN_574;
      end
    end else begin
      flight_252 <= _GEN_574;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_253 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hfd == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_253 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_253 <= _GEN_575;
      end
    end else begin
      flight_253 <= _GEN_575;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_254 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hfe == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_254 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_254 <= _GEN_576;
      end
    end else begin
      flight_254 <= _GEN_576;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_255 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'hff == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_255 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_255 <= _GEN_577;
      end
    end else begin
      flight_255 <= _GEN_577;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_256 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h100 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_256 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_256 <= _GEN_578;
      end
    end else begin
      flight_256 <= _GEN_578;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_257 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h101 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_257 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_257 <= _GEN_579;
      end
    end else begin
      flight_257 <= _GEN_579;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_258 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h102 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_258 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_258 <= _GEN_580;
      end
    end else begin
      flight_258 <= _GEN_580;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_259 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h103 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_259 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_259 <= _GEN_581;
      end
    end else begin
      flight_259 <= _GEN_581;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_260 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h104 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_260 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_260 <= _GEN_582;
      end
    end else begin
      flight_260 <= _GEN_582;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_261 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h105 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_261 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_261 <= _GEN_583;
      end
    end else begin
      flight_261 <= _GEN_583;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_262 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h106 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_262 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_262 <= _GEN_584;
      end
    end else begin
      flight_262 <= _GEN_584;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_263 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h107 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_263 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_263 <= _GEN_585;
      end
    end else begin
      flight_263 <= _GEN_585;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_264 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h108 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_264 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_264 <= _GEN_586;
      end
    end else begin
      flight_264 <= _GEN_586;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_265 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h109 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_265 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_265 <= _GEN_587;
      end
    end else begin
      flight_265 <= _GEN_587;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_266 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_266 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_266 <= _GEN_588;
      end
    end else begin
      flight_266 <= _GEN_588;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_267 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_267 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_267 <= _GEN_589;
      end
    end else begin
      flight_267 <= _GEN_589;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_268 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_268 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_268 <= _GEN_590;
      end
    end else begin
      flight_268 <= _GEN_590;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_269 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_269 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_269 <= _GEN_591;
      end
    end else begin
      flight_269 <= _GEN_591;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_270 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_270 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_270 <= _GEN_592;
      end
    end else begin
      flight_270 <= _GEN_592;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_271 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h10f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_271 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_271 <= _GEN_593;
      end
    end else begin
      flight_271 <= _GEN_593;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_272 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h110 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_272 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_272 <= _GEN_594;
      end
    end else begin
      flight_272 <= _GEN_594;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_273 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h111 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_273 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_273 <= _GEN_595;
      end
    end else begin
      flight_273 <= _GEN_595;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_274 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h112 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_274 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_274 <= _GEN_596;
      end
    end else begin
      flight_274 <= _GEN_596;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_275 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h113 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_275 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_275 <= _GEN_597;
      end
    end else begin
      flight_275 <= _GEN_597;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_276 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h114 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_276 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_276 <= _GEN_598;
      end
    end else begin
      flight_276 <= _GEN_598;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_277 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h115 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_277 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_277 <= _GEN_599;
      end
    end else begin
      flight_277 <= _GEN_599;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_278 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h116 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_278 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_278 <= _GEN_600;
      end
    end else begin
      flight_278 <= _GEN_600;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_279 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h117 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_279 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_279 <= _GEN_601;
      end
    end else begin
      flight_279 <= _GEN_601;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_280 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h118 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_280 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_280 <= _GEN_602;
      end
    end else begin
      flight_280 <= _GEN_602;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_281 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h119 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_281 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_281 <= _GEN_603;
      end
    end else begin
      flight_281 <= _GEN_603;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_282 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_282 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_282 <= _GEN_604;
      end
    end else begin
      flight_282 <= _GEN_604;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_283 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_283 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_283 <= _GEN_605;
      end
    end else begin
      flight_283 <= _GEN_605;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_284 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_284 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_284 <= _GEN_606;
      end
    end else begin
      flight_284 <= _GEN_606;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_285 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_285 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_285 <= _GEN_607;
      end
    end else begin
      flight_285 <= _GEN_607;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_286 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_286 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_286 <= _GEN_608;
      end
    end else begin
      flight_286 <= _GEN_608;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_287 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h11f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_287 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_287 <= _GEN_609;
      end
    end else begin
      flight_287 <= _GEN_609;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_288 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h120 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_288 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_288 <= _GEN_610;
      end
    end else begin
      flight_288 <= _GEN_610;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_289 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h121 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_289 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_289 <= _GEN_611;
      end
    end else begin
      flight_289 <= _GEN_611;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_290 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h122 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_290 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_290 <= _GEN_612;
      end
    end else begin
      flight_290 <= _GEN_612;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_291 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h123 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_291 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_291 <= _GEN_613;
      end
    end else begin
      flight_291 <= _GEN_613;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_292 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h124 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_292 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_292 <= _GEN_614;
      end
    end else begin
      flight_292 <= _GEN_614;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_293 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h125 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_293 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_293 <= _GEN_615;
      end
    end else begin
      flight_293 <= _GEN_615;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_294 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h126 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_294 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_294 <= _GEN_616;
      end
    end else begin
      flight_294 <= _GEN_616;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_295 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h127 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_295 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_295 <= _GEN_617;
      end
    end else begin
      flight_295 <= _GEN_617;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_296 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h128 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_296 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_296 <= _GEN_618;
      end
    end else begin
      flight_296 <= _GEN_618;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_297 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h129 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_297 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_297 <= _GEN_619;
      end
    end else begin
      flight_297 <= _GEN_619;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_298 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_298 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_298 <= _GEN_620;
      end
    end else begin
      flight_298 <= _GEN_620;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_299 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_299 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_299 <= _GEN_621;
      end
    end else begin
      flight_299 <= _GEN_621;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_300 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_300 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_300 <= _GEN_622;
      end
    end else begin
      flight_300 <= _GEN_622;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_301 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_301 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_301 <= _GEN_623;
      end
    end else begin
      flight_301 <= _GEN_623;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_302 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_302 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_302 <= _GEN_624;
      end
    end else begin
      flight_302 <= _GEN_624;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_303 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h12f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_303 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_303 <= _GEN_625;
      end
    end else begin
      flight_303 <= _GEN_625;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_304 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h130 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_304 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_304 <= _GEN_626;
      end
    end else begin
      flight_304 <= _GEN_626;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_305 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h131 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_305 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_305 <= _GEN_627;
      end
    end else begin
      flight_305 <= _GEN_627;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_306 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h132 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_306 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_306 <= _GEN_628;
      end
    end else begin
      flight_306 <= _GEN_628;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_307 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h133 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_307 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_307 <= _GEN_629;
      end
    end else begin
      flight_307 <= _GEN_629;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_308 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h134 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_308 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_308 <= _GEN_630;
      end
    end else begin
      flight_308 <= _GEN_630;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_309 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h135 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_309 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_309 <= _GEN_631;
      end
    end else begin
      flight_309 <= _GEN_631;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_310 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h136 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_310 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_310 <= _GEN_632;
      end
    end else begin
      flight_310 <= _GEN_632;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_311 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h137 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_311 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_311 <= _GEN_633;
      end
    end else begin
      flight_311 <= _GEN_633;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_312 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h138 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_312 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_312 <= _GEN_634;
      end
    end else begin
      flight_312 <= _GEN_634;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_313 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h139 == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_313 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_313 <= _GEN_635;
      end
    end else begin
      flight_313 <= _GEN_635;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_314 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13a == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_314 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_314 <= _GEN_636;
      end
    end else begin
      flight_314 <= _GEN_636;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_315 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13b == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_315 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_315 <= _GEN_637;
      end
    end else begin
      flight_315 <= _GEN_637;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_316 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13c == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_316 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_316 <= _GEN_638;
      end
    end else begin
      flight_316 <= _GEN_638;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_317 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13d == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_317 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_317 <= _GEN_639;
      end
    end else begin
      flight_317 <= _GEN_639;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_318 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13e == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_318 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_318 <= _GEN_640;
      end
    end else begin
      flight_318 <= _GEN_640;
    end
    if (reset) begin // @[FIFOFixer.scala 71:27]
      flight_319 <= 1'h0; // @[FIFOFixer.scala 71:27]
    end else if (d_first & _d_first_T) begin // @[FIFOFixer.scala 73:37]
      if (9'h13f == auto_out_d_bits_source) begin // @[FIFOFixer.scala 73:64]
        flight_319 <= 1'h0; // @[FIFOFixer.scala 73:64]
      end else begin
        flight_319 <= _GEN_641;
      end
    end else begin
      flight_319 <= _GEN_641;
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_first) begin // @[Edges.scala 235:21]
        d_first_counter <= 1'h0;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  flight_0 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  flight_1 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  flight_2 = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  flight_3 = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  flight_4 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  flight_5 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  flight_6 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  flight_7 = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  flight_8 = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  flight_9 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  flight_10 = _RAND_11[0:0];
  _RAND_12 = {1{`RANDOM}};
  flight_11 = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  flight_12 = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  flight_13 = _RAND_14[0:0];
  _RAND_15 = {1{`RANDOM}};
  flight_14 = _RAND_15[0:0];
  _RAND_16 = {1{`RANDOM}};
  flight_15 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  flight_16 = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  flight_17 = _RAND_18[0:0];
  _RAND_19 = {1{`RANDOM}};
  flight_18 = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  flight_19 = _RAND_20[0:0];
  _RAND_21 = {1{`RANDOM}};
  flight_20 = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  flight_21 = _RAND_22[0:0];
  _RAND_23 = {1{`RANDOM}};
  flight_22 = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  flight_23 = _RAND_24[0:0];
  _RAND_25 = {1{`RANDOM}};
  flight_24 = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  flight_25 = _RAND_26[0:0];
  _RAND_27 = {1{`RANDOM}};
  flight_26 = _RAND_27[0:0];
  _RAND_28 = {1{`RANDOM}};
  flight_27 = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  flight_28 = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  flight_29 = _RAND_30[0:0];
  _RAND_31 = {1{`RANDOM}};
  flight_30 = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  flight_31 = _RAND_32[0:0];
  _RAND_33 = {1{`RANDOM}};
  flight_32 = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  flight_33 = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  flight_34 = _RAND_35[0:0];
  _RAND_36 = {1{`RANDOM}};
  flight_35 = _RAND_36[0:0];
  _RAND_37 = {1{`RANDOM}};
  flight_36 = _RAND_37[0:0];
  _RAND_38 = {1{`RANDOM}};
  flight_37 = _RAND_38[0:0];
  _RAND_39 = {1{`RANDOM}};
  flight_38 = _RAND_39[0:0];
  _RAND_40 = {1{`RANDOM}};
  flight_39 = _RAND_40[0:0];
  _RAND_41 = {1{`RANDOM}};
  flight_40 = _RAND_41[0:0];
  _RAND_42 = {1{`RANDOM}};
  flight_41 = _RAND_42[0:0];
  _RAND_43 = {1{`RANDOM}};
  flight_42 = _RAND_43[0:0];
  _RAND_44 = {1{`RANDOM}};
  flight_43 = _RAND_44[0:0];
  _RAND_45 = {1{`RANDOM}};
  flight_44 = _RAND_45[0:0];
  _RAND_46 = {1{`RANDOM}};
  flight_45 = _RAND_46[0:0];
  _RAND_47 = {1{`RANDOM}};
  flight_46 = _RAND_47[0:0];
  _RAND_48 = {1{`RANDOM}};
  flight_47 = _RAND_48[0:0];
  _RAND_49 = {1{`RANDOM}};
  flight_48 = _RAND_49[0:0];
  _RAND_50 = {1{`RANDOM}};
  flight_49 = _RAND_50[0:0];
  _RAND_51 = {1{`RANDOM}};
  flight_50 = _RAND_51[0:0];
  _RAND_52 = {1{`RANDOM}};
  flight_51 = _RAND_52[0:0];
  _RAND_53 = {1{`RANDOM}};
  flight_52 = _RAND_53[0:0];
  _RAND_54 = {1{`RANDOM}};
  flight_53 = _RAND_54[0:0];
  _RAND_55 = {1{`RANDOM}};
  flight_54 = _RAND_55[0:0];
  _RAND_56 = {1{`RANDOM}};
  flight_55 = _RAND_56[0:0];
  _RAND_57 = {1{`RANDOM}};
  flight_56 = _RAND_57[0:0];
  _RAND_58 = {1{`RANDOM}};
  flight_57 = _RAND_58[0:0];
  _RAND_59 = {1{`RANDOM}};
  flight_58 = _RAND_59[0:0];
  _RAND_60 = {1{`RANDOM}};
  flight_59 = _RAND_60[0:0];
  _RAND_61 = {1{`RANDOM}};
  flight_60 = _RAND_61[0:0];
  _RAND_62 = {1{`RANDOM}};
  flight_61 = _RAND_62[0:0];
  _RAND_63 = {1{`RANDOM}};
  flight_62 = _RAND_63[0:0];
  _RAND_64 = {1{`RANDOM}};
  flight_63 = _RAND_64[0:0];
  _RAND_65 = {1{`RANDOM}};
  flight_64 = _RAND_65[0:0];
  _RAND_66 = {1{`RANDOM}};
  flight_65 = _RAND_66[0:0];
  _RAND_67 = {1{`RANDOM}};
  flight_66 = _RAND_67[0:0];
  _RAND_68 = {1{`RANDOM}};
  flight_67 = _RAND_68[0:0];
  _RAND_69 = {1{`RANDOM}};
  flight_68 = _RAND_69[0:0];
  _RAND_70 = {1{`RANDOM}};
  flight_69 = _RAND_70[0:0];
  _RAND_71 = {1{`RANDOM}};
  flight_70 = _RAND_71[0:0];
  _RAND_72 = {1{`RANDOM}};
  flight_71 = _RAND_72[0:0];
  _RAND_73 = {1{`RANDOM}};
  flight_72 = _RAND_73[0:0];
  _RAND_74 = {1{`RANDOM}};
  flight_73 = _RAND_74[0:0];
  _RAND_75 = {1{`RANDOM}};
  flight_74 = _RAND_75[0:0];
  _RAND_76 = {1{`RANDOM}};
  flight_75 = _RAND_76[0:0];
  _RAND_77 = {1{`RANDOM}};
  flight_76 = _RAND_77[0:0];
  _RAND_78 = {1{`RANDOM}};
  flight_77 = _RAND_78[0:0];
  _RAND_79 = {1{`RANDOM}};
  flight_78 = _RAND_79[0:0];
  _RAND_80 = {1{`RANDOM}};
  flight_79 = _RAND_80[0:0];
  _RAND_81 = {1{`RANDOM}};
  flight_80 = _RAND_81[0:0];
  _RAND_82 = {1{`RANDOM}};
  flight_81 = _RAND_82[0:0];
  _RAND_83 = {1{`RANDOM}};
  flight_82 = _RAND_83[0:0];
  _RAND_84 = {1{`RANDOM}};
  flight_83 = _RAND_84[0:0];
  _RAND_85 = {1{`RANDOM}};
  flight_84 = _RAND_85[0:0];
  _RAND_86 = {1{`RANDOM}};
  flight_85 = _RAND_86[0:0];
  _RAND_87 = {1{`RANDOM}};
  flight_86 = _RAND_87[0:0];
  _RAND_88 = {1{`RANDOM}};
  flight_87 = _RAND_88[0:0];
  _RAND_89 = {1{`RANDOM}};
  flight_88 = _RAND_89[0:0];
  _RAND_90 = {1{`RANDOM}};
  flight_89 = _RAND_90[0:0];
  _RAND_91 = {1{`RANDOM}};
  flight_90 = _RAND_91[0:0];
  _RAND_92 = {1{`RANDOM}};
  flight_91 = _RAND_92[0:0];
  _RAND_93 = {1{`RANDOM}};
  flight_92 = _RAND_93[0:0];
  _RAND_94 = {1{`RANDOM}};
  flight_93 = _RAND_94[0:0];
  _RAND_95 = {1{`RANDOM}};
  flight_94 = _RAND_95[0:0];
  _RAND_96 = {1{`RANDOM}};
  flight_95 = _RAND_96[0:0];
  _RAND_97 = {1{`RANDOM}};
  flight_96 = _RAND_97[0:0];
  _RAND_98 = {1{`RANDOM}};
  flight_97 = _RAND_98[0:0];
  _RAND_99 = {1{`RANDOM}};
  flight_98 = _RAND_99[0:0];
  _RAND_100 = {1{`RANDOM}};
  flight_99 = _RAND_100[0:0];
  _RAND_101 = {1{`RANDOM}};
  flight_100 = _RAND_101[0:0];
  _RAND_102 = {1{`RANDOM}};
  flight_101 = _RAND_102[0:0];
  _RAND_103 = {1{`RANDOM}};
  flight_102 = _RAND_103[0:0];
  _RAND_104 = {1{`RANDOM}};
  flight_103 = _RAND_104[0:0];
  _RAND_105 = {1{`RANDOM}};
  flight_104 = _RAND_105[0:0];
  _RAND_106 = {1{`RANDOM}};
  flight_105 = _RAND_106[0:0];
  _RAND_107 = {1{`RANDOM}};
  flight_106 = _RAND_107[0:0];
  _RAND_108 = {1{`RANDOM}};
  flight_107 = _RAND_108[0:0];
  _RAND_109 = {1{`RANDOM}};
  flight_108 = _RAND_109[0:0];
  _RAND_110 = {1{`RANDOM}};
  flight_109 = _RAND_110[0:0];
  _RAND_111 = {1{`RANDOM}};
  flight_110 = _RAND_111[0:0];
  _RAND_112 = {1{`RANDOM}};
  flight_111 = _RAND_112[0:0];
  _RAND_113 = {1{`RANDOM}};
  flight_112 = _RAND_113[0:0];
  _RAND_114 = {1{`RANDOM}};
  flight_113 = _RAND_114[0:0];
  _RAND_115 = {1{`RANDOM}};
  flight_114 = _RAND_115[0:0];
  _RAND_116 = {1{`RANDOM}};
  flight_115 = _RAND_116[0:0];
  _RAND_117 = {1{`RANDOM}};
  flight_116 = _RAND_117[0:0];
  _RAND_118 = {1{`RANDOM}};
  flight_117 = _RAND_118[0:0];
  _RAND_119 = {1{`RANDOM}};
  flight_118 = _RAND_119[0:0];
  _RAND_120 = {1{`RANDOM}};
  flight_119 = _RAND_120[0:0];
  _RAND_121 = {1{`RANDOM}};
  flight_120 = _RAND_121[0:0];
  _RAND_122 = {1{`RANDOM}};
  flight_121 = _RAND_122[0:0];
  _RAND_123 = {1{`RANDOM}};
  flight_122 = _RAND_123[0:0];
  _RAND_124 = {1{`RANDOM}};
  flight_123 = _RAND_124[0:0];
  _RAND_125 = {1{`RANDOM}};
  flight_124 = _RAND_125[0:0];
  _RAND_126 = {1{`RANDOM}};
  flight_125 = _RAND_126[0:0];
  _RAND_127 = {1{`RANDOM}};
  flight_126 = _RAND_127[0:0];
  _RAND_128 = {1{`RANDOM}};
  flight_127 = _RAND_128[0:0];
  _RAND_129 = {1{`RANDOM}};
  flight_128 = _RAND_129[0:0];
  _RAND_130 = {1{`RANDOM}};
  flight_129 = _RAND_130[0:0];
  _RAND_131 = {1{`RANDOM}};
  flight_130 = _RAND_131[0:0];
  _RAND_132 = {1{`RANDOM}};
  flight_131 = _RAND_132[0:0];
  _RAND_133 = {1{`RANDOM}};
  flight_132 = _RAND_133[0:0];
  _RAND_134 = {1{`RANDOM}};
  flight_133 = _RAND_134[0:0];
  _RAND_135 = {1{`RANDOM}};
  flight_134 = _RAND_135[0:0];
  _RAND_136 = {1{`RANDOM}};
  flight_135 = _RAND_136[0:0];
  _RAND_137 = {1{`RANDOM}};
  flight_136 = _RAND_137[0:0];
  _RAND_138 = {1{`RANDOM}};
  flight_137 = _RAND_138[0:0];
  _RAND_139 = {1{`RANDOM}};
  flight_138 = _RAND_139[0:0];
  _RAND_140 = {1{`RANDOM}};
  flight_139 = _RAND_140[0:0];
  _RAND_141 = {1{`RANDOM}};
  flight_140 = _RAND_141[0:0];
  _RAND_142 = {1{`RANDOM}};
  flight_141 = _RAND_142[0:0];
  _RAND_143 = {1{`RANDOM}};
  flight_142 = _RAND_143[0:0];
  _RAND_144 = {1{`RANDOM}};
  flight_143 = _RAND_144[0:0];
  _RAND_145 = {1{`RANDOM}};
  flight_144 = _RAND_145[0:0];
  _RAND_146 = {1{`RANDOM}};
  flight_145 = _RAND_146[0:0];
  _RAND_147 = {1{`RANDOM}};
  flight_146 = _RAND_147[0:0];
  _RAND_148 = {1{`RANDOM}};
  flight_147 = _RAND_148[0:0];
  _RAND_149 = {1{`RANDOM}};
  flight_148 = _RAND_149[0:0];
  _RAND_150 = {1{`RANDOM}};
  flight_149 = _RAND_150[0:0];
  _RAND_151 = {1{`RANDOM}};
  flight_150 = _RAND_151[0:0];
  _RAND_152 = {1{`RANDOM}};
  flight_151 = _RAND_152[0:0];
  _RAND_153 = {1{`RANDOM}};
  flight_152 = _RAND_153[0:0];
  _RAND_154 = {1{`RANDOM}};
  flight_153 = _RAND_154[0:0];
  _RAND_155 = {1{`RANDOM}};
  flight_154 = _RAND_155[0:0];
  _RAND_156 = {1{`RANDOM}};
  flight_155 = _RAND_156[0:0];
  _RAND_157 = {1{`RANDOM}};
  flight_156 = _RAND_157[0:0];
  _RAND_158 = {1{`RANDOM}};
  flight_157 = _RAND_158[0:0];
  _RAND_159 = {1{`RANDOM}};
  flight_158 = _RAND_159[0:0];
  _RAND_160 = {1{`RANDOM}};
  flight_159 = _RAND_160[0:0];
  _RAND_161 = {1{`RANDOM}};
  flight_160 = _RAND_161[0:0];
  _RAND_162 = {1{`RANDOM}};
  flight_161 = _RAND_162[0:0];
  _RAND_163 = {1{`RANDOM}};
  flight_162 = _RAND_163[0:0];
  _RAND_164 = {1{`RANDOM}};
  flight_163 = _RAND_164[0:0];
  _RAND_165 = {1{`RANDOM}};
  flight_164 = _RAND_165[0:0];
  _RAND_166 = {1{`RANDOM}};
  flight_165 = _RAND_166[0:0];
  _RAND_167 = {1{`RANDOM}};
  flight_166 = _RAND_167[0:0];
  _RAND_168 = {1{`RANDOM}};
  flight_167 = _RAND_168[0:0];
  _RAND_169 = {1{`RANDOM}};
  flight_168 = _RAND_169[0:0];
  _RAND_170 = {1{`RANDOM}};
  flight_169 = _RAND_170[0:0];
  _RAND_171 = {1{`RANDOM}};
  flight_170 = _RAND_171[0:0];
  _RAND_172 = {1{`RANDOM}};
  flight_171 = _RAND_172[0:0];
  _RAND_173 = {1{`RANDOM}};
  flight_172 = _RAND_173[0:0];
  _RAND_174 = {1{`RANDOM}};
  flight_173 = _RAND_174[0:0];
  _RAND_175 = {1{`RANDOM}};
  flight_174 = _RAND_175[0:0];
  _RAND_176 = {1{`RANDOM}};
  flight_175 = _RAND_176[0:0];
  _RAND_177 = {1{`RANDOM}};
  flight_176 = _RAND_177[0:0];
  _RAND_178 = {1{`RANDOM}};
  flight_177 = _RAND_178[0:0];
  _RAND_179 = {1{`RANDOM}};
  flight_178 = _RAND_179[0:0];
  _RAND_180 = {1{`RANDOM}};
  flight_179 = _RAND_180[0:0];
  _RAND_181 = {1{`RANDOM}};
  flight_180 = _RAND_181[0:0];
  _RAND_182 = {1{`RANDOM}};
  flight_181 = _RAND_182[0:0];
  _RAND_183 = {1{`RANDOM}};
  flight_182 = _RAND_183[0:0];
  _RAND_184 = {1{`RANDOM}};
  flight_183 = _RAND_184[0:0];
  _RAND_185 = {1{`RANDOM}};
  flight_184 = _RAND_185[0:0];
  _RAND_186 = {1{`RANDOM}};
  flight_185 = _RAND_186[0:0];
  _RAND_187 = {1{`RANDOM}};
  flight_186 = _RAND_187[0:0];
  _RAND_188 = {1{`RANDOM}};
  flight_187 = _RAND_188[0:0];
  _RAND_189 = {1{`RANDOM}};
  flight_188 = _RAND_189[0:0];
  _RAND_190 = {1{`RANDOM}};
  flight_189 = _RAND_190[0:0];
  _RAND_191 = {1{`RANDOM}};
  flight_190 = _RAND_191[0:0];
  _RAND_192 = {1{`RANDOM}};
  flight_191 = _RAND_192[0:0];
  _RAND_193 = {1{`RANDOM}};
  flight_192 = _RAND_193[0:0];
  _RAND_194 = {1{`RANDOM}};
  flight_193 = _RAND_194[0:0];
  _RAND_195 = {1{`RANDOM}};
  flight_194 = _RAND_195[0:0];
  _RAND_196 = {1{`RANDOM}};
  flight_195 = _RAND_196[0:0];
  _RAND_197 = {1{`RANDOM}};
  flight_196 = _RAND_197[0:0];
  _RAND_198 = {1{`RANDOM}};
  flight_197 = _RAND_198[0:0];
  _RAND_199 = {1{`RANDOM}};
  flight_198 = _RAND_199[0:0];
  _RAND_200 = {1{`RANDOM}};
  flight_199 = _RAND_200[0:0];
  _RAND_201 = {1{`RANDOM}};
  flight_200 = _RAND_201[0:0];
  _RAND_202 = {1{`RANDOM}};
  flight_201 = _RAND_202[0:0];
  _RAND_203 = {1{`RANDOM}};
  flight_202 = _RAND_203[0:0];
  _RAND_204 = {1{`RANDOM}};
  flight_203 = _RAND_204[0:0];
  _RAND_205 = {1{`RANDOM}};
  flight_204 = _RAND_205[0:0];
  _RAND_206 = {1{`RANDOM}};
  flight_205 = _RAND_206[0:0];
  _RAND_207 = {1{`RANDOM}};
  flight_206 = _RAND_207[0:0];
  _RAND_208 = {1{`RANDOM}};
  flight_207 = _RAND_208[0:0];
  _RAND_209 = {1{`RANDOM}};
  flight_208 = _RAND_209[0:0];
  _RAND_210 = {1{`RANDOM}};
  flight_209 = _RAND_210[0:0];
  _RAND_211 = {1{`RANDOM}};
  flight_210 = _RAND_211[0:0];
  _RAND_212 = {1{`RANDOM}};
  flight_211 = _RAND_212[0:0];
  _RAND_213 = {1{`RANDOM}};
  flight_212 = _RAND_213[0:0];
  _RAND_214 = {1{`RANDOM}};
  flight_213 = _RAND_214[0:0];
  _RAND_215 = {1{`RANDOM}};
  flight_214 = _RAND_215[0:0];
  _RAND_216 = {1{`RANDOM}};
  flight_215 = _RAND_216[0:0];
  _RAND_217 = {1{`RANDOM}};
  flight_216 = _RAND_217[0:0];
  _RAND_218 = {1{`RANDOM}};
  flight_217 = _RAND_218[0:0];
  _RAND_219 = {1{`RANDOM}};
  flight_218 = _RAND_219[0:0];
  _RAND_220 = {1{`RANDOM}};
  flight_219 = _RAND_220[0:0];
  _RAND_221 = {1{`RANDOM}};
  flight_220 = _RAND_221[0:0];
  _RAND_222 = {1{`RANDOM}};
  flight_221 = _RAND_222[0:0];
  _RAND_223 = {1{`RANDOM}};
  flight_222 = _RAND_223[0:0];
  _RAND_224 = {1{`RANDOM}};
  flight_223 = _RAND_224[0:0];
  _RAND_225 = {1{`RANDOM}};
  flight_224 = _RAND_225[0:0];
  _RAND_226 = {1{`RANDOM}};
  flight_225 = _RAND_226[0:0];
  _RAND_227 = {1{`RANDOM}};
  flight_226 = _RAND_227[0:0];
  _RAND_228 = {1{`RANDOM}};
  flight_227 = _RAND_228[0:0];
  _RAND_229 = {1{`RANDOM}};
  flight_228 = _RAND_229[0:0];
  _RAND_230 = {1{`RANDOM}};
  flight_229 = _RAND_230[0:0];
  _RAND_231 = {1{`RANDOM}};
  flight_230 = _RAND_231[0:0];
  _RAND_232 = {1{`RANDOM}};
  flight_231 = _RAND_232[0:0];
  _RAND_233 = {1{`RANDOM}};
  flight_232 = _RAND_233[0:0];
  _RAND_234 = {1{`RANDOM}};
  flight_233 = _RAND_234[0:0];
  _RAND_235 = {1{`RANDOM}};
  flight_234 = _RAND_235[0:0];
  _RAND_236 = {1{`RANDOM}};
  flight_235 = _RAND_236[0:0];
  _RAND_237 = {1{`RANDOM}};
  flight_236 = _RAND_237[0:0];
  _RAND_238 = {1{`RANDOM}};
  flight_237 = _RAND_238[0:0];
  _RAND_239 = {1{`RANDOM}};
  flight_238 = _RAND_239[0:0];
  _RAND_240 = {1{`RANDOM}};
  flight_239 = _RAND_240[0:0];
  _RAND_241 = {1{`RANDOM}};
  flight_240 = _RAND_241[0:0];
  _RAND_242 = {1{`RANDOM}};
  flight_241 = _RAND_242[0:0];
  _RAND_243 = {1{`RANDOM}};
  flight_242 = _RAND_243[0:0];
  _RAND_244 = {1{`RANDOM}};
  flight_243 = _RAND_244[0:0];
  _RAND_245 = {1{`RANDOM}};
  flight_244 = _RAND_245[0:0];
  _RAND_246 = {1{`RANDOM}};
  flight_245 = _RAND_246[0:0];
  _RAND_247 = {1{`RANDOM}};
  flight_246 = _RAND_247[0:0];
  _RAND_248 = {1{`RANDOM}};
  flight_247 = _RAND_248[0:0];
  _RAND_249 = {1{`RANDOM}};
  flight_248 = _RAND_249[0:0];
  _RAND_250 = {1{`RANDOM}};
  flight_249 = _RAND_250[0:0];
  _RAND_251 = {1{`RANDOM}};
  flight_250 = _RAND_251[0:0];
  _RAND_252 = {1{`RANDOM}};
  flight_251 = _RAND_252[0:0];
  _RAND_253 = {1{`RANDOM}};
  flight_252 = _RAND_253[0:0];
  _RAND_254 = {1{`RANDOM}};
  flight_253 = _RAND_254[0:0];
  _RAND_255 = {1{`RANDOM}};
  flight_254 = _RAND_255[0:0];
  _RAND_256 = {1{`RANDOM}};
  flight_255 = _RAND_256[0:0];
  _RAND_257 = {1{`RANDOM}};
  flight_256 = _RAND_257[0:0];
  _RAND_258 = {1{`RANDOM}};
  flight_257 = _RAND_258[0:0];
  _RAND_259 = {1{`RANDOM}};
  flight_258 = _RAND_259[0:0];
  _RAND_260 = {1{`RANDOM}};
  flight_259 = _RAND_260[0:0];
  _RAND_261 = {1{`RANDOM}};
  flight_260 = _RAND_261[0:0];
  _RAND_262 = {1{`RANDOM}};
  flight_261 = _RAND_262[0:0];
  _RAND_263 = {1{`RANDOM}};
  flight_262 = _RAND_263[0:0];
  _RAND_264 = {1{`RANDOM}};
  flight_263 = _RAND_264[0:0];
  _RAND_265 = {1{`RANDOM}};
  flight_264 = _RAND_265[0:0];
  _RAND_266 = {1{`RANDOM}};
  flight_265 = _RAND_266[0:0];
  _RAND_267 = {1{`RANDOM}};
  flight_266 = _RAND_267[0:0];
  _RAND_268 = {1{`RANDOM}};
  flight_267 = _RAND_268[0:0];
  _RAND_269 = {1{`RANDOM}};
  flight_268 = _RAND_269[0:0];
  _RAND_270 = {1{`RANDOM}};
  flight_269 = _RAND_270[0:0];
  _RAND_271 = {1{`RANDOM}};
  flight_270 = _RAND_271[0:0];
  _RAND_272 = {1{`RANDOM}};
  flight_271 = _RAND_272[0:0];
  _RAND_273 = {1{`RANDOM}};
  flight_272 = _RAND_273[0:0];
  _RAND_274 = {1{`RANDOM}};
  flight_273 = _RAND_274[0:0];
  _RAND_275 = {1{`RANDOM}};
  flight_274 = _RAND_275[0:0];
  _RAND_276 = {1{`RANDOM}};
  flight_275 = _RAND_276[0:0];
  _RAND_277 = {1{`RANDOM}};
  flight_276 = _RAND_277[0:0];
  _RAND_278 = {1{`RANDOM}};
  flight_277 = _RAND_278[0:0];
  _RAND_279 = {1{`RANDOM}};
  flight_278 = _RAND_279[0:0];
  _RAND_280 = {1{`RANDOM}};
  flight_279 = _RAND_280[0:0];
  _RAND_281 = {1{`RANDOM}};
  flight_280 = _RAND_281[0:0];
  _RAND_282 = {1{`RANDOM}};
  flight_281 = _RAND_282[0:0];
  _RAND_283 = {1{`RANDOM}};
  flight_282 = _RAND_283[0:0];
  _RAND_284 = {1{`RANDOM}};
  flight_283 = _RAND_284[0:0];
  _RAND_285 = {1{`RANDOM}};
  flight_284 = _RAND_285[0:0];
  _RAND_286 = {1{`RANDOM}};
  flight_285 = _RAND_286[0:0];
  _RAND_287 = {1{`RANDOM}};
  flight_286 = _RAND_287[0:0];
  _RAND_288 = {1{`RANDOM}};
  flight_287 = _RAND_288[0:0];
  _RAND_289 = {1{`RANDOM}};
  flight_288 = _RAND_289[0:0];
  _RAND_290 = {1{`RANDOM}};
  flight_289 = _RAND_290[0:0];
  _RAND_291 = {1{`RANDOM}};
  flight_290 = _RAND_291[0:0];
  _RAND_292 = {1{`RANDOM}};
  flight_291 = _RAND_292[0:0];
  _RAND_293 = {1{`RANDOM}};
  flight_292 = _RAND_293[0:0];
  _RAND_294 = {1{`RANDOM}};
  flight_293 = _RAND_294[0:0];
  _RAND_295 = {1{`RANDOM}};
  flight_294 = _RAND_295[0:0];
  _RAND_296 = {1{`RANDOM}};
  flight_295 = _RAND_296[0:0];
  _RAND_297 = {1{`RANDOM}};
  flight_296 = _RAND_297[0:0];
  _RAND_298 = {1{`RANDOM}};
  flight_297 = _RAND_298[0:0];
  _RAND_299 = {1{`RANDOM}};
  flight_298 = _RAND_299[0:0];
  _RAND_300 = {1{`RANDOM}};
  flight_299 = _RAND_300[0:0];
  _RAND_301 = {1{`RANDOM}};
  flight_300 = _RAND_301[0:0];
  _RAND_302 = {1{`RANDOM}};
  flight_301 = _RAND_302[0:0];
  _RAND_303 = {1{`RANDOM}};
  flight_302 = _RAND_303[0:0];
  _RAND_304 = {1{`RANDOM}};
  flight_303 = _RAND_304[0:0];
  _RAND_305 = {1{`RANDOM}};
  flight_304 = _RAND_305[0:0];
  _RAND_306 = {1{`RANDOM}};
  flight_305 = _RAND_306[0:0];
  _RAND_307 = {1{`RANDOM}};
  flight_306 = _RAND_307[0:0];
  _RAND_308 = {1{`RANDOM}};
  flight_307 = _RAND_308[0:0];
  _RAND_309 = {1{`RANDOM}};
  flight_308 = _RAND_309[0:0];
  _RAND_310 = {1{`RANDOM}};
  flight_309 = _RAND_310[0:0];
  _RAND_311 = {1{`RANDOM}};
  flight_310 = _RAND_311[0:0];
  _RAND_312 = {1{`RANDOM}};
  flight_311 = _RAND_312[0:0];
  _RAND_313 = {1{`RANDOM}};
  flight_312 = _RAND_313[0:0];
  _RAND_314 = {1{`RANDOM}};
  flight_313 = _RAND_314[0:0];
  _RAND_315 = {1{`RANDOM}};
  flight_314 = _RAND_315[0:0];
  _RAND_316 = {1{`RANDOM}};
  flight_315 = _RAND_316[0:0];
  _RAND_317 = {1{`RANDOM}};
  flight_316 = _RAND_317[0:0];
  _RAND_318 = {1{`RANDOM}};
  flight_317 = _RAND_318[0:0];
  _RAND_319 = {1{`RANDOM}};
  flight_318 = _RAND_319[0:0];
  _RAND_320 = {1{`RANDOM}};
  flight_319 = _RAND_320[0:0];
  _RAND_321 = {1{`RANDOM}};
  d_first_counter = _RAND_321[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_10(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input  [5:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [2:0]  io_in_d_bits_size,
  input  [5:0]  io_in_d_bits_source
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [63:0] _RAND_10;
  reg [159:0] _RAND_11;
  reg [159:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [63:0] _RAND_16;
  reg [159:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T_4 = io_in_a_bits_source <= 6'h27; // @[Parameters.scala 57:20]
  wire [11:0] _is_aligned_mask_T_1 = 12'h1f << io_in_a_bits_size; // @[package.scala 234:77]
  wire [4:0] is_aligned_mask = ~_is_aligned_mask_T_1[4:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_15 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_15; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire [32:0] _T_36 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_37 = $signed(_T_36) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_74 = _T_73 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_165 = 3'h3 <= io_in_a_bits_size & io_in_a_bits_size <= 3'h5; // @[Parameters.scala 92:37]
  wire  _T_172 = _T_165 & _T_37; // @[Parameters.scala 670:56]
  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
  wire  _T_275 = _T_274 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_10 = io_in_d_bits_source <= 6'h27; // @[Parameters.scala 57:20]
  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_405 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire [1:0] a_first_beats1_decode = is_aligned_mask[4:3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  reg [1:0] a_first_counter; // @[Edges.scala 228:27]
  wire [1:0] a_first_counter1 = a_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  a_first = a_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg [5:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [11:0] _d_first_beats1_decode_T_1 = 12'h1f << io_in_d_bits_size; // @[package.scala 234:77]
  wire [4:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[4:0]; // @[package.scala 234:46]
  wire [1:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[4:3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  reg [1:0] d_first_counter; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1 = d_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  d_first = d_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [5:0] source_1; // @[Monitor.scala 538:22]
  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  reg [39:0] inflight; // @[Monitor.scala 611:27]
  reg [159:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [159:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg [1:0] a_first_counter_1; // @[Edges.scala 228:27]
  wire [1:0] a_first_counter1_1 = a_first_counter_1 - 2'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = a_first_counter_1 == 2'h0; // @[Edges.scala 230:25]
  reg [1:0] d_first_counter_1; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1_1 = d_first_counter_1 - 2'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = d_first_counter_1 == 2'h0; // @[Edges.scala 230:25]
  wire [7:0] _GEN_21 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [8:0] _a_opcode_lookup_T = {{1'd0}, _GEN_21}; // @[Monitor.scala 634:69]
  wire [159:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [159:0] _GEN_60 = {{144'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [159:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_60; // @[Monitor.scala 634:97]
  wire [159:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[159:1]}; // @[Monitor.scala 634:152]
  wire [159:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [159:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 638:91]
  wire [159:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[159:1]}; // @[Monitor.scala 638:144]
  wire  _T_597 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [63:0] _a_set_T = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [7:0] _GEN_71 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [8:0] _a_opcodes_set_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [514:0] _GEN_305 = {{511'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [514:0] _a_opcodes_set_T_1 = _GEN_305 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [514:0] _GEN_306 = {{511'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [514:0] _a_sizes_set_T_1 = _GEN_306 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [39:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
  wire [63:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_T : 64'h0; // @[Monitor.scala 652:72 653:28]
  wire [514:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 515'h0; // @[Monitor.scala 652:72 656:28]
  wire [514:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 515'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_612 = ~_T_401; // @[Monitor.scala 675:75]
  wire [63:0] _d_clr_T = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [526:0] _GEN_307 = {{511'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [526:0] _d_opcodes_clr_T_5 = _GEN_307 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [63:0] _GEN_22 = _d_first_T & d_first_1 & ~_T_401 ? _d_clr_T : 64'h0; // @[Monitor.scala 675:91 676:21]
  wire [526:0] _GEN_23 = _d_first_T & d_first_1 & ~_T_401 ? _d_opcodes_clr_T_5 : 527'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_614 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_617 = io_in_d_valid & d_first_1 & _T_612; // @[Monitor.scala 680:71]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [39:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_75 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_642 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_652 = _T_614 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_612; // @[Monitor.scala 694:116]
  wire  _T_653 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [39:0] a_set = _GEN_16[39:0];
  wire [39:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [39:0] d_clr = _GEN_22[39:0];
  wire [39:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [39:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [159:0] a_opcodes_set = _GEN_19[159:0];
  wire [159:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [159:0] d_opcodes_clr = _GEN_23[159:0];
  wire [159:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [159:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [159:0] a_sizes_set = _GEN_20[159:0];
  wire [159:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [159:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [39:0] inflight_1; // @[Monitor.scala 723:35]
  reg [159:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg [1:0] d_first_counter_2; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1_2 = d_first_counter_2 - 2'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = d_first_counter_2 == 2'h0; // @[Edges.scala 230:25]
  wire [159:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [159:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_60; // @[Monitor.scala 747:93]
  wire [159:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[159:1]}; // @[Monitor.scala 747:146]
  wire  _T_683 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire [63:0] _GEN_67 = _d_first_T & d_first_2 & _T_401 ? _d_clr_T : 64'h0; // @[Monitor.scala 783:90 784:21]
  wire [526:0] _GEN_69 = _d_first_T & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 527'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_696 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 789:71]
  wire [39:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_703 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_707 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
  wire [39:0] d_clr_1 = _GEN_67[39:0];
  wire [39:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [39:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [159:0] d_sizes_clr_1 = _GEN_69[159:0];
  wire [159:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [159:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
          a_first_counter <= a_first_beats1_decode;
        end else begin
          a_first_counter <= 2'h0;
        end
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter <= d_first_beats1_decode;
        end else begin
          d_first_counter <= 2'h0;
        end
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 40'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 160'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 160'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
          a_first_counter_1 <= a_first_beats1_decode;
        end else begin
          a_first_counter_1 <= 2'h0;
        end
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter_1 <= d_first_beats1_decode;
        end else begin
          d_first_counter_1 <= 2'h0;
        end
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 40'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 160'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter_2 <= d_first_beats1_decode;
        end else begin
          d_first_counter_2 <= 2'h0;
        end
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_195 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_236 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_279 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_279 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_279 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_317 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_317 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_317 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_397) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_397 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_401 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_401 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_401 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_421 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_421 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_449 & _T_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_449 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_478 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_478 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_478 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_495 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_495 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_495 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_543 & ~reset & ~_T_544) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_544 & (_T_543 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_543 & ~reset & ~_T_548) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_548 & (_T_543 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_543 & ~reset & ~_T_552) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_552 & (_T_543 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_543 & ~reset & ~_T_556) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_556 & (_T_543 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_543 & ~reset & ~_T_560) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_560 & (_T_543 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_567 & _T_2 & ~_T_568) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_568 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_567 & _T_2 & ~_T_576) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_567 & _T_2 & ~_T_580) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_580 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (_T_567 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_597 & ~reset & ~_T_601) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_601 & (_T_597 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_617 & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_617 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_617 & same_cycle_resp & _T_2 & ~_T_626) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_626 & (_T_617 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_617 & same_cycle_resp & _T_2 & ~_T_630) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_630 & (_T_617 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_617 & ~same_cycle_resp & _T_2 & ~_T_638) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_638 & (_T_617 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_617 & ~same_cycle_resp & _T_2 & ~_T_642) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_642 & (_T_617 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_652 & _T_2 & ~_T_654) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_654 & (_T_652 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_663) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_663 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_683 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_696 & _T_2 & ~_T_697[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_697[0] & (_T_696 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_703 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_696 & _T_2 & ~_T_707) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_707 & (_T_696 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_653 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_727) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:71:71)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_727 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[5:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[1:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  size_1 = _RAND_8[2:0];
  _RAND_9 = {1{`RANDOM}};
  source_1 = _RAND_9[5:0];
  _RAND_10 = {2{`RANDOM}};
  inflight = _RAND_10[39:0];
  _RAND_11 = {5{`RANDOM}};
  inflight_opcodes = _RAND_11[159:0];
  _RAND_12 = {5{`RANDOM}};
  inflight_sizes = _RAND_12[159:0];
  _RAND_13 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_14[1:0];
  _RAND_15 = {1{`RANDOM}};
  watchdog = _RAND_15[31:0];
  _RAND_16 = {2{`RANDOM}};
  inflight_1 = _RAND_16[39:0];
  _RAND_17 = {5{`RANDOM}};
  inflight_sizes_1 = _RAND_17[159:0];
  _RAND_18 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_18[1:0];
  _RAND_19 = {1{`RANDOM}};
  watchdog_1 = _RAND_19[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Repeater(
  input         clock,
  input         reset,
  input         io_repeat,
  output        io_full,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input  [5:0]  io_enq_bits_source,
  input  [31:0] io_enq_bits_address,
  input  [7:0]  io_enq_bits_mask,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [5:0]  io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [7:0]  io_deq_bits_mask,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
`endif // RANDOMIZE_REG_INIT
  reg  full; // @[Repeater.scala 19:21]
  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
  reg [2:0] saved_param; // @[Repeater.scala 20:18]
  reg [2:0] saved_size; // @[Repeater.scala 20:18]
  reg [5:0] saved_source; // @[Repeater.scala 20:18]
  reg [31:0] saved_address; // @[Repeater.scala 20:18]
  reg [7:0] saved_mask; // @[Repeater.scala 20:18]
  reg  saved_corrupt; // @[Repeater.scala 20:18]
  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign io_full = full; // @[Repeater.scala 26:11]
  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
  always @(posedge clock) begin
    if (reset) begin // @[Repeater.scala 19:21]
      full <= 1'h0; // @[Repeater.scala 19:21]
    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
      full <= 1'h0; // @[Repeater.scala 29:45]
    end else begin
      full <= _GEN_0;
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
    end
    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[5:0];
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[7:0];
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLFragmenter(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input  [5:0]  auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [2:0]  auto_in_d_bits_size,
  output [5:0]  auto_in_d_bits_source,
  output [63:0] auto_in_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [1:0]  auto_out_a_bits_size,
  output [8:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_size,
  input  [8:0]  auto_out_d_bits_source,
  input  [63:0] auto_out_d_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
`endif // RANDOMIZE_REG_INIT
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [5:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [5:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire  repeater_clock; // @[Fragmenter.scala 262:30]
  wire  repeater_reset; // @[Fragmenter.scala 262:30]
  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
  wire [5:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
  wire [31:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
  wire [7:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
  wire [5:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
  wire [31:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
  wire [7:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
  reg [1:0] acknum; // @[Fragmenter.scala 189:29]
  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
  reg  dToggle; // @[Fragmenter.scala 191:30]
  wire [1:0] dFragnum = auto_out_d_bits_source[1:0]; // @[Fragmenter.scala 192:41]
  wire  dFirst = acknum == 2'h0; // @[Fragmenter.scala 193:29]
  wire  dLast = dFragnum == 2'h0; // @[Fragmenter.scala 194:30]
  wire [3:0] dsizeOH = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
  wire [5:0] _dsizeOH1_T_1 = 6'h7 << auto_out_d_bits_size; // @[package.scala 234:77]
  wire [2:0] dsizeOH1 = ~_dsizeOH1_T_1[2:0]; // @[package.scala 234:46]
  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
  wire  ack_decrement = dHasData | dsizeOH[3]; // @[Fragmenter.scala 204:32]
  wire [4:0] _dFirst_size_T = {dFragnum, 3'h0}; // @[Fragmenter.scala 206:47]
  wire [4:0] _GEN_7 = {{2'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
  wire [4:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
  wire [5:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
  wire [5:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 6'h1; // @[package.scala 232:40]
  wire [5:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 33:92]
  wire [5:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
  wire [5:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
  wire [1:0] dFirst_size_hi = _dFirst_size_T_6[5:4]; // @[OneHot.scala 30:18]
  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
  wire [3:0] _GEN_8 = {{2'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 33:92]
  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 52:35]
  wire [1:0] _GEN_9 = {{1'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
  wire [1:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h3 ? 3'h3 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
  wire [11:0] _aOrigOH1_T_1 = 12'h1f << repeater_io_deq_bits_size; // @[package.scala 234:77]
  wire [4:0] aOrigOH1 = ~_aOrigOH1_T_1[4:0]; // @[package.scala 234:46]
  wire [9:0] _aFragOH1_T_1 = 10'h7 << aFrag; // @[package.scala 234:77]
  wire [2:0] aFragOH1 = ~_aFragOH1_T_1[2:0]; // @[package.scala 234:46]
  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
  reg [1:0] gennum; // @[Fragmenter.scala 291:29]
  wire  aFirst = gennum == 2'h0; // @[Fragmenter.scala 292:29]
  wire [1:0] _old_gennum1_T_2 = gennum - 2'h1; // @[Fragmenter.scala 293:79]
  wire [1:0] old_gennum1 = aFirst ? aOrigOH1[4:3] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
  wire [1:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
  wire [1:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
  reg  aToggle_r; // @[Reg.scala 19:16]
  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 19:16 20:{18,22}]
  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 52:35]
  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
  wire [4:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 3'h0}; // @[Fragmenter.scala 304:65]
  wire [4:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
  wire [4:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
  wire [4:0] _GEN_10 = {{2'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
  wire [4:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
  wire [4:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 5'h7; // @[Fragmenter.scala 304:111]
  wire [4:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
  wire [31:0] _GEN_11 = {{27'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
  wire [6:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 33:92]
  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
  TLMonitor_10 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source)
  );
  Repeater repeater ( // @[Fragmenter.scala 262:30]
    .clock(repeater_clock),
    .reset(repeater_reset),
    .io_repeat(repeater_io_repeat),
    .io_full(repeater_io_full),
    .io_enq_ready(repeater_io_enq_ready),
    .io_enq_valid(repeater_io_enq_valid),
    .io_enq_bits_opcode(repeater_io_enq_bits_opcode),
    .io_enq_bits_param(repeater_io_enq_bits_param),
    .io_enq_bits_size(repeater_io_enq_bits_size),
    .io_enq_bits_source(repeater_io_enq_bits_source),
    .io_enq_bits_address(repeater_io_enq_bits_address),
    .io_enq_bits_mask(repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(repeater_io_enq_bits_corrupt),
    .io_deq_ready(repeater_io_deq_ready),
    .io_deq_valid(repeater_io_deq_valid),
    .io_deq_bits_opcode(repeater_io_deq_bits_opcode),
    .io_deq_bits_param(repeater_io_deq_bits_param),
    .io_deq_bits_size(repeater_io_deq_bits_size),
    .io_deq_bits_source(repeater_io_deq_bits_source),
    .io_deq_bits_address(repeater_io_deq_bits_address),
    .io_deq_bits_mask(repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(repeater_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
  assign auto_in_d_bits_source = auto_out_d_bits_source[8:3]; // @[Fragmenter.scala 226:47]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 33:92]
  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
  assign auto_out_a_bits_mask = repeater_io_full ? 8'hff : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[8:3]; // @[Fragmenter.scala 226:47]
  assign repeater_clock = clock;
  assign repeater_reset = reset;
  assign repeater_io_repeat = ~aHasData & new_gennum != 2'h0; // @[Fragmenter.scala 302:41]
  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  always @(posedge clock) begin
    if (reset) begin // @[Fragmenter.scala 189:29]
      acknum <= 2'h0; // @[Fragmenter.scala 189:29]
    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
      if (dFirst) begin // @[Fragmenter.scala 209:24]
        acknum <= dFragnum;
      end else begin
        acknum <= _acknum_T_1;
      end
    end
    if (_T_7) begin // @[Fragmenter.scala 208:29]
      if (dFirst) begin // @[Fragmenter.scala 210:25]
        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
      end
    end
    if (reset) begin // @[Fragmenter.scala 191:30]
      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
      if (dFirst) begin // @[Fragmenter.scala 210:25]
        dToggle <= auto_out_d_bits_source[2]; // @[Fragmenter.scala 212:21]
      end
    end
    if (reset) begin // @[Fragmenter.scala 291:29]
      gennum <= 2'h0; // @[Fragmenter.scala 291:29]
    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
    end
    if (aFirst) begin // @[Reg.scala 20:18]
      aToggle_r <= dToggle; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Fragmenter.scala 202:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
            ); // @[Fragmenter.scala 309:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
          $fatal; // @[Fragmenter.scala 309:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 8'hff)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
            ); // @[Fragmenter.scala 312:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_9 | repeater_io_deq_bits_mask == 8'hff) & _T_5) begin
          $fatal; // @[Fragmenter.scala 312:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  acknum = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  dOrig = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  dToggle = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  gennum = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  aToggle_r = _RAND_4[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLWidthWidget(
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input  [5:0]  auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [2:0]  auto_in_d_bits_size,
  output [5:0]  auto_in_d_bits_source,
  output [63:0] auto_in_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output [5:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [2:0]  auto_out_d_bits_size,
  input  [5:0]  auto_out_d_bits_source,
  input  [63:0] auto_out_d_bits_data
);
  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
endmodule
module TLMonitor_11(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input  [4:0]  io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_c_ready,
  input         io_in_c_valid,
  input  [2:0]  io_in_c_bits_opcode,
  input  [2:0]  io_in_c_bits_param,
  input  [2:0]  io_in_c_bits_size,
  input  [4:0]  io_in_c_bits_source,
  input  [31:0] io_in_c_bits_address,
  input         io_in_c_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input  [4:0]  io_in_d_bits_source,
  input  [2:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt,
  input         io_in_e_valid,
  input  [2:0]  io_in_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [95:0] _RAND_20;
  reg [95:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [95:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T_4 = io_in_a_bits_source <= 5'h13; // @[Parameters.scala 57:20]
  wire [11:0] _is_aligned_mask_T_1 = 12'h1f << io_in_a_bits_size; // @[package.scala 234:77]
  wire [4:0] is_aligned_mask = ~_is_aligned_mask_T_1[4:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_27 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_27; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_34 = 3'h3 <= io_in_a_bits_size & io_in_a_bits_size <= 3'h5; // @[Parameters.scala 92:37]
  wire [32:0] _T_39 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_40 = $signed(_T_39) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_41 = _T_34 & _T_40; // @[Parameters.scala 670:56]
  wire  _T_43 = _source_ok_T_4 & _T_41; // @[Monitor.scala 82:72]
  wire  _T_47 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire  _T_59 = _T_47 & _T_40; // @[Monitor.scala 83:78]
  wire  _T_73 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_77 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_78 = _T_77 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_82 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_86 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_143 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_156 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_195 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_244 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_281 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_282 = io_in_a_bits_mask & _T_281; // @[Monitor.scala 127:31]
  wire  _T_283 = _T_282 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_287 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_317 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_325 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_393 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_405 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_10 = io_in_d_bits_source <= 5'h13; // @[Parameters.scala 57:20]
  wire  _T_409 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_413 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_417 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_421 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_425 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_429 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_440 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_444 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_457 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_477 = _T_425 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_486 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_503 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_521 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire [32:0] _T_550 = {1'b0,$signed(32'h0)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_3 = $signed(_T_550) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _source_ok_T_16 = io_in_c_bits_source <= 5'h13; // @[Parameters.scala 57:20]
  wire [11:0] _is_aligned_mask_T_7 = 12'h1f << io_in_c_bits_size; // @[package.scala 234:77]
  wire [4:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[4:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_33 = {{27'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_33; // @[Edges.scala 20:16]
  wire  is_aligned_2 = _is_aligned_T_2 == 32'h0; // @[Edges.scala 20:24]
  wire [32:0] _address_ok_T_6 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_8 = $signed(_address_ok_T_6) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_810 = ~_source_ok_T_16; // @[Monitor.scala 63:7]
  wire  _T_820 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
  wire  _T_827 = io_in_c_bits_size >= 3'h3; // @[Monitor.scala 245:30]
  wire  _T_834 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
  wire  _T_838 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
  wire  _T_842 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
  wire  _T_860 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
  wire  _T_874 = 3'h3 <= io_in_c_bits_size & io_in_c_bits_size <= 3'h5; // @[Parameters.scala 92:37]
  wire  _T_881 = _T_874 & _address_ok_T_9; // @[Parameters.scala 670:56]
  wire  _T_883 = _source_ok_T_16 & _T_881; // @[Monitor.scala 260:78]
  wire  _T_887 = 3'h4 == io_in_c_bits_size; // @[Parameters.scala 91:48]
  wire  _T_899 = _T_887 & _address_ok_T_9; // @[Monitor.scala 261:78]
  wire  _T_921 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
  wire  _T_978 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
  wire  _T_988 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
  wire  _T_996 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
  wire  _T_1010 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire [1:0] a_first_beats1_decode = is_aligned_mask[4:3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  reg [1:0] a_first_counter; // @[Edges.scala 228:27]
  wire [1:0] a_first_counter1 = a_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  a_first = a_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg [4:0] source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_1032 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_1033 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_1037 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_1041 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_1045 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_1049 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [11:0] _d_first_beats1_decode_T_1 = 12'h1f << io_in_d_bits_size; // @[package.scala 234:77]
  wire [4:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[4:0]; // @[package.scala 234:46]
  wire [1:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[4:3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  reg [1:0] d_first_counter; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1 = d_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  d_first = d_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg [4:0] source_1; // @[Monitor.scala 538:22]
  reg [2:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_1056 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_1057 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_1061 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_1065 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_1069 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_1073 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_1077 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 52:35]
  wire [1:0] c_first_beats1_decode = is_aligned_mask_2[4:3]; // @[Edges.scala 219:59]
  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
  reg [1:0] c_first_counter; // @[Edges.scala 228:27]
  wire [1:0] c_first_counter1 = c_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  c_first = c_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
  reg [2:0] param_3; // @[Monitor.scala 513:22]
  reg [2:0] size_3; // @[Monitor.scala 514:22]
  reg [4:0] source_3; // @[Monitor.scala 515:22]
  reg [31:0] address_2; // @[Monitor.scala 516:22]
  wire  _T_1108 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
  wire  _T_1109 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
  wire  _T_1113 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
  wire  _T_1117 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
  wire  _T_1121 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
  wire  _T_1125 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
  reg [19:0] inflight; // @[Monitor.scala 611:27]
  reg [79:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [79:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg [1:0] a_first_counter_1; // @[Edges.scala 228:27]
  wire [1:0] a_first_counter1_1 = a_first_counter_1 - 2'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = a_first_counter_1 == 2'h0; // @[Edges.scala 230:25]
  reg [1:0] d_first_counter_1; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1_1 = d_first_counter_1 - 2'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = d_first_counter_1 == 2'h0; // @[Edges.scala 230:25]
  wire [6:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [7:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
  wire [79:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [79:0] _GEN_74 = {{64'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
  wire [79:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_74; // @[Monitor.scala 634:97]
  wire [79:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[79:1]}; // @[Monitor.scala 634:152]
  wire [79:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [79:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_74; // @[Monitor.scala 638:91]
  wire [79:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[79:1]}; // @[Monitor.scala 638:144]
  wire  _T_1134 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [31:0] _a_set_T = 32'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [6:0] _GEN_87 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [7:0] _a_opcodes_set_T = {{1'd0}, _GEN_87}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [258:0] _GEN_497 = {{255'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [258:0] _a_opcodes_set_T_1 = _GEN_497 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [258:0] _GEN_498 = {{255'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [258:0] _a_sizes_set_T_1 = _GEN_498 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [19:0] _T_1136 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_1138 = ~_T_1136[0]; // @[Monitor.scala 658:17]
  wire [31:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_T : 32'h0; // @[Monitor.scala 652:72 653:28]
  wire [258:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 259'h0; // @[Monitor.scala 652:72 656:28]
  wire [258:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 259'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_1149 = ~_T_409; // @[Monitor.scala 675:75]
  wire [31:0] _d_clr_T = 32'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [270:0] _GEN_499 = {{255'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [270:0] _d_opcodes_clr_T_5 = _GEN_499 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [31:0] _GEN_34 = _d_first_T & d_first_1 & ~_T_409 ? _d_clr_T : 32'h0; // @[Monitor.scala 675:91 676:21]
  wire [270:0] _GEN_35 = _d_first_T & d_first_1 & ~_T_409 ? _d_opcodes_clr_T_5 : 271'h0; // @[Monitor.scala 675:91 677:21]
  wire  _T_1151 = io_in_d_valid & d_first_1; // @[Monitor.scala 680:26]
  wire  _T_1154 = io_in_d_valid & d_first_1 & _T_1149; // @[Monitor.scala 680:71]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = io_in_a_valid & a_first_1 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [19:0] _T_1155 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_1157 = _T_1155[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
  wire  _T_1162 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
  wire  _T_1163 = io_in_d_bits_opcode == _GEN_44 | _T_1162; // @[Monitor.scala 685:77]
  wire  _T_1167 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
  wire  _T_1174 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
  wire  _T_1175 = io_in_d_bits_opcode == _GEN_60 | _T_1174; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_91 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_1179 = _GEN_91 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_1189 = _T_1151 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1149; // @[Monitor.scala 694:116]
  wire  _T_1190 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_1191 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire [19:0] a_set = _GEN_28[19:0];
  wire [19:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [19:0] d_clr = _GEN_34[19:0];
  wire [19:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [19:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [79:0] a_opcodes_set = _GEN_31[79:0];
  wire [79:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [79:0] d_opcodes_clr = _GEN_35[79:0];
  wire [79:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [79:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [79:0] a_sizes_set = _GEN_32[79:0];
  wire [79:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [79:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_1200 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [19:0] inflight_1; // @[Monitor.scala 723:35]
  reg [79:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg [1:0] c_first_counter_1; // @[Edges.scala 228:27]
  wire [1:0] c_first_counter1_1 = c_first_counter_1 - 2'h1; // @[Edges.scala 229:28]
  wire  c_first_1 = c_first_counter_1 == 2'h0; // @[Edges.scala 230:25]
  reg [1:0] d_first_counter_2; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1_2 = d_first_counter_2 - 2'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = d_first_counter_2 == 2'h0; // @[Edges.scala 230:25]
  wire [79:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [79:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_74; // @[Monitor.scala 747:93]
  wire [79:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[79:1]}; // @[Monitor.scala 747:146]
  wire  _T_1216 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
  wire  _T_1217 = _c_first_T & c_first_1 & _T_1216; // @[Monitor.scala 760:38]
  wire [31:0] _c_set_T = 32'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
  wire [3:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
  wire [3:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 4'h1; // @[Monitor.scala 763:59]
  wire [6:0] _GEN_95 = {io_in_c_bits_source, 2'h0}; // @[Monitor.scala 765:77]
  wire [7:0] _c_sizes_set_T = {{1'd0}, _GEN_95}; // @[Monitor.scala 765:77]
  wire [3:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_1216 ? _c_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 760:72 763:28]
  wire [258:0] _GEN_501 = {{255'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
  wire [258:0] _c_sizes_set_T_1 = _GEN_501 << _c_sizes_set_T; // @[Monitor.scala 765:52]
  wire [19:0] _T_1218 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
  wire  _T_1220 = ~_T_1218[0]; // @[Monitor.scala 766:17]
  wire [31:0] _GEN_73 = _c_first_T & c_first_1 & _T_1216 ? _c_set_T : 32'h0; // @[Monitor.scala 760:72 761:28]
  wire [258:0] _GEN_77 = _c_first_T & c_first_1 & _T_1216 ? _c_sizes_set_T_1 : 259'h0; // @[Monitor.scala 760:72 765:28]
  wire [31:0] _GEN_79 = _d_first_T & d_first_2 & _T_409 ? _d_clr_T : 32'h0; // @[Monitor.scala 783:90 784:21]
  wire [270:0] _GEN_81 = _d_first_T & d_first_2 & _T_409 ? _d_opcodes_clr_T_5 : 271'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_1231 = io_in_d_valid & d_first_2; // @[Monitor.scala 789:26]
  wire  _T_1233 = io_in_d_valid & d_first_2 & _T_409; // @[Monitor.scala 789:71]
  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
  wire  same_cycle_resp_1 = io_in_c_valid & c_first_1 & _T_1216 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
  wire [19:0] _T_1234 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_1236 = _T_1234[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
  wire  _T_1240 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_1244 = _GEN_91 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_1253 = _T_1231 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_409; // @[Monitor.scala 799:116]
  wire  _T_1255 = _T_1190 | io_in_c_ready; // @[Monitor.scala 800:32]
  wire [19:0] c_set = _GEN_73[19:0];
  wire [19:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
  wire [19:0] d_clr_1 = _GEN_79[19:0];
  wire [19:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [19:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [79:0] c_sizes_set = _GEN_77[79:0];
  wire [79:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
  wire [79:0] d_sizes_clr_1 = _GEN_81[79:0];
  wire [79:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [79:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_1264 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  reg [7:0] inflight_2; // @[Monitor.scala 823:27]
  reg [1:0] d_first_counter_3; // @[Edges.scala 228:27]
  wire [1:0] d_first_counter1_3 = d_first_counter_3 - 2'h1; // @[Edges.scala 229:28]
  wire  d_first_3 = d_first_counter_3 == 2'h0; // @[Edges.scala 230:25]
  wire  _T_1276 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
  wire  _T_1277 = _d_first_T & d_first_3 & _T_1276; // @[Monitor.scala 829:38]
  wire [7:0] _d_set_T = 8'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
  wire [7:0] _T_1278 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
  wire  _T_1280 = ~_T_1278[0]; // @[Monitor.scala 831:14]
  wire [7:0] d_set = _d_first_T & d_first_3 & _T_1276 ? _d_set_T : 8'h0; // @[Monitor.scala 829:72 830:13]
  wire [7:0] _e_clr_T = 8'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
  wire [7:0] _T_1287 = d_set | inflight_2; // @[Monitor.scala 837:24]
  wire [7:0] _T_1288 = _T_1287 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
  wire [7:0] e_clr = io_in_e_valid ? _e_clr_T : 8'h0; // @[Monitor.scala 835:73 836:13]
  wire [7:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
  wire [7:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
  wire [7:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
          a_first_counter <= a_first_beats1_decode;
        end else begin
          a_first_counter <= 2'h0;
        end
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter <= d_first_beats1_decode;
        end else begin
          d_first_counter <= 2'h0;
        end
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first) begin // @[Edges.scala 235:21]
        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
          c_first_counter <= c_first_beats1_decode;
        end else begin
          c_first_counter <= 2'h0;
        end
      end else begin
        c_first_counter <= c_first_counter1;
      end
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 20'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 80'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 80'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
          a_first_counter_1 <= a_first_beats1_decode;
        end else begin
          a_first_counter_1 <= 2'h0;
        end
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter_1 <= d_first_beats1_decode;
        end else begin
          d_first_counter_1 <= 2'h0;
        end
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 20'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 80'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter_1 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first_1) begin // @[Edges.scala 235:21]
        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
          c_first_counter_1 <= c_first_beats1_decode;
        end else begin
          c_first_counter_1 <= 2'h0;
        end
      end else begin
        c_first_counter_1 <= c_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter_2 <= d_first_beats1_decode;
        end else begin
          d_first_counter_2 <= 2'h0;
        end
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    if (reset) begin // @[Monitor.scala 823:27]
      inflight_2 <= 8'h0; // @[Monitor.scala 823:27]
    end else begin
      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_3 <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_3) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter_3 <= d_first_beats1_decode;
        end else begin
          d_first_counter_3 <= 2'h0;
        end
      end else begin
        d_first_counter_3 <= d_first_counter1_3;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_43) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_43 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_73) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_73 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_82) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_82 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_43) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_43 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_59) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_59 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_73) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_73 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_143) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_143 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_78) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_78 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_86 & ~reset & ~_T_82) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_82 & (io_in_a_valid & _T_86 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & ~_T_41) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_41 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & ~_T_191) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_191 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_156 & ~reset & ~_T_82) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_82 & (io_in_a_valid & _T_156 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_203 & ~reset & ~_T_43) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_43 & (io_in_a_valid & _T_203 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_203 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_203 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_203 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_203 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_203 & ~reset & ~_T_191) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_191 & (io_in_a_valid & _T_203 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_203 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_203 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_244 & ~reset & ~_T_43) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_43 & (io_in_a_valid & _T_244 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_244 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_244 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_244 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_244 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_244 & ~reset & ~_T_191) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_191 & (io_in_a_valid & _T_244 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_244 & ~reset & ~_T_283) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_283 & (io_in_a_valid & _T_244 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_317) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_317 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_355) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_355 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & _T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_4 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_393) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_393 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_82) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_82 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_405) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_405 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_409 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_409 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_409 & _T_2 & ~_T_413) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_413 & (io_in_d_valid & _T_409 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_409 & _T_2 & ~_T_417) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_417 & (io_in_d_valid & _T_409 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_409 & _T_2 & ~_T_421) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_421 & (io_in_d_valid & _T_409 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_409 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_409 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_T_413) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_413 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_T_440) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_440 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_T_444) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_444 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_T_421) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_421 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_429 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_429 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_T_413) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_413 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_T_440) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_440 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_T_444) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_444 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_T_477) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_477 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_457 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_457 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_486 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_486 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_486 & _T_2 & ~_T_417) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_417 & (io_in_d_valid & _T_486 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_486 & _T_2 & ~_T_421) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_421 & (io_in_d_valid & _T_486 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_486 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_486 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_503 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_503 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_503 & _T_2 & ~_T_417) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_417 & (io_in_d_valid & _T_503 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_503 & _T_2 & ~_T_477) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_477 & (io_in_d_valid & _T_503 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_503 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_503 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_source_ok_T_10) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_10 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_417) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_417 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_421) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_421 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_521 & _T_2 & ~_T_425) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_425 & (io_in_d_valid & _T_521 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & ~_T_827) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_827 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & ~_T_834) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_834 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_820 & ~reset & ~_T_838) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_838 & (io_in_c_valid & _T_820 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_842 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_842 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_842 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_842 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_842 & ~reset & ~_T_827) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_827 & (io_in_c_valid & _T_842 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_842 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_842 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_842 & ~reset & ~_T_834) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_834 & (io_in_c_valid & _T_842 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~_T_883) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_883 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~_T_899) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_899 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~_T_827) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_827 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~_T_834) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid report param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_834 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_860 & ~reset & ~_T_838) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_838 & (io_in_c_valid & _T_860 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & ~_T_883) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_883 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & ~_T_899) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_899 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & ~_T_827) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_827 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_921 & ~reset & ~_T_834) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_834 & (io_in_c_valid & _T_921 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_978 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_978 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_978 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_978 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_978 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_978 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_978 & ~reset & ~_T_988) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_988 & (io_in_c_valid & _T_978 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_978 & ~reset & ~_T_838) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_838 & (io_in_c_valid & _T_978 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_996 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_996 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_996 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_996 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_996 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_996 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_996 & ~reset & ~_T_988) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_988 & (io_in_c_valid & _T_996 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1010 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_1010 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1010 & ~reset & _T_810) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_16 & (io_in_c_valid & _T_1010 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1010 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_1010 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1010 & ~reset & ~_T_988) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid param (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_988 & (io_in_c_valid & _T_1010 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_1010 & ~reset & ~_T_838) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck is corrupt (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_838 & (io_in_c_valid & _T_1010 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1032 & ~reset & ~_T_1033) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1033 & (_T_1032 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1032 & ~reset & ~_T_1037) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1037 & (_T_1032 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1032 & ~reset & ~_T_1041) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1041 & (_T_1032 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1032 & ~reset & ~_T_1045) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1045 & (_T_1032 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1032 & ~reset & ~_T_1049) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1049 & (_T_1032 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1057) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1057 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1061) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1061 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1065) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1065 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1069) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1069 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1073) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1073 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1056 & _T_2 & ~_T_1077) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1077 & (_T_1056 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1108 & ~reset & ~_T_1109) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1109 & (_T_1108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1108 & ~reset & ~_T_1113) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel param changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1113 & (_T_1108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1108 & ~reset & ~_T_1117) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel size changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1117 & (_T_1108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1108 & ~reset & ~_T_1121) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel source changed within multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1121 & (_T_1108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1108 & ~reset & ~_T_1125) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel address changed with multibeat operation (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1125 & (_T_1108 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1134 & ~reset & ~_T_1138) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1138 & (_T_1134 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1154 & _T_2 & ~_T_1157) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1157 & (_T_1154 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1154 & same_cycle_resp & _T_2 & ~_T_1163) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1163 & (_T_1154 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1154 & same_cycle_resp & _T_2 & ~_T_1167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1167 & (_T_1154 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1154 & ~same_cycle_resp & _T_2 & ~_T_1175) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1175 & (_T_1154 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1154 & ~same_cycle_resp & _T_2 & ~_T_1179) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1179 & (_T_1154 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_2 & ~_T_1191) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1191 & (_T_1189 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1200) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1200 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1217 & ~reset & ~_T_1220) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel re-used a source ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1220 & (_T_1217 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1233 & _T_2 & ~_T_1236) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1236 & (_T_1233 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1233 & same_cycle_resp_1 & _T_2 & ~_T_1240) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1240 & (_T_1233 & same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1233 & ~same_cycle_resp_1 & _T_2 & ~_T_1244) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1244 & (_T_1233 & ~same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1253 & _T_2 & ~_T_1255) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1255 & (_T_1253 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1264) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1264 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1277 & _T_2 & ~_T_1280) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel re-used a sink ID (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1280 & (_T_1277 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_e_valid & ~reset & ~_T_1288[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at Rift2Link.scala:72:56)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1288[0] & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[4:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[1:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[4:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[2:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  c_first_counter = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  opcode_3 = _RAND_14[2:0];
  _RAND_15 = {1{`RANDOM}};
  param_3 = _RAND_15[2:0];
  _RAND_16 = {1{`RANDOM}};
  size_3 = _RAND_16[2:0];
  _RAND_17 = {1{`RANDOM}};
  source_3 = _RAND_17[4:0];
  _RAND_18 = {1{`RANDOM}};
  address_2 = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  inflight = _RAND_19[19:0];
  _RAND_20 = {3{`RANDOM}};
  inflight_opcodes = _RAND_20[79:0];
  _RAND_21 = {3{`RANDOM}};
  inflight_sizes = _RAND_21[79:0];
  _RAND_22 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_22[1:0];
  _RAND_23 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_23[1:0];
  _RAND_24 = {1{`RANDOM}};
  watchdog = _RAND_24[31:0];
  _RAND_25 = {1{`RANDOM}};
  inflight_1 = _RAND_25[19:0];
  _RAND_26 = {3{`RANDOM}};
  inflight_sizes_1 = _RAND_26[79:0];
  _RAND_27 = {1{`RANDOM}};
  c_first_counter_1 = _RAND_27[1:0];
  _RAND_28 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_28[1:0];
  _RAND_29 = {1{`RANDOM}};
  watchdog_1 = _RAND_29[31:0];
  _RAND_30 = {1{`RANDOM}};
  inflight_2 = _RAND_30[7:0];
  _RAND_31 = {1{`RANDOM}};
  d_first_counter_3 = _RAND_31[1:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module IDPool(
  input        clock,
  input        reset,
  input        io_free_valid,
  input  [2:0] io_free_bits,
  input        io_alloc_ready,
  output       io_alloc_valid,
  output [2:0] io_alloc_bits
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg [7:0] bitmap; // @[IDPool.scala 18:23]
  reg [2:0] select; // @[IDPool.scala 19:23]
  reg  valid; // @[IDPool.scala 20:23]
  wire [7:0] _taken_T = 8'h1 << io_alloc_bits; // @[OneHot.scala 64:12]
  wire [7:0] taken = io_alloc_ready ? _taken_T : 8'h0; // @[IDPool.scala 25:19]
  wire [7:0] _given_T = 8'h1 << io_free_bits; // @[OneHot.scala 64:12]
  wire [7:0] given = io_free_valid ? _given_T : 8'h0; // @[IDPool.scala 26:19]
  wire [7:0] _bitmap1_T = ~taken; // @[IDPool.scala 27:27]
  wire [7:0] _bitmap1_T_1 = bitmap & _bitmap1_T; // @[IDPool.scala 27:25]
  wire [7:0] bitmap1 = _bitmap1_T_1 | given; // @[IDPool.scala 27:35]
  wire [2:0] _select1_T_8 = bitmap1[6] ? 3'h6 : 3'h7; // @[Mux.scala 47:70]
  wire [2:0] _select1_T_9 = bitmap1[5] ? 3'h5 : _select1_T_8; // @[Mux.scala 47:70]
  wire [2:0] _select1_T_10 = bitmap1[4] ? 3'h4 : _select1_T_9; // @[Mux.scala 47:70]
  wire [2:0] _select1_T_11 = bitmap1[3] ? 3'h3 : _select1_T_10; // @[Mux.scala 47:70]
  wire [2:0] _select1_T_12 = bitmap1[2] ? 3'h2 : _select1_T_11; // @[Mux.scala 47:70]
  wire  _valid1_T = |bitmap; // @[IDPool.scala 29:28]
  wire [1:0] _valid1_T_9 = bitmap[0] + bitmap[1]; // @[Bitwise.scala 51:90]
  wire [1:0] _valid1_T_11 = bitmap[2] + bitmap[3]; // @[Bitwise.scala 51:90]
  wire [2:0] _valid1_T_13 = _valid1_T_9 + _valid1_T_11; // @[Bitwise.scala 51:90]
  wire [1:0] _valid1_T_15 = bitmap[4] + bitmap[5]; // @[Bitwise.scala 51:90]
  wire [1:0] _valid1_T_17 = bitmap[6] + bitmap[7]; // @[Bitwise.scala 51:90]
  wire [2:0] _valid1_T_19 = _valid1_T_15 + _valid1_T_17; // @[Bitwise.scala 51:90]
  wire [3:0] _valid1_T_21 = _valid1_T_13 + _valid1_T_19; // @[Bitwise.scala 51:90]
  wire  _valid1_T_26 = |bitmap & ~(_valid1_T_21 == 4'h1 & io_alloc_ready); // @[IDPool.scala 29:32]
  wire  valid1 = _valid1_T_26 | io_free_valid; // @[IDPool.scala 30:17]
  wire  _GEN_1 = io_alloc_ready | io_free_valid ? valid1 : valid; // @[IDPool.scala 33:42 35:12 20:23]
  wire  _T_2 = ~io_alloc_valid & io_free_valid; // @[IDPool.scala 39:44]
  wire [7:0] _T_7 = _bitmap1_T_1 >> io_free_bits; // @[IDPool.scala 44:47]
  wire  _T_12 = ~reset; // @[IDPool.scala 44:10]
  reg  REG; // @[IDPool.scala 51:36]
  wire  _T_22 = io_alloc_valid & REG; // @[IDPool.scala 51:26]
  wire [2:0] _T_31 = bitmap[6] ? 3'h6 : 3'h7; // @[Mux.scala 47:70]
  wire [2:0] _T_32 = bitmap[5] ? 3'h5 : _T_31; // @[Mux.scala 47:70]
  wire [2:0] _T_33 = bitmap[4] ? 3'h4 : _T_32; // @[Mux.scala 47:70]
  wire [2:0] _T_34 = bitmap[3] ? 3'h3 : _T_33; // @[Mux.scala 47:70]
  wire [2:0] _T_35 = bitmap[2] ? 3'h2 : _T_34; // @[Mux.scala 47:70]
  wire [2:0] _T_36 = bitmap[1] ? 3'h1 : _T_35; // @[Mux.scala 47:70]
  wire [2:0] _T_37 = bitmap[0] ? 3'h0 : _T_36; // @[Mux.scala 47:70]
  assign io_alloc_valid = valid; // @[IDPool.scala 22:18]
  assign io_alloc_bits = select; // @[IDPool.scala 23:18]
  always @(posedge clock) begin
    if (reset) begin // @[IDPool.scala 18:23]
      bitmap <= 8'hff; // @[IDPool.scala 18:23]
    end else if (io_alloc_ready | io_free_valid) begin // @[IDPool.scala 33:42]
      bitmap <= bitmap1; // @[IDPool.scala 34:12]
    end
    if (reset) begin // @[IDPool.scala 19:23]
      select <= 3'h0; // @[IDPool.scala 19:23]
    end else if (io_alloc_ready | ~io_alloc_valid & io_free_valid) begin // @[IDPool.scala 39:63]
      if (bitmap1[0]) begin // @[Mux.scala 47:70]
        select <= 3'h0;
      end else if (bitmap1[1]) begin // @[Mux.scala 47:70]
        select <= 3'h1;
      end else begin
        select <= _select1_T_12;
      end
    end
    valid <= reset | _GEN_1; // @[IDPool.scala 20:{23,23}]
    REG <= io_alloc_ready | _T_2; // @[IDPool.scala 51:52]
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~io_free_valid | ~_T_7[0])) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at IDPool.scala:44 assert (!io.free.valid || !(bitmap & ~taken)(io.free.bits))\n"); // @[IDPool.scala 44:10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~io_free_valid | ~_T_7[0]) & ~reset) begin
          $fatal; // @[IDPool.scala 44:10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_12 & ~(valid == _valid1_T)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IDPool.scala:48 assert (valid === bitmap.orR)\n"); // @[IDPool.scala 48:12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(valid == _valid1_T) & _T_12) begin
          $fatal; // @[IDPool.scala 48:12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_22 & _T_12 & ~(select == _T_37)) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IDPool.scala:52 assert (select === PriorityEncoder(bitmap))\n"
            ); // @[IDPool.scala 52:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(select == _T_37) & (_T_22 & _T_12)) begin
          $fatal; // @[IDPool.scala 52:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  bitmap = _RAND_0[7:0];
  _RAND_1 = {1{`RANDOM}};
  select = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  valid = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  REG = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_31(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_size,
  input  [4:0]  io_enq_bits_source,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [1:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output [4:0]  io_deq_bits_source,
  output        io_deq_bits_denied,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg [4:0] ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_denied [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = 2'h0;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
  assign ram_denied_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_denied_MPORT_data = 1'h0;
  assign ram_denied_MPORT_addr = enq_ptr_value;
  assign ram_denied_MPORT_mask = 1'h1;
  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = 64'h0;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = 1'h0;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[4:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_denied[initvar] = _RAND_4[0:0];
  _RAND_5 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_5[63:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_6[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  enq_ptr_value = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  deq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  maybe_full = _RAND_9[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLCacheCork(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input  [4:0]  auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  output        auto_in_c_ready,
  input         auto_in_c_valid,
  input  [2:0]  auto_in_c_bits_opcode,
  input  [2:0]  auto_in_c_bits_param,
  input  [2:0]  auto_in_c_bits_size,
  input  [4:0]  auto_in_c_bits_source,
  input  [31:0] auto_in_c_bits_address,
  input  [63:0] auto_in_c_bits_data,
  input         auto_in_c_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [1:0]  auto_in_d_bits_param,
  output [2:0]  auto_in_d_bits_size,
  output [4:0]  auto_in_d_bits_source,
  output [2:0]  auto_in_d_bits_sink,
  output        auto_in_d_bits_denied,
  output [63:0] auto_in_d_bits_data,
  output        auto_in_d_bits_corrupt,
  input         auto_in_e_valid,
  input  [2:0]  auto_in_e_bits_sink,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output [5:0]  auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [2:0]  auto_out_d_bits_size,
  input  [5:0]  auto_out_d_bits_source,
  input  [63:0] auto_out_d_bits_data
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
`endif // RANDOMIZE_REG_INIT
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
  wire  pool_clock; // @[CacheCork.scala 117:26]
  wire  pool_reset; // @[CacheCork.scala 117:26]
  wire  pool_io_free_valid; // @[CacheCork.scala 117:26]
  wire [2:0] pool_io_free_bits; // @[CacheCork.scala 117:26]
  wire  pool_io_alloc_ready; // @[CacheCork.scala 117:26]
  wire  pool_io_alloc_valid; // @[CacheCork.scala 117:26]
  wire [2:0] pool_io_alloc_bits; // @[CacheCork.scala 117:26]
  wire  q_clock; // @[Decoupled.scala 377:21]
  wire  q_reset; // @[Decoupled.scala 377:21]
  wire  q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire  q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire  q_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  q_1_clock; // @[Decoupled.scala 377:21]
  wire  q_1_reset; // @[Decoupled.scala 377:21]
  wire  q_1_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  q_1_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] q_1_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] q_1_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] q_1_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire  q_1_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  q_1_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] q_1_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] q_1_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] q_1_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire [4:0] q_1_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire  q_1_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] q_1_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  q_1_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  isPut = auto_in_a_bits_opcode == 3'h0 | auto_in_a_bits_opcode == 3'h1; // @[CacheCork.scala 66:54]
  wire  _toD_T = auto_in_a_bits_opcode == 3'h6; // @[CacheCork.scala 67:37]
  wire  _toD_T_3 = auto_in_a_bits_opcode == 3'h7; // @[CacheCork.scala 68:37]
  wire  toD = auto_in_a_bits_opcode == 3'h6 & auto_in_a_bits_param == 3'h2 | _toD_T_3; // @[CacheCork.scala 67:97]
  wire  a_d_ready = q_1_io_enq_ready; // @[CacheCork.scala 65:23 Decoupled.scala 381:17]
  reg [1:0] beatsLeft; // @[Arbiter.scala 87:30]
  wire  idle = beatsLeft == 2'h0; // @[Arbiter.scala 88:28]
  wire  a_a_valid = auto_in_a_valid & ~toD; // @[CacheCork.scala 71:33]
  wire  _c_a_valid_T = auto_in_c_bits_opcode == 3'h7; // @[CacheCork.scala 92:53]
  wire  c_a_valid = auto_in_c_valid & auto_in_c_bits_opcode == 3'h7; // @[CacheCork.scala 92:33]
  wire [1:0] _readys_T = {a_a_valid,c_a_valid}; // @[Cat.scala 33:92]
  wire [2:0] _readys_T_1 = {_readys_T, 1'h0}; // @[package.scala 244:48]
  wire [1:0] _readys_T_3 = _readys_T | _readys_T_1[1:0]; // @[package.scala 244:43]
  wire [2:0] _readys_T_5 = {_readys_T_3, 1'h0}; // @[Arbiter.scala 16:78]
  wire [1:0] _readys_T_7 = ~_readys_T_5[1:0]; // @[Arbiter.scala 16:61]
  wire  readys__1 = _readys_T_7[1]; // @[Arbiter.scala 95:86]
  reg  state__1; // @[Arbiter.scala 116:26]
  wire  allowed__1 = idle ? readys__1 : state__1; // @[Arbiter.scala 121:24]
  wire  out_1_ready = auto_out_a_ready & allowed__1; // @[Arbiter.scala 123:31]
  wire [5:0] _a_a_bits_source_T = {auto_in_a_bits_source, 1'h0}; // @[CacheCork.scala 73:45]
  wire [5:0] _GEN_69 = {{5'd0}, isPut}; // @[CacheCork.scala 73:50]
  wire [5:0] _a_a_bits_source_T_2 = _a_a_bits_source_T | _GEN_69; // @[CacheCork.scala 73:50]
  wire [5:0] _a_a_bits_source_T_4 = _a_a_bits_source_T | 6'h1; // @[CacheCork.scala 79:52]
  wire [2:0] a_a_bits_opcode = _toD_T | _toD_T_3 ? 3'h4 : auto_in_a_bits_opcode; // @[CacheCork.scala 72:18 76:86 77:27]
  wire [2:0] a_a_bits_param = _toD_T | _toD_T_3 ? 3'h0 : auto_in_a_bits_param; // @[CacheCork.scala 72:18 76:86 78:27]
  wire [5:0] a_a_bits_source = _toD_T | _toD_T_3 ? _a_a_bits_source_T_4 : _a_a_bits_source_T_2; // @[CacheCork.scala 73:25 76:86 79:27]
  wire [5:0] c_a_bits_a_source = {auto_in_c_bits_source, 1'h0}; // @[CacheCork.scala 94:41]
  wire [1:0] c_a_bits_a_mask_sizeOH_shiftAmount = auto_in_c_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _c_a_bits_a_mask_sizeOH_T_1 = 4'h1 << c_a_bits_a_mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] c_a_bits_a_mask_sizeOH = _c_a_bits_a_mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _c_a_bits_a_mask_T = auto_in_c_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  c_a_bits_a_mask_size = c_a_bits_a_mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  c_a_bits_a_mask_bit = auto_in_c_bits_address[2]; // @[Misc.scala 209:26]
  wire  c_a_bits_a_mask_nbit = ~c_a_bits_a_mask_bit; // @[Misc.scala 210:20]
  wire  c_a_bits_a_mask_acc = _c_a_bits_a_mask_T | c_a_bits_a_mask_size & c_a_bits_a_mask_nbit; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_acc_1 = _c_a_bits_a_mask_T | c_a_bits_a_mask_size & c_a_bits_a_mask_bit; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_size_1 = c_a_bits_a_mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  c_a_bits_a_mask_bit_1 = auto_in_c_bits_address[1]; // @[Misc.scala 209:26]
  wire  c_a_bits_a_mask_nbit_1 = ~c_a_bits_a_mask_bit_1; // @[Misc.scala 210:20]
  wire  c_a_bits_a_mask_eq_2 = c_a_bits_a_mask_nbit & c_a_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_2 = c_a_bits_a_mask_acc | c_a_bits_a_mask_size_1 & c_a_bits_a_mask_eq_2; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_3 = c_a_bits_a_mask_nbit & c_a_bits_a_mask_bit_1; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_3 = c_a_bits_a_mask_acc | c_a_bits_a_mask_size_1 & c_a_bits_a_mask_eq_3; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_4 = c_a_bits_a_mask_bit & c_a_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_4 = c_a_bits_a_mask_acc_1 | c_a_bits_a_mask_size_1 & c_a_bits_a_mask_eq_4; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_5 = c_a_bits_a_mask_bit & c_a_bits_a_mask_bit_1; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_5 = c_a_bits_a_mask_acc_1 | c_a_bits_a_mask_size_1 & c_a_bits_a_mask_eq_5; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_size_2 = c_a_bits_a_mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  c_a_bits_a_mask_bit_2 = auto_in_c_bits_address[0]; // @[Misc.scala 209:26]
  wire  c_a_bits_a_mask_nbit_2 = ~c_a_bits_a_mask_bit_2; // @[Misc.scala 210:20]
  wire  c_a_bits_a_mask_eq_6 = c_a_bits_a_mask_eq_2 & c_a_bits_a_mask_nbit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_6 = c_a_bits_a_mask_acc_2 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_6; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_7 = c_a_bits_a_mask_eq_2 & c_a_bits_a_mask_bit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_7 = c_a_bits_a_mask_acc_2 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_7; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_8 = c_a_bits_a_mask_eq_3 & c_a_bits_a_mask_nbit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_8 = c_a_bits_a_mask_acc_3 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_8; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_9 = c_a_bits_a_mask_eq_3 & c_a_bits_a_mask_bit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_9 = c_a_bits_a_mask_acc_3 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_9; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_10 = c_a_bits_a_mask_eq_4 & c_a_bits_a_mask_nbit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_10 = c_a_bits_a_mask_acc_4 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_10; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_11 = c_a_bits_a_mask_eq_4 & c_a_bits_a_mask_bit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_11 = c_a_bits_a_mask_acc_4 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_11; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_12 = c_a_bits_a_mask_eq_5 & c_a_bits_a_mask_nbit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_12 = c_a_bits_a_mask_acc_5 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_12; // @[Misc.scala 214:29]
  wire  c_a_bits_a_mask_eq_13 = c_a_bits_a_mask_eq_5 & c_a_bits_a_mask_bit_2; // @[Misc.scala 213:27]
  wire  c_a_bits_a_mask_acc_13 = c_a_bits_a_mask_acc_5 | c_a_bits_a_mask_size_2 & c_a_bits_a_mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] c_a_bits_a_mask = {c_a_bits_a_mask_acc_13,c_a_bits_a_mask_acc_12,c_a_bits_a_mask_acc_11,
    c_a_bits_a_mask_acc_10,c_a_bits_a_mask_acc_9,c_a_bits_a_mask_acc_8,c_a_bits_a_mask_acc_7,c_a_bits_a_mask_acc_6}; // @[Cat.scala 33:92]
  wire  _c_d_valid_T = auto_in_c_bits_opcode == 3'h6; // @[CacheCork.scala 103:53]
  wire  _T_9 = ~reset; // @[CacheCork.scala 106:16]
  wire  c_d_ready = q_io_enq_ready; // @[CacheCork.scala 102:23 Decoupled.scala 381:17]
  wire  readys__0 = _readys_T_7[0]; // @[Arbiter.scala 95:86]
  reg  state__0; // @[Arbiter.scala 116:26]
  wire  allowed__0 = idle ? readys__0 : state__0; // @[Arbiter.scala 121:24]
  wire  out_ready = auto_out_a_ready & allowed__0; // @[Arbiter.scala 123:31]
  reg [1:0] d_first_counter; // @[Edges.scala 228:27]
  wire  d_first = d_first_counter == 2'h0; // @[Edges.scala 230:25]
  reg [1:0] beatsLeft_1; // @[Arbiter.scala 87:30]
  wire  idle_1 = beatsLeft_1 == 2'h0; // @[Arbiter.scala 88:28]
  wire  out_5_earlyValid = q_1_io_deq_valid; // @[ReadyValidCancel.scala 68:19 69:20]
  wire  out_4_earlyValid = q_io_deq_valid; // @[ReadyValidCancel.scala 68:19 69:20]
  wire [2:0] _readys_T_10 = {out_5_earlyValid,out_4_earlyValid,auto_out_d_valid}; // @[Cat.scala 33:92]
  wire [3:0] _readys_T_11 = {_readys_T_10, 1'h0}; // @[package.scala 244:48]
  wire [2:0] _readys_T_13 = _readys_T_10 | _readys_T_11[2:0]; // @[package.scala 244:43]
  wire [4:0] _readys_T_14 = {_readys_T_13, 2'h0}; // @[package.scala 244:48]
  wire [2:0] _readys_T_16 = _readys_T_13 | _readys_T_14[2:0]; // @[package.scala 244:43]
  wire [3:0] _readys_T_18 = {_readys_T_16, 1'h0}; // @[Arbiter.scala 16:78]
  wire [2:0] _readys_T_20 = ~_readys_T_18[2:0]; // @[Arbiter.scala 16:61]
  wire  readys_1_0 = _readys_T_20[0]; // @[Arbiter.scala 95:86]
  wire  earlyWinner_1_0 = readys_1_0 & auto_out_d_valid; // @[Arbiter.scala 97:79]
  reg  state_1_0; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_1_0 = idle_1 ? earlyWinner_1_0 : state_1_0; // @[Arbiter.scala 117:30]
  wire [2:0] _GEN_66 = auto_out_d_bits_opcode == 3'h1 & auto_out_d_bits_source[0] ? 3'h5 : auto_out_d_bits_opcode; // @[CacheCork.scala 132:13 152:76 153:27]
  wire [2:0] d_d_bits_opcode = auto_out_d_bits_opcode == 3'h0 & ~auto_out_d_bits_source[0] ? 3'h6 : _GEN_66; // @[CacheCork.scala 156:73 157:27]
  wire [2:0] _T_141 = muxStateEarly_1_0 ? d_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire  readys_1_1 = _readys_T_20[1]; // @[Arbiter.scala 95:86]
  wire  earlyWinner_1_1 = readys_1_1 & out_4_earlyValid; // @[Arbiter.scala 97:79]
  reg  state_1_1; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_1_1 = idle_1 ? earlyWinner_1_1 : state_1_1; // @[Arbiter.scala 117:30]
  wire [2:0] out_4_bits_opcode = q_io_deq_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [2:0] _T_142 = muxStateEarly_1_1 ? out_4_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_144 = _T_141 | _T_142; // @[Mux.scala 27:73]
  wire  readys_1_2 = _readys_T_20[2]; // @[Arbiter.scala 95:86]
  wire  earlyWinner_1_2 = readys_1_2 & out_5_earlyValid; // @[Arbiter.scala 97:79]
  reg  state_1_2; // @[Arbiter.scala 116:26]
  wire  muxStateEarly_1_2 = idle_1 ? earlyWinner_1_2 : state_1_2; // @[Arbiter.scala 117:30]
  wire [2:0] out_5_bits_opcode = q_1_io_deq_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [2:0] _T_143 = muxStateEarly_1_2 ? out_5_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] sink_ACancel_1_bits_opcode = _T_144 | _T_143; // @[Mux.scala 27:73]
  wire  d_grant = sink_ACancel_1_bits_opcode == 3'h5 | sink_ACancel_1_bits_opcode == 3'h4; // @[CacheCork.scala 123:54]
  wire  _in_d_ready_T_3 = pool_io_alloc_valid | ~d_first | ~d_grant; // @[CacheCork.scala 126:70]
  wire  in_d_ready = auto_in_d_ready & (pool_io_alloc_valid | ~d_first | ~d_grant); // @[CacheCork.scala 126:34]
  wire  _sink_ACancel_earlyValid_T_6 = auto_out_d_valid | out_4_earlyValid | out_5_earlyValid; // @[Arbiter.scala 125:56]
  wire  _sink_ACancel_earlyValid_T_11 = state_1_0 & auto_out_d_valid | state_1_1 & out_4_earlyValid | state_1_2 &
    out_5_earlyValid; // @[Mux.scala 27:73]
  wire  sink_ACancel_1_earlyValid = idle_1 ? auto_out_d_valid | out_4_earlyValid | out_5_earlyValid :
    _sink_ACancel_earlyValid_T_11; // @[Arbiter.scala 125:29]
  wire  _d_first_T = in_d_ready & sink_ACancel_1_earlyValid; // @[Decoupled.scala 52:35]
  wire [2:0] _T_131 = muxStateEarly_1_0 ? auto_out_d_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] out_4_bits_size = q_io_deq_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [2:0] _T_132 = muxStateEarly_1_1 ? out_4_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_134 = _T_131 | _T_132; // @[Mux.scala 27:73]
  wire [2:0] out_5_bits_size = q_1_io_deq_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [2:0] _T_133 = muxStateEarly_1_2 ? out_5_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] sink_ACancel_1_bits_size = _T_134 | _T_133; // @[Mux.scala 27:73]
  wire [11:0] _d_first_beats1_decode_T_1 = 12'h1f << sink_ACancel_1_bits_size; // @[package.scala 234:77]
  wire [4:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[4:0]; // @[package.scala 234:46]
  wire [1:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[4:3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = sink_ACancel_1_bits_opcode[0]; // @[Edges.scala 105:36]
  wire [1:0] d_first_counter1 = d_first_counter - 2'h1; // @[Edges.scala 229:28]
  wire  bundleIn_0_d_valid = sink_ACancel_1_earlyValid & _in_d_ready_T_3; // @[CacheCork.scala 125:34]
  wire  _pool_io_alloc_ready_T = auto_in_d_ready & bundleIn_0_d_valid; // @[Decoupled.scala 52:35]
  reg [2:0] bundleIn_0_d_bits_sink_r; // @[Reg.scala 19:16]
  wire [4:0] d_d_bits_source = auto_out_d_bits_source[5:1]; // @[CacheCork.scala 133:46]
  wire [11:0] _decode_T_1 = 12'h1f << auto_in_c_bits_size; // @[package.scala 234:77]
  wire [4:0] _decode_T_3 = ~_decode_T_1[4:0]; // @[package.scala 234:46]
  wire [1:0] decode = _decode_T_3[4:3]; // @[Edges.scala 219:59]
  wire [11:0] _decode_T_5 = 12'h1f << auto_in_a_bits_size; // @[package.scala 234:77]
  wire [4:0] _decode_T_7 = ~_decode_T_5[4:0]; // @[package.scala 234:46]
  wire [1:0] decode_1 = _decode_T_7[4:3]; // @[Edges.scala 219:59]
  wire  opdata_1 = ~a_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire [1:0] _T_24 = opdata_1 ? decode_1 : 2'h0; // @[Edges.scala 220:14]
  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
  wire  earlyWinner__0 = readys__0 & c_a_valid; // @[Arbiter.scala 97:79]
  wire  earlyWinner__1 = readys__1 & a_a_valid; // @[Arbiter.scala 97:79]
  wire  _T_35 = c_a_valid | a_a_valid; // @[Arbiter.scala 107:36]
  wire  _T_36 = ~(c_a_valid | a_a_valid); // @[Arbiter.scala 107:15]
  wire [1:0] maskedBeats_0 = earlyWinner__0 ? decode : 2'h0; // @[Arbiter.scala 111:73]
  wire [1:0] maskedBeats_1 = earlyWinner__1 ? _T_24 : 2'h0; // @[Arbiter.scala 111:73]
  wire [1:0] initBeats = maskedBeats_0 | maskedBeats_1; // @[Arbiter.scala 112:44]
  wire  muxStateEarly__0 = idle ? earlyWinner__0 : state__0; // @[Arbiter.scala 117:30]
  wire  muxStateEarly__1 = idle ? earlyWinner__1 : state__1; // @[Arbiter.scala 117:30]
  wire  _sink_ACancel_earlyValid_T_3 = state__0 & c_a_valid | state__1 & a_a_valid; // @[Mux.scala 27:73]
  wire  sink_ACancel_earlyValid = idle ? _T_35 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
  wire  _beatsLeft_T_2 = auto_out_a_ready & sink_ACancel_earlyValid; // @[ReadyValidCancel.scala 49:33]
  wire [1:0] _GEN_70 = {{1'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
  wire [1:0] _beatsLeft_T_4 = beatsLeft - _GEN_70; // @[Arbiter.scala 113:52]
  wire [63:0] _T_52 = muxStateEarly__0 ? auto_in_c_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_53 = muxStateEarly__1 ? auto_in_a_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_55 = muxStateEarly__0 ? c_a_bits_a_mask : 8'h0; // @[Mux.scala 27:73]
  wire [7:0] _T_56 = muxStateEarly__1 ? auto_in_a_bits_mask : 8'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_58 = muxStateEarly__0 ? auto_in_c_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [31:0] _T_59 = muxStateEarly__1 ? auto_in_a_bits_address : 32'h0; // @[Mux.scala 27:73]
  wire [5:0] _T_61 = muxStateEarly__0 ? c_a_bits_a_source : 6'h0; // @[Mux.scala 27:73]
  wire [5:0] _T_62 = muxStateEarly__1 ? a_a_bits_source : 6'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_64 = muxStateEarly__0 ? auto_in_c_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [2:0] _T_65 = muxStateEarly__1 ? auto_in_a_bits_size : 3'h0; // @[Mux.scala 27:73]
  wire [11:0] _decode_T_9 = 12'h1f << auto_out_d_bits_size; // @[package.scala 234:77]
  wire [4:0] _decode_T_11 = ~_decode_T_9[4:0]; // @[package.scala 234:46]
  wire [1:0] decode_2 = _decode_T_11[4:3]; // @[Edges.scala 219:59]
  wire  opdata_2 = d_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  latch_1 = idle_1 & in_d_ready; // @[Arbiter.scala 89:24]
  wire  prefixOR_2 = earlyWinner_1_0 | earlyWinner_1_1; // @[Arbiter.scala 104:53]
  wire  _T_90 = ~_sink_ACancel_earlyValid_T_6; // @[Arbiter.scala 107:15]
  wire [1:0] _GEN_71 = {{1'd0}, _d_first_T}; // @[Arbiter.scala 113:52]
  wire [1:0] _beatsLeft_T_10 = beatsLeft_1 - _GEN_71; // @[Arbiter.scala 113:52]
  wire  allowed_1_0 = idle_1 ? readys_1_0 : state_1_0; // @[Arbiter.scala 121:24]
  wire  allowed_1_1 = idle_1 ? readys_1_1 : state_1_1; // @[Arbiter.scala 121:24]
  wire  allowed_1_2 = idle_1 ? readys_1_2 : state_1_2; // @[Arbiter.scala 121:24]
  wire  out_4_bits_corrupt = q_io_deq_bits_corrupt; // @[ReadyValidCancel.scala 68:19 71:14]
  wire  out_5_bits_corrupt = q_1_io_deq_bits_corrupt; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [63:0] _T_111 = muxStateEarly_1_0 ? auto_out_d_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] out_4_bits_data = q_io_deq_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [63:0] _T_112 = muxStateEarly_1_1 ? out_4_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] out_5_bits_data = q_1_io_deq_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [63:0] _T_113 = muxStateEarly_1_2 ? out_5_bits_data : 64'h0; // @[Mux.scala 27:73]
  wire [63:0] _T_114 = _T_111 | _T_112; // @[Mux.scala 27:73]
  wire  out_4_bits_denied = q_io_deq_bits_denied; // @[ReadyValidCancel.scala 68:19 71:14]
  wire  out_5_bits_denied = q_1_io_deq_bits_denied; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [4:0] _T_126 = muxStateEarly_1_0 ? d_d_bits_source : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] out_4_bits_source = q_io_deq_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [4:0] _T_127 = muxStateEarly_1_1 ? out_4_bits_source : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] out_5_bits_source = q_1_io_deq_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [4:0] _T_128 = muxStateEarly_1_2 ? out_5_bits_source : 5'h0; // @[Mux.scala 27:73]
  wire [4:0] _T_129 = _T_126 | _T_127; // @[Mux.scala 27:73]
  wire [1:0] out_4_bits_param = q_io_deq_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [1:0] _T_137 = muxStateEarly_1_1 ? out_4_bits_param : 2'h0; // @[Mux.scala 27:73]
  wire [1:0] out_5_bits_param = q_1_io_deq_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
  wire [1:0] _T_138 = muxStateEarly_1_2 ? out_5_bits_param : 2'h0; // @[Mux.scala 27:73]
  TLMonitor_11 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_c_ready(monitor_io_in_c_ready),
    .io_in_c_valid(monitor_io_in_c_valid),
    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
    .io_in_c_bits_param(monitor_io_in_c_bits_param),
    .io_in_c_bits_size(monitor_io_in_c_bits_size),
    .io_in_c_bits_source(monitor_io_in_c_bits_source),
    .io_in_c_bits_address(monitor_io_in_c_bits_address),
    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
    .io_in_e_valid(monitor_io_in_e_valid),
    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
  );
  IDPool pool ( // @[CacheCork.scala 117:26]
    .clock(pool_clock),
    .reset(pool_reset),
    .io_free_valid(pool_io_free_valid),
    .io_free_bits(pool_io_free_bits),
    .io_alloc_ready(pool_io_alloc_ready),
    .io_alloc_valid(pool_io_alloc_valid),
    .io_alloc_bits(pool_io_alloc_bits)
  );
  Queue_31 q ( // @[Decoupled.scala 377:21]
    .clock(q_clock),
    .reset(q_reset),
    .io_enq_ready(q_io_enq_ready),
    .io_enq_valid(q_io_enq_valid),
    .io_enq_bits_opcode(q_io_enq_bits_opcode),
    .io_enq_bits_size(q_io_enq_bits_size),
    .io_enq_bits_source(q_io_enq_bits_source),
    .io_deq_ready(q_io_deq_ready),
    .io_deq_valid(q_io_deq_valid),
    .io_deq_bits_opcode(q_io_deq_bits_opcode),
    .io_deq_bits_param(q_io_deq_bits_param),
    .io_deq_bits_size(q_io_deq_bits_size),
    .io_deq_bits_source(q_io_deq_bits_source),
    .io_deq_bits_denied(q_io_deq_bits_denied),
    .io_deq_bits_data(q_io_deq_bits_data),
    .io_deq_bits_corrupt(q_io_deq_bits_corrupt)
  );
  Queue_31 q_1 ( // @[Decoupled.scala 377:21]
    .clock(q_1_clock),
    .reset(q_1_reset),
    .io_enq_ready(q_1_io_enq_ready),
    .io_enq_valid(q_1_io_enq_valid),
    .io_enq_bits_opcode(q_1_io_enq_bits_opcode),
    .io_enq_bits_size(q_1_io_enq_bits_size),
    .io_enq_bits_source(q_1_io_enq_bits_source),
    .io_deq_ready(q_1_io_deq_ready),
    .io_deq_valid(q_1_io_deq_valid),
    .io_deq_bits_opcode(q_1_io_deq_bits_opcode),
    .io_deq_bits_param(q_1_io_deq_bits_param),
    .io_deq_bits_size(q_1_io_deq_bits_size),
    .io_deq_bits_source(q_1_io_deq_bits_source),
    .io_deq_bits_denied(q_1_io_deq_bits_denied),
    .io_deq_bits_data(q_1_io_deq_bits_data),
    .io_deq_bits_corrupt(q_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = toD ? a_d_ready : out_1_ready; // @[CacheCork.scala 69:26]
  assign auto_in_c_ready = _c_d_valid_T ? c_d_ready : out_ready; // @[CacheCork.scala 107:26]
  assign auto_in_d_valid = sink_ACancel_1_earlyValid & _in_d_ready_T_3; // @[CacheCork.scala 125:34]
  assign auto_in_d_bits_opcode = _T_144 | _T_143; // @[Mux.scala 27:73]
  assign auto_in_d_bits_param = _T_137 | _T_138; // @[Mux.scala 27:73]
  assign auto_in_d_bits_size = _T_134 | _T_133; // @[Mux.scala 27:73]
  assign auto_in_d_bits_source = _T_129 | _T_128; // @[Mux.scala 27:73]
  assign auto_in_d_bits_sink = d_first ? pool_io_alloc_bits : bundleIn_0_d_bits_sink_r; // @[package.scala 79:42]
  assign auto_in_d_bits_denied = muxStateEarly_1_1 & out_4_bits_denied | muxStateEarly_1_2 & out_5_bits_denied; // @[Mux.scala 27:73]
  assign auto_in_d_bits_data = _T_114 | _T_113; // @[Mux.scala 27:73]
  assign auto_in_d_bits_corrupt = muxStateEarly_1_1 & out_4_bits_corrupt | muxStateEarly_1_2 & out_5_bits_corrupt; // @[Mux.scala 27:73]
  assign auto_out_a_valid = idle ? _T_35 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
  assign auto_out_a_bits_opcode = muxStateEarly__1 ? a_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
  assign auto_out_a_bits_param = muxStateEarly__1 ? a_a_bits_param : 3'h0; // @[Mux.scala 27:73]
  assign auto_out_a_bits_size = _T_64 | _T_65; // @[Mux.scala 27:73]
  assign auto_out_a_bits_source = _T_61 | _T_62; // @[Mux.scala 27:73]
  assign auto_out_a_bits_address = _T_58 | _T_59; // @[Mux.scala 27:73]
  assign auto_out_a_bits_mask = _T_55 | _T_56; // @[Mux.scala 27:73]
  assign auto_out_a_bits_data = _T_52 | _T_53; // @[Mux.scala 27:73]
  assign auto_out_a_bits_corrupt = muxStateEarly__0 & auto_in_c_bits_corrupt | muxStateEarly__1 & auto_in_a_bits_corrupt
    ; // @[Mux.scala 27:73]
  assign auto_out_d_ready = in_d_ready & allowed_1_0; // @[Arbiter.scala 123:31]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = toD ? a_d_ready : out_1_ready; // @[CacheCork.scala 69:26]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_ready = _c_d_valid_T ? c_d_ready : out_ready; // @[CacheCork.scala 107:26]
  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = sink_ACancel_1_earlyValid & _in_d_ready_T_3; // @[CacheCork.scala 125:34]
  assign monitor_io_in_d_bits_opcode = _T_144 | _T_143; // @[Mux.scala 27:73]
  assign monitor_io_in_d_bits_param = _T_137 | _T_138; // @[Mux.scala 27:73]
  assign monitor_io_in_d_bits_size = _T_134 | _T_133; // @[Mux.scala 27:73]
  assign monitor_io_in_d_bits_source = _T_129 | _T_128; // @[Mux.scala 27:73]
  assign monitor_io_in_d_bits_sink = d_first ? pool_io_alloc_bits : bundleIn_0_d_bits_sink_r; // @[package.scala 79:42]
  assign monitor_io_in_d_bits_denied = muxStateEarly_1_1 & out_4_bits_denied | muxStateEarly_1_2 & out_5_bits_denied; // @[Mux.scala 27:73]
  assign monitor_io_in_d_bits_corrupt = muxStateEarly_1_1 & out_4_bits_corrupt | muxStateEarly_1_2 & out_5_bits_corrupt; // @[Mux.scala 27:73]
  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign pool_clock = clock;
  assign pool_reset = reset;
  assign pool_io_free_valid = auto_in_e_valid; // @[Decoupled.scala 52:35]
  assign pool_io_free_bits = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign pool_io_alloc_ready = _pool_io_alloc_ready_T & d_first & d_grant; // @[CacheCork.scala 124:55]
  assign q_clock = clock;
  assign q_reset = reset;
  assign q_io_enq_valid = auto_in_c_valid & auto_in_c_bits_opcode == 3'h6; // @[CacheCork.scala 103:33]
  assign q_io_enq_bits_opcode = 3'h6; // @[Edges.scala 642:17 643:15]
  assign q_io_enq_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign q_io_enq_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign q_io_deq_ready = in_d_ready & allowed_1_1; // @[Arbiter.scala 123:31]
  assign q_1_clock = clock;
  assign q_1_reset = reset;
  assign q_1_io_enq_valid = auto_in_a_valid & toD; // @[CacheCork.scala 83:33]
  assign q_1_io_enq_bits_opcode = 3'h4; // @[Edges.scala 614:17 615:15]
  assign q_1_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign q_1_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign q_1_io_deq_ready = in_d_ready & allowed_1_2; // @[Arbiter.scala 123:31]
  always @(posedge clock) begin
    if (reset) begin // @[Arbiter.scala 87:30]
      beatsLeft <= 2'h0; // @[Arbiter.scala 87:30]
    end else if (latch) begin // @[Arbiter.scala 113:23]
      beatsLeft <= initBeats;
    end else begin
      beatsLeft <= _beatsLeft_T_4;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state__1 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state__1 <= earlyWinner__1;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state__0 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle) begin // @[Arbiter.scala 117:30]
      state__0 <= earlyWinner__0;
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 2'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
          d_first_counter <= d_first_beats1_decode;
        end else begin
          d_first_counter <= 2'h0;
        end
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (reset) begin // @[Arbiter.scala 87:30]
      beatsLeft_1 <= 2'h0; // @[Arbiter.scala 87:30]
    end else if (latch_1) begin // @[Arbiter.scala 113:23]
      if (earlyWinner_1_0) begin // @[Arbiter.scala 111:73]
        if (opdata_2) begin // @[Edges.scala 220:14]
          beatsLeft_1 <= decode_2;
        end else begin
          beatsLeft_1 <= 2'h0;
        end
      end else begin
        beatsLeft_1 <= 2'h0;
      end
    end else begin
      beatsLeft_1 <= _beatsLeft_T_10;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_1_0 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle_1) begin // @[Arbiter.scala 117:30]
      state_1_0 <= earlyWinner_1_0;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_1_1 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle_1) begin // @[Arbiter.scala 117:30]
      state_1_1 <= earlyWinner_1_1;
    end
    if (reset) begin // @[Arbiter.scala 116:26]
      state_1_2 <= 1'h0; // @[Arbiter.scala 116:26]
    end else if (idle_1) begin // @[Arbiter.scala 117:30]
      state_1_2 <= earlyWinner_1_2;
    end
    if (d_first) begin // @[Reg.scala 20:18]
      bundleIn_0_d_bits_sink_r <= pool_io_alloc_bits; // @[Reg.scala 20:22]
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~(~auto_in_c_valid | _c_d_valid_T | _c_a_valid_T)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at CacheCork.scala:106 assert (!in.c.valid || in.c.bits.opcode === Release || in.c.bits.opcode === ReleaseData)\n"
            ); // @[CacheCork.scala 106:16]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~auto_in_c_valid | _c_d_valid_T | _c_a_valid_T) & ~reset) begin
          $fatal; // @[CacheCork.scala 106:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & _T_9) begin
          $fatal; // @[CacheCork.scala 114:16]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~earlyWinner__0 | ~earlyWinner__1)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
            ); // @[Arbiter.scala 105:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~earlyWinner__0 | ~earlyWinner__1) & _T_9) begin
          $fatal; // @[Arbiter.scala 105:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~(c_a_valid | a_a_valid) | (earlyWinner__0 | earlyWinner__1))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
            ); // @[Arbiter.scala 107:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~(c_a_valid | a_a_valid) | (earlyWinner__0 | earlyWinner__1)) & _T_9) begin
          $fatal; // @[Arbiter.scala 107:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(_T_36 | _T_35)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
            ); // @[Arbiter.scala 108:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_36 | _T_35) & _T_9) begin
          $fatal; // @[Arbiter.scala 108:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~((~earlyWinner_1_0 | ~earlyWinner_1_1) & (~prefixOR_2 | ~earlyWinner_1_2))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
            ); // @[Arbiter.scala 105:13]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~((~earlyWinner_1_0 | ~earlyWinner_1_1) & (~prefixOR_2 | ~earlyWinner_1_2)) & _T_9) begin
          $fatal; // @[Arbiter.scala 105:13]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(~_sink_ACancel_earlyValid_T_6 | (prefixOR_2 | earlyWinner_1_2))) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
            ); // @[Arbiter.scala 107:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(~_sink_ACancel_earlyValid_T_6 | (prefixOR_2 | earlyWinner_1_2)) & _T_9) begin
          $fatal; // @[Arbiter.scala 107:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_9 & ~(_T_90 | _sink_ACancel_earlyValid_T_6)) begin
          $fwrite(32'h80000002,
            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
            ); // @[Arbiter.scala 108:14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~(_T_90 | _sink_ACancel_earlyValid_T_6) & _T_9) begin
          $fatal; // @[Arbiter.scala 108:14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  beatsLeft = _RAND_0[1:0];
  _RAND_1 = {1{`RANDOM}};
  state__1 = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  state__0 = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  d_first_counter = _RAND_3[1:0];
  _RAND_4 = {1{`RANDOM}};
  beatsLeft_1 = _RAND_4[1:0];
  _RAND_5 = {1{`RANDOM}};
  state_1_0 = _RAND_5[0:0];
  _RAND_6 = {1{`RANDOM}};
  state_1_1 = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  state_1_2 = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  bundleIn_0_d_bits_sink_r = _RAND_8[2:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLMonitor_12(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input         io_in_d_bits_source,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_62 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_62; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_22 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_27 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_28 = $signed(_T_27) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_29 = _T_22 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_31 = _source_ok_T & _T_29; // @[Monitor.scala 82:72]
  wire  _T_60 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_64 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_65 = _T_64 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_69 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_73 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_146 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_154 = _T_146 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_165 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_169 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_177 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_195 = _source_ok_T & _T_154; // @[Monitor.scala 115:71]
  wire  _T_213 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_245 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_246 = io_in_a_bits_mask & _T_245; // @[Monitor.scala 127:31]
  wire  _T_247 = _T_246 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_259 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_267 = _T_259 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_269 = _source_ok_T & _T_267; // @[Monitor.scala 131:74]
  wire  _T_279 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_287 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_315 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_323 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_351 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_363 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_1 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
  wire  _T_367 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_371 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_375 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_379 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_383 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_387 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_398 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_402 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_415 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_435 = _T_383 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_444 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_461 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_479 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_509 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_510 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_514 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_518 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_522 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_526 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg  source_1; // @[Monitor.scala 538:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_533 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_534 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_538 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_542 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_546 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_550 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_554 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [2:0] _GEN_64 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_64}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_68 = {{12'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_68 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [3:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [15:0] _GEN_73 = {{12'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_560 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_563 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_75 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_75}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_355 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_355 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_356 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_356 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_567 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_571 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_573 = ~_T_367; // @[Monitor.scala 671:74]
  wire  _T_574 = io_in_d_valid & d_first_1 & ~_T_367; // @[Monitor.scala 671:71]
  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_367 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _GEN_357 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [30:0] _d_opcodes_clr_T_5 = _GEN_357 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & _T_573 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_573 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = _T_560 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire  _T_586 = inflight >> io_in_d_bits_source | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_591 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_592 = io_in_d_bits_opcode == _GEN_32 | _T_591; // @[Monitor.scala 685:77]
  wire  _T_596 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_603 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_604 = io_in_d_bits_opcode == _GEN_48 | _T_603; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_79 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_608 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_618 = _T_571 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_573; // @[Monitor.scala 694:116]
  wire  _T_619 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_620 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set_wo_ready = _GEN_15[0];
  wire  d_clr_wo_ready = _GEN_21[0];
  wire  _T_627 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire  a_set = _GEN_16[0];
  wire  d_clr = _GEN_22[0];
  wire [3:0] a_opcodes_set = _GEN_19[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_20[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_636 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [3:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [15:0] _GEN_81 = {{12'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_81 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_662 = io_in_d_valid & d_first_2 & _T_367; // @[Monitor.scala 779:71]
  wire [1:0] _GEN_66 = io_in_d_valid & d_first_2 & _T_367 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_367 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _T_670 = 1'h0 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_676 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_680 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  d_clr_wo_ready_1 = _GEN_66[0];
  wire [3:0] d_sizes_clr_1 = _GEN_69[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_60) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_60 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_122) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_122 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_65) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_65 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_73 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_73 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_154) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_154 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_135 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_135 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_177 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_177 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_165) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_165 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_213 & ~reset & ~_T_247) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_247 & (io_in_a_valid & _T_213 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_279) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_279 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_251 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_251 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_269) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_269 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_315) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_315 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_287 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_287 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_195) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_195 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_351) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_351 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_169) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_169 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_323 & ~reset & ~_T_69) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_69 & (io_in_a_valid & _T_323 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_363) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_363 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_367 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_367 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_387 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_387 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_371) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_371 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_398) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_398 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_402) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_402 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_415 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_415 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_444 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_444 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_435) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_435 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_461 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_461 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_375) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_375 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_379) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_379 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_479 & _T_2 & ~_T_383) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_383 & (io_in_d_valid & _T_479 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_510) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_510 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_514) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_514 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_518) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_518 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_522) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_522 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_509 & ~reset & ~_T_526) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_526 & (_T_509 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_534) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_534 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_538 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_542) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_542 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_546 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_550 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_533 & _T_2 & ~_T_554) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_554 & (_T_533 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_563 & ~reset & ~_T_567) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_567 & (_T_563 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & _T_2 & ~_T_586) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_586 & (_T_574 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_592) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_592 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & same_cycle_resp & _T_2 & ~_T_596) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_596 & (_T_574 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_604) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_604 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_574 & ~same_cycle_resp & _T_2 & ~_T_608) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_608 & (_T_574 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_618 & _T_2 & ~_T_620) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_620 & (_T_618 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_627) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_627 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_636) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_636 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2 & ~_T_670) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_670 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_676 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_662 & _T_2 & ~_T_680) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:76:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_680 & (_T_662 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_619 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~d_clr_wo_ready_1 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[4:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  inflight = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  inflight_opcodes = _RAND_14[3:0];
  _RAND_15 = {1{`RANDOM}};
  inflight_sizes = _RAND_15[3:0];
  _RAND_16 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  watchdog = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_19[3:0];
  _RAND_20 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_20[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_33(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input         io_enq_bits_source,
  input  [31:0] io_enq_bits_address,
  input  [7:0]  io_enq_bits_mask,
  input  [63:0] io_enq_bits_data,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output        io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [7:0]  io_deq_bits_mask,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [63:0] _RAND_6;
  reg [31:0] _RAND_7;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [7:0] ram_mask [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
  assign ram_mask_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_mask_MPORT_data = io_enq_bits_mask;
  assign ram_mask_MPORT_addr = enq_ptr_value;
  assign ram_mask_MPORT_mask = 1'h1;
  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_address[initvar] = _RAND_4[31:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_mask[initvar] = _RAND_5[7:0];
  _RAND_6 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_6[63:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_7[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  enq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  deq_ptr_value = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  maybe_full = _RAND_10[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_34(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [1:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input         io_enq_bits_source,
  input  [4:0]  io_enq_bits_sink,
  input         io_enq_bits_denied,
  input  [63:0] io_enq_bits_data,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [1:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output        io_deq_bits_source,
  output [4:0]  io_deq_bits_sink,
  output        io_deq_bits_denied,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [63:0] _RAND_6;
  reg [31:0] _RAND_7;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [4:0] ram_sink [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_denied [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_denied_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
  assign ram_sink_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_sink_MPORT_data = io_enq_bits_sink;
  assign ram_sink_MPORT_addr = enq_ptr_value;
  assign ram_sink_MPORT_mask = 1'h1;
  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
  assign ram_denied_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_denied_MPORT_data = io_enq_bits_denied;
  assign ram_denied_MPORT_addr = enq_ptr_value;
  assign ram_denied_MPORT_mask = 1'h1;
  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_sink[initvar] = _RAND_4[4:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_denied[initvar] = _RAND_5[0:0];
  _RAND_6 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_6[63:0];
  _RAND_7 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_7[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  enq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  deq_ptr_value = _RAND_9[0:0];
  _RAND_10 = {1{`RANDOM}};
  maybe_full = _RAND_10[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLBuffer(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input         auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [2:0]  auto_in_d_bits_size,
  output [63:0] auto_in_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output        auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_param,
  input  [2:0]  auto_out_d_bits_size,
  input  [4:0]  auto_out_d_bits_sink,
  input         auto_out_d_bits_denied,
  input  [63:0] auto_out_d_bits_data,
  input         auto_out_d_bits_corrupt
);
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  TLMonitor_12 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
  );
  Queue_33 bundleOut_0_a_q ( // @[Decoupled.scala 377:21]
    .clock(bundleOut_0_a_q_clock),
    .reset(bundleOut_0_a_q_reset),
    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
  );
  Queue_34 bundleIn_0_d_q ( // @[Decoupled.scala 377:21]
    .clock(bundleIn_0_d_q_clock),
    .reset(bundleIn_0_d_q_reset),
    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 381:17]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign bundleOut_0_a_q_clock = clock;
  assign bundleOut_0_a_q_reset = reset;
  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_clock = clock;
  assign bundleIn_0_d_q_reset = reset;
  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_source = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
endmodule
module TLMonitor_13(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_b_ready,
  input         io_in_b_valid,
  input  [2:0]  io_in_b_bits_opcode,
  input  [1:0]  io_in_b_bits_param,
  input  [2:0]  io_in_b_bits_size,
  input         io_in_b_bits_source,
  input  [31:0] io_in_b_bits_address,
  input  [7:0]  io_in_b_bits_mask,
  input         io_in_b_bits_corrupt,
  input         io_in_c_ready,
  input         io_in_c_valid,
  input  [2:0]  io_in_c_bits_opcode,
  input  [2:0]  io_in_c_bits_param,
  input  [2:0]  io_in_c_bits_size,
  input         io_in_c_bits_source,
  input  [31:0] io_in_c_bits_address,
  input         io_in_c_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input         io_in_d_bits_source,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt,
  input         io_in_e_ready,
  input         io_in_e_valid,
  input  [4:0]  io_in_e_bits_sink
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
  reg [31:0] _RAND_23;
  reg [31:0] _RAND_24;
  reg [31:0] _RAND_25;
  reg [31:0] _RAND_26;
  reg [31:0] _RAND_27;
  reg [31:0] _RAND_28;
  reg [31:0] _RAND_29;
  reg [31:0] _RAND_30;
  reg [31:0] _RAND_31;
  reg [31:0] _RAND_32;
  reg [31:0] _RAND_33;
  reg [31:0] _RAND_34;
  reg [31:0] _RAND_35;
  reg [31:0] _RAND_36;
  reg [31:0] _RAND_37;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_74 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_74; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
  wire [32:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_22 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_27 = $signed(_T_7) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_28 = $signed(_T_27) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_29 = _T_22 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_31 = _source_ok_T & _T_29; // @[Monitor.scala 82:72]
  wire  _T_61 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_65 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_66 = _T_65 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_70 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_74 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_124 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_137 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_148 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_156 = _T_148 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_167 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_171 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_179 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_197 = _source_ok_T & _T_156; // @[Monitor.scala 115:71]
  wire  _T_215 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_247 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_248 = io_in_a_bits_mask & _T_247; // @[Monitor.scala 127:31]
  wire  _T_249 = _T_248 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_253 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_261 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_269 = _T_261 & _T_28; // @[Parameters.scala 670:56]
  wire  _T_271 = _source_ok_T & _T_269; // @[Monitor.scala 131:74]
  wire  _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_317 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_325 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_353 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_365 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _source_ok_T_1 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
  wire  _T_369 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_373 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_377 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_381 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_385 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_389 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_400 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_404 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_417 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_437 = _T_385 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_446 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_463 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_481 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _T_498 = io_in_b_bits_opcode <= 3'h6; // @[Bundles.scala 40:24]
  wire  _T_502 = ~io_in_b_bits_source; // @[Parameters.scala 46:9]
  wire  _T_503 = ~_T_502; // @[Monitor.scala 63:7]
  wire [32:0] _T_505 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_3 = $signed(_T_505) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 33'sh0; // @[Parameters.scala 137:67]
  wire [10:0] _is_aligned_mask_T_4 = 11'hf << io_in_b_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask_1 = ~_is_aligned_mask_T_4[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_76 = {{28'd0}, is_aligned_mask_1}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T_1 = io_in_b_bits_address & _GEN_76; // @[Edges.scala 20:16]
  wire  is_aligned_1 = _is_aligned_T_1 == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount_1 = io_in_b_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_4 = 4'h1 << mask_sizeOH_shiftAmount_1; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH_1 = _mask_sizeOH_T_4[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T_1 = io_in_b_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size_3 = mask_sizeOH_1[2]; // @[Misc.scala 208:26]
  wire  mask_bit_3 = io_in_b_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit_3 = ~mask_bit_3; // @[Misc.scala 210:20]
  wire  mask_acc_14 = _mask_T_1 | mask_size_3 & mask_nbit_3; // @[Misc.scala 214:29]
  wire  mask_acc_15 = _mask_T_1 | mask_size_3 & mask_bit_3; // @[Misc.scala 214:29]
  wire  mask_size_4 = mask_sizeOH_1[1]; // @[Misc.scala 208:26]
  wire  mask_bit_4 = io_in_b_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_4 = ~mask_bit_4; // @[Misc.scala 210:20]
  wire  mask_eq_16 = mask_nbit_3 & mask_nbit_4; // @[Misc.scala 213:27]
  wire  mask_acc_16 = mask_acc_14 | mask_size_4 & mask_eq_16; // @[Misc.scala 214:29]
  wire  mask_eq_17 = mask_nbit_3 & mask_bit_4; // @[Misc.scala 213:27]
  wire  mask_acc_17 = mask_acc_14 | mask_size_4 & mask_eq_17; // @[Misc.scala 214:29]
  wire  mask_eq_18 = mask_bit_3 & mask_nbit_4; // @[Misc.scala 213:27]
  wire  mask_acc_18 = mask_acc_15 | mask_size_4 & mask_eq_18; // @[Misc.scala 214:29]
  wire  mask_eq_19 = mask_bit_3 & mask_bit_4; // @[Misc.scala 213:27]
  wire  mask_acc_19 = mask_acc_15 | mask_size_4 & mask_eq_19; // @[Misc.scala 214:29]
  wire  mask_size_5 = mask_sizeOH_1[0]; // @[Misc.scala 208:26]
  wire  mask_bit_5 = io_in_b_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_5 = ~mask_bit_5; // @[Misc.scala 210:20]
  wire  mask_eq_20 = mask_eq_16 & mask_nbit_5; // @[Misc.scala 213:27]
  wire  mask_acc_20 = mask_acc_16 | mask_size_5 & mask_eq_20; // @[Misc.scala 214:29]
  wire  mask_eq_21 = mask_eq_16 & mask_bit_5; // @[Misc.scala 213:27]
  wire  mask_acc_21 = mask_acc_16 | mask_size_5 & mask_eq_21; // @[Misc.scala 214:29]
  wire  mask_eq_22 = mask_eq_17 & mask_nbit_5; // @[Misc.scala 213:27]
  wire  mask_acc_22 = mask_acc_17 | mask_size_5 & mask_eq_22; // @[Misc.scala 214:29]
  wire  mask_eq_23 = mask_eq_17 & mask_bit_5; // @[Misc.scala 213:27]
  wire  mask_acc_23 = mask_acc_17 | mask_size_5 & mask_eq_23; // @[Misc.scala 214:29]
  wire  mask_eq_24 = mask_eq_18 & mask_nbit_5; // @[Misc.scala 213:27]
  wire  mask_acc_24 = mask_acc_18 | mask_size_5 & mask_eq_24; // @[Misc.scala 214:29]
  wire  mask_eq_25 = mask_eq_18 & mask_bit_5; // @[Misc.scala 213:27]
  wire  mask_acc_25 = mask_acc_18 | mask_size_5 & mask_eq_25; // @[Misc.scala 214:29]
  wire  mask_eq_26 = mask_eq_19 & mask_nbit_5; // @[Misc.scala 213:27]
  wire  mask_acc_26 = mask_acc_19 | mask_size_5 & mask_eq_26; // @[Misc.scala 214:29]
  wire  mask_eq_27 = mask_eq_19 & mask_bit_5; // @[Misc.scala 213:27]
  wire  mask_acc_27 = mask_acc_19 | mask_size_5 & mask_eq_27; // @[Misc.scala 214:29]
  wire [7:0] mask_1 = {mask_acc_27,mask_acc_26,mask_acc_25,mask_acc_24,mask_acc_23,mask_acc_22,mask_acc_21,mask_acc_20}; // @[Cat.scala 33:92]
  wire  _T_513 = io_in_b_bits_opcode == 3'h6; // @[Monitor.scala 167:25]
  wire  _T_514 = 3'h4 == io_in_b_bits_size; // @[Parameters.scala 91:48]
  wire  _T_526 = _T_514 & _address_ok_T_4; // @[Monitor.scala 168:75]
  wire  _T_532 = ~_address_ok_T_4; // @[Monitor.scala 49:11]
  wire  _T_538 = ~is_aligned_1; // @[Monitor.scala 49:11]
  wire  _T_539 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_543 = io_in_b_bits_mask == mask_1; // @[Monitor.scala 173:27]
  wire  _T_546 = ~_T_543; // @[Monitor.scala 49:11]
  wire  _T_547 = ~io_in_b_bits_corrupt; // @[Monitor.scala 174:15]
  wire  _T_550 = ~_T_547; // @[Monitor.scala 49:11]
  wire  _T_551 = io_in_b_bits_opcode == 3'h4; // @[Monitor.scala 177:25]
  wire  _T_576 = io_in_b_bits_param == 2'h0; // @[Monitor.scala 182:31]
  wire  _T_588 = io_in_b_bits_opcode == 3'h0; // @[Monitor.scala 187:25]
  wire  _T_621 = io_in_b_bits_opcode == 3'h1; // @[Monitor.scala 196:25]
  wire [7:0] _T_650 = ~mask_1; // @[Monitor.scala 202:33]
  wire [7:0] _T_651 = io_in_b_bits_mask & _T_650; // @[Monitor.scala 202:31]
  wire  _T_652 = _T_651 == 8'h0; // @[Monitor.scala 202:40]
  wire  _T_656 = io_in_b_bits_opcode == 3'h2; // @[Monitor.scala 205:25]
  wire  _T_689 = io_in_b_bits_opcode == 3'h3; // @[Monitor.scala 214:25]
  wire  _T_722 = io_in_b_bits_opcode == 3'h5; // @[Monitor.scala 223:25]
  wire  _source_ok_T_2 = ~io_in_c_bits_source; // @[Parameters.scala 46:9]
  wire [10:0] _is_aligned_mask_T_7 = 11'hf << io_in_c_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_80 = {{28'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_80; // @[Edges.scala 20:16]
  wire  is_aligned_2 = _is_aligned_T_2 == 32'h0; // @[Edges.scala 20:24]
  wire [32:0] _address_ok_T_6 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
  wire [32:0] _address_ok_T_8 = $signed(_address_ok_T_6) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_760 = ~_source_ok_T_2; // @[Monitor.scala 63:7]
  wire  _T_770 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
  wire  _T_777 = io_in_c_bits_size >= 3'h3; // @[Monitor.scala 245:30]
  wire  _T_784 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
  wire  _T_788 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
  wire  _T_792 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
  wire  _T_810 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
  wire  _T_817 = 3'h4 == io_in_c_bits_size; // @[Parameters.scala 91:48]
  wire  _T_824 = _T_817 & _address_ok_T_9; // @[Parameters.scala 670:56]
  wire  _T_826 = _source_ok_T_2 & _T_824; // @[Monitor.scala 260:78]
  wire  _T_864 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
  wire  _T_914 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
  wire  _T_924 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
  wire  _T_932 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
  wire  _T_946 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_968 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_969 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_973 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_977 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_981 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_985 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg  source_1; // @[Monitor.scala 538:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_992 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_993 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_997 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_1001 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_1005 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_1009 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_1013 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  wire  _b_first_T = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 52:35]
  reg  b_first_counter; // @[Edges.scala 228:27]
  wire  b_first_counter1 = b_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  b_first = ~b_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_2; // @[Monitor.scala 407:22]
  reg [1:0] param_2; // @[Monitor.scala 408:22]
  reg [2:0] size_2; // @[Monitor.scala 409:22]
  reg  source_2; // @[Monitor.scala 410:22]
  reg [31:0] address_1; // @[Monitor.scala 411:22]
  wire  _T_1020 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
  wire  _T_1021 = io_in_b_bits_opcode == opcode_2; // @[Monitor.scala 413:32]
  wire  _T_1025 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
  wire  _T_1029 = io_in_b_bits_size == size_2; // @[Monitor.scala 415:32]
  wire  _T_1033 = io_in_b_bits_source == source_2; // @[Monitor.scala 416:32]
  wire  _T_1037 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 52:35]
  wire  c_first_beats1_decode = is_aligned_mask_2[3]; // @[Edges.scala 219:59]
  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
  wire  c_first_beats1 = c_first_beats1_opdata & c_first_beats1_decode; // @[Edges.scala 220:14]
  reg  c_first_counter; // @[Edges.scala 228:27]
  wire  c_first_counter1 = c_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  c_first = ~c_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
  reg [2:0] param_3; // @[Monitor.scala 513:22]
  reg [2:0] size_3; // @[Monitor.scala 514:22]
  reg  source_3; // @[Monitor.scala 515:22]
  reg [31:0] address_2; // @[Monitor.scala 516:22]
  wire  _T_1044 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
  wire  _T_1045 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
  wire  _T_1049 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
  wire  _T_1053 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
  wire  _T_1057 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
  wire  _T_1061 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
  reg  inflight; // @[Monitor.scala 611:27]
  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [2:0] _GEN_86 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_86}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_87 = {{12'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [3:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [15:0] _GEN_90 = {{12'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_90 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_1067 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_1070 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_92 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_92}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_634 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_634 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_635 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_635 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire  _T_1074 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
  wire [1:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_1078 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_1080 = ~_T_369; // @[Monitor.scala 671:74]
  wire  _T_1081 = io_in_d_valid & d_first_1 & ~_T_369; // @[Monitor.scala 671:71]
  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_369 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _GEN_636 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [30:0] _d_opcodes_clr_T_5 = _GEN_636 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [1:0] _GEN_34 = _d_first_T & d_first_1 & _T_1080 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_35 = _d_first_T & d_first_1 & _T_1080 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = _T_1067 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire  _T_1093 = inflight >> io_in_d_bits_source | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
  wire  _T_1098 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
  wire  _T_1099 = io_in_d_bits_opcode == _GEN_44 | _T_1098; // @[Monitor.scala 685:77]
  wire  _T_1103 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
  wire  _T_1110 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
  wire  _T_1111 = io_in_d_bits_opcode == _GEN_60 | _T_1110; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_96 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_1115 = _GEN_96 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_1125 = _T_1078 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1080; // @[Monitor.scala 694:116]
  wire  _T_1126 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_1127 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  a_set_wo_ready = _GEN_27[0];
  wire  d_clr_wo_ready = _GEN_33[0];
  wire  _T_1134 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire  a_set = _GEN_28[0];
  wire  d_clr = _GEN_34[0];
  wire [3:0] a_opcodes_set = _GEN_31[3:0];
  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [3:0] d_opcodes_clr = _GEN_35[3:0];
  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [3:0] a_sizes_set = _GEN_32[3:0];
  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_1143 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg  inflight_1; // @[Monitor.scala 723:35]
  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  c_first_counter_1; // @[Edges.scala 228:27]
  wire  c_first_counter1_1 = c_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  c_first_1 = ~c_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [3:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [15:0] _GEN_98 = {{12'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_98 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_1153 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
  wire  _T_1154 = io_in_c_valid & c_first_1 & _T_1153; // @[Monitor.scala 756:37]
  wire [1:0] _c_set_wo_ready_T = 2'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_1153 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 756:71 757:22]
  wire  _T_1160 = _c_first_T & c_first_1 & _T_1153; // @[Monitor.scala 760:38]
  wire [3:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
  wire [3:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 4'h1; // @[Monitor.scala 763:59]
  wire [2:0] _GEN_100 = {io_in_c_bits_source, 2'h0}; // @[Monitor.scala 765:77]
  wire [3:0] _c_sizes_set_T = {{1'd0}, _GEN_100}; // @[Monitor.scala 765:77]
  wire [3:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_1153 ? _c_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 760:72 763:28]
  wire [18:0] _GEN_638 = {{15'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
  wire [18:0] _c_sizes_set_T_1 = _GEN_638 << _c_sizes_set_T; // @[Monitor.scala 765:52]
  wire  _T_1163 = ~(inflight_1 >> io_in_c_bits_source); // @[Monitor.scala 766:17]
  wire [1:0] _GEN_73 = _c_first_T & c_first_1 & _T_1153 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 760:72 761:28]
  wire [18:0] _GEN_77 = _c_first_T & c_first_1 & _T_1153 ? _c_sizes_set_T_1 : 19'h0; // @[Monitor.scala 760:72 765:28]
  wire  _T_1167 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
  wire  _T_1169 = io_in_d_valid & d_first_2 & _T_369; // @[Monitor.scala 779:71]
  wire [1:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_369 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [1:0] _GEN_79 = _d_first_T & d_first_2 & _T_369 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 783:90 784:21]
  wire [30:0] _GEN_81 = _d_first_T & d_first_2 & _T_369 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
  wire  same_cycle_resp_1 = _T_1154 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
  wire  _T_1179 = inflight_1 >> io_in_d_bits_source | same_cycle_resp_1; // @[Monitor.scala 791:49]
  wire  _T_1183 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_1187 = _GEN_96 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_1196 = _T_1167 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_369; // @[Monitor.scala 799:116]
  wire  _T_1198 = _T_1126 | io_in_c_ready; // @[Monitor.scala 800:32]
  wire  c_set_wo_ready = _GEN_72[0];
  wire  _T_1202 = |c_set_wo_ready; // @[Monitor.scala 804:28]
  wire  d_clr_wo_ready_1 = _GEN_78[0];
  wire  _T_1203 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
  wire  c_set = _GEN_73[0];
  wire  d_clr_1 = _GEN_79[0];
  wire [3:0] c_sizes_set = _GEN_77[3:0];
  wire [3:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
  wire [3:0] d_sizes_clr_1 = _GEN_81[3:0];
  wire [3:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [3:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_1212 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  reg [31:0] inflight_2; // @[Monitor.scala 823:27]
  reg  d_first_counter_3; // @[Edges.scala 228:27]
  wire  d_first_counter1_3 = d_first_counter_3 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_3 = ~d_first_counter_3; // @[Edges.scala 230:25]
  wire  _T_1224 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
  wire  _T_1225 = _d_first_T & d_first_3 & _T_1224; // @[Monitor.scala 829:38]
  wire [31:0] _d_set_T = 32'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
  wire [31:0] _T_1226 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
  wire  _T_1228 = ~_T_1226[0]; // @[Monitor.scala 831:14]
  wire [31:0] d_set = _d_first_T & d_first_3 & _T_1224 ? _d_set_T : 32'h0; // @[Monitor.scala 829:72 830:13]
  wire  _T_1232 = io_in_e_ready & io_in_e_valid; // @[Decoupled.scala 52:35]
  wire [31:0] _e_clr_T = 32'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
  wire [31:0] _T_1235 = d_set | inflight_2; // @[Monitor.scala 837:24]
  wire [31:0] _T_1236 = _T_1235 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
  wire [31:0] e_clr = _T_1232 ? _e_clr_T : 32'h0; // @[Monitor.scala 835:73 836:13]
  wire [31:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
  wire [31:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
  wire [31:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      b_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_b_first_T) begin // @[Edges.scala 234:17]
      if (b_first) begin // @[Edges.scala 235:21]
        b_first_counter <= 1'h0;
      end else begin
        b_first_counter <= b_first_counter1;
      end
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      opcode_2 <= io_in_b_bits_opcode; // @[Monitor.scala 420:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      size_2 <= io_in_b_bits_size; // @[Monitor.scala 422:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      source_2 <= io_in_b_bits_source; // @[Monitor.scala 423:15]
    end
    if (_b_first_T & b_first) begin // @[Monitor.scala 419:32]
      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first) begin // @[Edges.scala 235:21]
        c_first_counter <= c_first_beats1;
      end else begin
        c_first_counter <= c_first_counter1;
      end
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
    end
    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 1'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 1'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= (inflight_1 | c_set) & ~d_clr_1; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      c_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_c_first_T) begin // @[Edges.scala 234:17]
      if (c_first_1) begin // @[Edges.scala 235:21]
        c_first_counter_1 <= c_first_beats1;
      end else begin
        c_first_counter_1 <= c_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    if (reset) begin // @[Monitor.scala 823:27]
      inflight_2 <= 32'h0; // @[Monitor.scala 823:27]
    end else begin
      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_3 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_3) begin // @[Edges.scala 235:21]
        d_first_counter_3 <= d_first_beats1;
      end else begin
        d_first_counter_3 <= d_first_counter1_3;
      end
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_29 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_61) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_61 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_66) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_66 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_15 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_15 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_31) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_31 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_29) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_29 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_61) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_61 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_124) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_124 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_66) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_66 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_74 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_74 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_156) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_156 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_137 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_137 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_179 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_179 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_167) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_167 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_215 & ~reset & ~_T_249) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_249 & (io_in_a_valid & _T_215 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_271) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_271 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_281) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_281 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_253 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_253 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_271) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_271 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_317) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_317 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_289 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_289 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_197) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_197 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & _T_5) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_353) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_353 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_171) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_171 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_325 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_325 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_365) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_365 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_369 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_369 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_400) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_400 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_404) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_404 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_389 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_389 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_373) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_373 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_400) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_400 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_404) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_404 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_437) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_437 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_417 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_417 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_446 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_446 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_437) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_437 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_463 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_463 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_source_ok_T_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_1 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_377) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_377 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_381) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_381 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_481 & _T_2 & ~_T_385) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_385 & (io_in_d_valid & _T_481 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & ~reset & ~_T_498) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel has invalid opcode (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_498 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~_T_526) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_526 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~_address_ok_T_4) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~is_aligned_1) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~_T_539) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_539 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~_T_543) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_513 & _T_2 & ~_T_547) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Probe is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_547 & (io_in_b_valid & _T_513 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Get type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & ~_T_576) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & _T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_551 & ~reset & _T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Get is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_547 & (io_in_b_valid & _T_551 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutFull carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutFull carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutFull address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset & ~_T_576) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutFull carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_588 & ~reset & _T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutFull contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_588 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutPartial carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutPartial carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutPartial address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset & ~_T_576) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutPartial carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_576 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_621 & ~reset & ~_T_652) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel PutPartial contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_652 & (io_in_b_valid & _T_621 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_656 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Arithmetic type unsupported by master (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_656 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Arithmetic carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_656 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Arithmetic carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_656 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_656 & ~reset & _T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_656 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_689 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Logical type unsupported by client (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_689 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Logical carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_689 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Logical carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_689 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Logical address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_689 & ~reset & _T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Logical contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_689 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel carries Hint type unsupported by client (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset & _T_532) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Hint carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_4 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset & _T_503) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Hint carries source that is not first source (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_502 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset & _T_538) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Hint address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_1 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset & _T_546) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Hint contains invalid mask (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_543 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_b_valid & _T_722 & ~reset & _T_550) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel Hint is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_547 & (io_in_b_valid & _T_722 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_c_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_770 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_770 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_792 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_792 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_826) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_826 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_824) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_824 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release carries invalid report param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_810 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel Release is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_810 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_826) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_826 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_824) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_824 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_777) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_777 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_864 & ~reset & ~_T_784) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_784 & (io_in_c_valid & _T_864 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_914 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_914 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_932 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_932 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_address_ok_T_9) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_address_ok_T_9 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & _T_760) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_source_ok_T_2 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~is_aligned_2) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned_2 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_T_924) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck carries invalid param (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_924 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_c_valid & _T_946 & ~reset & ~_T_788) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel HintAck is corrupt (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_788 & (io_in_c_valid & _T_946 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_e_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_969) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_969 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_973) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_973 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_977) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_977 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_981) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_981 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_968 & ~reset & ~_T_985) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_985 & (_T_968 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_993) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_993 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_997) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_997 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1001) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1001 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1005) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1005 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1009) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1009 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_992 & _T_2 & ~_T_1013) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1013 & (_T_992 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1021) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1021 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1025) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel param changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1025 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1029) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel size changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1029 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1033) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel source changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1033 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1020 & ~reset & ~_T_1037) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1037 & (_T_1020 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1045) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1045 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1049) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel param changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1049 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1053) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel size changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1053 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1057) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel source changed within multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1057 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044 & ~reset & ~_T_1061) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel address changed with multibeat operation (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1061 & (_T_1044 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1070 & ~reset & ~_T_1074) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1074 & (_T_1070 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & _T_2 & ~_T_1093) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1093 & (_T_1081 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & same_cycle_resp & _T_2 & ~_T_1099) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1099 & (_T_1081 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & same_cycle_resp & _T_2 & ~_T_1103) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1103 & (_T_1081 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & ~same_cycle_resp & _T_2 & ~_T_1111) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1111 & (_T_1081 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1081 & ~same_cycle_resp & _T_2 & ~_T_1115) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1115 & (_T_1081 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1125 & _T_2 & ~_T_1127) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1127 & (_T_1125 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_1134) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1134 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1143) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1143 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1160 & ~reset & ~_T_1163) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' channel re-used a source ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1163 & (_T_1160 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & _T_2 & ~_T_1179) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1179 & (_T_1169 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & same_cycle_resp_1 & _T_2 & ~_T_1183) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1183 & (_T_1169 & same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1169 & ~same_cycle_resp_1 & _T_2 & ~_T_1187) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1187 & (_T_1169 & ~same_cycle_resp_1 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1196 & _T_2 & ~_T_1198) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1198 & (_T_1196 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1202 & _T_2 & ~_T_1203) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 4 (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1203 & (_T_1202 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_1212) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1212 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1225 & _T_2 & ~_T_1228) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel re-used a sink ID (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1228 & (_T_1225 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1232 & ~reset & ~_T_1236[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at Rift2Link.scala:77:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_1236[0] & (_T_1232 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[4:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  b_first_counter = _RAND_13[0:0];
  _RAND_14 = {1{`RANDOM}};
  opcode_2 = _RAND_14[2:0];
  _RAND_15 = {1{`RANDOM}};
  param_2 = _RAND_15[1:0];
  _RAND_16 = {1{`RANDOM}};
  size_2 = _RAND_16[2:0];
  _RAND_17 = {1{`RANDOM}};
  source_2 = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  address_1 = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  c_first_counter = _RAND_19[0:0];
  _RAND_20 = {1{`RANDOM}};
  opcode_3 = _RAND_20[2:0];
  _RAND_21 = {1{`RANDOM}};
  param_3 = _RAND_21[2:0];
  _RAND_22 = {1{`RANDOM}};
  size_3 = _RAND_22[2:0];
  _RAND_23 = {1{`RANDOM}};
  source_3 = _RAND_23[0:0];
  _RAND_24 = {1{`RANDOM}};
  address_2 = _RAND_24[31:0];
  _RAND_25 = {1{`RANDOM}};
  inflight = _RAND_25[0:0];
  _RAND_26 = {1{`RANDOM}};
  inflight_opcodes = _RAND_26[3:0];
  _RAND_27 = {1{`RANDOM}};
  inflight_sizes = _RAND_27[3:0];
  _RAND_28 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_28[0:0];
  _RAND_29 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_29[0:0];
  _RAND_30 = {1{`RANDOM}};
  watchdog = _RAND_30[31:0];
  _RAND_31 = {1{`RANDOM}};
  inflight_1 = _RAND_31[0:0];
  _RAND_32 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_32[3:0];
  _RAND_33 = {1{`RANDOM}};
  c_first_counter_1 = _RAND_33[0:0];
  _RAND_34 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_34[0:0];
  _RAND_35 = {1{`RANDOM}};
  watchdog_1 = _RAND_35[31:0];
  _RAND_36 = {1{`RANDOM}};
  inflight_2 = _RAND_36[31:0];
  _RAND_37 = {1{`RANDOM}};
  d_first_counter_3 = _RAND_37[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_37(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [1:0]  io_enq_bits_param,
  input  [31:0] io_enq_bits_address,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [1:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output        io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [7:0]  io_deq_bits_mask,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [7:0] ram_mask [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [7:0] ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_mask_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = 3'h6;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = 3'h4;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = 1'h0;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
  assign ram_mask_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_mask_MPORT_data = 8'hff;
  assign ram_mask_MPORT_addr = enq_ptr_value;
  assign ram_mask_MPORT_mask = 1'h1;
  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = 1'h0;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[1:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_address[initvar] = _RAND_4[31:0];
  _RAND_5 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_mask[initvar] = _RAND_5[7:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_6[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  enq_ptr_value = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  deq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  maybe_full = _RAND_9[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_38(
  input         clock,
  input         reset,
  output        io_enq_ready,
  input         io_enq_valid,
  input  [2:0]  io_enq_bits_opcode,
  input  [2:0]  io_enq_bits_param,
  input  [2:0]  io_enq_bits_size,
  input         io_enq_bits_source,
  input  [31:0] io_enq_bits_address,
  input  [63:0] io_enq_bits_data,
  input         io_enq_bits_corrupt,
  input         io_deq_ready,
  output        io_deq_valid,
  output [2:0]  io_deq_bits_opcode,
  output [2:0]  io_deq_bits_param,
  output [2:0]  io_deq_bits_size,
  output        io_deq_bits_source,
  output [31:0] io_deq_bits_address,
  output [63:0] io_deq_bits_data,
  output        io_deq_bits_corrupt
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [63:0] _RAND_5;
  reg [31:0] _RAND_6;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
`endif // RANDOMIZE_REG_INIT
  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_param_MPORT_en; // @[Decoupled.scala 275:95]
  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_size_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_source [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_source_MPORT_en; // @[Decoupled.scala 275:95]
  reg [31:0] ram_address [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [31:0] ram_address_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_address_MPORT_en; // @[Decoupled.scala 275:95]
  reg [63:0] ram_data [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [63:0] ram_data_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_data_MPORT_en; // @[Decoupled.scala 275:95]
  reg  ram_corrupt [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 52:35]
  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
  assign ram_opcode_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
  assign ram_opcode_MPORT_addr = enq_ptr_value;
  assign ram_opcode_MPORT_mask = 1'h1;
  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
  assign ram_param_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_param_MPORT_data = io_enq_bits_param;
  assign ram_param_MPORT_addr = enq_ptr_value;
  assign ram_param_MPORT_mask = 1'h1;
  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
  assign ram_size_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_size_MPORT_data = io_enq_bits_size;
  assign ram_size_MPORT_addr = enq_ptr_value;
  assign ram_size_MPORT_mask = 1'h1;
  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
  assign ram_source_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_source_MPORT_data = io_enq_bits_source;
  assign ram_source_MPORT_addr = enq_ptr_value;
  assign ram_source_MPORT_mask = 1'h1;
  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
  assign ram_address_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_address_MPORT_data = io_enq_bits_address;
  assign ram_address_MPORT_addr = enq_ptr_value;
  assign ram_address_MPORT_mask = 1'h1;
  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
  assign ram_data_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_data_MPORT_data = io_enq_bits_data;
  assign ram_data_MPORT_addr = enq_ptr_value;
  assign ram_data_MPORT_mask = 1'h1;
  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
  assign ram_corrupt_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
  assign ram_corrupt_MPORT_addr = enq_ptr_value;
  assign ram_corrupt_MPORT_mask = 1'h1;
  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_deq) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != do_deq) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_opcode[initvar] = _RAND_0[2:0];
  _RAND_1 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_param[initvar] = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_size[initvar] = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_source[initvar] = _RAND_3[0:0];
  _RAND_4 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_address[initvar] = _RAND_4[31:0];
  _RAND_5 = {2{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_data[initvar] = _RAND_5[63:0];
  _RAND_6 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_corrupt[initvar] = _RAND_6[0:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  enq_ptr_value = _RAND_7[0:0];
  _RAND_8 = {1{`RANDOM}};
  deq_ptr_value = _RAND_8[0:0];
  _RAND_9 = {1{`RANDOM}};
  maybe_full = _RAND_9[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module Queue_39(
  input        clock,
  input        reset,
  output       io_enq_ready,
  input        io_enq_valid,
  input  [4:0] io_enq_bits_sink,
  output       io_deq_valid,
  output [4:0] io_deq_bits_sink
);
`ifdef RANDOMIZE_MEM_INIT
  reg [31:0] _RAND_0;
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
`endif // RANDOMIZE_REG_INIT
  reg [4:0] ram_sink [0:1]; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 275:95]
  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 275:95]
  wire [4:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 275:95]
  wire [4:0] ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 275:95]
  wire  ram_sink_MPORT_en; // @[Decoupled.scala 275:95]
  reg  enq_ptr_value; // @[Counter.scala 61:40]
  reg  deq_ptr_value; // @[Counter.scala 61:40]
  reg  maybe_full; // @[Decoupled.scala 278:27]
  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 279:33]
  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 280:25]
  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 281:24]
  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 52:35]
  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
  assign ram_sink_io_deq_bits_MPORT_addr = deq_ptr_value;
  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 275:95]
  assign ram_sink_MPORT_data = io_enq_bits_sink;
  assign ram_sink_MPORT_addr = enq_ptr_value;
  assign ram_sink_MPORT_mask = 1'h1;
  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
  assign io_enq_ready = ~full; // @[Decoupled.scala 305:19]
  assign io_deq_valid = ~empty; // @[Decoupled.scala 304:19]
  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 312:17]
  always @(posedge clock) begin
    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 275:95]
    end
    if (reset) begin // @[Counter.scala 61:40]
      enq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (do_enq) begin // @[Decoupled.scala 288:16]
      enq_ptr_value <= enq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Counter.scala 61:40]
      deq_ptr_value <= 1'h0; // @[Counter.scala 61:40]
    end else if (io_deq_valid) begin // @[Decoupled.scala 292:16]
      deq_ptr_value <= deq_ptr_value + 1'h1; // @[Counter.scala 77:15]
    end
    if (reset) begin // @[Decoupled.scala 278:27]
      maybe_full <= 1'h0; // @[Decoupled.scala 278:27]
    end else if (do_enq != io_deq_valid) begin // @[Decoupled.scala 295:27]
      maybe_full <= do_enq; // @[Decoupled.scala 296:16]
    end
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_MEM_INIT
  _RAND_0 = {1{`RANDOM}};
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    ram_sink[initvar] = _RAND_0[4:0];
`endif // RANDOMIZE_MEM_INIT
`ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  enq_ptr_value = _RAND_1[0:0];
  _RAND_2 = {1{`RANDOM}};
  deq_ptr_value = _RAND_2[0:0];
  _RAND_3 = {1{`RANDOM}};
  maybe_full = _RAND_3[0:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLBuffer_1(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input         auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_b_ready,
  output        auto_in_b_valid,
  output [31:0] auto_in_b_bits_address,
  output        auto_in_c_ready,
  input         auto_in_c_valid,
  input  [2:0]  auto_in_c_bits_opcode,
  input  [2:0]  auto_in_c_bits_param,
  input  [2:0]  auto_in_c_bits_size,
  input         auto_in_c_bits_source,
  input  [31:0] auto_in_c_bits_address,
  input  [63:0] auto_in_c_bits_data,
  input         auto_in_c_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [2:0]  auto_in_d_bits_size,
  output        auto_in_d_bits_source,
  output [4:0]  auto_in_d_bits_sink,
  output [63:0] auto_in_d_bits_data,
  output        auto_in_e_ready,
  input         auto_in_e_valid,
  input  [4:0]  auto_in_e_bits_sink,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output        auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_b_ready,
  input         auto_out_b_valid,
  input  [1:0]  auto_out_b_bits_param,
  input  [31:0] auto_out_b_bits_address,
  input         auto_out_c_ready,
  output        auto_out_c_valid,
  output [2:0]  auto_out_c_bits_opcode,
  output [2:0]  auto_out_c_bits_param,
  output [2:0]  auto_out_c_bits_size,
  output        auto_out_c_bits_source,
  output [31:0] auto_out_c_bits_address,
  output [63:0] auto_out_c_bits_data,
  output        auto_out_c_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_param,
  input  [2:0]  auto_out_d_bits_size,
  input  [4:0]  auto_out_d_bits_sink,
  input         auto_out_d_bits_denied,
  input  [63:0] auto_out_d_bits_data,
  input         auto_out_d_bits_corrupt,
  output        auto_out_e_valid,
  output [4:0]  auto_out_e_bits_sink
);
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_b_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_b_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_b_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_b_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_e_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_b_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [31:0] bundleIn_0_b_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_b_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_b_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_b_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleIn_0_b_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleIn_0_b_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_b_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_c_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_c_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_c_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_c_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_c_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_c_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_e_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_e_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_e_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_e_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [4:0] bundleOut_0_e_q_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_e_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [4:0] bundleOut_0_e_q_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  TLMonitor_13 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_b_ready(monitor_io_in_b_ready),
    .io_in_b_valid(monitor_io_in_b_valid),
    .io_in_b_bits_opcode(monitor_io_in_b_bits_opcode),
    .io_in_b_bits_param(monitor_io_in_b_bits_param),
    .io_in_b_bits_size(monitor_io_in_b_bits_size),
    .io_in_b_bits_source(monitor_io_in_b_bits_source),
    .io_in_b_bits_address(monitor_io_in_b_bits_address),
    .io_in_b_bits_mask(monitor_io_in_b_bits_mask),
    .io_in_b_bits_corrupt(monitor_io_in_b_bits_corrupt),
    .io_in_c_ready(monitor_io_in_c_ready),
    .io_in_c_valid(monitor_io_in_c_valid),
    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
    .io_in_c_bits_param(monitor_io_in_c_bits_param),
    .io_in_c_bits_size(monitor_io_in_c_bits_size),
    .io_in_c_bits_source(monitor_io_in_c_bits_source),
    .io_in_c_bits_address(monitor_io_in_c_bits_address),
    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
    .io_in_e_ready(monitor_io_in_e_ready),
    .io_in_e_valid(monitor_io_in_e_valid),
    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
  );
  Queue_33 bundleOut_0_a_q ( // @[Decoupled.scala 377:21]
    .clock(bundleOut_0_a_q_clock),
    .reset(bundleOut_0_a_q_reset),
    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
  );
  Queue_34 bundleIn_0_d_q ( // @[Decoupled.scala 377:21]
    .clock(bundleIn_0_d_q_clock),
    .reset(bundleIn_0_d_q_reset),
    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
  );
  Queue_37 bundleIn_0_b_q ( // @[Decoupled.scala 377:21]
    .clock(bundleIn_0_b_q_clock),
    .reset(bundleIn_0_b_q_reset),
    .io_enq_ready(bundleIn_0_b_q_io_enq_ready),
    .io_enq_valid(bundleIn_0_b_q_io_enq_valid),
    .io_enq_bits_param(bundleIn_0_b_q_io_enq_bits_param),
    .io_enq_bits_address(bundleIn_0_b_q_io_enq_bits_address),
    .io_deq_ready(bundleIn_0_b_q_io_deq_ready),
    .io_deq_valid(bundleIn_0_b_q_io_deq_valid),
    .io_deq_bits_opcode(bundleIn_0_b_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleIn_0_b_q_io_deq_bits_param),
    .io_deq_bits_size(bundleIn_0_b_q_io_deq_bits_size),
    .io_deq_bits_source(bundleIn_0_b_q_io_deq_bits_source),
    .io_deq_bits_address(bundleIn_0_b_q_io_deq_bits_address),
    .io_deq_bits_mask(bundleIn_0_b_q_io_deq_bits_mask),
    .io_deq_bits_corrupt(bundleIn_0_b_q_io_deq_bits_corrupt)
  );
  Queue_38 bundleOut_0_c_q ( // @[Decoupled.scala 377:21]
    .clock(bundleOut_0_c_q_clock),
    .reset(bundleOut_0_c_q_reset),
    .io_enq_ready(bundleOut_0_c_q_io_enq_ready),
    .io_enq_valid(bundleOut_0_c_q_io_enq_valid),
    .io_enq_bits_opcode(bundleOut_0_c_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleOut_0_c_q_io_enq_bits_param),
    .io_enq_bits_size(bundleOut_0_c_q_io_enq_bits_size),
    .io_enq_bits_source(bundleOut_0_c_q_io_enq_bits_source),
    .io_enq_bits_address(bundleOut_0_c_q_io_enq_bits_address),
    .io_enq_bits_data(bundleOut_0_c_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleOut_0_c_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleOut_0_c_q_io_deq_ready),
    .io_deq_valid(bundleOut_0_c_q_io_deq_valid),
    .io_deq_bits_opcode(bundleOut_0_c_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleOut_0_c_q_io_deq_bits_param),
    .io_deq_bits_size(bundleOut_0_c_q_io_deq_bits_size),
    .io_deq_bits_source(bundleOut_0_c_q_io_deq_bits_source),
    .io_deq_bits_address(bundleOut_0_c_q_io_deq_bits_address),
    .io_deq_bits_data(bundleOut_0_c_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleOut_0_c_q_io_deq_bits_corrupt)
  );
  Queue_39 bundleOut_0_e_q ( // @[Decoupled.scala 377:21]
    .clock(bundleOut_0_e_q_clock),
    .reset(bundleOut_0_e_q_reset),
    .io_enq_ready(bundleOut_0_e_q_io_enq_ready),
    .io_enq_valid(bundleOut_0_e_q_io_enq_valid),
    .io_enq_bits_sink(bundleOut_0_e_q_io_enq_bits_sink),
    .io_deq_valid(bundleOut_0_e_q_io_deq_valid),
    .io_deq_bits_sink(bundleOut_0_e_q_io_deq_bits_sink)
  );
  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign auto_in_b_valid = bundleIn_0_b_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign auto_in_b_bits_address = bundleIn_0_b_q_io_deq_bits_address; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign auto_in_c_ready = bundleOut_0_c_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_e_ready = bundleOut_0_e_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_b_ready = bundleIn_0_b_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 381:17]
  assign auto_out_c_valid = bundleOut_0_c_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_opcode = bundleOut_0_c_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_param = bundleOut_0_c_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_size = bundleOut_0_c_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_source = bundleOut_0_c_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_address = bundleOut_0_c_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_data = bundleOut_0_c_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_c_bits_corrupt = bundleOut_0_c_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 381:17]
  assign auto_out_e_valid = bundleOut_0_e_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 43:15]
  assign auto_out_e_bits_sink = bundleOut_0_e_q_io_deq_bits_sink; // @[Nodes.scala 1207:84 Buffer.scala 43:15]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_b_valid = bundleIn_0_b_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_opcode = bundleIn_0_b_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_param = bundleIn_0_b_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_size = bundleIn_0_b_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_source = bundleIn_0_b_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_address = bundleIn_0_b_q_io_deq_bits_address; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_mask = bundleIn_0_b_q_io_deq_bits_mask; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_b_bits_corrupt = bundleIn_0_b_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
  assign monitor_io_in_c_ready = bundleOut_0_c_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_e_ready = bundleOut_0_e_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_clock = clock;
  assign bundleOut_0_a_q_reset = reset;
  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_clock = clock;
  assign bundleIn_0_d_q_reset = reset;
  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_source = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleIn_0_b_q_clock = clock;
  assign bundleIn_0_b_q_reset = reset;
  assign bundleIn_0_b_q_io_enq_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_b_q_io_enq_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_b_q_io_enq_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_b_q_io_deq_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_clock = clock;
  assign bundleOut_0_c_q_reset = reset;
  assign bundleOut_0_c_q_io_enq_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_enq_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_c_q_io_deq_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleOut_0_e_q_clock = clock;
  assign bundleOut_0_e_q_reset = reset;
  assign bundleOut_0_e_q_io_enq_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_e_q_io_enq_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
endmodule
module TLMonitor_14(
  input         clock,
  input         reset,
  input         io_in_a_ready,
  input         io_in_a_valid,
  input  [2:0]  io_in_a_bits_opcode,
  input  [2:0]  io_in_a_bits_param,
  input  [2:0]  io_in_a_bits_size,
  input         io_in_a_bits_source,
  input  [31:0] io_in_a_bits_address,
  input  [7:0]  io_in_a_bits_mask,
  input         io_in_a_bits_corrupt,
  input         io_in_d_ready,
  input         io_in_d_valid,
  input  [2:0]  io_in_d_bits_opcode,
  input  [1:0]  io_in_d_bits_param,
  input  [2:0]  io_in_d_bits_size,
  input         io_in_d_bits_source,
  input  [4:0]  io_in_d_bits_sink,
  input         io_in_d_bits_denied,
  input         io_in_d_bits_corrupt
);
`ifdef RANDOMIZE_REG_INIT
  reg [31:0] _RAND_0;
  reg [31:0] _RAND_1;
  reg [31:0] _RAND_2;
  reg [31:0] _RAND_3;
  reg [31:0] _RAND_4;
  reg [31:0] _RAND_5;
  reg [31:0] _RAND_6;
  reg [31:0] _RAND_7;
  reg [31:0] _RAND_8;
  reg [31:0] _RAND_9;
  reg [31:0] _RAND_10;
  reg [31:0] _RAND_11;
  reg [31:0] _RAND_12;
  reg [31:0] _RAND_13;
  reg [31:0] _RAND_14;
  reg [31:0] _RAND_15;
  reg [31:0] _RAND_16;
  reg [31:0] _RAND_17;
  reg [31:0] _RAND_18;
  reg [31:0] _RAND_19;
  reg [31:0] _RAND_20;
  reg [31:0] _RAND_21;
  reg [31:0] _RAND_22;
`endif // RANDOMIZE_REG_INIT
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
  wire [10:0] _is_aligned_mask_T_1 = 11'hf << io_in_a_bits_size; // @[package.scala 234:77]
  wire [3:0] is_aligned_mask = ~_is_aligned_mask_T_1[3:0]; // @[package.scala 234:46]
  wire [31:0] _GEN_62 = {{28'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
  wire [31:0] _is_aligned_T = io_in_a_bits_address & _GEN_62; // @[Edges.scala 20:16]
  wire  is_aligned = _is_aligned_T == 32'h0; // @[Edges.scala 20:24]
  wire [1:0] mask_sizeOH_shiftAmount = io_in_a_bits_size[1:0]; // @[OneHot.scala 63:49]
  wire [3:0] _mask_sizeOH_T_1 = 4'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
  wire [2:0] mask_sizeOH = _mask_sizeOH_T_1[2:0] | 3'h1; // @[Misc.scala 201:81]
  wire  _mask_T = io_in_a_bits_size >= 3'h3; // @[Misc.scala 205:21]
  wire  mask_size = mask_sizeOH[2]; // @[Misc.scala 208:26]
  wire  mask_bit = io_in_a_bits_address[2]; // @[Misc.scala 209:26]
  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
  wire  mask_size_1 = mask_sizeOH[1]; // @[Misc.scala 208:26]
  wire  mask_bit_1 = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
  wire  mask_size_2 = mask_sizeOH[0]; // @[Misc.scala 208:26]
  wire  mask_bit_2 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
  wire  mask_eq_6 = mask_eq_2 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_6 = mask_acc_2 | mask_size_2 & mask_eq_6; // @[Misc.scala 214:29]
  wire  mask_eq_7 = mask_eq_2 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_7 = mask_acc_2 | mask_size_2 & mask_eq_7; // @[Misc.scala 214:29]
  wire  mask_eq_8 = mask_eq_3 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_8 = mask_acc_3 | mask_size_2 & mask_eq_8; // @[Misc.scala 214:29]
  wire  mask_eq_9 = mask_eq_3 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_9 = mask_acc_3 | mask_size_2 & mask_eq_9; // @[Misc.scala 214:29]
  wire  mask_eq_10 = mask_eq_4 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_10 = mask_acc_4 | mask_size_2 & mask_eq_10; // @[Misc.scala 214:29]
  wire  mask_eq_11 = mask_eq_4 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_11 = mask_acc_4 | mask_size_2 & mask_eq_11; // @[Misc.scala 214:29]
  wire  mask_eq_12 = mask_eq_5 & mask_nbit_2; // @[Misc.scala 213:27]
  wire  mask_acc_12 = mask_acc_5 | mask_size_2 & mask_eq_12; // @[Misc.scala 214:29]
  wire  mask_eq_13 = mask_eq_5 & mask_bit_2; // @[Misc.scala 213:27]
  wire  mask_acc_13 = mask_acc_5 | mask_size_2 & mask_eq_13; // @[Misc.scala 214:29]
  wire [7:0] mask = {mask_acc_13,mask_acc_12,mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8,mask_acc_7,mask_acc_6}; // @[Cat.scala 33:92]
  wire [32:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
  wire  _T_32 = 3'h4 == io_in_a_bits_size; // @[Parameters.scala 91:48]
  wire [32:0] _T_37 = $signed(_T_12) & 33'sh100000000; // @[Parameters.scala 137:52]
  wire  _T_38 = $signed(_T_37) == 33'sh0; // @[Parameters.scala 137:67]
  wire  _T_39 = _T_32 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_70 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
  wire [7:0] _T_74 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
  wire  _T_75 = _T_74 == 8'h0; // @[Monitor.scala 88:31]
  wire  _T_79 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
  wire  _T_83 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
  wire  _T_137 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
  wire  _T_150 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
  wire  _T_166 = io_in_a_bits_size <= 3'h4; // @[Parameters.scala 92:42]
  wire  _T_174 = _T_166 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_185 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
  wire  _T_189 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
  wire  _T_197 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
  wire  _T_238 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
  wire [7:0] _T_275 = ~mask; // @[Monitor.scala 127:33]
  wire [7:0] _T_276 = io_in_a_bits_mask & _T_275; // @[Monitor.scala 127:31]
  wire  _T_277 = _T_276 == 8'h0; // @[Monitor.scala 127:40]
  wire  _T_281 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
  wire  _T_294 = io_in_a_bits_size <= 3'h3; // @[Parameters.scala 92:42]
  wire  _T_302 = _T_294 & _T_38; // @[Parameters.scala 670:56]
  wire  _T_314 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
  wire  _T_322 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
  wire  _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
  wire  _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
  wire  _T_396 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
  wire  _T_408 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
  wire  _T_412 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
  wire  _T_416 = io_in_d_bits_size >= 3'h3; // @[Monitor.scala 312:27]
  wire  _T_420 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
  wire  _T_424 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
  wire  _T_428 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
  wire  _T_432 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
  wire  _T_443 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
  wire  _T_447 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
  wire  _T_460 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
  wire  _T_480 = _T_428 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
  wire  _T_489 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
  wire  _T_506 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
  wire  _T_524 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 52:35]
  wire  a_first_beats1_decode = is_aligned_mask[3]; // @[Edges.scala 219:59]
  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
  wire  a_first_beats1 = a_first_beats1_opdata & a_first_beats1_decode; // @[Edges.scala 220:14]
  reg  a_first_counter; // @[Edges.scala 228:27]
  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode; // @[Monitor.scala 384:22]
  reg [2:0] param; // @[Monitor.scala 385:22]
  reg [2:0] size; // @[Monitor.scala 386:22]
  reg  source; // @[Monitor.scala 387:22]
  reg [31:0] address; // @[Monitor.scala 388:22]
  wire  _T_554 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
  wire  _T_555 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
  wire  _T_559 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
  wire  _T_563 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
  wire  _T_567 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
  wire  _T_571 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 52:35]
  wire [10:0] _d_first_beats1_decode_T_1 = 11'hf << io_in_d_bits_size; // @[package.scala 234:77]
  wire [3:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[3:0]; // @[package.scala 234:46]
  wire  d_first_beats1_decode = _d_first_beats1_decode_T_3[3]; // @[Edges.scala 219:59]
  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
  wire  d_first_beats1 = d_first_beats1_opdata & d_first_beats1_decode; // @[Edges.scala 220:14]
  reg  d_first_counter; // @[Edges.scala 228:27]
  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
  reg [1:0] param_1; // @[Monitor.scala 536:22]
  reg [2:0] size_1; // @[Monitor.scala 537:22]
  reg  source_1; // @[Monitor.scala 538:22]
  reg [4:0] sink; // @[Monitor.scala 539:22]
  reg  denied; // @[Monitor.scala 540:22]
  wire  _T_578 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
  wire  _T_579 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
  wire  _T_583 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
  wire  _T_587 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
  wire  _T_591 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
  wire  _T_595 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
  wire  _T_599 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
  reg [1:0] inflight; // @[Monitor.scala 611:27]
  reg [7:0] inflight_opcodes; // @[Monitor.scala 613:35]
  reg [7:0] inflight_sizes; // @[Monitor.scala 615:33]
  reg  a_first_counter_1; // @[Edges.scala 228:27]
  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
  reg  d_first_counter_1; // @[Edges.scala 228:27]
  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
  wire [2:0] _GEN_64 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_64}; // @[Monitor.scala 634:69]
  wire [7:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
  wire [15:0] _GEN_68 = {{8'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_6 = _GEN_68 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
  wire [7:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
  wire [15:0] _GEN_73 = {{8'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
  wire  _T_605 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
  wire  _T_608 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
  wire [2:0] _GEN_75 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_75}; // @[Monitor.scala 656:79]
  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
  wire [18:0] _GEN_325 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
  wire [18:0] _a_opcodes_set_T_1 = _GEN_325 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
  wire [18:0] _GEN_326 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
  wire [18:0] _a_sizes_set_T_1 = _GEN_326 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
  wire [1:0] _T_610 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
  wire  _T_612 = ~_T_610[0]; // @[Monitor.scala 658:17]
  wire [1:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
  wire [18:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
  wire [18:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 657:28]
  wire  _T_616 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
  wire  _T_618 = ~_T_412; // @[Monitor.scala 671:74]
  wire  _T_619 = io_in_d_valid & d_first_1 & ~_T_412; // @[Monitor.scala 671:71]
  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
  wire [1:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
  wire [30:0] _GEN_327 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
  wire [30:0] _d_opcodes_clr_T_5 = _GEN_327 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
  wire [1:0] d_clr = _d_first_T & d_first_1 & _T_618 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_618 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
  wire  same_cycle_resp = _T_605 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
  wire [1:0] _T_629 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
  wire  _T_631 = _T_629[0] | same_cycle_resp; // @[Monitor.scala 682:49]
  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
  wire  _T_636 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
  wire  _T_637 = io_in_d_bits_opcode == _GEN_32 | _T_636; // @[Monitor.scala 685:77]
  wire  _T_641 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
  wire  _T_648 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
  wire  _T_649 = io_in_d_bits_opcode == _GEN_48 | _T_648; // @[Monitor.scala 689:72]
  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
  wire [3:0] _GEN_79 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
  wire  _T_653 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
  wire  _T_663 = _T_616 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_618; // @[Monitor.scala 694:116]
  wire  _T_664 = ~io_in_d_ready; // @[Monitor.scala 695:15]
  wire  _T_665 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
  wire  _T_672 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
  wire [1:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
  wire [1:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
  wire [1:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
  wire [7:0] a_opcodes_set = _GEN_19[7:0];
  wire [7:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
  wire [7:0] d_opcodes_clr = _GEN_23[7:0];
  wire [7:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
  wire [7:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
  wire [7:0] a_sizes_set = _GEN_20[7:0];
  wire [7:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
  wire [7:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
  reg [31:0] watchdog; // @[Monitor.scala 706:27]
  wire  _T_681 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
  reg [1:0] inflight_1; // @[Monitor.scala 723:35]
  reg [7:0] inflight_sizes_1; // @[Monitor.scala 725:35]
  reg  d_first_counter_2; // @[Edges.scala 228:27]
  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
  wire [7:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
  wire [15:0] _GEN_81 = {{8'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_6 = _GEN_81 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
  wire  _T_701 = ~inflight_1[0]; // @[Monitor.scala 766:17]
  wire  _T_707 = io_in_d_valid & d_first_2 & _T_412; // @[Monitor.scala 779:71]
  wire [1:0] d_clr_wo_ready_1 = io_in_d_valid & d_first_2 & _T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 779:89 780:22]
  wire [1:0] d_clr_1 = _d_first_T & d_first_2 & _T_412 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 783:90 784:21]
  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_412 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
  wire [1:0] _T_715 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
  wire  _T_721 = io_in_d_bits_size == 3'h0; // @[Monitor.scala 793:36]
  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
  wire  _T_725 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
  wire  _T_741 = 2'h0 != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
  wire [1:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
  wire [1:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
  wire [7:0] d_sizes_clr_1 = _GEN_69[7:0];
  wire [7:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
  wire [7:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_out)
  );
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
    .out(plusarg_reader_1_out)
  );
  always @(posedge clock) begin
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first) begin // @[Edges.scala 235:21]
        a_first_counter <= a_first_beats1;
      end else begin
        a_first_counter <= a_first_counter1;
      end
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
    end
    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first) begin // @[Edges.scala 235:21]
        d_first_counter <= d_first_beats1;
      end else begin
        d_first_counter <= d_first_counter1;
      end
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
    end
    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
    end
    if (reset) begin // @[Monitor.scala 611:27]
      inflight <= 2'h0; // @[Monitor.scala 611:27]
    end else begin
      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
    end
    if (reset) begin // @[Monitor.scala 613:35]
      inflight_opcodes <= 8'h0; // @[Monitor.scala 613:35]
    end else begin
      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
    end
    if (reset) begin // @[Monitor.scala 615:33]
      inflight_sizes <= 8'h0; // @[Monitor.scala 615:33]
    end else begin
      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
    end
    if (reset) begin // @[Edges.scala 228:27]
      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_a_first_T) begin // @[Edges.scala 234:17]
      if (a_first_1) begin // @[Edges.scala 235:21]
        a_first_counter_1 <= a_first_beats1;
      end else begin
        a_first_counter_1 <= a_first_counter1_1;
      end
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_1) begin // @[Edges.scala 235:21]
        d_first_counter_1 <= d_first_beats1;
      end else begin
        d_first_counter_1 <= d_first_counter1_1;
      end
    end
    if (reset) begin // @[Monitor.scala 706:27]
      watchdog <= 32'h0; // @[Monitor.scala 706:27]
    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
      watchdog <= 32'h0; // @[Monitor.scala 712:58]
    end else begin
      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
    end
    if (reset) begin // @[Monitor.scala 723:35]
      inflight_1 <= 2'h0; // @[Monitor.scala 723:35]
    end else begin
      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
    end
    if (reset) begin // @[Monitor.scala 725:35]
      inflight_sizes_1 <= 8'h0; // @[Monitor.scala 725:35]
    end else begin
      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
    end
    if (reset) begin // @[Edges.scala 228:27]
      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
    end else if (_d_first_T) begin // @[Edges.scala 234:17]
      if (d_first_2) begin // @[Edges.scala 235:21]
        d_first_counter_2 <= d_first_beats1;
      end else begin
        d_first_counter_2 <= d_first_counter1_2;
      end
    end
    if (reset) begin // @[Monitor.scala 813:27]
      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
    end else begin
      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
    end
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_39) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_39 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_75) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_75 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_20 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_20 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_39) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_39 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h0 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_mask_T) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_mask_T & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_70) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_70 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_137) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_137 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_75) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_75 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_83 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_83 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_150 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Get is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_150 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_197 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_197 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_185) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_185 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_238 & ~reset & ~_T_277) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_277 & (io_in_a_valid & _T_238 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_302) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_302 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_314) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_314 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_281 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_281 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_302) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_302 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_355) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_355 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_322 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_322 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_174) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_174 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~is_aligned) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~is_aligned & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_396) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_396 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_189) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_189 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_363 & ~reset & ~_T_79) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel Hint is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_79 & (io_in_a_valid & _T_363 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_2 & ~_T_408) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel has invalid opcode (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_408 & (io_in_d_valid & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_412 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_412 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_443) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_443 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_447) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant carries toN param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_447 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_432 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel Grant is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_432 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_416) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_416 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_443) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_443 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_447) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData carries toN param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_447 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_480) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_480 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_460 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel GrantData is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_460 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_489 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAck is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_489 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_480) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_480 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_506 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel AccessAckData is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_506 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_420) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_420 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_424) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is corrupt (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_424 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_524 & _T_2 & ~_T_428) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel HintAck is denied (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_428 & (io_in_d_valid & _T_524 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~1'h1 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_555) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_555 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_559) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_559 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_563) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_563 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_567) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_567 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_554 & ~reset & ~_T_571) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_571 & (_T_554 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_579) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_579 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_583) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_583 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_587) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_587 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_591) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_591 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_595) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_595 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_578 & _T_2 & ~_T_599) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_599 & (_T_578 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_608 & ~reset & ~_T_612) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' channel re-used a source ID (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_612 & (_T_608 & ~reset)) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & _T_2 & ~_T_631) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_631 & (_T_619 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & same_cycle_resp & _T_2 & ~_T_637) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_637 & (_T_619 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & same_cycle_resp & _T_2 & ~_T_641) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_641 & (_T_619 & same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~same_cycle_resp & _T_2 & ~_T_649) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper opcode response (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_649 & (_T_619 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_619 & ~same_cycle_resp & _T_2 & ~_T_653) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_653 & (_T_619 & ~same_cycle_resp & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_2 & ~_T_665) begin
          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_665 & (_T_663 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2 & ~_T_672) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_672 & _T_2) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_681) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_681 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_701 & 1'h0) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707 & _T_2 & ~_T_715[0]) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_715[0] & (_T_707 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_721 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707 & _T_2 & ~_T_725) begin
          $fwrite(32'h80000002,
            "Assertion failed: 'D' channel contains improper response size (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:49 assert(cond, message)\n"
            ); // @[Monitor.scala 49:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_725 & (_T_707 & _T_2)) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_664 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_741 & 1'h0) begin
          $fatal; // @[Monitor.scala 49:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (~reset & ~_T_750) begin
          $fwrite(32'h80000002,
            "Assertion failed: TileLink timeout expired (connected at Rift2Link.scala:78:32)\n    at Monitor.scala:42 assert(cond, message)\n"
            ); // @[Monitor.scala 42:11]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (~_T_750 & ~reset) begin
          $fatal; // @[Monitor.scala 42:11]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INIT
  integer initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin
  `ifdef RANDOMIZE
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
`ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  a_first_counter = _RAND_0[0:0];
  _RAND_1 = {1{`RANDOM}};
  opcode = _RAND_1[2:0];
  _RAND_2 = {1{`RANDOM}};
  param = _RAND_2[2:0];
  _RAND_3 = {1{`RANDOM}};
  size = _RAND_3[2:0];
  _RAND_4 = {1{`RANDOM}};
  source = _RAND_4[0:0];
  _RAND_5 = {1{`RANDOM}};
  address = _RAND_5[31:0];
  _RAND_6 = {1{`RANDOM}};
  d_first_counter = _RAND_6[0:0];
  _RAND_7 = {1{`RANDOM}};
  opcode_1 = _RAND_7[2:0];
  _RAND_8 = {1{`RANDOM}};
  param_1 = _RAND_8[1:0];
  _RAND_9 = {1{`RANDOM}};
  size_1 = _RAND_9[2:0];
  _RAND_10 = {1{`RANDOM}};
  source_1 = _RAND_10[0:0];
  _RAND_11 = {1{`RANDOM}};
  sink = _RAND_11[4:0];
  _RAND_12 = {1{`RANDOM}};
  denied = _RAND_12[0:0];
  _RAND_13 = {1{`RANDOM}};
  inflight = _RAND_13[1:0];
  _RAND_14 = {1{`RANDOM}};
  inflight_opcodes = _RAND_14[7:0];
  _RAND_15 = {1{`RANDOM}};
  inflight_sizes = _RAND_15[7:0];
  _RAND_16 = {1{`RANDOM}};
  a_first_counter_1 = _RAND_16[0:0];
  _RAND_17 = {1{`RANDOM}};
  d_first_counter_1 = _RAND_17[0:0];
  _RAND_18 = {1{`RANDOM}};
  watchdog = _RAND_18[31:0];
  _RAND_19 = {1{`RANDOM}};
  inflight_1 = _RAND_19[1:0];
  _RAND_20 = {1{`RANDOM}};
  inflight_sizes_1 = _RAND_20[7:0];
  _RAND_21 = {1{`RANDOM}};
  d_first_counter_2 = _RAND_21[0:0];
  _RAND_22 = {1{`RANDOM}};
  watchdog_1 = _RAND_22[31:0];
`endif // RANDOMIZE_REG_INIT
  `endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
module TLBuffer_2(
  input         clock,
  input         reset,
  output        auto_in_a_ready,
  input         auto_in_a_valid,
  input  [2:0]  auto_in_a_bits_opcode,
  input  [2:0]  auto_in_a_bits_param,
  input  [2:0]  auto_in_a_bits_size,
  input         auto_in_a_bits_source,
  input  [31:0] auto_in_a_bits_address,
  input  [7:0]  auto_in_a_bits_mask,
  input  [63:0] auto_in_a_bits_data,
  input         auto_in_a_bits_corrupt,
  input         auto_in_d_ready,
  output        auto_in_d_valid,
  output [2:0]  auto_in_d_bits_opcode,
  output [2:0]  auto_in_d_bits_size,
  output        auto_in_d_bits_source,
  output [63:0] auto_in_d_bits_data,
  input         auto_out_a_ready,
  output        auto_out_a_valid,
  output [2:0]  auto_out_a_bits_opcode,
  output [2:0]  auto_out_a_bits_param,
  output [2:0]  auto_out_a_bits_size,
  output        auto_out_a_bits_source,
  output [31:0] auto_out_a_bits_address,
  output [7:0]  auto_out_a_bits_mask,
  output [63:0] auto_out_a_bits_data,
  output        auto_out_a_bits_corrupt,
  output        auto_out_d_ready,
  input         auto_out_d_valid,
  input  [2:0]  auto_out_d_bits_opcode,
  input  [1:0]  auto_out_d_bits_param,
  input  [2:0]  auto_out_d_bits_size,
  input         auto_out_d_bits_source,
  input  [4:0]  auto_out_d_bits_sink,
  input         auto_out_d_bits_denied,
  input  [63:0] auto_out_d_bits_data,
  input         auto_out_d_bits_corrupt
);
  wire  monitor_clock; // @[Nodes.scala 24:25]
  wire  monitor_reset; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
  wire [31:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
  wire [7:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
  wire [4:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [31:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 377:21]
  wire [7:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 377:21]
  wire [63:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 377:21]
  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 377:21]
  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 377:21]
  wire [4:0] bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 377:21]
  wire [63:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 377:21]
  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 377:21]
  TLMonitor_14 monitor ( // @[Nodes.scala 24:25]
    .clock(monitor_clock),
    .reset(monitor_reset),
    .io_in_a_ready(monitor_io_in_a_ready),
    .io_in_a_valid(monitor_io_in_a_valid),
    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(monitor_io_in_a_bits_param),
    .io_in_a_bits_size(monitor_io_in_a_bits_size),
    .io_in_a_bits_source(monitor_io_in_a_bits_source),
    .io_in_a_bits_address(monitor_io_in_a_bits_address),
    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
    .io_in_d_ready(monitor_io_in_d_ready),
    .io_in_d_valid(monitor_io_in_d_valid),
    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(monitor_io_in_d_bits_param),
    .io_in_d_bits_size(monitor_io_in_d_bits_size),
    .io_in_d_bits_source(monitor_io_in_d_bits_source),
    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
  );
  Queue_33 bundleOut_0_a_q ( // @[Decoupled.scala 377:21]
    .clock(bundleOut_0_a_q_clock),
    .reset(bundleOut_0_a_q_reset),
    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
  );
  Queue_34 bundleIn_0_d_q ( // @[Decoupled.scala 377:21]
    .clock(bundleIn_0_d_q_clock),
    .reset(bundleIn_0_d_q_reset),
    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 381:17]
  assign monitor_clock = clock;
  assign monitor_reset = reset;
  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 381:17]
  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
  assign bundleOut_0_a_q_clock = clock;
  assign bundleOut_0_a_q_reset = reset;
  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_clock = clock;
  assign bundleIn_0_d_q_reset = reset;
  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
endmodule
module Rift2LinkA(
  input         clock,
  input         reset,
  input         io_rtc_clock,
  output        io_dm_hartIsInReset,
  input         io_dm_hartResetReq,
  input         io_dm_hartHaltReq,
  input         io_aclint_msi,
  input         io_aclint_mti,
  input         io_aclint_ssi,
  input         io_aclint_sti,
  input         io_plic_mei,
  input         io_plic_sei,
  output        io_hspi_clk,
  input         io_hspi_rx_enable,
  input  [15:0] io_hspi_rx_data,
  output        io_hspi_tx_enable,
  output [15:0] io_hspi_tx_data,
  output        io_hspi_oen
);
  wire  i_rift2Core_clock; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_reset; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_prefetch_clinet_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_prefetch_clinet_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_prefetch_clinet_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_prefetch_clinet_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_prefetch_clinet_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_a_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_mmu_client_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_mmu_client_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_mmu_client_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_mmu_client_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_mmu_client_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_mmu_client_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_d_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_mmu_client_out_d_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_mmu_client_out_d_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_mmu_client_out_d_bits_source; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_mmu_client_out_d_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_a_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_periph_client_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_periph_client_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [1:0] i_rift2Core_auto_periph_client_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_periph_client_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_periph_client_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_periph_client_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_periph_client_out_d_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_periph_client_out_d_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_periph_client_out_d_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_a_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_system_client_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_system_client_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [1:0] i_rift2Core_auto_system_client_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_system_client_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_system_client_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_system_client_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_system_client_out_d_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_system_client_out_d_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_system_client_out_d_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_a_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_dcache_client_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_dcache_client_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_dcache_client_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_b_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_b_valid; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_dcache_client_out_b_bits_address; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_c_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_c_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_c_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_c_bits_param; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_c_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_c_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_dcache_client_out_c_bits_address; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_dcache_client_out_c_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_c_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_d_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_d_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_dcache_client_out_d_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_d_bits_source; // @[Rift2Link.scala 47:31]
  wire [4:0] i_rift2Core_auto_dcache_client_out_d_bits_sink; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_dcache_client_out_d_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_e_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_dcache_client_out_e_valid; // @[Rift2Link.scala 47:31]
  wire [4:0] i_rift2Core_auto_dcache_client_out_e_bits_sink; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_a_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_a_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_icache_client_out_a_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_icache_client_out_a_bits_param; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_icache_client_out_a_bits_size; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_a_bits_source; // @[Rift2Link.scala 47:31]
  wire [31:0] i_rift2Core_auto_icache_client_out_a_bits_address; // @[Rift2Link.scala 47:31]
  wire [7:0] i_rift2Core_auto_icache_client_out_a_bits_mask; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_icache_client_out_a_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_a_bits_corrupt; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_d_ready; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_auto_icache_client_out_d_valid; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_icache_client_out_d_bits_opcode; // @[Rift2Link.scala 47:31]
  wire [2:0] i_rift2Core_auto_icache_client_out_d_bits_size; // @[Rift2Link.scala 47:31]
  wire [63:0] i_rift2Core_auto_icache_client_out_d_bits_data; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_dm_hartIsInReset; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_dm_hartResetReq; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_dm_hartHaltReq; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_rtc_clock; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_aclint_msi; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_aclint_mti; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_aclint_ssi; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_aclint_sti; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_plic_mei; // @[Rift2Link.scala 47:31]
  wire  i_rift2Core_io_plic_sei; // @[Rift2Link.scala 47:31]
  wire  sifiveCache_clock; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_reset; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_a_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_a_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_a_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_a_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_a_bits_size; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_a_bits_source; // @[Rift2Link.scala 49:54]
  wire [31:0] sifiveCache_auto_in_a_bits_address; // @[Rift2Link.scala 49:54]
  wire [7:0] sifiveCache_auto_in_a_bits_mask; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_in_a_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_a_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_b_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_b_valid; // @[Rift2Link.scala 49:54]
  wire [1:0] sifiveCache_auto_in_b_bits_param; // @[Rift2Link.scala 49:54]
  wire [31:0] sifiveCache_auto_in_b_bits_address; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_c_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_c_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_c_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_c_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_c_bits_size; // @[Rift2Link.scala 49:54]
  wire [31:0] sifiveCache_auto_in_c_bits_address; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_in_c_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_c_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_d_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_d_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_d_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [1:0] sifiveCache_auto_in_d_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_d_bits_size; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_in_d_bits_source; // @[Rift2Link.scala 49:54]
  wire [4:0] sifiveCache_auto_in_d_bits_sink; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_d_bits_denied; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_in_d_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_d_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_in_e_valid; // @[Rift2Link.scala 49:54]
  wire [4:0] sifiveCache_auto_in_e_bits_sink; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_a_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_a_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_a_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_a_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_a_bits_size; // @[Rift2Link.scala 49:54]
  wire [4:0] sifiveCache_auto_out_a_bits_source; // @[Rift2Link.scala 49:54]
  wire [31:0] sifiveCache_auto_out_a_bits_address; // @[Rift2Link.scala 49:54]
  wire [7:0] sifiveCache_auto_out_a_bits_mask; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_out_a_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_a_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_c_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_c_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_c_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_c_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_c_bits_size; // @[Rift2Link.scala 49:54]
  wire [4:0] sifiveCache_auto_out_c_bits_source; // @[Rift2Link.scala 49:54]
  wire [31:0] sifiveCache_auto_out_c_bits_address; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_out_c_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_c_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_d_ready; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_d_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_d_bits_opcode; // @[Rift2Link.scala 49:54]
  wire [1:0] sifiveCache_auto_out_d_bits_param; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_d_bits_size; // @[Rift2Link.scala 49:54]
  wire [4:0] sifiveCache_auto_out_d_bits_source; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_d_bits_sink; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_d_bits_denied; // @[Rift2Link.scala 49:54]
  wire [63:0] sifiveCache_auto_out_d_bits_data; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_d_bits_corrupt; // @[Rift2Link.scala 49:54]
  wire  sifiveCache_auto_out_e_valid; // @[Rift2Link.scala 49:54]
  wire [2:0] sifiveCache_auto_out_e_bits_sink; // @[Rift2Link.scala 49:54]
  wire  chipLinkMst_clock; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_reset; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_auto_chip_link_master_in_a_ready; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_auto_chip_link_master_in_a_valid; // @[Rift2Link.scala 57:31]
  wire [2:0] chipLinkMst_auto_chip_link_master_in_a_bits_opcode; // @[Rift2Link.scala 57:31]
  wire [2:0] chipLinkMst_auto_chip_link_master_in_a_bits_param; // @[Rift2Link.scala 57:31]
  wire [1:0] chipLinkMst_auto_chip_link_master_in_a_bits_size; // @[Rift2Link.scala 57:31]
  wire [9:0] chipLinkMst_auto_chip_link_master_in_a_bits_source; // @[Rift2Link.scala 57:31]
  wire [31:0] chipLinkMst_auto_chip_link_master_in_a_bits_address; // @[Rift2Link.scala 57:31]
  wire [7:0] chipLinkMst_auto_chip_link_master_in_a_bits_mask; // @[Rift2Link.scala 57:31]
  wire [63:0] chipLinkMst_auto_chip_link_master_in_a_bits_data; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_auto_chip_link_master_in_a_bits_corrupt; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_auto_chip_link_master_in_d_ready; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_auto_chip_link_master_in_d_valid; // @[Rift2Link.scala 57:31]
  wire [2:0] chipLinkMst_auto_chip_link_master_in_d_bits_opcode; // @[Rift2Link.scala 57:31]
  wire [1:0] chipLinkMst_auto_chip_link_master_in_d_bits_size; // @[Rift2Link.scala 57:31]
  wire [9:0] chipLinkMst_auto_chip_link_master_in_d_bits_source; // @[Rift2Link.scala 57:31]
  wire [63:0] chipLinkMst_auto_chip_link_master_in_d_bits_data; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_io_hspi_clk; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_io_hspi_rx_enable; // @[Rift2Link.scala 57:31]
  wire [15:0] chipLinkMst_io_hspi_rx_data; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_io_hspi_tx_enable; // @[Rift2Link.scala 57:31]
  wire [15:0] chipLinkMst_io_hspi_tx_data; // @[Rift2Link.scala 57:31]
  wire  chipLinkMst_io_hspi_oen; // @[Rift2Link.scala 57:31]
  wire  xbar_clock; // @[Xbar.scala 142:26]
  wire  xbar_reset; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_3_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_3_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_3_a_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_3_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_3_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_3_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_auto_in_3_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_3_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_3_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_3_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_2_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_2_a_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_2_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_2_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_auto_in_2_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_2_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_2_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_in_2_d_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_2_d_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_d_bits_source; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_in_2_d_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_d_bits_denied; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_2_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_2_d_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_a_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_1_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_auto_in_1_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_1_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_b_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_b_valid; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_in_1_b_bits_param; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_1_b_bits_address; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_c_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_c_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_c_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_c_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_c_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_c_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_1_c_bits_address; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_1_c_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_c_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_in_1_d_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_1_d_bits_size; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_in_1_d_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_d_bits_denied; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_1_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_d_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_1_e_valid; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_in_1_e_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_0_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_0_a_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_0_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_in_0_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_auto_in_0_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_0_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_0_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_in_0_d_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_in_0_d_bits_size; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_in_0_d_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_d_bits_denied; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_in_0_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_in_0_d_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_a_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_a_bits_size; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_out_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_auto_out_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_out_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_b_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_b_valid; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_out_b_bits_param; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_out_b_bits_address; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_c_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_c_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_c_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_c_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_c_bits_size; // @[Xbar.scala 142:26]
  wire [31:0] xbar_auto_out_c_bits_address; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_out_c_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_c_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_auto_out_d_bits_param; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_d_bits_size; // @[Xbar.scala 142:26]
  wire [2:0] xbar_auto_out_d_bits_source; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_out_d_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_d_bits_denied; // @[Xbar.scala 142:26]
  wire [63:0] xbar_auto_out_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_d_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_auto_out_e_valid; // @[Xbar.scala 142:26]
  wire [4:0] xbar_auto_out_e_bits_sink; // @[Xbar.scala 142:26]
  wire  xbar_1_clock; // @[Xbar.scala 142:26]
  wire  xbar_1_reset; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_2_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_2_a_bits_param; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_in_2_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_1_auto_in_2_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_1_auto_in_2_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_2_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_2_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_2_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_2_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_1_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_1_a_bits_param; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_in_1_a_bits_size; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_1_auto_in_1_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_1_auto_in_1_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_1_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_1_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_1_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_1_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_0_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_0_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_0_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_0_a_bits_param; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_in_0_a_bits_size; // @[Xbar.scala 142:26]
  wire [8:0] xbar_1_auto_in_0_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_1_auto_in_0_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_1_auto_in_0_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_0_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_0_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_0_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_in_0_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_in_0_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_in_0_d_bits_size; // @[Xbar.scala 142:26]
  wire [8:0] xbar_1_auto_in_0_d_bits_source; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_in_0_d_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_out_a_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_out_a_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_out_a_bits_opcode; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_out_a_bits_param; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_out_a_bits_size; // @[Xbar.scala 142:26]
  wire [9:0] xbar_1_auto_out_a_bits_source; // @[Xbar.scala 142:26]
  wire [31:0] xbar_1_auto_out_a_bits_address; // @[Xbar.scala 142:26]
  wire [7:0] xbar_1_auto_out_a_bits_mask; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_out_a_bits_data; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_out_a_bits_corrupt; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_out_d_ready; // @[Xbar.scala 142:26]
  wire  xbar_1_auto_out_d_valid; // @[Xbar.scala 142:26]
  wire [2:0] xbar_1_auto_out_d_bits_opcode; // @[Xbar.scala 142:26]
  wire [1:0] xbar_1_auto_out_d_bits_size; // @[Xbar.scala 142:26]
  wire [9:0] xbar_1_auto_out_d_bits_source; // @[Xbar.scala 142:26]
  wire [63:0] xbar_1_auto_out_d_bits_data; // @[Xbar.scala 142:26]
  wire  fixer_clock; // @[FIFOFixer.scala 144:27]
  wire  fixer_reset; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 144:27]
  wire [1:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 144:27]
  wire [8:0] fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 144:27]
  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 144:27]
  wire [7:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 144:27]
  wire [63:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 144:27]
  wire [1:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 144:27]
  wire [8:0] fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 144:27]
  wire [63:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 144:27]
  wire [1:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 144:27]
  wire [8:0] fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 144:27]
  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 144:27]
  wire [7:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 144:27]
  wire [63:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 144:27]
  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 144:27]
  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 144:27]
  wire [1:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 144:27]
  wire [8:0] fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 144:27]
  wire [63:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 144:27]
  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
  wire [5:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
  wire [31:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
  wire [7:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
  wire [63:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
  wire [5:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
  wire [63:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
  wire [8:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
  wire [31:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
  wire [7:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
  wire [63:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
  wire [8:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
  wire [63:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
  wire [5:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
  wire [31:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
  wire [7:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
  wire [63:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
  wire [5:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
  wire [63:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
  wire [5:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
  wire [31:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
  wire [7:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
  wire [63:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
  wire [5:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
  wire [63:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
  wire  cork_clock; // @[CacheCork.scala 177:26]
  wire  cork_reset; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_a_ready; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_a_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_a_bits_opcode; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_a_bits_param; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_a_bits_size; // @[CacheCork.scala 177:26]
  wire [4:0] cork_auto_in_a_bits_source; // @[CacheCork.scala 177:26]
  wire [31:0] cork_auto_in_a_bits_address; // @[CacheCork.scala 177:26]
  wire [7:0] cork_auto_in_a_bits_mask; // @[CacheCork.scala 177:26]
  wire [63:0] cork_auto_in_a_bits_data; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_a_bits_corrupt; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_c_ready; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_c_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_c_bits_opcode; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_c_bits_param; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_c_bits_size; // @[CacheCork.scala 177:26]
  wire [4:0] cork_auto_in_c_bits_source; // @[CacheCork.scala 177:26]
  wire [31:0] cork_auto_in_c_bits_address; // @[CacheCork.scala 177:26]
  wire [63:0] cork_auto_in_c_bits_data; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_c_bits_corrupt; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_d_ready; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_d_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_d_bits_opcode; // @[CacheCork.scala 177:26]
  wire [1:0] cork_auto_in_d_bits_param; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_d_bits_size; // @[CacheCork.scala 177:26]
  wire [4:0] cork_auto_in_d_bits_source; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_d_bits_sink; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_d_bits_denied; // @[CacheCork.scala 177:26]
  wire [63:0] cork_auto_in_d_bits_data; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_d_bits_corrupt; // @[CacheCork.scala 177:26]
  wire  cork_auto_in_e_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_in_e_bits_sink; // @[CacheCork.scala 177:26]
  wire  cork_auto_out_a_ready; // @[CacheCork.scala 177:26]
  wire  cork_auto_out_a_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_out_a_bits_opcode; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_out_a_bits_param; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_out_a_bits_size; // @[CacheCork.scala 177:26]
  wire [5:0] cork_auto_out_a_bits_source; // @[CacheCork.scala 177:26]
  wire [31:0] cork_auto_out_a_bits_address; // @[CacheCork.scala 177:26]
  wire [7:0] cork_auto_out_a_bits_mask; // @[CacheCork.scala 177:26]
  wire [63:0] cork_auto_out_a_bits_data; // @[CacheCork.scala 177:26]
  wire  cork_auto_out_a_bits_corrupt; // @[CacheCork.scala 177:26]
  wire  cork_auto_out_d_ready; // @[CacheCork.scala 177:26]
  wire  cork_auto_out_d_valid; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_out_d_bits_opcode; // @[CacheCork.scala 177:26]
  wire [2:0] cork_auto_out_d_bits_size; // @[CacheCork.scala 177:26]
  wire [5:0] cork_auto_out_d_bits_source; // @[CacheCork.scala 177:26]
  wire [63:0] cork_auto_out_d_bits_data; // @[CacheCork.scala 177:26]
  wire  buffer_clock; // @[Buffer.scala 68:28]
  wire  buffer_reset; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
  wire [63:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
  wire [4:0] buffer_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
  wire [63:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_clock; // @[Buffer.scala 68:28]
  wire  buffer_1_reset; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_b_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_b_valid; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_in_b_bits_address; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_c_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_c_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_c_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_c_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_c_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_c_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_in_c_bits_address; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_in_c_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_c_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
  wire [4:0] buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_e_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_in_e_valid; // @[Buffer.scala 68:28]
  wire [4:0] buffer_1_auto_in_e_bits_sink; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_b_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_b_valid; // @[Buffer.scala 68:28]
  wire [1:0] buffer_1_auto_out_b_bits_param; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_out_b_bits_address; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_c_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_c_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_c_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_c_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_c_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_c_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_1_auto_out_c_bits_address; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_out_c_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_c_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
  wire [4:0] buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
  wire [63:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_1_auto_out_e_valid; // @[Buffer.scala 68:28]
  wire [4:0] buffer_1_auto_out_e_bits_sink; // @[Buffer.scala 68:28]
  wire  buffer_2_clock; // @[Buffer.scala 68:28]
  wire  buffer_2_reset; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_in_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_in_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_2_auto_in_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_2_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_2_auto_in_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_in_d_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_in_d_bits_source; // @[Buffer.scala 68:28]
  wire [63:0] buffer_2_auto_in_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_a_ready; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_a_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_out_a_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_out_a_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_a_bits_source; // @[Buffer.scala 68:28]
  wire [31:0] buffer_2_auto_out_a_bits_address; // @[Buffer.scala 68:28]
  wire [7:0] buffer_2_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
  wire [63:0] buffer_2_auto_out_a_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_d_ready; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_d_valid; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
  wire [1:0] buffer_2_auto_out_d_bits_param; // @[Buffer.scala 68:28]
  wire [2:0] buffer_2_auto_out_d_bits_size; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_d_bits_source; // @[Buffer.scala 68:28]
  wire [4:0] buffer_2_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
  wire [63:0] buffer_2_auto_out_d_bits_data; // @[Buffer.scala 68:28]
  wire  buffer_2_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
  Rift2Core i_rift2Core ( // @[Rift2Link.scala 47:31]
    .clock(i_rift2Core_clock),
    .reset(i_rift2Core_reset),
    .auto_prefetch_clinet_out_a_valid(i_rift2Core_auto_prefetch_clinet_out_a_valid),
    .auto_prefetch_clinet_out_a_bits_opcode(i_rift2Core_auto_prefetch_clinet_out_a_bits_opcode),
    .auto_prefetch_clinet_out_a_bits_param(i_rift2Core_auto_prefetch_clinet_out_a_bits_param),
    .auto_prefetch_clinet_out_a_bits_size(i_rift2Core_auto_prefetch_clinet_out_a_bits_size),
    .auto_prefetch_clinet_out_a_bits_source(i_rift2Core_auto_prefetch_clinet_out_a_bits_source),
    .auto_prefetch_clinet_out_a_bits_address(i_rift2Core_auto_prefetch_clinet_out_a_bits_address),
    .auto_prefetch_clinet_out_a_bits_mask(i_rift2Core_auto_prefetch_clinet_out_a_bits_mask),
    .auto_prefetch_clinet_out_a_bits_data(i_rift2Core_auto_prefetch_clinet_out_a_bits_data),
    .auto_prefetch_clinet_out_a_bits_corrupt(i_rift2Core_auto_prefetch_clinet_out_a_bits_corrupt),
    .auto_prefetch_clinet_out_d_ready(i_rift2Core_auto_prefetch_clinet_out_d_ready),
    .auto_mmu_client_out_a_ready(i_rift2Core_auto_mmu_client_out_a_ready),
    .auto_mmu_client_out_a_valid(i_rift2Core_auto_mmu_client_out_a_valid),
    .auto_mmu_client_out_a_bits_opcode(i_rift2Core_auto_mmu_client_out_a_bits_opcode),
    .auto_mmu_client_out_a_bits_param(i_rift2Core_auto_mmu_client_out_a_bits_param),
    .auto_mmu_client_out_a_bits_size(i_rift2Core_auto_mmu_client_out_a_bits_size),
    .auto_mmu_client_out_a_bits_source(i_rift2Core_auto_mmu_client_out_a_bits_source),
    .auto_mmu_client_out_a_bits_address(i_rift2Core_auto_mmu_client_out_a_bits_address),
    .auto_mmu_client_out_a_bits_mask(i_rift2Core_auto_mmu_client_out_a_bits_mask),
    .auto_mmu_client_out_a_bits_data(i_rift2Core_auto_mmu_client_out_a_bits_data),
    .auto_mmu_client_out_a_bits_corrupt(i_rift2Core_auto_mmu_client_out_a_bits_corrupt),
    .auto_mmu_client_out_d_ready(i_rift2Core_auto_mmu_client_out_d_ready),
    .auto_mmu_client_out_d_valid(i_rift2Core_auto_mmu_client_out_d_valid),
    .auto_mmu_client_out_d_bits_opcode(i_rift2Core_auto_mmu_client_out_d_bits_opcode),
    .auto_mmu_client_out_d_bits_size(i_rift2Core_auto_mmu_client_out_d_bits_size),
    .auto_mmu_client_out_d_bits_source(i_rift2Core_auto_mmu_client_out_d_bits_source),
    .auto_mmu_client_out_d_bits_data(i_rift2Core_auto_mmu_client_out_d_bits_data),
    .auto_periph_client_out_a_ready(i_rift2Core_auto_periph_client_out_a_ready),
    .auto_periph_client_out_a_valid(i_rift2Core_auto_periph_client_out_a_valid),
    .auto_periph_client_out_a_bits_opcode(i_rift2Core_auto_periph_client_out_a_bits_opcode),
    .auto_periph_client_out_a_bits_param(i_rift2Core_auto_periph_client_out_a_bits_param),
    .auto_periph_client_out_a_bits_size(i_rift2Core_auto_periph_client_out_a_bits_size),
    .auto_periph_client_out_a_bits_source(i_rift2Core_auto_periph_client_out_a_bits_source),
    .auto_periph_client_out_a_bits_address(i_rift2Core_auto_periph_client_out_a_bits_address),
    .auto_periph_client_out_a_bits_mask(i_rift2Core_auto_periph_client_out_a_bits_mask),
    .auto_periph_client_out_a_bits_data(i_rift2Core_auto_periph_client_out_a_bits_data),
    .auto_periph_client_out_a_bits_corrupt(i_rift2Core_auto_periph_client_out_a_bits_corrupt),
    .auto_periph_client_out_d_ready(i_rift2Core_auto_periph_client_out_d_ready),
    .auto_periph_client_out_d_valid(i_rift2Core_auto_periph_client_out_d_valid),
    .auto_periph_client_out_d_bits_opcode(i_rift2Core_auto_periph_client_out_d_bits_opcode),
    .auto_periph_client_out_d_bits_data(i_rift2Core_auto_periph_client_out_d_bits_data),
    .auto_system_client_out_a_ready(i_rift2Core_auto_system_client_out_a_ready),
    .auto_system_client_out_a_valid(i_rift2Core_auto_system_client_out_a_valid),
    .auto_system_client_out_a_bits_opcode(i_rift2Core_auto_system_client_out_a_bits_opcode),
    .auto_system_client_out_a_bits_param(i_rift2Core_auto_system_client_out_a_bits_param),
    .auto_system_client_out_a_bits_size(i_rift2Core_auto_system_client_out_a_bits_size),
    .auto_system_client_out_a_bits_source(i_rift2Core_auto_system_client_out_a_bits_source),
    .auto_system_client_out_a_bits_address(i_rift2Core_auto_system_client_out_a_bits_address),
    .auto_system_client_out_a_bits_mask(i_rift2Core_auto_system_client_out_a_bits_mask),
    .auto_system_client_out_a_bits_data(i_rift2Core_auto_system_client_out_a_bits_data),
    .auto_system_client_out_a_bits_corrupt(i_rift2Core_auto_system_client_out_a_bits_corrupt),
    .auto_system_client_out_d_ready(i_rift2Core_auto_system_client_out_d_ready),
    .auto_system_client_out_d_valid(i_rift2Core_auto_system_client_out_d_valid),
    .auto_system_client_out_d_bits_opcode(i_rift2Core_auto_system_client_out_d_bits_opcode),
    .auto_system_client_out_d_bits_data(i_rift2Core_auto_system_client_out_d_bits_data),
    .auto_dcache_client_out_a_ready(i_rift2Core_auto_dcache_client_out_a_ready),
    .auto_dcache_client_out_a_valid(i_rift2Core_auto_dcache_client_out_a_valid),
    .auto_dcache_client_out_a_bits_opcode(i_rift2Core_auto_dcache_client_out_a_bits_opcode),
    .auto_dcache_client_out_a_bits_param(i_rift2Core_auto_dcache_client_out_a_bits_param),
    .auto_dcache_client_out_a_bits_size(i_rift2Core_auto_dcache_client_out_a_bits_size),
    .auto_dcache_client_out_a_bits_source(i_rift2Core_auto_dcache_client_out_a_bits_source),
    .auto_dcache_client_out_a_bits_address(i_rift2Core_auto_dcache_client_out_a_bits_address),
    .auto_dcache_client_out_a_bits_mask(i_rift2Core_auto_dcache_client_out_a_bits_mask),
    .auto_dcache_client_out_a_bits_data(i_rift2Core_auto_dcache_client_out_a_bits_data),
    .auto_dcache_client_out_a_bits_corrupt(i_rift2Core_auto_dcache_client_out_a_bits_corrupt),
    .auto_dcache_client_out_b_ready(i_rift2Core_auto_dcache_client_out_b_ready),
    .auto_dcache_client_out_b_valid(i_rift2Core_auto_dcache_client_out_b_valid),
    .auto_dcache_client_out_b_bits_address(i_rift2Core_auto_dcache_client_out_b_bits_address),
    .auto_dcache_client_out_c_ready(i_rift2Core_auto_dcache_client_out_c_ready),
    .auto_dcache_client_out_c_valid(i_rift2Core_auto_dcache_client_out_c_valid),
    .auto_dcache_client_out_c_bits_opcode(i_rift2Core_auto_dcache_client_out_c_bits_opcode),
    .auto_dcache_client_out_c_bits_param(i_rift2Core_auto_dcache_client_out_c_bits_param),
    .auto_dcache_client_out_c_bits_size(i_rift2Core_auto_dcache_client_out_c_bits_size),
    .auto_dcache_client_out_c_bits_source(i_rift2Core_auto_dcache_client_out_c_bits_source),
    .auto_dcache_client_out_c_bits_address(i_rift2Core_auto_dcache_client_out_c_bits_address),
    .auto_dcache_client_out_c_bits_data(i_rift2Core_auto_dcache_client_out_c_bits_data),
    .auto_dcache_client_out_c_bits_corrupt(i_rift2Core_auto_dcache_client_out_c_bits_corrupt),
    .auto_dcache_client_out_d_ready(i_rift2Core_auto_dcache_client_out_d_ready),
    .auto_dcache_client_out_d_valid(i_rift2Core_auto_dcache_client_out_d_valid),
    .auto_dcache_client_out_d_bits_opcode(i_rift2Core_auto_dcache_client_out_d_bits_opcode),
    .auto_dcache_client_out_d_bits_size(i_rift2Core_auto_dcache_client_out_d_bits_size),
    .auto_dcache_client_out_d_bits_source(i_rift2Core_auto_dcache_client_out_d_bits_source),
    .auto_dcache_client_out_d_bits_sink(i_rift2Core_auto_dcache_client_out_d_bits_sink),
    .auto_dcache_client_out_d_bits_data(i_rift2Core_auto_dcache_client_out_d_bits_data),
    .auto_dcache_client_out_e_ready(i_rift2Core_auto_dcache_client_out_e_ready),
    .auto_dcache_client_out_e_valid(i_rift2Core_auto_dcache_client_out_e_valid),
    .auto_dcache_client_out_e_bits_sink(i_rift2Core_auto_dcache_client_out_e_bits_sink),
    .auto_icache_client_out_a_ready(i_rift2Core_auto_icache_client_out_a_ready),
    .auto_icache_client_out_a_valid(i_rift2Core_auto_icache_client_out_a_valid),
    .auto_icache_client_out_a_bits_opcode(i_rift2Core_auto_icache_client_out_a_bits_opcode),
    .auto_icache_client_out_a_bits_param(i_rift2Core_auto_icache_client_out_a_bits_param),
    .auto_icache_client_out_a_bits_size(i_rift2Core_auto_icache_client_out_a_bits_size),
    .auto_icache_client_out_a_bits_source(i_rift2Core_auto_icache_client_out_a_bits_source),
    .auto_icache_client_out_a_bits_address(i_rift2Core_auto_icache_client_out_a_bits_address),
    .auto_icache_client_out_a_bits_mask(i_rift2Core_auto_icache_client_out_a_bits_mask),
    .auto_icache_client_out_a_bits_data(i_rift2Core_auto_icache_client_out_a_bits_data),
    .auto_icache_client_out_a_bits_corrupt(i_rift2Core_auto_icache_client_out_a_bits_corrupt),
    .auto_icache_client_out_d_ready(i_rift2Core_auto_icache_client_out_d_ready),
    .auto_icache_client_out_d_valid(i_rift2Core_auto_icache_client_out_d_valid),
    .auto_icache_client_out_d_bits_opcode(i_rift2Core_auto_icache_client_out_d_bits_opcode),
    .auto_icache_client_out_d_bits_size(i_rift2Core_auto_icache_client_out_d_bits_size),
    .auto_icache_client_out_d_bits_data(i_rift2Core_auto_icache_client_out_d_bits_data),
    .io_dm_hartIsInReset(i_rift2Core_io_dm_hartIsInReset),
    .io_dm_hartResetReq(i_rift2Core_io_dm_hartResetReq),
    .io_dm_hartHaltReq(i_rift2Core_io_dm_hartHaltReq),
    .io_rtc_clock(i_rift2Core_io_rtc_clock),
    .io_aclint_msi(i_rift2Core_io_aclint_msi),
    .io_aclint_mti(i_rift2Core_io_aclint_mti),
    .io_aclint_ssi(i_rift2Core_io_aclint_ssi),
    .io_aclint_sti(i_rift2Core_io_aclint_sti),
    .io_plic_mei(i_rift2Core_io_plic_mei),
    .io_plic_sei(i_rift2Core_io_plic_sei)
  );
  InclusiveCache sifiveCache ( // @[Rift2Link.scala 49:54]
    .clock(sifiveCache_clock),
    .reset(sifiveCache_reset),
    .auto_in_a_ready(sifiveCache_auto_in_a_ready),
    .auto_in_a_valid(sifiveCache_auto_in_a_valid),
    .auto_in_a_bits_opcode(sifiveCache_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(sifiveCache_auto_in_a_bits_param),
    .auto_in_a_bits_size(sifiveCache_auto_in_a_bits_size),
    .auto_in_a_bits_source(sifiveCache_auto_in_a_bits_source),
    .auto_in_a_bits_address(sifiveCache_auto_in_a_bits_address),
    .auto_in_a_bits_mask(sifiveCache_auto_in_a_bits_mask),
    .auto_in_a_bits_data(sifiveCache_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(sifiveCache_auto_in_a_bits_corrupt),
    .auto_in_b_ready(sifiveCache_auto_in_b_ready),
    .auto_in_b_valid(sifiveCache_auto_in_b_valid),
    .auto_in_b_bits_param(sifiveCache_auto_in_b_bits_param),
    .auto_in_b_bits_address(sifiveCache_auto_in_b_bits_address),
    .auto_in_c_ready(sifiveCache_auto_in_c_ready),
    .auto_in_c_valid(sifiveCache_auto_in_c_valid),
    .auto_in_c_bits_opcode(sifiveCache_auto_in_c_bits_opcode),
    .auto_in_c_bits_param(sifiveCache_auto_in_c_bits_param),
    .auto_in_c_bits_size(sifiveCache_auto_in_c_bits_size),
    .auto_in_c_bits_address(sifiveCache_auto_in_c_bits_address),
    .auto_in_c_bits_data(sifiveCache_auto_in_c_bits_data),
    .auto_in_c_bits_corrupt(sifiveCache_auto_in_c_bits_corrupt),
    .auto_in_d_ready(sifiveCache_auto_in_d_ready),
    .auto_in_d_valid(sifiveCache_auto_in_d_valid),
    .auto_in_d_bits_opcode(sifiveCache_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(sifiveCache_auto_in_d_bits_param),
    .auto_in_d_bits_size(sifiveCache_auto_in_d_bits_size),
    .auto_in_d_bits_source(sifiveCache_auto_in_d_bits_source),
    .auto_in_d_bits_sink(sifiveCache_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(sifiveCache_auto_in_d_bits_denied),
    .auto_in_d_bits_data(sifiveCache_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(sifiveCache_auto_in_d_bits_corrupt),
    .auto_in_e_valid(sifiveCache_auto_in_e_valid),
    .auto_in_e_bits_sink(sifiveCache_auto_in_e_bits_sink),
    .auto_out_a_ready(sifiveCache_auto_out_a_ready),
    .auto_out_a_valid(sifiveCache_auto_out_a_valid),
    .auto_out_a_bits_opcode(sifiveCache_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(sifiveCache_auto_out_a_bits_param),
    .auto_out_a_bits_size(sifiveCache_auto_out_a_bits_size),
    .auto_out_a_bits_source(sifiveCache_auto_out_a_bits_source),
    .auto_out_a_bits_address(sifiveCache_auto_out_a_bits_address),
    .auto_out_a_bits_mask(sifiveCache_auto_out_a_bits_mask),
    .auto_out_a_bits_data(sifiveCache_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(sifiveCache_auto_out_a_bits_corrupt),
    .auto_out_c_ready(sifiveCache_auto_out_c_ready),
    .auto_out_c_valid(sifiveCache_auto_out_c_valid),
    .auto_out_c_bits_opcode(sifiveCache_auto_out_c_bits_opcode),
    .auto_out_c_bits_param(sifiveCache_auto_out_c_bits_param),
    .auto_out_c_bits_size(sifiveCache_auto_out_c_bits_size),
    .auto_out_c_bits_source(sifiveCache_auto_out_c_bits_source),
    .auto_out_c_bits_address(sifiveCache_auto_out_c_bits_address),
    .auto_out_c_bits_data(sifiveCache_auto_out_c_bits_data),
    .auto_out_c_bits_corrupt(sifiveCache_auto_out_c_bits_corrupt),
    .auto_out_d_ready(sifiveCache_auto_out_d_ready),
    .auto_out_d_valid(sifiveCache_auto_out_d_valid),
    .auto_out_d_bits_opcode(sifiveCache_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(sifiveCache_auto_out_d_bits_param),
    .auto_out_d_bits_size(sifiveCache_auto_out_d_bits_size),
    .auto_out_d_bits_source(sifiveCache_auto_out_d_bits_source),
    .auto_out_d_bits_sink(sifiveCache_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(sifiveCache_auto_out_d_bits_denied),
    .auto_out_d_bits_data(sifiveCache_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(sifiveCache_auto_out_d_bits_corrupt),
    .auto_out_e_valid(sifiveCache_auto_out_e_valid),
    .auto_out_e_bits_sink(sifiveCache_auto_out_e_bits_sink)
  );
  ChipLinkMaster chipLinkMst ( // @[Rift2Link.scala 57:31]
    .clock(chipLinkMst_clock),
    .reset(chipLinkMst_reset),
    .auto_chip_link_master_in_a_ready(chipLinkMst_auto_chip_link_master_in_a_ready),
    .auto_chip_link_master_in_a_valid(chipLinkMst_auto_chip_link_master_in_a_valid),
    .auto_chip_link_master_in_a_bits_opcode(chipLinkMst_auto_chip_link_master_in_a_bits_opcode),
    .auto_chip_link_master_in_a_bits_param(chipLinkMst_auto_chip_link_master_in_a_bits_param),
    .auto_chip_link_master_in_a_bits_size(chipLinkMst_auto_chip_link_master_in_a_bits_size),
    .auto_chip_link_master_in_a_bits_source(chipLinkMst_auto_chip_link_master_in_a_bits_source),
    .auto_chip_link_master_in_a_bits_address(chipLinkMst_auto_chip_link_master_in_a_bits_address),
    .auto_chip_link_master_in_a_bits_mask(chipLinkMst_auto_chip_link_master_in_a_bits_mask),
    .auto_chip_link_master_in_a_bits_data(chipLinkMst_auto_chip_link_master_in_a_bits_data),
    .auto_chip_link_master_in_a_bits_corrupt(chipLinkMst_auto_chip_link_master_in_a_bits_corrupt),
    .auto_chip_link_master_in_d_ready(chipLinkMst_auto_chip_link_master_in_d_ready),
    .auto_chip_link_master_in_d_valid(chipLinkMst_auto_chip_link_master_in_d_valid),
    .auto_chip_link_master_in_d_bits_opcode(chipLinkMst_auto_chip_link_master_in_d_bits_opcode),
    .auto_chip_link_master_in_d_bits_size(chipLinkMst_auto_chip_link_master_in_d_bits_size),
    .auto_chip_link_master_in_d_bits_source(chipLinkMst_auto_chip_link_master_in_d_bits_source),
    .auto_chip_link_master_in_d_bits_data(chipLinkMst_auto_chip_link_master_in_d_bits_data),
    .io_hspi_clk(chipLinkMst_io_hspi_clk),
    .io_hspi_rx_enable(chipLinkMst_io_hspi_rx_enable),
    .io_hspi_rx_data(chipLinkMst_io_hspi_rx_data),
    .io_hspi_tx_enable(chipLinkMst_io_hspi_tx_enable),
    .io_hspi_tx_data(chipLinkMst_io_hspi_tx_data),
    .io_hspi_oen(chipLinkMst_io_hspi_oen)
  );
  TLXbar xbar ( // @[Xbar.scala 142:26]
    .clock(xbar_clock),
    .reset(xbar_reset),
    .auto_in_3_a_valid(xbar_auto_in_3_a_valid),
    .auto_in_3_a_bits_opcode(xbar_auto_in_3_a_bits_opcode),
    .auto_in_3_a_bits_param(xbar_auto_in_3_a_bits_param),
    .auto_in_3_a_bits_size(xbar_auto_in_3_a_bits_size),
    .auto_in_3_a_bits_source(xbar_auto_in_3_a_bits_source),
    .auto_in_3_a_bits_address(xbar_auto_in_3_a_bits_address),
    .auto_in_3_a_bits_mask(xbar_auto_in_3_a_bits_mask),
    .auto_in_3_a_bits_data(xbar_auto_in_3_a_bits_data),
    .auto_in_3_a_bits_corrupt(xbar_auto_in_3_a_bits_corrupt),
    .auto_in_3_d_ready(xbar_auto_in_3_d_ready),
    .auto_in_2_a_ready(xbar_auto_in_2_a_ready),
    .auto_in_2_a_valid(xbar_auto_in_2_a_valid),
    .auto_in_2_a_bits_opcode(xbar_auto_in_2_a_bits_opcode),
    .auto_in_2_a_bits_param(xbar_auto_in_2_a_bits_param),
    .auto_in_2_a_bits_size(xbar_auto_in_2_a_bits_size),
    .auto_in_2_a_bits_source(xbar_auto_in_2_a_bits_source),
    .auto_in_2_a_bits_address(xbar_auto_in_2_a_bits_address),
    .auto_in_2_a_bits_mask(xbar_auto_in_2_a_bits_mask),
    .auto_in_2_a_bits_data(xbar_auto_in_2_a_bits_data),
    .auto_in_2_a_bits_corrupt(xbar_auto_in_2_a_bits_corrupt),
    .auto_in_2_d_ready(xbar_auto_in_2_d_ready),
    .auto_in_2_d_valid(xbar_auto_in_2_d_valid),
    .auto_in_2_d_bits_opcode(xbar_auto_in_2_d_bits_opcode),
    .auto_in_2_d_bits_param(xbar_auto_in_2_d_bits_param),
    .auto_in_2_d_bits_size(xbar_auto_in_2_d_bits_size),
    .auto_in_2_d_bits_source(xbar_auto_in_2_d_bits_source),
    .auto_in_2_d_bits_sink(xbar_auto_in_2_d_bits_sink),
    .auto_in_2_d_bits_denied(xbar_auto_in_2_d_bits_denied),
    .auto_in_2_d_bits_data(xbar_auto_in_2_d_bits_data),
    .auto_in_2_d_bits_corrupt(xbar_auto_in_2_d_bits_corrupt),
    .auto_in_1_a_ready(xbar_auto_in_1_a_ready),
    .auto_in_1_a_valid(xbar_auto_in_1_a_valid),
    .auto_in_1_a_bits_opcode(xbar_auto_in_1_a_bits_opcode),
    .auto_in_1_a_bits_param(xbar_auto_in_1_a_bits_param),
    .auto_in_1_a_bits_size(xbar_auto_in_1_a_bits_size),
    .auto_in_1_a_bits_source(xbar_auto_in_1_a_bits_source),
    .auto_in_1_a_bits_address(xbar_auto_in_1_a_bits_address),
    .auto_in_1_a_bits_mask(xbar_auto_in_1_a_bits_mask),
    .auto_in_1_a_bits_data(xbar_auto_in_1_a_bits_data),
    .auto_in_1_a_bits_corrupt(xbar_auto_in_1_a_bits_corrupt),
    .auto_in_1_b_ready(xbar_auto_in_1_b_ready),
    .auto_in_1_b_valid(xbar_auto_in_1_b_valid),
    .auto_in_1_b_bits_param(xbar_auto_in_1_b_bits_param),
    .auto_in_1_b_bits_address(xbar_auto_in_1_b_bits_address),
    .auto_in_1_c_ready(xbar_auto_in_1_c_ready),
    .auto_in_1_c_valid(xbar_auto_in_1_c_valid),
    .auto_in_1_c_bits_opcode(xbar_auto_in_1_c_bits_opcode),
    .auto_in_1_c_bits_param(xbar_auto_in_1_c_bits_param),
    .auto_in_1_c_bits_size(xbar_auto_in_1_c_bits_size),
    .auto_in_1_c_bits_source(xbar_auto_in_1_c_bits_source),
    .auto_in_1_c_bits_address(xbar_auto_in_1_c_bits_address),
    .auto_in_1_c_bits_data(xbar_auto_in_1_c_bits_data),
    .auto_in_1_c_bits_corrupt(xbar_auto_in_1_c_bits_corrupt),
    .auto_in_1_d_ready(xbar_auto_in_1_d_ready),
    .auto_in_1_d_valid(xbar_auto_in_1_d_valid),
    .auto_in_1_d_bits_opcode(xbar_auto_in_1_d_bits_opcode),
    .auto_in_1_d_bits_param(xbar_auto_in_1_d_bits_param),
    .auto_in_1_d_bits_size(xbar_auto_in_1_d_bits_size),
    .auto_in_1_d_bits_sink(xbar_auto_in_1_d_bits_sink),
    .auto_in_1_d_bits_denied(xbar_auto_in_1_d_bits_denied),
    .auto_in_1_d_bits_data(xbar_auto_in_1_d_bits_data),
    .auto_in_1_d_bits_corrupt(xbar_auto_in_1_d_bits_corrupt),
    .auto_in_1_e_valid(xbar_auto_in_1_e_valid),
    .auto_in_1_e_bits_sink(xbar_auto_in_1_e_bits_sink),
    .auto_in_0_a_ready(xbar_auto_in_0_a_ready),
    .auto_in_0_a_valid(xbar_auto_in_0_a_valid),
    .auto_in_0_a_bits_opcode(xbar_auto_in_0_a_bits_opcode),
    .auto_in_0_a_bits_param(xbar_auto_in_0_a_bits_param),
    .auto_in_0_a_bits_size(xbar_auto_in_0_a_bits_size),
    .auto_in_0_a_bits_source(xbar_auto_in_0_a_bits_source),
    .auto_in_0_a_bits_address(xbar_auto_in_0_a_bits_address),
    .auto_in_0_a_bits_mask(xbar_auto_in_0_a_bits_mask),
    .auto_in_0_a_bits_data(xbar_auto_in_0_a_bits_data),
    .auto_in_0_a_bits_corrupt(xbar_auto_in_0_a_bits_corrupt),
    .auto_in_0_d_ready(xbar_auto_in_0_d_ready),
    .auto_in_0_d_valid(xbar_auto_in_0_d_valid),
    .auto_in_0_d_bits_opcode(xbar_auto_in_0_d_bits_opcode),
    .auto_in_0_d_bits_param(xbar_auto_in_0_d_bits_param),
    .auto_in_0_d_bits_size(xbar_auto_in_0_d_bits_size),
    .auto_in_0_d_bits_sink(xbar_auto_in_0_d_bits_sink),
    .auto_in_0_d_bits_denied(xbar_auto_in_0_d_bits_denied),
    .auto_in_0_d_bits_data(xbar_auto_in_0_d_bits_data),
    .auto_in_0_d_bits_corrupt(xbar_auto_in_0_d_bits_corrupt),
    .auto_out_a_ready(xbar_auto_out_a_ready),
    .auto_out_a_valid(xbar_auto_out_a_valid),
    .auto_out_a_bits_opcode(xbar_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(xbar_auto_out_a_bits_param),
    .auto_out_a_bits_size(xbar_auto_out_a_bits_size),
    .auto_out_a_bits_source(xbar_auto_out_a_bits_source),
    .auto_out_a_bits_address(xbar_auto_out_a_bits_address),
    .auto_out_a_bits_mask(xbar_auto_out_a_bits_mask),
    .auto_out_a_bits_data(xbar_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(xbar_auto_out_a_bits_corrupt),
    .auto_out_b_ready(xbar_auto_out_b_ready),
    .auto_out_b_valid(xbar_auto_out_b_valid),
    .auto_out_b_bits_param(xbar_auto_out_b_bits_param),
    .auto_out_b_bits_address(xbar_auto_out_b_bits_address),
    .auto_out_c_ready(xbar_auto_out_c_ready),
    .auto_out_c_valid(xbar_auto_out_c_valid),
    .auto_out_c_bits_opcode(xbar_auto_out_c_bits_opcode),
    .auto_out_c_bits_param(xbar_auto_out_c_bits_param),
    .auto_out_c_bits_size(xbar_auto_out_c_bits_size),
    .auto_out_c_bits_address(xbar_auto_out_c_bits_address),
    .auto_out_c_bits_data(xbar_auto_out_c_bits_data),
    .auto_out_c_bits_corrupt(xbar_auto_out_c_bits_corrupt),
    .auto_out_d_ready(xbar_auto_out_d_ready),
    .auto_out_d_valid(xbar_auto_out_d_valid),
    .auto_out_d_bits_opcode(xbar_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(xbar_auto_out_d_bits_param),
    .auto_out_d_bits_size(xbar_auto_out_d_bits_size),
    .auto_out_d_bits_source(xbar_auto_out_d_bits_source),
    .auto_out_d_bits_sink(xbar_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(xbar_auto_out_d_bits_denied),
    .auto_out_d_bits_data(xbar_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(xbar_auto_out_d_bits_corrupt),
    .auto_out_e_valid(xbar_auto_out_e_valid),
    .auto_out_e_bits_sink(xbar_auto_out_e_bits_sink)
  );
  TLXbar_1 xbar_1 ( // @[Xbar.scala 142:26]
    .clock(xbar_1_clock),
    .reset(xbar_1_reset),
    .auto_in_2_a_ready(xbar_1_auto_in_2_a_ready),
    .auto_in_2_a_valid(xbar_1_auto_in_2_a_valid),
    .auto_in_2_a_bits_opcode(xbar_1_auto_in_2_a_bits_opcode),
    .auto_in_2_a_bits_param(xbar_1_auto_in_2_a_bits_param),
    .auto_in_2_a_bits_size(xbar_1_auto_in_2_a_bits_size),
    .auto_in_2_a_bits_source(xbar_1_auto_in_2_a_bits_source),
    .auto_in_2_a_bits_address(xbar_1_auto_in_2_a_bits_address),
    .auto_in_2_a_bits_mask(xbar_1_auto_in_2_a_bits_mask),
    .auto_in_2_a_bits_data(xbar_1_auto_in_2_a_bits_data),
    .auto_in_2_a_bits_corrupt(xbar_1_auto_in_2_a_bits_corrupt),
    .auto_in_2_d_ready(xbar_1_auto_in_2_d_ready),
    .auto_in_2_d_valid(xbar_1_auto_in_2_d_valid),
    .auto_in_2_d_bits_opcode(xbar_1_auto_in_2_d_bits_opcode),
    .auto_in_2_d_bits_data(xbar_1_auto_in_2_d_bits_data),
    .auto_in_1_a_ready(xbar_1_auto_in_1_a_ready),
    .auto_in_1_a_valid(xbar_1_auto_in_1_a_valid),
    .auto_in_1_a_bits_opcode(xbar_1_auto_in_1_a_bits_opcode),
    .auto_in_1_a_bits_param(xbar_1_auto_in_1_a_bits_param),
    .auto_in_1_a_bits_size(xbar_1_auto_in_1_a_bits_size),
    .auto_in_1_a_bits_source(xbar_1_auto_in_1_a_bits_source),
    .auto_in_1_a_bits_address(xbar_1_auto_in_1_a_bits_address),
    .auto_in_1_a_bits_mask(xbar_1_auto_in_1_a_bits_mask),
    .auto_in_1_a_bits_data(xbar_1_auto_in_1_a_bits_data),
    .auto_in_1_a_bits_corrupt(xbar_1_auto_in_1_a_bits_corrupt),
    .auto_in_1_d_ready(xbar_1_auto_in_1_d_ready),
    .auto_in_1_d_valid(xbar_1_auto_in_1_d_valid),
    .auto_in_1_d_bits_opcode(xbar_1_auto_in_1_d_bits_opcode),
    .auto_in_1_d_bits_data(xbar_1_auto_in_1_d_bits_data),
    .auto_in_0_a_ready(xbar_1_auto_in_0_a_ready),
    .auto_in_0_a_valid(xbar_1_auto_in_0_a_valid),
    .auto_in_0_a_bits_opcode(xbar_1_auto_in_0_a_bits_opcode),
    .auto_in_0_a_bits_param(xbar_1_auto_in_0_a_bits_param),
    .auto_in_0_a_bits_size(xbar_1_auto_in_0_a_bits_size),
    .auto_in_0_a_bits_source(xbar_1_auto_in_0_a_bits_source),
    .auto_in_0_a_bits_address(xbar_1_auto_in_0_a_bits_address),
    .auto_in_0_a_bits_mask(xbar_1_auto_in_0_a_bits_mask),
    .auto_in_0_a_bits_data(xbar_1_auto_in_0_a_bits_data),
    .auto_in_0_a_bits_corrupt(xbar_1_auto_in_0_a_bits_corrupt),
    .auto_in_0_d_ready(xbar_1_auto_in_0_d_ready),
    .auto_in_0_d_valid(xbar_1_auto_in_0_d_valid),
    .auto_in_0_d_bits_opcode(xbar_1_auto_in_0_d_bits_opcode),
    .auto_in_0_d_bits_size(xbar_1_auto_in_0_d_bits_size),
    .auto_in_0_d_bits_source(xbar_1_auto_in_0_d_bits_source),
    .auto_in_0_d_bits_data(xbar_1_auto_in_0_d_bits_data),
    .auto_out_a_ready(xbar_1_auto_out_a_ready),
    .auto_out_a_valid(xbar_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(xbar_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(xbar_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(xbar_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(xbar_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(xbar_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(xbar_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(xbar_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(xbar_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(xbar_1_auto_out_d_ready),
    .auto_out_d_valid(xbar_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(xbar_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(xbar_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(xbar_1_auto_out_d_bits_source),
    .auto_out_d_bits_data(xbar_1_auto_out_d_bits_data)
  );
  TLFIFOFixer fixer ( // @[FIFOFixer.scala 144:27]
    .clock(fixer_clock),
    .reset(fixer_reset),
    .auto_in_a_ready(fixer_auto_in_a_ready),
    .auto_in_a_valid(fixer_auto_in_a_valid),
    .auto_in_a_bits_opcode(fixer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fixer_auto_in_a_bits_param),
    .auto_in_a_bits_size(fixer_auto_in_a_bits_size),
    .auto_in_a_bits_source(fixer_auto_in_a_bits_source),
    .auto_in_a_bits_address(fixer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fixer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fixer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fixer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fixer_auto_in_d_ready),
    .auto_in_d_valid(fixer_auto_in_d_valid),
    .auto_in_d_bits_opcode(fixer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fixer_auto_in_d_bits_size),
    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
    .auto_out_a_ready(fixer_auto_out_a_ready),
    .auto_out_a_valid(fixer_auto_out_a_valid),
    .auto_out_a_bits_opcode(fixer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fixer_auto_out_a_bits_param),
    .auto_out_a_bits_size(fixer_auto_out_a_bits_size),
    .auto_out_a_bits_source(fixer_auto_out_a_bits_source),
    .auto_out_a_bits_address(fixer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fixer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fixer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fixer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fixer_auto_out_d_ready),
    .auto_out_d_valid(fixer_auto_out_d_valid),
    .auto_out_d_bits_opcode(fixer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fixer_auto_out_d_bits_size),
    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
    .auto_out_d_bits_data(fixer_auto_out_d_bits_data)
  );
  TLFragmenter fragmenter ( // @[Fragmenter.scala 333:34]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLWidthWidget widget ( // @[WidthWidget.scala 219:28]
    .auto_in_a_ready(widget_auto_in_a_ready),
    .auto_in_a_valid(widget_auto_in_a_valid),
    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
    .auto_in_a_bits_data(widget_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
    .auto_in_d_ready(widget_auto_in_d_ready),
    .auto_in_d_valid(widget_auto_in_d_valid),
    .auto_in_d_bits_opcode(widget_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
    .auto_out_a_ready(widget_auto_out_a_ready),
    .auto_out_a_valid(widget_auto_out_a_valid),
    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
    .auto_out_a_bits_data(widget_auto_out_a_bits_data),
    .auto_out_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)
  );
  TLCacheCork cork ( // @[CacheCork.scala 177:26]
    .clock(cork_clock),
    .reset(cork_reset),
    .auto_in_a_ready(cork_auto_in_a_ready),
    .auto_in_a_valid(cork_auto_in_a_valid),
    .auto_in_a_bits_opcode(cork_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(cork_auto_in_a_bits_param),
    .auto_in_a_bits_size(cork_auto_in_a_bits_size),
    .auto_in_a_bits_source(cork_auto_in_a_bits_source),
    .auto_in_a_bits_address(cork_auto_in_a_bits_address),
    .auto_in_a_bits_mask(cork_auto_in_a_bits_mask),
    .auto_in_a_bits_data(cork_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(cork_auto_in_a_bits_corrupt),
    .auto_in_c_ready(cork_auto_in_c_ready),
    .auto_in_c_valid(cork_auto_in_c_valid),
    .auto_in_c_bits_opcode(cork_auto_in_c_bits_opcode),
    .auto_in_c_bits_param(cork_auto_in_c_bits_param),
    .auto_in_c_bits_size(cork_auto_in_c_bits_size),
    .auto_in_c_bits_source(cork_auto_in_c_bits_source),
    .auto_in_c_bits_address(cork_auto_in_c_bits_address),
    .auto_in_c_bits_data(cork_auto_in_c_bits_data),
    .auto_in_c_bits_corrupt(cork_auto_in_c_bits_corrupt),
    .auto_in_d_ready(cork_auto_in_d_ready),
    .auto_in_d_valid(cork_auto_in_d_valid),
    .auto_in_d_bits_opcode(cork_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(cork_auto_in_d_bits_param),
    .auto_in_d_bits_size(cork_auto_in_d_bits_size),
    .auto_in_d_bits_source(cork_auto_in_d_bits_source),
    .auto_in_d_bits_sink(cork_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(cork_auto_in_d_bits_denied),
    .auto_in_d_bits_data(cork_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(cork_auto_in_d_bits_corrupt),
    .auto_in_e_valid(cork_auto_in_e_valid),
    .auto_in_e_bits_sink(cork_auto_in_e_bits_sink),
    .auto_out_a_ready(cork_auto_out_a_ready),
    .auto_out_a_valid(cork_auto_out_a_valid),
    .auto_out_a_bits_opcode(cork_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(cork_auto_out_a_bits_param),
    .auto_out_a_bits_size(cork_auto_out_a_bits_size),
    .auto_out_a_bits_source(cork_auto_out_a_bits_source),
    .auto_out_a_bits_address(cork_auto_out_a_bits_address),
    .auto_out_a_bits_mask(cork_auto_out_a_bits_mask),
    .auto_out_a_bits_data(cork_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(cork_auto_out_a_bits_corrupt),
    .auto_out_d_ready(cork_auto_out_d_ready),
    .auto_out_d_valid(cork_auto_out_d_valid),
    .auto_out_d_bits_opcode(cork_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(cork_auto_out_d_bits_size),
    .auto_out_d_bits_source(cork_auto_out_d_bits_source),
    .auto_out_d_bits_data(cork_auto_out_d_bits_data)
  );
  TLBuffer buffer ( // @[Buffer.scala 68:28]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .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_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .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_1 buffer_1 ( // @[Buffer.scala 68:28]
    .clock(buffer_1_clock),
    .reset(buffer_1_reset),
    .auto_in_a_ready(buffer_1_auto_in_a_ready),
    .auto_in_a_valid(buffer_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
    .auto_in_b_ready(buffer_1_auto_in_b_ready),
    .auto_in_b_valid(buffer_1_auto_in_b_valid),
    .auto_in_b_bits_address(buffer_1_auto_in_b_bits_address),
    .auto_in_c_ready(buffer_1_auto_in_c_ready),
    .auto_in_c_valid(buffer_1_auto_in_c_valid),
    .auto_in_c_bits_opcode(buffer_1_auto_in_c_bits_opcode),
    .auto_in_c_bits_param(buffer_1_auto_in_c_bits_param),
    .auto_in_c_bits_size(buffer_1_auto_in_c_bits_size),
    .auto_in_c_bits_source(buffer_1_auto_in_c_bits_source),
    .auto_in_c_bits_address(buffer_1_auto_in_c_bits_address),
    .auto_in_c_bits_data(buffer_1_auto_in_c_bits_data),
    .auto_in_c_bits_corrupt(buffer_1_auto_in_c_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_sink(buffer_1_auto_in_d_bits_sink),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_in_e_ready(buffer_1_auto_in_e_ready),
    .auto_in_e_valid(buffer_1_auto_in_e_valid),
    .auto_in_e_bits_sink(buffer_1_auto_in_e_bits_sink),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_b_ready(buffer_1_auto_out_b_ready),
    .auto_out_b_valid(buffer_1_auto_out_b_valid),
    .auto_out_b_bits_param(buffer_1_auto_out_b_bits_param),
    .auto_out_b_bits_address(buffer_1_auto_out_b_bits_address),
    .auto_out_c_ready(buffer_1_auto_out_c_ready),
    .auto_out_c_valid(buffer_1_auto_out_c_valid),
    .auto_out_c_bits_opcode(buffer_1_auto_out_c_bits_opcode),
    .auto_out_c_bits_param(buffer_1_auto_out_c_bits_param),
    .auto_out_c_bits_size(buffer_1_auto_out_c_bits_size),
    .auto_out_c_bits_source(buffer_1_auto_out_c_bits_source),
    .auto_out_c_bits_address(buffer_1_auto_out_c_bits_address),
    .auto_out_c_bits_data(buffer_1_auto_out_c_bits_data),
    .auto_out_c_bits_corrupt(buffer_1_auto_out_c_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt),
    .auto_out_e_valid(buffer_1_auto_out_e_valid),
    .auto_out_e_bits_sink(buffer_1_auto_out_e_bits_sink)
  );
  TLBuffer_2 buffer_2 ( // @[Buffer.scala 68:28]
    .clock(buffer_2_clock),
    .reset(buffer_2_reset),
    .auto_in_a_ready(buffer_2_auto_in_a_ready),
    .auto_in_a_valid(buffer_2_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_2_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_2_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_2_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_2_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_2_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_2_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_2_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_2_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_2_auto_in_d_ready),
    .auto_in_d_valid(buffer_2_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_2_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_2_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_2_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_2_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_2_auto_out_a_ready),
    .auto_out_a_valid(buffer_2_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_2_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_2_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_2_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_2_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_2_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_2_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_2_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_2_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_2_auto_out_d_ready),
    .auto_out_d_valid(buffer_2_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_2_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_2_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_2_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_2_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_2_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_2_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_2_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_2_auto_out_d_bits_corrupt)
  );
  assign io_dm_hartIsInReset = i_rift2Core_io_dm_hartIsInReset; // @[Rift2Link.scala 110:17]
  assign io_hspi_clk = chipLinkMst_io_hspi_clk; // @[Rift2Link.scala 118:17]
  assign io_hspi_tx_enable = chipLinkMst_io_hspi_tx_enable; // @[Rift2Link.scala 116:16]
  assign io_hspi_tx_data = chipLinkMst_io_hspi_tx_data; // @[Rift2Link.scala 116:16]
  assign io_hspi_oen = chipLinkMst_io_hspi_oen; // @[Rift2Link.scala 120:17]
  assign i_rift2Core_clock = clock;
  assign i_rift2Core_reset = reset;
  assign i_rift2Core_auto_mmu_client_out_a_ready = buffer_2_auto_in_a_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_mmu_client_out_d_valid = buffer_2_auto_in_d_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_mmu_client_out_d_bits_opcode = buffer_2_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_mmu_client_out_d_bits_size = buffer_2_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_mmu_client_out_d_bits_source = buffer_2_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_mmu_client_out_d_bits_data = buffer_2_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_periph_client_out_a_ready = xbar_1_auto_in_2_a_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_periph_client_out_d_valid = xbar_1_auto_in_2_d_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_periph_client_out_d_bits_opcode = xbar_1_auto_in_2_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_periph_client_out_d_bits_data = xbar_1_auto_in_2_d_bits_data; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_system_client_out_a_ready = xbar_1_auto_in_1_a_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_system_client_out_d_valid = xbar_1_auto_in_1_d_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_system_client_out_d_bits_opcode = xbar_1_auto_in_1_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_system_client_out_d_bits_data = xbar_1_auto_in_1_d_bits_data; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_b_valid = buffer_1_auto_in_b_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_b_bits_address = buffer_1_auto_in_b_bits_address; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_c_ready = buffer_1_auto_in_c_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_dcache_client_out_e_ready = buffer_1_auto_in_e_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_icache_client_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_icache_client_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_icache_client_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_icache_client_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
  assign i_rift2Core_auto_icache_client_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
  assign i_rift2Core_io_dm_hartResetReq = io_dm_hartResetReq; // @[Rift2Link.scala 110:17]
  assign i_rift2Core_io_dm_hartHaltReq = io_dm_hartHaltReq; // @[Rift2Link.scala 110:17]
  assign i_rift2Core_io_rtc_clock = io_rtc_clock; // @[Rift2Link.scala 122:37]
  assign i_rift2Core_io_aclint_msi = io_aclint_msi; // @[Rift2Link.scala 112:34]
  assign i_rift2Core_io_aclint_mti = io_aclint_mti; // @[Rift2Link.scala 112:34]
  assign i_rift2Core_io_aclint_ssi = io_aclint_ssi; // @[Rift2Link.scala 112:34]
  assign i_rift2Core_io_aclint_sti = io_aclint_sti; // @[Rift2Link.scala 112:34]
  assign i_rift2Core_io_plic_mei = io_plic_mei; // @[Rift2Link.scala 113:32]
  assign i_rift2Core_io_plic_sei = io_plic_sei; // @[Rift2Link.scala 113:32]
  assign sifiveCache_clock = clock;
  assign sifiveCache_reset = reset;
  assign sifiveCache_auto_in_a_valid = xbar_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_opcode = xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_param = xbar_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_size = xbar_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_source = xbar_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_address = xbar_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_mask = xbar_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_data = xbar_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_a_bits_corrupt = xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_b_ready = xbar_auto_out_b_ready; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_valid = xbar_auto_out_c_valid; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_opcode = xbar_auto_out_c_bits_opcode; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_param = xbar_auto_out_c_bits_param; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_size = xbar_auto_out_c_bits_size; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_address = xbar_auto_out_c_bits_address; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_data = xbar_auto_out_c_bits_data; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_c_bits_corrupt = xbar_auto_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_d_ready = xbar_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_e_valid = xbar_auto_out_e_valid; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_in_e_bits_sink = xbar_auto_out_e_bits_sink; // @[LazyModule.scala 296:16]
  assign sifiveCache_auto_out_a_ready = cork_auto_in_a_ready; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_c_ready = cork_auto_in_c_ready; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_valid = cork_auto_in_d_valid; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_opcode = cork_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_param = cork_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_size = cork_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_source = cork_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_sink = cork_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_denied = cork_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_data = cork_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
  assign sifiveCache_auto_out_d_bits_corrupt = cork_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
  assign chipLinkMst_clock = clock;
  assign chipLinkMst_reset = reset;
  assign chipLinkMst_auto_chip_link_master_in_a_valid = xbar_1_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_opcode = xbar_1_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_param = xbar_1_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_size = xbar_1_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_source = xbar_1_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_address = xbar_1_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_mask = xbar_1_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_data = xbar_1_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_a_bits_corrupt = xbar_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign chipLinkMst_auto_chip_link_master_in_d_ready = xbar_1_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign chipLinkMst_io_hspi_rx_enable = io_hspi_rx_enable; // @[Rift2Link.scala 117:35]
  assign chipLinkMst_io_hspi_rx_data = io_hspi_rx_data; // @[Rift2Link.scala 117:35]
  assign xbar_clock = clock;
  assign xbar_reset = reset;
  assign xbar_auto_in_3_a_valid = i_rift2Core_auto_prefetch_clinet_out_a_valid; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_opcode = i_rift2Core_auto_prefetch_clinet_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_param = i_rift2Core_auto_prefetch_clinet_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_size = i_rift2Core_auto_prefetch_clinet_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_source = i_rift2Core_auto_prefetch_clinet_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_address = i_rift2Core_auto_prefetch_clinet_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_mask = i_rift2Core_auto_prefetch_clinet_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_data = i_rift2Core_auto_prefetch_clinet_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_a_bits_corrupt = i_rift2Core_auto_prefetch_clinet_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_3_d_ready = i_rift2Core_auto_prefetch_clinet_out_d_ready; // @[LazyModule.scala 298:16]
  assign xbar_auto_in_2_a_valid = buffer_2_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_opcode = buffer_2_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_param = buffer_2_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_size = buffer_2_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_source = buffer_2_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_address = buffer_2_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_mask = buffer_2_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_data = buffer_2_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_a_bits_corrupt = buffer_2_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_2_d_ready = buffer_2_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_b_ready = buffer_1_auto_out_b_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_valid = buffer_1_auto_out_c_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_opcode = buffer_1_auto_out_c_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_param = buffer_1_auto_out_c_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_size = buffer_1_auto_out_c_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_source = buffer_1_auto_out_c_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_address = buffer_1_auto_out_c_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_data = buffer_1_auto_out_c_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_c_bits_corrupt = buffer_1_auto_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_e_valid = buffer_1_auto_out_e_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_1_e_bits_sink = buffer_1_auto_out_e_bits_sink; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_auto_in_0_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_a_ready = sifiveCache_auto_in_a_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_b_valid = sifiveCache_auto_in_b_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_b_bits_param = sifiveCache_auto_in_b_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_b_bits_address = sifiveCache_auto_in_b_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_c_ready = sifiveCache_auto_in_c_ready; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_valid = sifiveCache_auto_in_d_valid; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_opcode = sifiveCache_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_param = sifiveCache_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_size = sifiveCache_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_source = sifiveCache_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_sink = sifiveCache_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_denied = sifiveCache_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_data = sifiveCache_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_auto_out_d_bits_corrupt = sifiveCache_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_1_clock = clock;
  assign xbar_1_reset = reset;
  assign xbar_1_auto_in_2_a_valid = i_rift2Core_auto_periph_client_out_a_valid; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_opcode = i_rift2Core_auto_periph_client_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_param = i_rift2Core_auto_periph_client_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_size = i_rift2Core_auto_periph_client_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_source = i_rift2Core_auto_periph_client_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_address = i_rift2Core_auto_periph_client_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_mask = i_rift2Core_auto_periph_client_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_data = i_rift2Core_auto_periph_client_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_a_bits_corrupt = i_rift2Core_auto_periph_client_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_2_d_ready = i_rift2Core_auto_periph_client_out_d_ready; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_valid = i_rift2Core_auto_system_client_out_a_valid; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_opcode = i_rift2Core_auto_system_client_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_param = i_rift2Core_auto_system_client_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_size = i_rift2Core_auto_system_client_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_source = i_rift2Core_auto_system_client_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_address = i_rift2Core_auto_system_client_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_mask = i_rift2Core_auto_system_client_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_data = i_rift2Core_auto_system_client_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_a_bits_corrupt = i_rift2Core_auto_system_client_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_1_d_ready = i_rift2Core_auto_system_client_out_d_ready; // @[LazyModule.scala 298:16]
  assign xbar_1_auto_in_0_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_in_0_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_a_ready = chipLinkMst_auto_chip_link_master_in_a_ready; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_d_valid = chipLinkMst_auto_chip_link_master_in_d_valid; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_d_bits_opcode = chipLinkMst_auto_chip_link_master_in_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_d_bits_size = chipLinkMst_auto_chip_link_master_in_d_bits_size; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_d_bits_source = chipLinkMst_auto_chip_link_master_in_d_bits_source; // @[LazyModule.scala 296:16]
  assign xbar_1_auto_out_d_bits_data = chipLinkMst_auto_chip_link_master_in_d_bits_data; // @[LazyModule.scala 296:16]
  assign fixer_clock = clock;
  assign fixer_reset = reset;
  assign fixer_auto_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign fixer_auto_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_a_ready = xbar_1_auto_in_0_a_ready; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_d_valid = xbar_1_auto_in_0_d_valid; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_d_bits_opcode = xbar_1_auto_in_0_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_d_bits_size = xbar_1_auto_in_0_d_bits_size; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_d_bits_source = xbar_1_auto_in_0_d_bits_source; // @[LazyModule.scala 296:16]
  assign fixer_auto_out_d_bits_data = xbar_1_auto_in_0_d_bits_data; // @[LazyModule.scala 296:16]
  assign fragmenter_clock = clock;
  assign fragmenter_reset = reset;
  assign fragmenter_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
  assign fragmenter_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_valid = cork_auto_out_a_valid; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_opcode = cork_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_param = cork_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_size = cork_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_source = cork_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_address = cork_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_mask = cork_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_data = cork_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
  assign widget_auto_in_a_bits_corrupt = cork_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
  assign widget_auto_in_d_ready = cork_auto_out_d_ready; // @[LazyModule.scala 296:16]
  assign widget_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 296:16]
  assign widget_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 296:16]
  assign widget_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign widget_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
  assign widget_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
  assign widget_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
  assign cork_clock = clock;
  assign cork_reset = reset;
  assign cork_auto_in_a_valid = sifiveCache_auto_out_a_valid; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_opcode = sifiveCache_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_param = sifiveCache_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_size = sifiveCache_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_source = sifiveCache_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_address = sifiveCache_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_mask = sifiveCache_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_data = sifiveCache_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign cork_auto_in_a_bits_corrupt = sifiveCache_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_valid = sifiveCache_auto_out_c_valid; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_opcode = sifiveCache_auto_out_c_bits_opcode; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_param = sifiveCache_auto_out_c_bits_param; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_size = sifiveCache_auto_out_c_bits_size; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_source = sifiveCache_auto_out_c_bits_source; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_address = sifiveCache_auto_out_c_bits_address; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_data = sifiveCache_auto_out_c_bits_data; // @[LazyModule.scala 298:16]
  assign cork_auto_in_c_bits_corrupt = sifiveCache_auto_out_c_bits_corrupt; // @[LazyModule.scala 298:16]
  assign cork_auto_in_d_ready = sifiveCache_auto_out_d_ready; // @[LazyModule.scala 298:16]
  assign cork_auto_in_e_valid = sifiveCache_auto_out_e_valid; // @[LazyModule.scala 298:16]
  assign cork_auto_in_e_bits_sink = sifiveCache_auto_out_e_bits_sink; // @[LazyModule.scala 298:16]
  assign cork_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 296:16]
  assign cork_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 296:16]
  assign cork_auto_out_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign cork_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
  assign cork_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
  assign cork_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
  assign buffer_clock = clock;
  assign buffer_reset = reset;
  assign buffer_auto_in_a_valid = i_rift2Core_auto_icache_client_out_a_valid; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_opcode = i_rift2Core_auto_icache_client_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_param = i_rift2Core_auto_icache_client_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_size = i_rift2Core_auto_icache_client_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_source = i_rift2Core_auto_icache_client_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_address = i_rift2Core_auto_icache_client_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_mask = i_rift2Core_auto_icache_client_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_data = i_rift2Core_auto_icache_client_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_a_bits_corrupt = i_rift2Core_auto_icache_client_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign buffer_auto_in_d_ready = i_rift2Core_auto_icache_client_out_d_ready; // @[LazyModule.scala 298:16]
  assign buffer_auto_out_a_ready = xbar_auto_in_0_a_ready; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_valid = xbar_auto_in_0_d_valid; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_opcode = xbar_auto_in_0_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_param = xbar_auto_in_0_d_bits_param; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_size = xbar_auto_in_0_d_bits_size; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_sink = xbar_auto_in_0_d_bits_sink; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_denied = xbar_auto_in_0_d_bits_denied; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_data = xbar_auto_in_0_d_bits_data; // @[LazyModule.scala 296:16]
  assign buffer_auto_out_d_bits_corrupt = xbar_auto_in_0_d_bits_corrupt; // @[LazyModule.scala 296:16]
  assign buffer_1_clock = clock;
  assign buffer_1_reset = reset;
  assign buffer_1_auto_in_a_valid = i_rift2Core_auto_dcache_client_out_a_valid; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_opcode = i_rift2Core_auto_dcache_client_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_param = i_rift2Core_auto_dcache_client_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_size = i_rift2Core_auto_dcache_client_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_source = i_rift2Core_auto_dcache_client_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_address = i_rift2Core_auto_dcache_client_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_mask = i_rift2Core_auto_dcache_client_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_data = i_rift2Core_auto_dcache_client_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_a_bits_corrupt = i_rift2Core_auto_dcache_client_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_b_ready = i_rift2Core_auto_dcache_client_out_b_ready; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_valid = i_rift2Core_auto_dcache_client_out_c_valid; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_opcode = i_rift2Core_auto_dcache_client_out_c_bits_opcode; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_param = i_rift2Core_auto_dcache_client_out_c_bits_param; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_size = i_rift2Core_auto_dcache_client_out_c_bits_size; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_source = i_rift2Core_auto_dcache_client_out_c_bits_source; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_address = i_rift2Core_auto_dcache_client_out_c_bits_address; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_data = i_rift2Core_auto_dcache_client_out_c_bits_data; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_c_bits_corrupt = i_rift2Core_auto_dcache_client_out_c_bits_corrupt; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_d_ready = i_rift2Core_auto_dcache_client_out_d_ready; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_e_valid = i_rift2Core_auto_dcache_client_out_e_valid; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_in_e_bits_sink = i_rift2Core_auto_dcache_client_out_e_bits_sink; // @[LazyModule.scala 298:16]
  assign buffer_1_auto_out_a_ready = xbar_auto_in_1_a_ready; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_b_valid = xbar_auto_in_1_b_valid; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_b_bits_param = xbar_auto_in_1_b_bits_param; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_b_bits_address = xbar_auto_in_1_b_bits_address; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_c_ready = xbar_auto_in_1_c_ready; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_valid = xbar_auto_in_1_d_valid; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_opcode = xbar_auto_in_1_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_param = xbar_auto_in_1_d_bits_param; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_size = xbar_auto_in_1_d_bits_size; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_sink = xbar_auto_in_1_d_bits_sink; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_denied = xbar_auto_in_1_d_bits_denied; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_data = xbar_auto_in_1_d_bits_data; // @[LazyModule.scala 296:16]
  assign buffer_1_auto_out_d_bits_corrupt = xbar_auto_in_1_d_bits_corrupt; // @[LazyModule.scala 296:16]
  assign buffer_2_clock = clock;
  assign buffer_2_reset = reset;
  assign buffer_2_auto_in_a_valid = i_rift2Core_auto_mmu_client_out_a_valid; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_opcode = i_rift2Core_auto_mmu_client_out_a_bits_opcode; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_param = i_rift2Core_auto_mmu_client_out_a_bits_param; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_size = i_rift2Core_auto_mmu_client_out_a_bits_size; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_source = i_rift2Core_auto_mmu_client_out_a_bits_source; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_address = i_rift2Core_auto_mmu_client_out_a_bits_address; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_mask = i_rift2Core_auto_mmu_client_out_a_bits_mask; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_data = i_rift2Core_auto_mmu_client_out_a_bits_data; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_a_bits_corrupt = i_rift2Core_auto_mmu_client_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_in_d_ready = i_rift2Core_auto_mmu_client_out_d_ready; // @[LazyModule.scala 298:16]
  assign buffer_2_auto_out_a_ready = xbar_auto_in_2_a_ready; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_valid = xbar_auto_in_2_d_valid; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_opcode = xbar_auto_in_2_d_bits_opcode; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_param = xbar_auto_in_2_d_bits_param; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_size = xbar_auto_in_2_d_bits_size; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_source = xbar_auto_in_2_d_bits_source; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_sink = xbar_auto_in_2_d_bits_sink; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_denied = xbar_auto_in_2_d_bits_denied; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_data = xbar_auto_in_2_d_bits_data; // @[LazyModule.scala 296:16]
  assign buffer_2_auto_out_d_bits_corrupt = xbar_auto_in_2_d_bits_corrupt; // @[LazyModule.scala 296:16]
endmodule
